I’m writing this opinion piece on the eve of perhaps Apple’s most hyped MacWorld Expo ever. TIME Canada has already pre-released an article about the next-generation flat-panel iMac machines, complete with
pictures of the it, its industrial designer and Apple CEO Steve Jobs. While the complete picture has yet to be painted (and will be in the morning when Jobs reveals the specifications during his keynote speech), I’m starting to believe that Apple feels that “innovation” and “revolution” are a matter of hardware and user interface aesthetics. Where Apple used to pave the way for new technologies, programming methodologies and user interfaces, they remain stuck in a rut of their own creation, bound to re-create a lot of the same mistakes that caused them to lose the majority of their market share and relevance to Microsoft in the 1990’s. E-I-C’s note: The article was written before the actual MacWorld Keynote took place.
Apple’s much-hyped and late-arriving Mac OS X hybrid operating system is only as “advanced” and “modern” as the sum of its different yet integrated parts. UNIX kernel-based operating systems have been around since the late 1960’s; the Amiga personal computer was endowed with
protected memory and preemptive multitasking capabilities in 1986. “Carbon,” the refurbished classic Mac Toolbox API still is not re-entrant nor thread-safe, nor is “Cocoa,” the re-tooled Objective-C-based NeXTstep API. Both frameworks have 15 years of baggage and compromises, compete with each other at the functional level, have differing designs and conventions and have relatively steep
learning curves. All of this history is haphazardly glazed over with “Aqua,” a translucent, photo-realistic, memory-hungry and performance-challenged rendition of the desktop interface Apple pioneered in the late 1980’s, although it lacks much of the convenience and consistency that were the basis of its original design.
A company called Be appeared on the landscape in the early 1990’s, and succeeded in building from scratch a technologically superior operating system that vastly outperforms Apple’s operating systems on Apple and
Intel-based hardware. Through many years of iteration, several generations of software development teams, and several re-writes of their own core operating system components, Be succeeded in achieving most of the goals that Apple has still failed to realize with Mac OS X.
BeOS’s high-performance kernel and media subsystem is able to schedule low-latency audio and video threads while incurring very low processor utilization and allows for several audio and video streams to be played or processed simultaneously without skipping a beat or dropping frames.
OS X still struggles at this task. Be’s high-performance, attributed, multithreaded, journaled 64-bit file system BFS provided users with lightning-fast database-like file queries, excellent protection against disk corruption caused by power or software failure, node-level change
notification, and an impressive system boot time that averages 10-15 seconds from power-on to a usable desktop. Mac OS X is burdened by historical file systems that routinely suffer structural integrity failure, yield poor file search performance, have limited metadata and
attribute support that is inconsistently implemented across the “Carbon” and “Cocoa” frameworks, leaving Apple to follow Microsoft’s lead by requiring files to have filename suffixes to accomplish mapping file formats to their supporting applications. Mac OS X boots in over a
minute on Apple’s fastest machines, and the Finder is required to poll the file system for changes that occur.
Apple and Microsoft drove Be out of their respective hardware markets through a lack of support for their proprietary hardware designs and with illegal agreements with PC hardware manufacturers and much intimidation. Be, a small company without the financial resources and industry momentum of an Apple or a Microsoft was ultimately forced out of business; Palm Computing recently bought Be’s intellectual property and remaining engineering staff for a fraction of the value of the company’s advanced technologies. Sadly, Palm claims that they will not use most of Be’s work, and other operating systems, even the open-source Linux operating system still do not even begin to approach the level of performance, elegance, simplicity and power of BeOS. This is a distressing reality.
Meanwhile, the landscape and applications of personal computing have changed quite a bit since any of the aforementioned systems were designed. Computers are no longer stationary objects; networks are no longer confined to businesses, government or educational institutions.
The commercialization of the Internet through the World Wide Web, e-mail, chat, bulletin boards and instant messaging has produced a vast global network of interconnected machines that often speak the same
language, albeit inefficiently, insecurely and with outdated user experiences. Many core problems remain unsolved, and the industry seems stuck in a 10 year-old funk with no clear innovative leader while Apple
and Microsoft iteratively, minimally and expensively improve upon or slightly alter the appearance of Apple’s original, outdated desktop user experience.
It is well-known that Microsoft has a research organization that is busy investigating and defining next-generation operating systems and user interfaces. Many of Microsoft’s brightest thinkers and engineers defected from Apple, particularly the principal designers of the now-defunct Newton group, and many members of Apple’s former advanced
technology research group (ATG). While the Newton failed as a product line, the core concepts that comprise the foundation, storage, developer and user-level runtime layers of the Newton OS remain technologically superior and vastly ahead of anything widely available on today’s
desktop or portable computers. Sadly, poor Apple marketing and pricing, underpowered hardware and a rushed engineering schedules seemed to have tarnished the Newton name and doomed the project altogether. Jobs canned the project soon after his return to the helm of the company he
begat and was later excommunicated from.
Wireless and broadband networking is finally starting to take off. Cellular phones and pagers are slowly but surely starting to resemble the PDA, a concept Apple coined and pioneered with Newton. Palm is starting to work on its next-generation Palm OS with the help of the recently-acquired Be engineering staff, and a small company called
Danger Research appears to have a promising Java-based platform that relies on remote services to broker the relatively bandwidth and memory-intensive content on the Internet with its “Hiptop” devices, which have limited bandwidth and memory capacity. Microsoft’s Windows
CE and Pocket PC operating systems provide an uninspiring Windows-like user experience for portable devices, and surely other systems are in the works. There does not appear to be a clear leader, software-wise, in the wireless space. One would think that this is an area in which
Apple, a purported pioneer, would want to take the lead; after all, Newton was Apple’s defining entry into this space, an offering that has not been matched nor exceeded technologically since its inception.
Apple captivated its customers on a number of levels. Apple put the power of computing into the hands of everyday individuals. It began in an open manner, divulging comprehensive programming documentation, schematics for its Apple II series of machines, constantly out-doing
itself year after year in both is hardware designs and its system software releases. It did so in an “alternative hobbyist” spirit, challenging its developers and customers to think in an “out of the box” fashion. It had an excellent developer support organization, innovative
third-party developers, and an air of excitement about it that sadly no longer exists today. Apple appears to be stuck in a rut, releasing operating systems that grow in complexity and resource requirements (memory, disk space, processing power) and computers that only push the
boundaries of industrial design and feature integration based on entry-level and professional-level price points. Its PowerPC-based hardware generally lags behind the Intel x86-based machines in terms of speed and new technology adoption (with some notable exceptions like USB, FireWire and 802.11, where it played a defining role) while
remaining significantly higher in cost than competing machines in the Intel world. Its software organization has embraced UNIX, a complex and outdated operating system more suitable for server, research and scientific machines than personal computers, and has more or less boxed
itself in from innovating because of its inability to escape the Macintosh platform it has maintained since 1984.
Jobs’ first task when returning to Apple was obviously to return the company to profitability, which he has done very well. His second task was to re-establish Apple in the industrial design space, which he has done an excellent job of. My opinion is that his third and most important task is to re-ignite the old-school Apple soul (its software),
a soul that is oddly missing from its current Mac OS X approach. Apple needs a new platform, one that re-defines computing for the next 20 years, not one that celebrates and brings forward all of the warts and compatibility baggage of the past 20. It is my belief that if Apple is
not already heading down a new path, one it will undoubtedly have to pursue parallel to its Macintosh efforts, its longevity is uncertain. The industry needs a leader that is unafraid of taking chances, making
radical software architecture changes, creating rich and dynamic platforms for developers and users alike to build on; risky moves are the only ones that gave Apple the “head-start” it briefly had and ultimately lost in arrogance and internal struggles; it’s time to raise the pirate flag once again and break itself out of the prison of old ideas, expectations and legacy compatibility it still appears to be obliviously constructing.
The Newton was a ground-breaking stake for Apple because it was a new platform geared towards many of the problems that remain today with regards to data representation, collection, storage, and exchange. Newton’s runtime environment was highly dynamic, prototype-based instead
of class-based, geared towards the storage and retrieval of small and larger pieces of information (notes, media clips, URL’s, ideas), but never really took full advantage of the Internet. The Internet is a vast soup of all these disparate types of information and today’s hierarchical file systems, relatively static and outdated programming
languages and runtimes and mirrored desktop user experience are not geared towards creating, authoring, sharing and exploring these types of data. Newton is one of Apple’s greatest assets. I dearly hope that Apple has not abandoned these technologies altogether.
Pen-based computing’s time has come, and Palm and Microsoft aren’t anywhere close to the level of freedom and dynamic splendor that the Newton enabled. Apple’s moving to flat-panel displays and smaller portable machines needs to continue to hybrid desktop and pen-based systems; pointing with a pen or finger is much more direct and natural
than manipulating an on-screen cursor via a mouse or trackpad. Children grow up pointing at things with their fingers and drawing with various writing implements; holding a device in your hands as you would hold a
book or a notepad instead of sitting at a desk is a far more rewarding experience; the desktop interface, metaphors and underlying technologies only bind us to our desks (which is quite unnatural, not to mention hard
on our bodies). Pen computing is more personal and more liberating. Apple needs to follow up on its old promises and designs.
The Internet is a vast resource with greatly untapped potential. The web is but the first in a long future lineage of connected applications and experiences, and far less concentration should be wasted on trying
to shoehorn today’s problems into markup (XML, HTML) or HTTP-based solutions (SOAP/XML-RPC, .NET). Instead, new standards, protocols and systems should be explored, based on many of the problems that the Internet is perfect for addressing. The web is static, and people are dynamic; the glue that brings it all together is new software. To
address the kinds of applications that people will want to build, the industry needs a dynamic platform that facilitates rapid exploration, prototyping, development and change. Building static shared libraries out of Objective-C and C++ code are not the right direction to take; the
Newton approach is a far more flexible direction, and one that is screaming to be taken advantage of in the future. There are no demands that user interface, message handling, storage or network programming place on a system that necessitate it be built out of statically or expensively-bound libraries; dynamic programming languages like
NewtonScript, JavaScript and SmallTalk are a much better choice for most higher-level programming tasks.
Simpler, faster and more powerful kernels have been developed than MACH, UNIX or Linux. Be did an excellent job of designing and implementing the lower levels of a modern operating system, leaving the aforementioned runtime and user-level technologies ripe for exploration and implementation. Palm and Apple allowing these technologies to vanish show how irresponsible and ego-driven these companies and their leaders are; it should not matter where a technology comes from; the best technologies should be harnessed to produce the best products with the lowest resource requirements, the best performance, and the
simplest, least complex developer experience. This is the only responsible and scientifically credible way to advance technology, and taking this course results not only in the best performing, most efficient, and most legacy-free end-user products, but an exciting development experience that can ultimately be shared with programmers and users alike, ultimately yielding better products and a better user
experience, which completes the cycle of success and innovation. Apple needs to get back to user-level systems like HyperCard and Newton, where programming, authoring and customization are paramount to the user experience, rather than trusting programmers with unwieldy programming languages like C++ and Objective-C.
My final plea to Apple is a plea for consolidation. There are many great companies, ex-Apple engineers, shelved projects, third-party developers and users that have walked away from Apple because they felt unappreciated, unheard, ignored or betrayed. The giant that is Microsoft never sleeps, has an enormous amount of capital, has stolen at
least 90% of Apple’s potential market share, rapidly copies whatever innovations Apple and other companies come up with, and is the brainchild of the richest man in the world today. This doesn’t have to be the case, and many of these companies, individuals and technologies have sprung from the original spark that Apple ignited many years ago.
It would be wonderful to see a consolidation of these technologies, a welcoming of these customers and developers back into the fold, and a stronger sense of community among us. It truly is “Us vs. Them,” where “we” are the ones who think beyond the status quo, and “they” are the cogs in the engine that lacks innovative spirit and rules by sheer size, illegal monopolies and cutthroat business tactics and manipulation. It is time to bring the creative people who brought Apple to where it is today back to the party, and make it a party worth attending. This means better communication and feedback, better developer support and
programs, and ultimately better technology and user interface design. It’s obviously not enough to simply distinguish yourself by being slightly better or more standards-compliant; bringing together all of
the disparate individuals, companies and technologies that embody the founding visions and concepts that made Apple great will ultimately benefit society in ways Apple might otherwise be incapable of achieving.
I say and post these things on the evening of the first MacWorld Expo and Apple product releases of 2002. Seeing as the technologies mentioned in this article were all developed and forced into reality by Apple and Apple’s expatriot engineers and companies, some of the
industry’s best and brightest engineers and artists, Apple has absolutely no excuse to continue down the poorly-defined and implemented software path it is walking down today. The technologies and the ideas exist, designed, implemented and tested. The same old problems remain
unsolved. The wireless world is moving forward, and it can do so with or without Apple Computer, as the PC world has proven it can. Barring any truly revolutionary product or direction announcements from Apple in the morning, I deeply hope that someone at Apple has the foresight and wisdom to start truly thinking out of the box. Innovate or die; it’s
time to throw the Reality Distortion Hammer.
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
…the Amiga personal computer was endowed with protected memory and preemptive multitasking capabilities in 1986.
AmigaOS never got protected memory. When it comes to preemptive multitasking this is only true to the kernel level – not userland.
Good points, and a few facts and views that a person like me, with no experience of apple products, hadn’t shared before.
Although as most articles/comments here on OSN I found this one a bit BeOS-biased, with comments like:
Linux operating system still do not even begin to approach the level of performance, elegance, simplicity and power of BeOS. This is a distressing
reality.
and
Simpler, faster and more powerful kernels have been developed than MACH, UNIX or Linux. Be did an excellent job of designing and implementing the lower
levels of a modern operating system, leaving the aforementioned runtime and user-level technologies ripe for exploration and implementation.
…anyway, thanx once again steve for a nice article – I look forward to next one
Hey folks,
just wait and see the full spec’s of the machine.
If this is true, what I read at this moment (the keynote is already running),
the new iMac is really a blow-away machine.
Is it “way beyond the rumour sites”?
Revolutionary does not mean “refined PowerPC version of an x86 PC designed in 1999.”
– chrish
It seems to me that the guy has a problem with Be becoming irrelevant, Apple not rounding up all the employees that has left it over the years, and Apple remaining profitable. That last point especially. Apple is profitable right now and probably wishes to remain that way. If so they can’t possibly follow this guy’s suggestions.
it was possible to have memory protected on amiga with “enforcer” or something called close to this.
Are you sure this “enforcerer” thing added memory protection at OS level?
I have a hard time imaging this, since AmigaOS isn’t an open OS.
I recall reading something about this as well back in the early 90’s in a swedish amiga magazine.
My guess is that “enforcerer” placed itself in between kernel and userland apps and did something memory-protective-like as an memory managing abstraction layer. This way kernel could deal with memory for enforcerer, which in it’s turn was seen as the kernel memory management system by the apps on top of it.. but this is just speculations.
I can almost ensure you though that it didn’t provide “real” memory protection, since this is something the AmigaOS hackers still have plans for in future releases (the OS isn’t dead yet you know).
And to cite the FAQ at <a href=”http://www.aros.org“>AROS (Amiga Research OS):
Several hundred Amiga experts (or at least what they thought of themselves) tried for three years to find a way to implement MP (memory protection) into the AmigaOS. They failed. You should take it as a fact that the normal AmigaOS will never have something like Unix or WindowsNT.
Enforcer on the Amiga merely told you when illegal memory was being accessed, it didn’t prevent the access from occuring. It was a debugging tool, nothing more.
It is all well and good to wish for the bleeding edge. However running a company is not a matter of just identifying what would be cool and going for it. Apple lived that life in the 1980s and nearly died from it. Others like BeOS, Amiga and Netscape also lived that life and are no longer with us, or are shadow of their former selves.
We can argue back and forth about what killed these companies and who’s fault it is, but what we should care about is surviving. Today Apple is surviving because they learned how to play the game. The game is to play to your strengths, avoid your weakness, know who your competitors are, know their strengths, know their weaknesses, know which fights to pick, and know which fights to avoid.
For example, here is my take on directory systems. Apple’s engineers are well aware of metadata-based directories. When it was revised to HFS+ the Mac directory system was one of the best systems on the planet. But what did it get them,…exclusion. Macintoshes became difficult to integrate with other computer systemsm, because they had directory requirement that Novell and Unix didn’t provide natively. (Note, this is before NT became a player.) Adopting a BeOS style directory in OS X would not buy Apple any more market share, it may hurt them by making it harder to integrate with other directories. The prudent rout is to build/adopt a directory system that plays well others. That is what Apple has done.
On the other hand, the digital lifestyle applications can get Apple more market share. So Apple is innovating in those areas.
It would be nice to also see a HyperCard like development environment. But limited resources is another lesson Apple has learned. I think Apple will have such an environment in the future. However it will be on their time table not mine.