Just some days ago Apple requested input from PC users or from Mac users coming from the PC world. They asked for some input regarding what a PC user would like to see on Apple’s products. While I am already a Mac user, I would like to see the following. If it doesn’t happen (as it hasn’t), I intend to do it myself with some smart friends. – This would be built atop a very simple, extensible, dynamic messaging system, similar to Newton frames that have arbitrary name/value/(flags) “pairs.” All messaging, including instant messaging as well as the event system for the user interface as well as observable/observer systems would be built atop this dynamic messaging system.
– I want my computer to turn on and boot in 10-15 seconds. We all know this is possible (BeOS). Instant-on functionality would be very nice.
– I’d like to be able to watch several movies at once, and move them around on-screen without skipping frames. I’d like to be able to listen to music, utilizing 1-5% of the CPU, without ever skipping. Playing background music can be, and should be an effortless task.
– I’d like to see the kernel be able to schedule tasks effortlessly across as many processors as available, and support clustering or “grid computing” across local networks and the Internet.
– I’d like to see a very dynamic plug-in architecture that drivers for the kernel as well as applications and everything in between use for extending things instead of separate API’s for doing so.
– No more CFPleaseLetThisMadnessEndOneDay names, please!! Let’s see some very nicely-designed objects with nice method names and a consistent naming scheme used.
– Everything should be re-entrant and thread-safe, where possible! If locking is required, the system should provide for it unless the developer ABSOLUTELY needs to do it, and this should be clearly documented if it’s the case.
– Legacy-free. No Carbon, Cocoa — something completely new and parallel to the Macintosh/Mac OS X effort would be very nice. An emphasis towards performance, code size, efficiency, and simplicity would be very nice.
– I would like to have a scalable user interface in two ways: In one way, I’d like to be able to start with basic, primitive functionality like pointing and clicking, identifying objects, examining their various properties/attributes, seeing a list of actions or operations that can be performed on them, performing such actions and operations, etc. I’d like to see an interface that could start primitively and grow with the user in complexity. A child could have simple objects on the screen, and the same system/account/workspace would “grow with the user” as she gets older, revealing more complexity as time moves on or new types of interfaces are available.
– I’d like to see a visually scalable interface that is independent of screen or output device resolution. The interface should be able to work on an arbitrary # of screens or output devices. It should be pen and touch-aware. It should be able to work over the network in a minimal client fashion, or locally. Where the actual code is running should not matter. You should be able to scale the level of detail and size of the interface and the objects which comprise it to maximize for smaller displays or for poor eyesight. This means less use of bitmaps and more use of scalable vector-based artwork and code.
– I’d like to see arbitrary “painters” that are easily created that define the appearance of objects in the interface. You could separate the actual behavior (to an extent) from the presentation. Further customization would be “Themes” or collections of such “painters.” Themes could have different “variants” — things like color choices, image choices, cultural or International resources, etc.
– I’d like to be able to buy an Apple-branded PDA that runs a modern version of the Newton OS. I would like to see these Newton frameworks available across the board on Mac OS X on any computer, exportable to portable devices, set-tops, appliances and other forward-thinking/lifestyle devices. I want to be able to use the dynamic, expressive power of Newton frames and soups to represent and store data. I believe that there is a lot of promise with frames in a networked environment, and that they are the best means I have seen to date for expressing views/user interfaces and quickly and dynamically implementing user interface object behavior.
– I’d like a simpler, object-oriented, highly-expressive, highly-dynamic API that I can use to piece together slick, fast applications that are not implemented as directory bags/packages, but rather a single entity that can be easily moved around. I want a very straightforward, simple class hierarchy. I’d like to be able to have only one book that describes the entire API.
– I would like for files to be associated by MIME type, by their “magic number” or header information, and then finally by filename suffix if the type cannot be adequately determined otherwise.
– I’d like to be able to have my data stored somewhere on a server, and access my data from wherever I am, instead of worrying that my data is at home, at work, in my PDA, wherever.
– I’d like to be able to fully customize the appearance and the behavior of the user interface. I’d like to be able to do this in several different ways: Graphically: drawing out the things that I want. Textually: scripting/authoring (NewtonScript/JavaScript would be nice), via an inspector (changing properties), or by writing C, C++ or Java code. I’d like the data that describes these views or methods of browsing to be very compact, secure, simple, and dynamic, and I’d like to be able to share these things with others.
– I want to be able to stream any music, movies, or text that I’d like to any device at my leisure, be able to bookmark or otherwise save my place in said content, be able to share links to this content or even mark up or comment on it with others as well as save excerpts of this content for later browsing.
– I would like to easily automate repetitive tasks, and would like for the system to notice when I make certain choices over time and ask me if I’d like to somehow automate it or set default choices.
– I would like to have some notion of online “presence,” sort of like an instant messaging system that is built into the operating system. I would like my online status to be publishable, and would like to be able to let people have access to this status based on any number of rules or criteria. I would like for text and video/audio messaging to be an integral part of using the system.
– A “frame” is a list of arbitrary attributes. It is basically an object at the lowest level of the system runtime that has attributes that describe and implement it. Some attributes can be methods or executable code.
– A “container” is a frame that has a “contents” array with some standard accessors that can be used to add, remove, describe and otherwise iterate over the container’s contents.
– A “context” is a container that has one or more threads (or a thread group) associated with it. “Handlers” can be added to a context that take arbitrary messages (or filter them with some filter procedure or attributes) and can handle them, absorb them, pass them on or stop them in their tracks.
– A “agent” is a context that can “go” various places on a network of nodes and containers. It can have various tasks or handlers associated with it. It can have a signature that identifies it and where or who it comes from, which can be used as a basis of security. They can be local (used to automate tasks and what-not), or remote. They can have a life span, or a certain # of iterations before it “dies” or moves on. It can return back to the sender(s) when it is finished, optionally.
– A “place” is a context that can have agents running inside it. Can be used to implement a chat room or a “place” online that can have one or more ways of describing an optional user experience. A “place” manages the various messages associate with it. It can represent a physical place or a virtual place.
– A “scout” is an agent that can travel from place to place and sends messages back to the originator or user. A perfect way to present the user as an online entity or presence that can be used for chatting, messaging, exchanging files, or otherwise operating or carrying on on a user’s behalf. A scout could, for example, travel to a place, and if admitted, send back the user interface description for the place, which would be built dynamically on a user’s screen. That interface might have a text field that can send messages to the scout, which drops the message in the place it’s in. The handlers in the place distribute the message to other scouts in the room, which in turn send the message back to the user, where they are displayed in a window or what-not.
– I would like to see less emphasis on a whole pile of windows on the screen and more emphasis towards what Raskin calls the user’s “locus of attention.” In other words, people generally only want to view or act on a few discreet pieces or views on information at any given time. I’d like to see more effort expended towards efficiently allowing the user to see an overview of the various views being browsed and switch effortlessly between them. Likewise, I’d like to see innovative new ways for telling the machine I want “these three things on the screen right now” or even indicating prominence or priority for them.
– I’d like to have better interfaces for rapidly entering various types of data that I encounter on a daily basis, from whatever machine(s) I have access to at the time, and be able to quickly recall that data later. I’d like to be able to freely group and associate this data, and would like for typical types of data (URL’s, phone numbers, e-mail addresses, physical addresses, etc.) to be automatically recognized and indexed as such. Instead of having hard-wired hierarchies that are represented in the file system “where they exist,” I’d like to be able to browse and search for data quickly and efficiently based on attributes and (user-defined) types in a freeform data soup.
– I’d like to have a complete, integrated user experience that is forward-thinking in that Apple does not put its foot down and say “this is how people MUST or SHOULD interact with computers,” but rather “here are a set of dynamic, expressive, powerful, secure tools — we don’t know exactly what people want in terms of user experience, but here are some examples — please extend them and come up with new ideas on your own.” There is no reason for UI objects to be as hard-coded as they are today, nor as static.
– This would necessitate that the graphics and view system basically provide support for N screens or display areas that have a DPI resolution, a scaling factor, and arbitrary sizes and shapes that can be arranged in different ways (with the edges running into each other or being separate, even bordered). There would be arbitrary non-rectangular regions that could optionally have shadows or other dynamic visual properties — windows, if necessary, would be implemented on top of these regions. These regions could in turn have views, with an x, y, and z position as well as separate layers which could be hidden, scaled, shown. A set of core graphics primitives — 2D, 3D, whatever. A standard way to represent views that is very dynamic in nature, maybe employing prototype-based inheritance like NewtonScript has. On top of this, go nuts, and allow users and developers to do so as well.
– For bitmap-based UI objects, it’d be nice if they were stored as YCbCr color-space objects, where the Y value represents the luminance information. It’s very easy to color objects when represented or converted to this color space, so you could, for example, have whatever color or “flavor” of bitmap objects that you like, and these colored objects could be cached as colored to speed performance.
– It’d be nice to have an interface that scales nicely from a textual interface to a phone interface (voice, keypad) to a 2D interface, to a 3D interface, and be dynamically extensible.
– You should be able to browse, find, get, purchase, and update everything over the network. For example, if you buy a phone that is Apple-enabled, you would turn it on and have a very nice graphical picker for services, user interfaces, ring tones, and the like. Fully integrated into the system. Likewise, you should be able to share your creations and content with others — all using the same mechanisms.
– It seems that “ad-hoc” networks are a very interesting phenomena to start exploring. For example, driving on the highway in bumper-to-bumper traffic — seems like a network where packets can hop in any direction down the chain. Also, being able to associate real places with virtual places and content would provide for unprecedented location-specific levels of functionality, not to mention marketing and social opportunities.
This is just the beginning of what I’d like to see. And discussion I would like to see as well.
About the Author
Steve Klingsporn is a software developer looking for a fun programming job in the Santa Monica/West Los Angeles Area. He can be reached at [email protected] or http://www.seapod.org.
You just want BeOS resurrected. Join the club.
Off topic:
I just bought an iMac G4! Hence the new @mac.com email address you see. This is my very first Mac. Good times up ahead.
see header!
I’ve come to realise that revolutions never work. You need to give people an upgrade path. Revolutions hurt people and more often than not doom companies.
Dangnabit, submitted too soon..
“no legacy” is for me a superficial thing that’s often hyped by companies that are gone the next day. For some “no legacy” gives a feeling of fresh new ideas and flexible, stable code – for me it’s five years later and they’re still at it. Software revolutions don’t tend to work. More often than not revolutions hurt people and doom companies. You need to provide an upgrade path. Evolution is better than revolution.
I would have responded to your points but nothing stuck out at me. Messaging? Scouts? Yeah – my Mandrake machine logs into Jabber when I start KDE. Certain programming environments use sane namespaces. A highly configured machine could provide this today (aside from the messaging, though I guess that could be xmlrpc).
*hardware information provided to 3rd party os developers on request
*a three button mouse as standard
I can definitely understand the desire for something like the Newton OS applied to a more general computing platform, like the desktop. I am working on such a system myself, born out of my disgust at what passes for PDA operating sys/environments these days. I call it Dynapad, after Alan Kay’s Dynabook vision. A little bit of information is <a href=”http://spe.sf.net“>here, more to come, including code.
I personally am sick of overly complex, primitive operating systems. BeOS is included in that lump. Newton OS is the only non-research or non-only-on-paper OS that applied good sense and interesting computer science in recent memory. Because Unix, Mac OS, and Windows all pretty much suck, I spend a lot of my time in http://www.squeak.org“>Squeak as my operating environment. In it, I can script anything, hack together a fix for my environment in 10 minutes or less. It’s not something everyone would want, but it’s self-consistent and dynamic, two very important things for me, as a user and a developer. But for most people, it’s probably not convenient (nothing to read MS Office docs!) and just plain too much work.
I’ll cross my fingers for your wish list, but I find it pretty unlikely that any big business will satisfy your desires. Likewise, I doubt the mainstream OSS/FS movement will either- they seem to preoccupied with reimplementing Windoze and other old ideas. Backwards compatibility, they say. Phooey to that, I’d rather have a good system than one that can run Excel. I can work around it.
Ah, the two standard slashkiddie reasons for not buying a Mac. heh.
as you may know… im working on an OS codenamed, possibly final-named, “Whizzer”. local distribution of processes transparently over networks? it will be there… allowing even programs that were not designed for node-based processing (provided they are multithreaded) to take advantage of it. msybe i should name the technology “SpreadThreading”? anyways… Whizzer isnt going to have a kernel at all… instead it’s pieces of code that interlock like a puzzle and keep your computer running. it’s possible to replace pieces (i.e., upgrade your system… even its core) while it’s running. no reboots needed. boot-time ranges are expected 5-10 seconds to fully useable screen. because of the design, it’s possible to emulate windows, linux, beos, or any other OS environment and have the applications still run almost natively. the user interface could be text, 2d-windows like, or a 3d interface, plus the option to enable artificial intelligence in the interface to make life easier for all those routines tasks we do (move here, click, move here, click, enter email address, <ENTER>, etc… how many times did we have to do like that over and over again… frustating eh? *sigh*) well and that’s the short of it… and it isnt vaporware… ive already started coding (though just a few days ago… i was designing it on paper before, so im only on booting part so far, but progressing well)
I agree. Newton is the coolest environment to develop software in that I have ever used in my life. It’s wonderful.
Apple hasn’t a clue, apparently. It’s too bad.
Isn’t it amazing when newton was around most people mocked its features, and its horrible horrible handwriting recognition. Now thats its long dead people love it.
After the first two sentence it was obvious that he wants Apple to pick up BeOS… some things just never die…
Not an exactly new idea…
my challenge for the linux community….
this article represents the type of goals linux should be… there is enought compatability with windows, and the developers who need the connection for readin office docs will be fine on their own(for the most part) KDE should no longer worry about being user friendly as windows, using common sense would fix almost all the “problems” (i.e. easy installs) and the rest it doesn’t fix is only due to MS making ppl used to a crummy way of doing things… Linux should inovate, take notes on this article and pull an all-nighter, i bet, if we had 10%, maybe 20% of the linux developers pull one hardcore programming weekend(focusing on bringing one of the features the article mentioned to linux), that we would jump 6 months to a year from where we are now….let ppl fill in the cracks and refine the GUI, but inovate for goodness sake.
That is how linux will surpass windows, bring something that MS hasn’t even dreamed of putting R&D into.
That is my challenge to the linux community.
lol, new CFOS i see? You have yet to create anything that isnt crappy if it isnt vapourware. Maybe you should have stuck with that resolve to give up software programming.
If this “whizzer” ever becomes anything but vapourware, 10bucks says its cause you borrowed sources from Uuu, even though you have zero assembly skills. And by the way, even in its last known state, Uuu still wasnt able to hotswap modules. Its posts like yours that make people shudder at the sight of a new OS.
Not the place to slam others. Sometimes it’s harder to put our ideas and dreams, even goals into reality — especially when faced with having to work for a living, etc. Instead of being negative and slamming others, do something constructive yourself, please. :o)
I put forth a lot of ideas. Stream of consciousness. Why not contribute to the discussion and add some of your own?
I’ve been too critical for too long, and never explained why. I’m beginning to now as I look towards other hobbies that are more rewarding than fighting uphill battles.
Steve
Alright, im sorry that wasnt the place. I still loath CFOS though.
In general you’re telling that you want all the great features of BeOS implemented in the MAC. Added with some features that are not available yet.
Well strange though, most of that technology is already there in one or the other form, as one mentioned a small group of WELL organized *nux ppl would be able to realize it.
The only thing that holding those developments back are ppl who think their implementation is the best instead of looking how to integrate everything into a good set of working tools/features.
well just my 0.02 Euro
I want I want I want…
Forget this silly stuff, look for the basics:
* I want a PC style mouse with MORE THAN 1 BUTTON !
* I want good stable drivers for all the PC hardware people normally use.
I’m more than sure that the OpenSource and shareware community can bring the rest once PC OS-X gets popular.
Excellent article, I agree 95 %
One thing that Apple hasn’t fully implemented to OS X is the functionality that was apparent in Mac OS 9 and back! Things like spring-loaded folders and simple screen captures and other such simple functions that made Mac OS… ‘Mac OS’!!! I really like OS X, but there needs to be more stuff added to make it more complete!
Wow we have an old timer in here *L* I didn’t know anyone
(other then CS profs and the poor students under them
forced to endure it) actually stilled used that language :0)
Must be the Squeak Logo. Its so damn cute *L*
This may be off-topic… but I feel it is necessary in order to protect myself and Whizzer since someone brought up the discussion a few posts ago (I will not point fingers):
1) Whizzer is not stealing sources from others.
2) Whizzer is based on a TOTALLY different architecture than UUU. UUU used SAS, while Whizzer uses a totally different segmentation-type technique.
3) An OS doesnt have to be written in assembly to perform well.
4) Just because UUU wasn’t able to hot-swap modules doesn’t mean others can’t do it either.
Just for all the people complaining about Mac using a one button mouse.. Use your brains and look things up before you complain. Just about any USB mouse will work fine on a Mac. Hell, if you get one with three buttons and a scroll wheel it even all works fine! It may be sad but I personally have plans to use my Microsoft mouse with the new Mac I’m oggling.
Like someone already said you just want beos. Well you know what, beos is dead. Deal with it or write your own system. MacOS will never be beos, and legacy code will never disappear.
forget features give me a mac mini-tower at $1299 or less and i’ll never buy a PC again.
I have a two-button Logitech ‘marble mouse’ and OS X responds to the second button pretty logically. I really think Apple <em>should</em> make a two-button mouse. Of course, I also think Apple needs to make a good keyboard again: their current “Apple Pro” keyboard is a giant leap backward in haptic quality from their previous “Extended” keyboards.
Beyond that, I’m forced to partially agree with the commenter who argued that “no legacy” is overrated. At this point, not having source-level compatibility with <em>something</em>, at the very least, is a virtual death sentence.
Apple’s approach with Carbon/Cocoa isn’t that bad of a model; Carbon is mostly source-level compatible with older versions of MacOS. Cocoa is mostly source-level compatible with NextStep, but its real strength is the Next development tools (and with all due respect to Mr. Klingsporn, I don’t think the NSFooBarFunction() naming convention is any worse than Be’s BFooBarFunction() convention). While I’d like to see <em>all</em> Mac development shift to Cocoa, Carbon is a brilliant transition device. (The annoyance of having to run in the Classic environment should create pressure on recalcitrant developers to at least use Carbon in their next builds.)
As for new quasi-radical user interfaces, UI designers need to concentrating on ways to let users organize and filter information. In light of all the criticism levied against Microsoft, there’s a certain observable irony in that nearly all proposed new “network-aware interfaces” merge the desktop and browser UI (albeit in ways more transparent than any version of Windows can currently); while that might have some advantages, it’s not a requirement for better user interfaces. “My UI should let me operate on local and network resources in the same way” isn’t an identical concept to “my UI should hide the differences between local and network resources from me.”
Does Apple make their money on hardware or software?
I use a USB 2 button/scroll wheel mouse with no problems, just like a PC.
1] how about a wireless keyboard and mouse?
2] a three button mouse?
3] speed up OS X. a lot.
I want AppleScript to be fully implemented. It is an almost useless subset of code right now. You can’t import OS9 scripts to OS X without a lot of rewriting and extra code because of so many unsupported features.
For anyone in a production environment, this is a huge hold up for migrating to OS X.
My $.02137269828346
Stu
It’s all about compromise, timing, compatibility and marketing.
Pretty much we can all agree on what the perfect OS SHOULD have.
Problem is, implementing all the good stuff tends to break the bad, old stuff most of the time.
Other problem is, implementing all the good stuff takes too long. Companies like to seem competitive – Apple can’t just wait for 15 years in order for OSX to be “complete” enough for the jaded technophiles. They have to SEEM like they’re doing stuff.
MS is the same. Which is why nobody should even bother installing any MS software until after a year has passed since its launch.
Apple is getting there slowly. But look at NeXT – they had a killer OS and nobody was buying it! There was a version for PCs too, forget the cubes and the pizzaboxes. I didn’t see the complaining ubergeeks lining up for that one! Why? Especially for students the cost of the OS was low. In any case, most people use pirated OSes if they want to play with the high-end ones (not that I agree with the practice but it IS the truth, nobody forks out over $2K for W2K AS if they just want to play with it). Why then did not NeXTStep and OpenStep have a bigger following?
I’m sorry but at the time, OpenStep, its development tools and its GUI were light years ahead of ANYTHING in the rest of the computing world. Where were all the OS fanatics back then?
Maybe still in diapers. Or trying to even get Linux to INSTALL. I feel old sometimes.
The Amiga for its time was excellent too, but it’s pretty much dead now (we’ll see I guess).
Apple is in the right track. They already are (or soon will be) the biggest Unix vendor, like it or not. Already they are the biggest Unix vendor on the desktop.
A few things bother me at the low level with Darwin but fixing them requires breaking older software! Once there are no more resource forks etc. and everyone moves to normal files, maybe we’ll see for example a decent filesystem for OSX (with journaling or softupdates).
You also have to remember that they are great aesthetes. They don’t want to give you a standard, 3-button wheel mouse because their one-button mouse LOOKS cooler. Very Bang & Olufsen in their thinking.
A bigger, stronger keyboard would be good but the bundled one LOOKS cooler.
Bigger external speakers would be nice but the bundled ones LOOK cooler.
A minitower imac would be convenient but the current model LOOKS cooler.
Anyway, I’m ranting and nobody will read this huge post so stopping here.
D
Ah, yes…Squeak rocks. Using Morphic for a while has caused me to look at UIs in a completely different way. I’d love to see an article about Squeak here.
I would like to have a Mac which would perform in bed better, then my wife, mow my lawn, train my dog, etc.
port OSX to x86
You weren’t around for the Newton years, were you? I’ll go over the lite version of Newton history, again. The first Newton models, those running the Newton OS 1.x had crummy HWR. With Palm’s Graffiti, it was made usable. A couple years later, devices with Newton OS 2.0 came out. Fantastic HWR. Even nicer programming and user environments. Still more usable than current Palm OS and WinCE devices, blah blah.
People who are still Newton fans aren’t talking about these early 1.x devices, they’re talking about their MP120, MP130, MP2000, and MP2100 running Newton OS 2.x. Hell, as far as things that matter, on a Newton MP2100, you can do all you could do on any other so-called “modern” PDA, and then some.
I would assume that means you have some odd bias against Apple hardware?
price? well it is only 200 dollors more for some of the high end stuff and is right on the mark for the low end stuff.
what is it?
I bet you build your PCs.
oh, OS X will never be ported to x86 becasue that would kill apple’s hardware revenue.
Neat! I didn’t know there were other Squeakers lurking on here. Smalltalk is quite the language, and Squeak quite the environment. There are still quite a few Smalltalkers out there, and a fair amount of those using Squeak. The mailing list is pretty active. The IRC channel (#squeak on irc.openprojects.net) is semi-active, most Squeakers seem to be annoyed by IRC. Stop by, there’s always a few of us around.
And yes, I use it for “real work.” In addition to working on the Dynapad PDA Environment, I also use Squeak for my computational ecology research. Can’t imagine having to put up with something else to get the job done. The Morphic toolkit is so flexible (most people would say too flexible, I think), that it comes in really handy when visualizing a bunch of datasets.
An article on here about Squeak would be awesome. Perhaps an article about http://sourceforge.net/projects/squeaknos/“>SqueakNOS tutorial” rel=”nofollow”>http://minnow.cc.gatech.edu/squeak/2102″>tutorial.
Jeremy is right about OS X on x86. It’s pretty worthless to jibbber-jabber on about it, it’s a pipe dream, and unless the software business starts going in the opposite direction, they wouldn’t be able to make any worthwhile profit on an OS X for x86. After all, they’re a business, and are trying to make money rather than be philanthropists, making sure that OS X/x86 gets out the door right before their stock hits $0.25/share.
The fact that the PowerPC platform no longer offers much of a performance advantage over x86 platforms, means that there is a strong impetus to change platforms. Whether that mean OS X will ever run on non-Apple x86 platforms remains to be seen. All they have to do is that simple ROM trick like they did in the 80’s and 90’s, and no one’s non-Apple computer will be able to run it. Unless Motorola turns the PPC division around and they start producing cutting edge processors, not me-too processors, I don’t think Apple is going to stay the course with the PPC architecture.
Oh, and I also wanted to put my two cents in on AltiVec. Started looking at writing some code using AltiVec. Unfortunately it has the same limitation as MMX and 3DNow. These systems are not designed for scientific computing, but rendering systems and multi-media. All of their limitations? None of them have support for 64 bit floating point numbers. At best, they max out at 32 bits. I guess there is still a reason to buy big iron.
Richard Fillion, I don’t get your point nor Moutaz Haq’s post. Whizzer what?
Is there a Whizzer operating engine project out there? Where?
Something smaller than a micro kernel? Like UUU, how did D. Pourier call it, an exo-kernel, something like XOK?
Could you two please clear us all what’s your discussion about? Thank you.
A pitty about UUU, it was the most awesome/futuristic OS project I had seen. Organic.
By “same limitations” do you mean in terms of floating point precision, or limitations in instruction usage? I’ve tried hand coding in Assembly using 3DNow instructions, and to be honest I was being sloppy. I inlined my assembly code with C++ code, and so the compiler generated FPU code as well. MMX and 3DNow suffer big time when switching between FPU and SIMD instructions, most of us know this already. I haven’t heard from Motorola whether this is also true for AltiVec. Anyone want to enlighten me? Is it ok to mix AltiVec code with PPC FPU code? From what I understand, AltiVec is a seperate execution unit with its own set of registers, so unlike SIMD on x86, it is not sharing the FPU registers. Please correct me if I’m wrong.
As far as OSX on x86 goes, IMHO I think it’s not a bad idea at all. I have built PC’s for half the cost of Macs, and the PC performs twice as fast (the specs are double that of the Mac). Mac users argue that it takes double the power of a PC to equal or surpass the power of a Mac. My rebuttle is: x86 hardware cost much less than Mac hardware. In termsof price/performance ratios, PC wins.
Apple is no different from Miscrosoft in terms of business practices. Microsoft is anti-competitive in the software and OS market, Apple is anticompetitive in hardware andsystem design.
The only real benefit I can see in an x86 version of OSX is for creating rack mountable servers on cheap hardware. x86 hardware can and is being used in servers and clusters, and the design allows for compact form factors like 1U. While it is possible to rack mount even the Quick Silver G4 towers, and there are efforts being made to make true rack mounted Macs, for the price of a dual CPU PowerMac, you can build several 1U servers on x86 hardware and cluster them. I’ve yet to see dual CPU performance in OSX, so the scalability factor is still questionable. It may be more worthwhile to have several single CPU computers working together than one computer with multiple processors.
Alright, here’s how it goes… Moutaz Haq (AKA Cefarix on IRC) was Uuu follower if you will. But, he never put out a line of code for it. From as long as i’ve known him, he has always been working on an OS. Used to be called CFOS, which was code stolen from other projects and put together. When asked to explain the serial driver he couldnt, the code was not his. At one point he decided to give up OS Programming.
Then all of sudden he started coding this new OS (Whizzer). IT had “the coolest bootsector ever”. It doesnt take much to make a bootsector with a progress bar. I much prefered Uuu’s old bootsector which had a mode 13h demo in it.
Now Whizzer seems to want to be VOiD compatible (which is the “type of kernel” if you will that Uuu had). It was VOiD cause it had none, required none.
Uuu died because there were too many ppl saying “oh thats cool” but none of them saying “ok, i’ll code you so and so for it”
Well, if cefarix wants to code another shitty os, he can do so.
I really love MacOSX. I feel it is a wonderfully refreshing blend of BSD Unix and the contemporary end-user GUI environment.
However, I manage several hundred Windows workstations using Novell’s ZENworks for Desktops product which makes this task really easy, provided you already know what you’re doing.
We desperately need something similar for Macs. It’s easy enough to manage 20 or 50 Mac desktops, but several hundred? Forget it! When I have an enterprise-level management tool for Macs, then I might consider deploying more of them.
I dont know what fights you have, I wouldn’t call taking opensourced code as stealing, unless plagiarism is carried out not properly addressing the original authors.
I went to http://cefarix.sourceforge.net/ but couldn’t find any documentation there. At least the project seems to be alive. Sudden death because of us all is pretty shitty too.
OS X on x86 will never happen unless apple makes the shift to x86 hardware, but then you would have to still get the apple ROM to run the OS. I agree with hank that apple should consider moving to x86, but I bet it might have somthing to do with the design philosophe of the Mac machine. they want very few and very quiet, lowRPM fans, I bet that the designers at apple have tried in recent years to get x86 to work under those conditions and have failed, perhaps they might release a moble CPU Mac.
anyway, Mac is no more anti-competative than ford or GM are with their designs.
computers compete in a wide market, macs are part of that market, the x86 part is more open with hardware, but not by design.
Using opensourced code is not a problem. Code is opensourced so that others can make use of it. I like to think that if you are going to use someone else’s code, you should atleast study it and understand how it works. That is why _I_ like opensource, to study other’s code. If you dont understand how it works, and it has a bug, problems arise. And i dont remember seeing the original author’s name in the sources either.
Anyone that claims Uuu died for reasons other than lack of ready-to-code coders is lying to themselves and others.
Hmm, I’m not sure what the best focus would be. Perhaps an overview of the environment, concentrating on what makes it unique. Some idea of why a person would choose smalltalk instead of Java or C++. Maybe a description of some interesting Squeak-based projects. I’m sure whatever you’d like to write about would be interesting .
The problem I see is that Apple doesn’t want other companies in on their design. With regard to the ROM issue, if I was an engineer, I would have to design a motherboard that has the ROM chip built in, similar to a BIOS chip, and the board would have to support x86 CPUs. The problem is how to make it transparent so that it still looks like an x86 motherboard to other OSes, but have the ROM enabled when running OSX-x86. It would make little sense if I designed a x86 motherboard that has the ROM but ONLY works with MacOS. In this case, Apple would have to manage the hardware themselves and support this hybrid architecture. Like many people have said before, Apple doesn’t have the resources to bother with another hardware architecture. I would much rather see them work on improving the Mac platform than expand to x86.
This may sound crazy, but what I would do, is put the Mac ROM on a PCI expansion card, and since PC BIOS’ are flash rewritable, provide a BIOS update that would be able to boot from the ROM on the PCI card.
I just bought a Mac. I have no need to see OSX on x86. I would much rather see OSX be more friendly with x86 hardware. Example: does ATI really have to make a Mac version of the Radeon video card? The PC and Mac versions both use AGP, and as far as I can tell the only difference is in drivers. Why don’t they just bundle both sets of drivers for one card?
Jeremy, you make it sound like Apple is the sole company in charge of the PowerPC architecture. Once their new motherboards come out, it will be Motorola or IBM that have to deal with the bottleneck. Unfortunately, I don’t think Motorola has what it takes to get PPC an order of magnitude faster than their x86 competitors. They are having trouble just staying up to par with performance. In fact, they are not staying up with performance as much as x86 is finally catching up to them, and they aren’t moving forward as fast. Without the G5 or some similar big development, the x86 platform will nose ahead of the PowerPC in all operations. Then the Macs will be running on slower hardware, for no reason.
Hey- I want to see this whizzer OS… I’ll help beta test it. Sounds cool. 🙂
Some peoples idea of a joke, just don’t do it for me.
Most of this guys wants, he technically could instigate in Darwin.
Also a lot of this was done by BeOs because they started as Mac People who wanted more then what they could get from Apple or MS.
The changes this guy is asking are virtually impossible in the current situation that apple is in.
I mean MS took almost 10 years to move the old DosWin model to the NT/XP/2000 model.
Apple is forcing people to do this in 2 years.(or less)
I pretty sure people are rattled enough about that not to have to be forced to change everything again. (Beside Rahpsody failed for a reason)
Sure a lot of the wants are great technically, and sure OsX needs these things to happen to it, but I’m pretty sure when you are dealing with millions of users and thousands of applications as opposed to the clean slate of the BeOs, you have to take into account migration and density and mass.
I love day dreaming, but I also think apple really needs practical advice on how it can improve it’s products now, in the 6 month time frame, as opposed to the 10 year cycle.
PS:
there was a comment towards the top that said: “Unix has it all”, please do you homework before posting, OsX is a BSD as freeBSD, OpenBSD etc.
It might be a little different but it mostly is the same.
I for one would just love to see Quad raq server/workstations with 4 gig of Ram and 8MB or cache per CPU, that can really make the UNIX under the Hood sing.
We also need Oxigen/Wildcat/Quadro/FireGL/Appian/Gloria and other true workstation high end graphics cards ported (or just drivers ported and hardware tested.)
We need DDR, ATA133, Firewire 2, 802.11g or b or whatever is faster then the present implementation, Serial ATA, USB2, PCIX, RapidIO, Hypertransport, etc.
We need these closer to the time they are released in the Intel space.
We need a couple of different form factors in the way of workstations/servers (mid desktop–present; big desktop– 10 drives, 6PCI, 8 Firewire, 6 USB, etc; Rackmount 1U server, regular size rackmount server)
I know it used to be like this and was cleaned up, but now that Apple has the cash and has a real OS maybe it’s time to re-expand the product line.
I could also go on but what would I say that is not already known?
I think a big reason OS X will not be ported to PC hardware is because of binary compatibility. There are a lot of loyal Apple customers who are now disillusioned with Apple because of OS X. What do you think would happen if Apple suddenly introduced a hardware change? Customers who had bought Photoshop for their PPC would now have to buy it again if they bought a new PC based Mac. Goodbye long time Mac lovers.
How many times and in how many different places are we going to KEEP READING that OS X is not Be? We all know what happened to Be. Move along.
No I never owned a newton, but I didn’t know anyone who did either. All I remember is what I read where it was pretty universally bashed so not being very good. As for if it was generation 1 or 2 I couldn’t tell you. But if 2 rocked so hard why did it die?
PCI/AGP/ISA/etc… cards can have startup code on them, Intel based cards have x86 code, Mac cards currently have OpenFirmware http://www.openfirmware.org/
Okay, first off, *I AM* the author of Whizzer and CFOS, NOT Richard Fillion. So, please don’t be confused by anything he says. For some reason, he is an “enemy” against me and will take every opportunity to flame and bash me Now, onto the facts:
Whizzer is actually a new version of CFOS. I never gave up programming it. Whizzer is certainly not based on UUU. It does not have a microkernel, exokernel, or organic/VoID architecture. It has a TOTALLY different memory organization. It does NOT have any kernel at all. There is NO dynamic linkage moving/reloading/removing of “cells” as there was in the VoID architecture in UUU. It’s a completely different system. I won’t have a website for it until a good working beta version is available. In the meantime, I’ll be posting in the OS Development forum (and maybe OS Wars too :}), so you can follow along there.
<<
PCI/AGP/ISA/etc… cards can have startup code on them, Intel based cards have x86 code, Mac cards currently have OpenFirmware http://www.openfirmware.org/
>>
Oh bugger.
I liked BeOS a lot. It booted quickly and worked smoothly. It was legacy-free and it was practically application free as well.
Give me Mac OS X, legacy and all, with better development documentation.
It died because the Steve killed it. The Steve wanted to concentrate Apple’s products to about 4 different lines (Jr. Desktop, Power Desktop, Jr. Laptop, Power Laptop). He did this, and it worked amazingly well — of course, the aesthetics of these products helped a bunch too. Also, RUMORhas it he didn’t like the Newton all that much and preferred the Palm devices, for some silly reason…most likely because of their smaller size.
So, the Generation 2 Newtons really did kick all kinds of PDA butt. If they would have stuck with it, Microsoft (Windows CE and its cousins) might never have bothered entering the PDA business with Newton controlling the “high-end” and Palm on the “low-end”.
just a reminder to the PC/LInux user who keep poking at the 1button mouse.
ON a Mac (os9 and X) you can use almost all usb input devices that are fully compatible with USB1.1 spec.
that means any trillion button mouse you want.
and there are shareware drivers like “USB overdrive”, that let you set any custom setting on your new fangled wireless usb keyboard and mouse.
so really as far as you are concerned this is a non issue. (especially when you consider the driver Hell that plug and pray is, and the logistical nightmare of finding Linux drivers for anything slightly weird).
Oh also for someone else in this list.
Apple Makes it’s money in Hardware, like Sun.
sun stopped making X86 solaris, because really there is already Linux on x86 and another x86unix is just not going to make a dent.
Besides x86 hardware no mater how great the processors might be, are incombered by inumerable legacy items that really really do affect the general usability (plug and pray) and performance (ISA/Parralel/Serial/Floppy/etc) of the platform.
Most PPC platforms (Amiga/IBM/BeBox/Apple/etc) are just better designed using the same general standards, (PCI/AGP/SDRAM/USB/Firewire/etc).
Sure the x86 hardware is cheaper, but Fords and GM’s are also cheaper then BMW/Mercedes/etc. They are all cars, and use similar principles but the latter and definitly better cars then the former. and the latter are also a little bit more expensive but again it depends on how you look at it. (one you pay little up front but you have to get another one in half of the life time of the more expensive one.)
There are many sides to any story.
x86 looks greener until you step in it and you realize that it’s built on top of a heap of doodo, as opposed to finely engineered fertilizers. they both work but one stinks while the other doesn’t
I would like to bitch and moan about how Apple isn’t implementing my half-baked ideas.
I would like Apple to support platforms and ideas that have thoroughly failed to succeed in the marketplace.
I would like every electronic device I own to interoperate in some magical way–even though I’m at a complete loss to explain how it would work or what the benefits would be.
I would like to revisit the stale interface design concepts spawned by Copland, including the concept of scalable interfaces (i.e. a kid will drive a “big wheel”, and it will magically scale into a car, as the child grows).
I would like to bring the true prodigal son home to Apple–Jef Raskin. If only Apple had let him make –his– Macintosh, where would we be now?!?
Simple screen captures may be taken the same way in Mac OS X (v .1.3) via the command-shift-3 key combo. As for spring loaded folders, they are planned to make an appearance in X.2. So relax, and let’s see what happens this July wen X2 is released in New York.
Steve,
Get over it.
1) BeOS is dead. I liked BeOS but Be didn’t support the Mac in any meaningful way (and no, I don’t buy the “Apple didn’t give us G3 specs” BS). If the Linux guys could get G3 and G4 support then Be could too. You want to blame anyone for the demise of Be? Blame Be. Blame their clueless board of directors.
2) Legacy is sometimes necessary. You can’t make an impact in the market with a brand new OS without some form of legacy. Apple has it and provides for it with Carbon and Classic. Linux had it as they could rely on ported code from BSDs and UNIX variants. Be had no legacy and therefore no apps.
3) The universe wasn’t built in a day. Apple can’t do everything just like Be couldn’t do everything. Rather than bitching about the situation, why not help – you’re a developer aren’t ya? You want instant-on? Get a decent open source journalling file system working under Darwin. Darwin has the VFS support.
4) Don’t like the object names? What? i thought you were a developer? Want a language that’s a little less verbose? Something easier? AppleScript maybe? It’s more of the “See Spot run, see Spot sit” variety but the names are more sensible.
5) Dynamic plug in architecture. Right. Are you talking about Mac OS X here?
6) Scalable complexity in the UI? The Mac used to have it and frankly it wasn’t that useful. Better to have a UI that can be simple (Mac OS X, The Dock, big icons) to something that you can grow into (Mac OS X, The dock, a hundred third party add-ons and Terminal) should you need that.
7) Scalable UI in terms of devices is partially there but there’s little room in the world for revolution any more. At the end of the day we don’t want to create a situation where YOU and YOU ALONE are happy with the UI but everyone else is completely alienated because it is so different. People need a reference point to hang on to.
8) PDA stuff. In my honest opinion, Newton OS 2.1 was the best operating system in the world. It had the best UI. The best workflow model. The best combination of communications and information management. They should have let it go. A NOS that ran on a desktop model about the size of the first 15″ LCD display was my dream for a very long time. Whole unit contained in what would normally be the screen. I loved my Newton MP2000+ and I loved my MP120. Nothing before or since has come close. People who ridicule it never had a decent demo of it. It was so good that even todays PocketPCs are left wanting. Suuuuuure, they have MP3 playing and videogames and whatnot but in terms of their actual function they are pretty terrible. NOS was better because it did it right. But again it’s dead. Can you imagine what life would be like if Newton Inc had been allowed to be independent. Anyway. It’s dead. No more. No tears.
9) I don’t really want Apple to do iMessenger. I want an open published Instant Messenger that anyone can tie into with their App. It should be open enough so that I can have one instant messenger app and no need for Fire to do the multiplatform stuff.
I’m getting bored but many of your later gripes are already handled by iTools, Mac.com, iDisk, the upcoming Quicktime Broadcaster, AppleScript.
You want all these things from Apple yet Apple is one company and though the leading second place on the desktop it is way behind the number one. They cannot be all things to all people and believe me, they don’t want to try. They are, however, in the best position to actually make a difference.
Rather than bitching at people on this forum for being negative, why not do what the rest of us do and think of ways of being positive. You’ve got articles on your web site that do nothing but slam. I must say “Mac OS Y” was humourous in a juvenile sort of way. Very constructive too.
You’re a good guy, way too talented for this mindless bitching crap.
Hi all – here is a bit of my knowledge:
1: Newton / Newton OS.
Like stated here, Newton OS is still the coolest OS made to date. Periode. If you have not tried it /programmed it, please don’t bash, go try it! You will get rocked!
Newton died because of the PRESS, not consumers nor Apple (maybe Apple a little).
The press is responsible, in the conservative way, for a lot of new technology not making it to the consumer. I hate them!
Apple had to kill Newton for several reasons: a) the developers that made it did not document, and left. b)without documentation it was to hard to re-engineer the system. c)Steve Jobs returned… of, thats just me…
Trust me, I yet have to find a PDA/phone/palm that can even match the Newton OS to the knees. They all SUCK!(Really!) Long live the Newton.
2: Mac OS X on x86
Well, they compile every build in x86 internaly at Apple. They do this to ensure that the kernal is not platform dependend! The product manager for OS X told me this last summer… ‘nogh said.
Of course they will not put things like this on market until they feel it’s time. M$ is to big still…
3: I must say that this article makes me think about my beloved Newton 2k.
4: Do you REALLY like to see Apple make an OS for x86????
Gee, what I hate most about that platform is the thousands of HW vendors not beeing able to make things work together. Oh, and the OS vender is the worst in this fight – they all want to be kings and make THEIR propriatry stuff the market leader, instead of making it all work and have some happy customers. I laugh every time I set up a Compaq Server with their SmartStart CD, where 1 out of 10 will work with it, gee what a piece of crap! Installing Mac OS on a Mac, this factor is more like 1 out of 1000000 that DON’T work (and thats due to other reasons, like defect hardware…)
Hope it helps….
this article is a joke. I can’t believe I wasted time reading it and that I’m not wasting time replying to it.
You clearly know nothing about developing software.
I swear to God, if their next OS won’t make sandwiches for me I’m switching to an abacus.
*snickers*
But seriously… most of your features are beyond pie in the sky. Real engineering is about tradeoffs: without the Carbon environment everybody would still be using OS9 and Mac OS X would be so many lickable coasters. Also, Apple has to make decisions in such a way that they stay viable (for example, there will never be a version of Mac OS X for non-PPC processors unless both Motorola and IBM set their semiconductor divisions on fire for the insurance money.)
Face it, this is not a list of suggestions, this is a list of gripes.
First off, the author should get a job at Apple again and try to get some of his ideas implemented.
I liked the Newton-still have an Mp120 running NOS 1.3. I really would have liked to have had the opportunity to use one of the 200mhz MP2000-01 running NOS 2.x.
Forget the x86 stuff, not likely to happen. Unless Apple rises to 20% market share and even then it would be too paranoid about shooting itself in the foot. Would probably only happen if Apple were on it’s death bed.
I would like to see Apple license the OS in the Overseas Market. For example license the Asian market to Sony, Nec, Toshiba et al. Do the same for the European Market say Phillups and others. I think it would be a great way to expand Apple’s global market without significant investment. Try it with a limited time frame say 5 years with mutual options to extend. This also protects Apple’s bread and butter market North America.
As a person who uses an eMate every day in my business and maintains a dozen or so Newton/eMates that my employees use, I would like to point out that it is not a PDA, but a full blown computer. We use them to do just about anything you could or would do with a laptop, and have portable wireless printers to use with them. This is all technology called “dead” from nearly 5 years ago. Granted they are slow machines by today’s benchmarks, but the simplicity and usefulness of the OS and applications still being developed today still amazes people who ask about the “new” laptop when they see one. A Newton/eMate does contact management, word processing, spreadsheets, creates timesheets for billable time, can fax, email, get on the net, play MP3s, interface with a PC or Mac, has a lot of fun and useful apps that are freeware or shareware, and so much more. And it does it all in a total environment of less than 20mb, turns instantly on, and lasts days to nearly a week on it’s battery. I have a desktop in my office, & a laptop I use occassionally, but my Newton/eMate is my daily computer.