Wednesday, June 11, 2008

Apple announces Mac OS X Snow Leopard

Apple announces Mac OS X Snow Leopard.
"Rather than focusing primarily on new features, Snow Leopard will enhance the performance of OS X, set a new standard for quality and lay the foundation for future OS X innovation."

It'll be interesting to see how they will price this system when it comes.

7 comments:

Bert said...

Now, that's a refreshing stance in the software business: make it work! I sure hope this innovation spreads! Kudos to Apple.

Eolake Stobblehouse said...

Couldn't agree more.

Anonymous said...

The problem with software, though, is that you can not fix it after the fact. Yes, you can fix minor bugs, but that is not what's plaguing most software systems. Fixing any serious flaws always requires a rewrite.

The art of software design is finding ways to not have to implement a feature. This is done by thinking one abstraction level higher and discovering how that feature falls out naturally as a 'side effect' from something more generic. You then think one abstraction level higher again and see how you can simplify that level etc. You continue this process until you have distilled the very core functionality of which you can not live without, implement that, and then subject every new feature to a similar throughout analysis.

The challenge is that if you make even one mistake and implement a feature that shouldn't be there, every design decision after that is wrong too.

The goal of software design is achieving the most with the least. A disregard or failure to understand this process results in an exponential size increase of the system, the most horrendous example being Microsoft Windows. Mac OS X is slightly better, but not that much. And the only reason it is better is because of the Unix core and adopting Objective-C instead of C++, which caused them to think slightly higher level in turns of components (not that Objective-C is all that good per se).

Other than that, from a system software perspective, Mac OS X contains many completely silly ideas that can not be fixed 'in the next version'. In fact, the very notion of the "App" concept is a bad idea. And the only way to "fix" that would be to pretty much start from scratch.

Eolake Stobblehouse said...

"In fact, the very notion of the "App" concept is a bad idea."

That sound pretty astounding to this layman. You mean a correctly built OS would be very compact, and yet would be able to photoshop images and play Grand Theft Auto?

Anonymous said...

"That sound pretty astounding to this layman. You mean a correctly built OS would be very compact, and yet would be able to photoshop images and play Grand Theft Auto?"

The goal is not compactness per se, but flexibility. Similarly, if you compare the Arabic number system with the Roman one, you'll note that the Arabic system is more compact, but that is not the main reason we prefer to use it. You are like a Roman asking: "You mean the Arabic system has shorter 'words' but can still express bigger quantities? How can that be?"

Chuck Moore estimates that a typical C program when written in Forth takes about 1% of the size. Forth is a good yardstick because it is designed for factoring. This would bring all the code of Mac OS X down to less than 100MB. Probably much less.

Like so many software vendors, Adobe painted themselves into a corner with Photoshop. They attempted to 'solve' the mess with something called "plug-ins" and "actions". You would expect a 5 year old child to think ahead better than that. The end result is that Photosop is neither programmable nor very usable from an interactive standpoint. For this reason Pixelmator and others are now seeing an opportunity.

Eolake Stobblehouse said...

I'll take your word for it. But you haven't explained how we could do without apps.

Remember I know zilch about programming.

Anonymous said...

"But you haven't explained how we could do without apps."

It's a matter organisation. The computer doesn't care. We have already invented object-orientedness. What's the point then in continuing to compartmentalize access to those objects in closed boxes called "Apps"?

There are even "Apps" whose sole raison d'etre is to help other "Apps" talk to each other. I mean how dumb can one get?

The industry will eventually figure this out. I predict that Google will take over the desktop in five years time.