ivyblog

Ma petite entreprise

Design logiciel et design d'interfaces

mercredi 16 juillet 2008

Apple is stuck in the 90s

Par Sébastien Pierre, mercredi 16 juillet 2008 à 08:48 :: General

I don't usually blog about news in the computer industry, but I feel I have to express my point of view on today's CNet article about Apple filling a lawsuit against PsyStar (website down as of right now).

There used to be a time in the early 90s when Apple tried to follow the PC-path and open the Apple architecture (PowerPC-based at that time). Apple was already in a not-so-good financial position and this experiment did not have the expected result of expanding the Mac market, but rather have the other vendors cannibalize Apple's market share... that was a hard blow at the time.

However, things have changed since Jobs returned to Apple, and although the Mac market did not grow to a 50% share it's still pretty solid -- especially since OSX who won the hearts of many developers because of its UNIX lineage. Now Apple is making tons of cash with iPods, iPhones, the MusicStore... its hardware and software are ahead of the curve, inspiring both other hardware manufacturers and software developers (proprietary or open-source) around the globe.

To me, Apple is a hardware manufacturer, who also happens to have a passion for software development, and had the guts to carry on with a different vision with a strong will. Thing were harsh in the 90s, but things have changed since them. Our perspective on software (and OSes in particular) has evolved: we are getting away from the proprietary, Microsoft-monopoly-style perspective, and moving to a shared collaborative software where everybody can participate and interact.

Apple has made much progress towards open-sourcing technologies (Darwin, RendezVous, WebKit, Foundation, etc), but is still strongly attached to keeping OSX proprietary. Even more than that, now that Macs are "just" very well designed PCs, they want to have the monopoly on OSX. This is an old-school, conservative behavior that shows if not lack of understanding, elements of fear.

So Apple, let some competitors in, because now they won't eat your market shares but rather let your market grow. You should be more worried about Linux getting more shared in the desktop side -- it's still small now, but look at the progress made since the end of the 90s.

I think Apple's control-freak behavior does not fit anymore in today's context : they're present in too many sectors, and try to control everything end-to-end in every one of them. That's a clear lack of understanding of the profound mental (and social) changes that happened thanks to the Internet and open-source software. So Apple, please focus on making really cool hardware, providing paying services around them, but open source OSX ! Let your OS live its life and help your market share and technological leadership grow.

11 commentaires :: aucun trackback

lundi 14 juillet 2008

Étoilé: Desktops, NeXT, Objective-C, LLVM and... Smalltalk !

Par Sébastien Pierre, lundi 14 juillet 2008 à 09:30 :: General

I don't know how many of you are familiar with NeXTSTEP/OpenStep and the GNUstep project, but these "desktops/environments/frameworks/systems" were one of the hottest stuff that happened during the 90s (along with OpenDoc) in trying to change the desktop as we know it today.

The "*step" systems were/are all based on Objective-C, which is a Smalltalk-like C dialect. It's actually based on a simple message-driven OO runtime written in C, decorated with a set of extensions to the C syntax that mimic Smalltalk message-passing style (object say:"Hello" to:thisPerson). Smalltalk being (in practice) not only a language but a whole environment, the language itself had an influence on how the "*step" systems were designed from a user perspective.

A couple of years ago some people coming from the GNUstep community started the Étoilé project, which is based on the same technology as the "*step" systems. While GNUstep seems to be quite busy trying to catch up with the Cocoa API constantly being updated by Apple (Cocoa is the successor of OpenStep), Etoilé took the path of innovation, trying to modernize and evolve the concepts into something new.

Here is Étoilé mission-statement (from their website):



Étoilé intends to be an innovative GNUstep based user environment built from the ground up on highly modular and light components with project and document orientation in mind, in order to allow users to create their own workflow by reshaping or recombining provided Services (aka Applications), Components etc. Flexibility and modularity on both User Interface and code level should allow us to scale from PDA to computer environment.

So far, I'm still waiting for a clear example on how all this "fits together", namely an illustrated explanation of how (we) users can reshape our worflow by recombining services (which is very much like OpenDoc when you add the document-centric perspective).

In the meantime, I've been quite impressed by some posts by David Chrisnall related to how he's trying to improve the Objective-C runtime (the GCC implementation being... well... look for yourself !) and to bridge Smalltalk and Objective-C.

I really like the double approach that the Étoilé people have : they design both at the language and at the interface level. As clearly stated in Ian Piumarta S3 presentation "Late-bound object lambda architectures", most of the current desktop systems/framework fail re-use (aka. re-invent the wheel) because the underlying language does not offer proper support for it. There is clearly a need to design both the API/architecture as much as the UI: APIs being "just another interface" for human-machine interaction.

Anyway, from a technical standpoint the approach is very seducing: Objective-C is a good base, it's well tested and now in use in many systems (Mac, iPhone,...). Now if you improve the runtime, plug LLVM in and allow to switch the syntax you have a pretty flexible and fast system, akin to the original Smalltalk vision.

I'd be personally really pleased to use a better Objective-C runtime library, take advantage of the (quite cool) Objective-C class library, have great performance (LLVM and C), and be able to plug the syntax I want. It seems like this is not too far away !

7 commentaires :: aucun trackback