Revolution In The Valley
At the heart of this revolution was a set of brilliant engineers and coders who through their work inspired individuals and companies alike. Andy Hertzfeld captured this revolutionary time at Apple through the eyes of the engineers involved at his site, folklore.org. Now he's published these stories in the book Revolution in the Valley.
Apple Confidential 2.0 will give you history. Cult of Mac describes the phenomenon from the outside. But only Revolution in the Valley tells the story of a computer revolution from the perspective of the team in the center of the storm.
The book consists of concise stories, separated by pages of notes, drawings and photographs from the three years it took to develop the original Mac. The stories run in length between one and eight pages, with most ending in the two- or three-page range. Each is told from a personal perspective, mainly by Hertzfeld himself. Sidebars with comments from Woz and others are included to round out the perspective.
The stories are organized chronologically, starting with Hertzfeld's first days at Apple and ending around the time when Jobs was ousted in Sculley's palace coup. Most of the stories are technical in nature, often going down into the level of hardware detail. Others are more personal in nature, detailing Jobs' odd hiring or management style, talking about the stresses of a 90-hour work week, or recounting Adam Osbourne's threats about the destruction of Apple and Jobs' famous response.
With its roughly one hundred stories weighing in at a little under 300 pages this is a relatively quick read. This is especially true since the stories work on many levels and are told with remarkable skill. There are some standouts: The development of the GUI, replete with Polaroids taken at key points along the way, is excellent. The story on the first meeting with Microsoft is told from a whole new perspective from what we have heard in the past. The genesis of the 1984 commercial is fascinating, and the meeting with Mick Jagger is hysterical.
There isn't a whole lot here that you won't find on folklore.org, though some of the later chapters do some summation work that I couldn't find on the site. These bring the book together as a coherent, readable whole. The note pages, which separate the chapters and are not on the site, are interesting on their own, particularly the notes from the session with Alan Kay.
Apple's development of the Macintosh has been seen as the prototype of the dot-com death marches that would follow. What we see here is the potent mix of technical brilliance, insane work hours and pressure, and management arrogance that paints a much more chaotic and realistic picture.
On a personal level, this is the book I have been waiting for my whole career. Andy Hertzfeld and Bill Atkinson are legends to me and many others. The passion and brilliance they demonstrated set the bar for all of us who look at computer science not as a job, but as a calling. To see the Mac development from Andy's perspective is simultaneously deflating and uplifting. Their project suffered from all of the usual trials. But somehow the team got through it, their creativity and hard work paid off, and they changed the world.
How many revolutions can there be? How many times can lighting strike? How can one small group of people change the world? That's what we all got into this business to find out. And this book shows us an example of how it was done and inspires us to do the same. Thank you, Andy, for what you did then and what you are doing now.
Jack Herrington is an engineer with a twenty-year career inspired by people like Andy Hertzfeld, and the editor-in-chief of the Code Generation Network, as well as the author of Code Generation in Action. You can purchase Revolution in the Valley from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This book seems to leave off when Steve Jobs left after Sculley took over the company and misses the whole revolution that has occurred since then so while the book ends with Macintosh, we really should be considering: Apple II, Macintosh, the new Macintosh (nee OS X) and now iPod.
Perhaps the answer to this question this book asks about lightning striking twice lies in the care and craftsmanship that Apple puts into their products. Like Steve Jobs other companies Pixar and NeXT, there is a substance to Apple's products that tells a story. It goes beyond simple packaging to encompass the whole user experience. With Apple's products, there is considerable effort put into 1) Will this product meet a need and accomplish that goal better than anything else available? 2) Crafting the user experience to optimize their interface with whatever task the product is designed to serve 3) Make sure it does not suck (high praise). If a product does not meet these criteria, it is shelved like so many other projects that never rise to the top at Apple. (like the Palm device and an early effort at co-branding a phone)
The other interesting thing about Apple is the diversity of folks that actually work for them. They prefer to employ folks with advanced degrees, have a significant number of artists and creative folks working there and I seem to remember that one of their product managers was an MD, PhD. So, many of the folks there are creative and are trained to think critically about issues which is reflected in the products Apple creates. The reality with producing great things is that they evolve during development. There is great pain and effort that go into producing significant things and it requires a dedicated team of folks that are brought together by a common vision. Apple (more precisely the people that comprise Apple) are driven by a common passion to create something just that much better than what is available and to create "cool" things that influence how we interact with computers and the data that drives our lives (movies, music, scientific data etc...etc...etc...).
Visit Jonesblog and say hello.
Oh, the memories. QuickDraw. Wish I still had that box, bet it would fetch some bling-bling on Ebay
Sigs cause cancer.
Gerald Holmes made a nice cartoon about the Steve Jobs & Bill Gates rivalry in the early history of the PC.
It wasn't Xerox, that invented the GUI, that revolutionized computers. It wasn't Microsoft, that actually delivered the GUI to millions of people, that revolutionized computers. It was Apple, that made a commercial about the GUI, THEY revolutionized computers.
You know, it's funny they should use that analogy, because every time I've used an Apple computer I've wanted lightning to strike me.
... with the iPod. I still find it amazing to see how many people on BART during the commute hour have the telltale white headphones. And the number keeps growing, and growing...
The CB App. What's your 20?
Hmm... something that will revolutionize the way we get around... cities will be built around this invention of the millenium... what was that thing again? Wasn't it banned from sidewalks in 30 cities around the country?
Too fast to be pedestrian and too slow to be a vehicle: the Segway was doomed to be a toy from the start. Oh yeah, and that price....
You do NOT speak ill of our LORD and SAVIOR Apple! Facts are not welcome on this site!
Computers are still dumb devices after 20 years later. Sure, we can play games with better graphics, but even here, the game graphics can not even match a 30 year old color film on a 640x480 resolution TV.
What will change in the pc industry in the next 20 years? not much I expect...
Hasn't lightning struck again with the iPod? I wonder if the lightning analogy makes sense... maybe they're just good...?
perl -e 'foreach(values %SIG){$_="IGNORE";}while(){}'
another good read on the history of the Mac is "Insanely Great" by Steven Levy. Maybe not the most accurate piece of litterature on the planet, but a very entertaining read nonetheless.
He also wrote "Hackers" (don't confuse it with the lame movie of the same name) which deals with the origins och hackers and really cool old-school stuff.
I enjoy large posteriors and I cannot prevaricate.
Here's the link to the Folklore.org article
Anon Joe
Sorry, I'd have to say that the real revolution in the first phase wasn't the Apple II, but the Vic-20 and Commodore 64.
The Atari 400/800 were close, but the VIC20/C64 democratized it. Since all 3 were 6502-based (OK, 6510 in C64), they all had the same basic inherent limitations, but Commodore blew up the markets for both the Apple II and Atari computers.
Too bad Commodore couldn't market Eternal Life (tm).
Have you not heard the story behind the Commodore 64? Jack Tremeil's venerable "computer for the masses, not the classes."
The thing was developed in TWO WEEKS. The OS took another TWO WEEKS.
In 1981.
And blew the doors off of anything Apple was selling. And kept blowing the doors off of Apple until 1992.
You all were playing Sticky Bear and Oregon Trail while I was playing, well, everything from Donkey Kong to Project Firestart.
And, oh yeah, it's still in Guinness for selling better than any other single PC ever. 30 million units were sold.
Apple doesnt deserve nearly the amount of admiration they get. They've always been a me-too company with hipster doofus appeal, all the way from the first kit computers to the iPod.
I don't need no instructions to know how to rock!!!!
The Commodore PET predates the Apple as the first personal computer by an itsy bitsy margin.
Er...uh...I don't think so. CP/M was there years before the Apple, and there was a big (for the time) user base of CP/M computers. Not just in business, but hobbyists as well.
Good, inexpensive web hosting
well Xerox had no interest with the idea of a windos based GUI.... from what i understand (book probably had more details), the windo based GUI was concieved at Xerox and some suit thought it was a waste and ditched the project. Apple knew of the project and convinced Xerox to let them have what had been accomplished. Xerox had already written off the concept and probably had no fear of Apple and their home computer becoming a threat. Apple got access to what Xerox had done and put a lot of work into making it into what became the 1984 Macintosh System. it's not like they changed the graphics on it.
when you compare it to what IBM clones were running software-wise back then it was revolutionary. M$ copied the feel of the GUI and Apple legal pounced on it (settled out of court).
Apple really was the first to try to make a"personal computer". even Microsoft was just trying to apply the window based GUI to business machines. probably why Apple let them off easily (or so it seems in hindsight?). remember Steve and Steve from Apple were members of the homebrew computer club. they built the Apple I and Apple][ machines mostly for home users and eventually schools. Xerox, IBM, Microsoft etc were going after businesses and kind of laughed off the idea of computers in the home for regular people.
Apples still aren't useful, so I wouldn't cling to that criteron if I were you.
What's with all the Apple fellating here on /.??
I can't speak for anyone at Apple, but it's clear that the command line isn't an alternative interface to operate a Macintosh.
You don't see any traces of a command line when the system does system checks at startup or when users log in to their accounts.
When you launch the terminal you see this "black box" as completely subservient to the Mac GUI. It doesn't take away the menu bar and the window itself has an aqua scrollbar and traffic light close/minimize/maximize arrangement in the upper left.
I speculate that it's all a matter of perception. If the user never perceives the command line to be the foundation of their OS operating experience then there's no reason not to add it tucked away in the cobwebs with other utility applications.
2 minutes for failure to spell hobbyist in the /. approved 'hobbiest'.
1 minute for not pluralizing with an apostrophe.
Much of the credit of what is now attributed to Apple should actually go to Douglas Engelbart
The funniest and truest chronology I've seen on this subject to date. Kudos!
The smartest man in the whole, wide world really don't know that much. - Mose Allison
Reality is more like this:
The Lisa was Apple's useful machine. A multitasking OS, virtual memory, a hard drive, and networking made it a usable machine. But at $10K, it was far too expensive. And Apple's abysmal hard drive, the LisaFile, hurt it badly. But the real problem was that Motorola was years late with the MMU for the 68000. The Lisa had an MMU built out of register-level parts, which ran the parts count and the system cost way up. And there was a bug in the 68000 which made page fault processing unsafe. Instruction backout/resumption didn't work. So the compiler had to generate only idempotent memory-referencing instructions, ones that if done twice had the same effect as doing it once.
The original Mac was a dismal flop. Ever use a 128K Mac? No hard drive. One floppy (dumb). No MMU. No multitasking. You spend all your time changing floppies and looking at the watch icon. It sold badly and for a while, Apple looked doomed.
Apples's big success wasn't the Mac at all. It was the LaserWriter. The LaserWriter saved the Mac line. Once the LaserWriter was out, there was a reason to use the Mac. Before the LaserWriter, the Mac was an expensive toy.
Ah...the good 'ol days of the C64. Load *.* , 10 print and all that jazz.
I think that's what got me interested in computing as an 11 year old...my parent's C64. I even tried animating a small yellow sprite from some BASIC books. But when you have to type in 3 pages to see a yellow ball bounce, well...that's just depressing.
Mercy was given to me by Christ...I must give the same to others.
UCSD Pascal Operating System was an Open Source Operating System developed in the 70's at University of California, San Diego.
It was, up until some time in the early 80's, widely ported to and distributed on microcomputers. Terak, Olivetti and Apple, for example. All you had to do, really, to port the UCSD Pascal Operating System to a new machine was to write a Pascal P-code compiler for it, make a few tweaks for the custom devices -- and you were off and running. There was a vibrant and active community of developers around the world writing applications and coming up with solutions to other problems for the UCSD Pascal Operating System at that time. We typically communicated via BITNET.
It had a few features -- one of them, a cool logo of a trident made up of ascii characters -- and of course a few bugs, the most notable being the disk deadlock problem, which went something like this:
You get the picture. There is no actual breaking out of the deadlock. Your modifications are lost and you would also often lose the original document, since it would wind up in a corrupt state.
The usual solution was to get a second floppy drive (5 1/4", natch).
Two things happened in the early 80's: The Reagents of the State of California, under the terms of the Open Source (not GPL, not Free Software -- the terms hadn't even been invented yet) license, were free to withdraw, from public distribution, the UCSD Pascal operating system.
Coincidentally, Apple Software released the Lisa -- which had a remarkably similar operating system--from which the original MacOS was derived. Apple claimed (and still do) that they did not rip off UCSD Pascal because see? we wrote our own compiler!
BZZZT! misleading answer. Anyone can write a P-code compiler. BUT WHAT ABOUT THE OS?? Hrmmm... No response!
If they didn't use large chunks of the UCSD Pascal Operating System in the Lisa and then the Macintosh OS, why on earth could you still bring up the UCSD LOGO on-screen when doing a raw read of certain parts of the ROM and ... why on earth did they replicate the one most annoying BUG ???
Well, obviously, Apple "borrowed heavily" from the UCSD Pascal Oper
For all these f-ing lusers that think they can use a computer.. If it wasnt for Apple, they wouldnt be here today..
Damn Jobs.. Damn him!!
Things were better when you had to almost be an EE to have your own computer at home..
---- Booth was a patriot ----
Read your history before you start trolling. Mac OS X is a Unix-based operating system, derived from NEXTSTEP. The command line is included so that way Unix users and former NEXTSTEP and OPENSTEP users can feel comfortable in Mac OS X.
When Apple bought out NeXT Computer, they realized that not only they need to keep the interface of the OS Mac-like, but they also need to make the OS Unix-like, too; what would have been the point of buying a Unix-based operating system if the resulting product wasn't going to take advantage of what Unix offers, anyways?
Ahh for the simplicity of TopView, and the API that never worked exactly right...
Yeah, right.
No kidding... I thought the /. crowd was more into linux fellating!
Personal computer, IBM, and PC are registered trademarks of International Business Machines...or at least all three were when I got my IBM PC/XT.
I'm not a doctor, but I play one in bed.
The term "Personal Computer" was popularized by IBM. Before this the generic term was microcomputer, although "home computer" was also used. In the eighties, before the "IBM Clones" came out, "PC computer" specifically referred to IBM as opposed to the Apple II or Commadore, etc. IBM popularized the term while putting out FUD about the usefulness of other computers for business. It may be nitpicking, but it still bugs me when people use the term PC to describe early microcomputers
If it were up to Apple, half the problems that lusers see wouldn't exist. It's because you had to be an expert to use a IBM PC, but not to use an Apple PC.
Except lusers bought IBM PCs when they really needed Apple PCs.
GPL Deconstructed
If you can't even construct a grammatically correct sentence,
then why are you even posting ?
You, and the rest of us, would be better served if you took the time to study some English AND some Apple history.
Your tirade doesn't shoot down the poster's point. It confirms it. If CLI's are such an inhospitable thing, why go back to them? The decision to use UNIX as a base for Apple's new OS is kind of proof that command-lines don't kill an OS as badly as the Apple zealots used to claim it did. The argument used to be that if the gui is built on top of a system that has a cli underneath, then it must be sucky because it isn't possible to havea good gui unless you abandon the cli. Thankfully that argument has been given the death it richly deserves, and it's ironic that it took Apple itself to prove to it's own zealots how full of crap they were with that argument.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
There is a bit of "yes and no" to the points you bring up. There are a lot of exceptions to your points and in some cases Apple has succeeded depite themselves.
Like Steve Jobs other companies Pixar and NeXT, there is a substance to Apple's products that tells a story. It goes beyond simple packaging to encompass the whole user experience.
NeXT wasn't exactly successful, despite it's original product being just as "insanely great" as some other things Jobs touched.
If a product does not meet these criteria, it is shelved like so many other projects that never rise to the top at Apple.
Apple's track record ain't perfect. The Apple III was less than spectacular, and their first attempt at a GUI-based, 16/32-bit machine (the Lisa) is pretty much universally considered a failure. Both of these products "rose to the top" for a brief time--long enough to be released.
The other interesting thing about Apple is the diversity of folks that actually work for them. They prefer to employ folks with advanced degrees, have a significant number of artists and creative folks working there...
Perhaps they do prefer to employ well-educated people, but those with advanced degreed were not responsible for all their greatest successes. There is a difference between education and intelligence/creativity/ingenuity. Woz did not have an advanced degree when he created the Apple 1 and II computers. Woz is still an engineering genious though. If you know much about electronics you should study the designs of the Apple I and II. They are elegant to the point of being works of art. It is obvious that Woz worked with what he could get and what he knew--and analogue electronics was still a mystery to him at that point. In the Apple II he had difficulty making it display an NTSC colour signal the "proper" way (modulating the phase of the chroma subcarrier) so he took great advantage of the artifacting side effect of NTSC (basically a "monochrome" display made up of fine, closely-spaced vertical lines--making the luma signal pulse digitally at frequencies near that of the chroma subcarrier...cool hack!).
And if Woz was the catalyst for the "first strike" then another "uneducated" genious brought about the second strike--Burell Smith, the chief designer of the original Mac, was pretty much self-taught in digital systems design. Smith was also very intelligent and absorbed information like a sponge. The original Mac hardware was not technically cutting edge--it made less use of custom ICs than even the 8-bit Commodore and Atari computers did--but it was also a very elegant design, and because the software and hardware designers worked together so well the end result was fantastic.
Apple (more precisely the people that comprise Apple) are driven by a common passion to create something just that much better than what is available and to create "cool" things
I wouldn't say that was always the case--Jobs could be very confrontational, and he deliberately crafted the Mac team as a "rogue element"--giving them offices in a separate building and openly stating they were the future and all those Apple II people were has-beens. The Apple II people by then were often less than passionate, though a dedicated core kept the line fresh and successful for many years after 1984.
Overall, the passion within Apple sometimes led to division, mass firings and coups. One thing that is for sure though is that within each team there is a lot of passion and a common vision.
The number of people with iPods on BART is catching up to the number of morons that look confusedly at their cell phones when they lose calls in the Transbay Tube. :-)
(3) I'd consider laser printing, introduced shortly after the Mac.
(4) Integrated graphical applications such as Multiplan, MacWord, MacPaint, etc.
(5) Multimedia software such as iPhoto, iMovie. These are distant decendents of the NeXT software line.
(6) iPod and iTunes. Too early to tell.
It's useful. You can look stuff up an' stuff: www.google.com.
Read the EFF's Fair Use FAQ
Hi guys -
6 88 039731/qid=1104357740/sr=1-1/ref=sr_1_1/103-335422 1-5477404?v=glance&s=books
I would like to suggest that the 1984 book "The Little Kingdom" by Michael Moritz gives a better look at the real history of early Apple because it is not fawning over Steve Jobs and Apple in general. The subtlety of most books about Apple ("Insanely Great" etc) is that they are written by and intended largely for Apple users / bigots who want to feel somehow personally superior because they use a computer that is "cooler" than Windows. Having said that, let me also say that Woz seems to be one of the great guys in the entire computer revolution. If only more business leaders today were like Woz. (Of course, people like him are probably too nice and sincere to become business leaders.)
Here are some used copies of "The Little Kingdom" at Amazon:
http://www.amazon.com/exec/obidos/tg/detail/-/0
TWR
The big advancement, and what Jobs figured out once he went on to found NeXT, is that it's good to have a command line present, as long as it's not required to use the computer. As long as everything a typical user could want to do is available in the GUI, the addition of shell access doesn't detract from anything, and only benefits advanced users comfortable in that environment. The main point is that the GUI is rich enough to make the shell optional. Linux isn't there yet, and only Windows offers a viable alternative (to the MacOS) for novice users afraid of or unwilling to use the command line. MacOS X, like Windows, has shell access available, but doesn't require its use for the computer's operation. You could even make a point for classic MacOS having shell access, as you could access the debugger shell with a key combo or programmer's switch on earlier Macs, as well as booting into Open Firmware, though they are of much more limited use than a proper shell in a Unix or DOS/NT-based OS.
You're right that it's a dead horse, and Apple's early shell-phobia was likely more of a marketing tool than design paradigm, but it was important to motivate the programmers at Apple to design nice, intuitive GUIs for all their programs' functions; for that, I suppose they found it useful to not give them the option of having shell access available to end users. Now that developers are used to making GUI apps, and that users expect everything to be accessible in the GUI (and will let developers know if you stray from these expectations), Apple no longer finds it necessary to block all shell access to get developers to design GUIs for all their functions. It's certainly understandable that doing so was useful in the early days of the Macintosh, to shift developers' paradigms from command-line programs. The status quo of application design probably owes much to this radical policy at Apple. They were so successful in changing the mindset of developers, that even with shell access now available, developers know that their program won't get widespread use (and they'll get a boatload of complaints) unless the user is able to use it exclusively through its GUI. It's certainly not too hard to see that this seemingly irrational distaste of command lines is at least in part responsible for (and most likely fundamental to) the intuitiveness of current day computer applications.
"I like systems, their application excepted", George Sand (French)
If you can't even construct a grammatically correct sentence, then why are you even posting ?
hi,
you must be new here. welcome to slashdot.
It's easy to look at technology that we use every day and know so intimately and disregard it as mundane. But think of the people who don't read /. for fun, the non-techies. What we take for granted they may marvel at.
The Apple II was revolutionary because it successfully moved home computing from kits to mass appeal. The Apple II flooded schools, giving a generation of children hands-on experience with computers. Apple did it first on a wide scale, if not best. The success of the Apple II also pushed IBM into the PC market.
The Macintosh was revolutionary because it brought the graphical user interface to everyday use. Predecessors tried and failed (including Apple's Lisa). But at the time the Macintosh hit the market, the command-line mentality was entrenched. I remember vividly reading monthly screeds railing against icons and the mouse by major voices in the computer industry. Where are we now? The GUI dominates everything, for good reason. It makes the computer a more accessible tool, even if far from perfect.
The other, less recognized, benefit of the Macintosh is the blossoming of desktop publishing and image editing. With Mac OS and laser printers people were able to create beautiful, expressive documents instead of just printouts. Coupled with the GUI it led to a much easier way to lay out all aspects of the page before printing. Photoshop provided similar ease of use for image manipulation on the Mac.
Sony's Walkman, while not a spectacular device from a purely technical standpoint, was revolutionary because it gave everyone portable music. The iPod seems to be heading in the same direction for digital music, even though the iPod is far from the first mp3 player.
Revolutions are not founded just on brilliant technology but on the right mixture of technology with social acceptance, like Henry Ford who altered the course of society by mass-producing the automobile. Changing the way people conduct their lives should be the measure of what is and is not revolutionary, not whether or not the technology is something unique.
Apple no longer finds it necessary to block all shell access to get developers to design GUIs for all their functions. It's certainly understandable that doing so was useful in the early days of the Macintosh, to shift developers' paradigms from command-line programs.
The problem is that it also shifted developers away from the Mac altogether. By taking on the philosophy that NOBODY should use a CLI, they scared off everyone that did want one. Your post even contains a piece of this philosophy in it, in the way it is phrased - you speak of the CLI as if it is the additional extra thing. While it might look that way from the standpoint of a longtime GUI-only user, that's not an accurate description of the archetecture at all. The CLI is more core than the GUI, becuase even systems with a GUI-only mentality still have command-line args in the form of argv and argc for their programs.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Just a single example of a significant Macintosh feature which was later adopted by Microsoft. They came to Windoze via the Mac (via LISA, Xerox, Smalltalk, and Alan Kay.)
The LISA was introduced in 1982 with overlapping windows. X-Windows didn't appear until 1984, well AFTER the Macintosh. Motif later.
"National Security is the chief cause of national insecurity." - Celine's First Law
The blurb said the Apple can justifiably be called the first personal computer. I really had hopes for the KIM-1 to have this title. It was already popular, almost a year before the first Apple 1. And don't claim the Apple I was any turnkey system that the KIM wasn't. Early apples didn't have keyboards or even power supplies bundled.
I don't think Apple has the title to the first personal computer, or even the first "successful" personal computer. Even the Cromemco Z80s were out before Apple in '76 weren't they? (Ah, but they were "scientific" computers, not "personal", I get it.)
Nobody but us total geeks noticed any of this stuff until 77 when there were several horses in the starting gate, not just the AppleII, TRS80, and PET.
But how can anyone make the call for "the first personal home computer" as anything but the Altair? Altairs, IMSAI's, MITS peripherals, were all quite popular already, were featured in tons of magazine articles, and must have been high on the list of motivating factors for Woz and Jobs to do the amazing things they did.
They may have been the most successful, but they damn sure weren't the first.
-fb Everything not expressly forbidden is now mandatory.
Maybe its sexy to think about Jobs and Woz and Hewlett and Packard... but this valley was started because companies like IBM were already here...
Remember, in the 50s IBM invented the Hard Drive in the Silicon Valley http://en.wikipedia.org/wiki/Hard_drive#History The historic site has since been sold to HDS who in turn wants to turn it into upscale shopping and condos.
Actually folks, Ivan Sutherland invented the GUI.
when Steve Jobs shuffles his mortal coil?
Notice the crap coming out of Sony since Akio Morita lost control
Obviously, the shell is closer to the OS's engine than the GUI, though it's not really that much closer, since the OS deals with binary code, not ascii user input. In the end, it's just another interface for the same kinds of function calls, just one with less abstraction. Those developers that got frightened away from the Mac due to the extra work involved in making intuitive interfaces for their apps most likely found themselves having to learn the same thing, possibly a bit later, elsewhere, as that's where the market went (largely thanks to Apple's anti-command-line stance). Of course the shell in a UNIX-like operating system such as OS X is very much fundamental to its functionality, since all the tools that make up a UNIX-like OS were meant to be interfaced with via the shell; however Apple (and really NeXT before it) spent a lot of effort beefing up the GUI and adding a bunch of polish to the BSD core to make it more applicable to the general personal computer market. The end result is the (clichéd) best of both worlds, where both novice and advanced users can feel comfortable working with the OS. To most end users, the shell is nothing but a little program called Terminal that allows them to enter a bunch of magical commands, and that's what makes the operating system a success, since it really isn't required to use it.
Getting back to Apple's hypocrisy for first denouncing the shell and later embracing it, I believe that they felt (whether wrong or right) that such a move was necessary to get developers focused on having everything accessible through the GUI. By not giving developers the option to rely on a command line, they made them shift their way of approaching interface development, which ended up having huge repercussions on all software design. Was it really required for the Mac experiment to be successful? Probably not. Did it shrink their market by adding a lot of effort to software development? A case could probably be made for that. I guess they just felt that ideologically, it was central to the Macintosh that everything would be accessed through graphical interaction. While I can understand the reasoning, and I could definitely see the upper management at Apple at the time making such a radical decision, it probably wasn't completely necessary. I think Steve Jobs realized that fact once he moved on to form NeXT, and truly made an ideal OS after years of development; time during which Apple was stuck in its anti-command-line mindset due to marketing concerns. Thankfully, once NeXT was purchased and MacOS X was developed, they weren't insane enough to remove shell access, and along with the excellent frameworks and free development environment, were able to make the most accessible platform for development on the market today. MacOS X just begs to be tinkered with, and along with a userbase that expects (and demands) well-designed interfaces, is the catalyst for some great new software development.
It's easy to say now that it was stupid to ban the command-line just to later admit defeat and come back to it, but understand that the Macintosh was a huge experiment in what the future of computers would be. At the time, I have no doubt that it seemed that only by throwing out the command-line entirely would they be able to make a platform that was entirely accessible to novice computer users. If computers are as easily approachable and widely used as they are today, it's largely thanks to this early experiment, even if it wasn't the best possible solution to general purpose computing (which I'd say MacOS X is pretty close to). It's due to the lack of a command line in the classic MacOS that we now have users that demand that there be visually intuitive interfaces for the tasks they perform on their computers, and therefore a market that sustains GUI app development despite the availability of the command line.
"I like systems, their application excepted", George Sand (French)
To get a verbose boot, hold down option-v on power up (or do 'sudo nvram boot-args="-v"' to always show the boot sequence). Note that you can also boot into a single-user shell using option-s.
As to why Apple would have gone back to providing a CLI, I suspect it's merely a carry-over from NeXT; if Apple had succeeded in writing their own next generation OS it probably wouldn't have included one. Given that it's already there, it provided opportunities too good for Apple to ignore, including a vast array of existing CLI-dependant software & services, a familiar toolset for unix admins, and a lot of geeky users and developers.
I always have a bit of a chuckle when I fire up the terminal - I distinctly remember an Australian Macworld editorial c. 1991 discussing the future direction of Apple, which included this gem:
"2050 - Mordecai Jobs, great-grandson of Steve, implements a command-line interface for the Mac, hailed by the Mac media as a 'breath of fresh air', claiming that 'the old Mac interface has more windows than apartment buildings in New York'."
This sig is false.
The MacOS did gain the ability to use an MMU later on, however(at least by System 7). Apple kept omitting it on the lower-priced Macs using 020's, though.
:(
There was much wailing and gnashing of teeth when I discovered several neat-looking shareware games that listed "requires memory-management unit" in their catalog entries, while the family was still poking along with a Mac LC. We eventually upgraded to an LC 3 which gained the MMU, but not the FPU. I remember feeling triumphant when I found a freeware extension that simulated it via the Apple integer math--only to be let down a few minutes later when the 3D visualization program took a full minute to render a viewport.
--
but this valley was started because companies like IBM were already here...
Wait a minute... IBM lives in New York. And the valley is in California. And according to my map, California and New York are on the opposite sides of the US. So you're saying that all these companies are only in Silicon Valley because IBM is in New York? I suppose that makes sense actually...
Maybe because HP and Apple are actually in Silicon Valley as compared to IBM which is from the east coast.
BTW - HP was founded in Palo Alto, 1939. The garage where HP was started is considered the birthplace of silicon valley (or at least that is what the sign claims, it is on Addison Ave).
The key (and indisputable) facts are well documented:
c pus.htm/
http://www.commodore.ca/products/default.htm/
1: the MOS / Commodore KIM-1 was the worlds first single board computer, released in 1976
2: the Commodore PET was the worlds first recognizable computer. It was announced and released several months before the TRS80 or Apple I
3: Apple I through III all used Commodore / MOS CPU's. Therefore no Commodore, no Apple (Motorola and Intel were just too slow to market and way too expensive for home users)
4: Commodore sold more computers than anyone prior to 1985/6. They were the first computer company to sell a million units of anything and were the first computer company to have a billion dollars in sales. To this day Commodore is credited by the Guiness Book of Records for having the best selling single computer in history, The Commodore 64.
5: The juggernaught that was Commodore took 10 years of bad decisions to go bankrupt after its founder and visionary Jack Tramiel quit in, you guessed it 1985.
It is definately true that Jobs and Apple made an enormous contribution to the PC/Home Computer world but it is just plain wrong to claim that Apple was responsible for the growth or development the PC market. Without any question Commodore was the single most important driver behind the genesis of home computing and Commodore is the only company that can legitimately claim such a title.
For a mid-80's validation of Commodore's total dominance click the COMMODORE VIC-20 STARTED HOME COMPUTING link on http://www.commodore.ca/gallery/video/video.htm/ which is from the TV show The Computer Chronicles in December of 1985.
For the amazing list of hughly successful computers which used the Commodore 6502 CPU click the 6502 link at the top of this article:
http://www.commodore.ca/history/company/6502/6500
I can't speak for anyone at Apple, but it's clear that the command line isn't an alternative interface to operate a Macintosh. You don't see any traces of a command line when the system does system checks at startup or when users log in to their accounts.
Maybe not, but your certainly can by holding down a few buttons at startup.
I see lots of comments claiming it wasn't revolutionary. In reality, no, the Mac wasn't the first system with a GUI. That would be Ivan Sutherland's Sketchpad application from the 1960s. And we all know about the Alto. But at the time, back in 1984, the Mac was an atomic bomb dropped on the computer world. People used 8-bit computers like the Atari 800, Apple II, and Commodore 64. People used IBM PCs and clones, back when all popular PC software was written for text-mode MS-DOS. So then here comes the Macintosh with:
1. A 32-bit (internally; it had a 16-bit bus) microprocessor.
2. Bitmapped graphics *only*. No text mode. The visual difference was huge.
3. High-resolution graphics: 512x384, compared with the roughly 320x200 graphics of the 8-bit home computers. (Note that you could get better graphics for the PC, but as an expensive add-on.)
4. Applications geared toward using bitmapped displays, like MacPaint (which was stunning at the time) and MacWrite.
5. Lots of other little things taken for granted: the mouse, the desktop metaphor, shutdown and disk ejection controlled by the system, digitized sound, icons representing applications.
All in all, this was quite a shock to the average person who didn't know about the research going on elsewhere.
I see from the Folklore.org that the Mac Jobs demo'ed at the share holder's meeting was NOT a 128K regular Mac, but one of 2 in exstence 512K Macs, making the whole thing fraudulent. Can we sue Apple for everything they've got?
Amiga's kicked mac's ass. That old little ass Mac w/ the screen the size of my watch. WTF was that? Shit even Atari ST's were better. I have Macs now because of OS X, that is the only reason Macs are cool. THe worst of it is, there are still idiots running "Classic". lol. -Nazz
Those developers that got frightened away from the Mac due to the extra work involved in making intuitive interfaces for their apps
No. They got frightened away due to the lack of powerful interfaces in OTHER existing apps. When the CLI way to solve a problem is "use this 5-line script that makes use of these three common programs" and the GUI way is "Fire up these three common programs and then make these manual mouse motions 300 times" then people who wouldn't be able to handle the 5-line script method anyway won't be annoyed by the gui way, but people who do know the 5-line script method do get annoyed by the gui.
Programming languages are not gui. Not yet at any rate. The only way to legitimately make the command-line go away entirely is to have programming be a graphical rather than a linear task. It isn't. Maybe that might change some day if the industry comes up with a lot of useful graphical programming languages (i.e. draw a diagram which is itself the source code). But until it does, CLI's are going to be more powerful than GUIs because of the fact that, in essence, they ARE programming languages - rather abstract, slow ones granted, but they are not as far removed from being programming as, say, a series of mouse gestures are.
You keep looking at this as programmers being too lazy to make GUIs of their own unless forced, when what the problem was was that programmers like to see something more than just runtime-interactive interfaces for the programs written by OTHERS that they have to use. Otherwise automating tasks involves reinventing the wheel over and over and over.
When the system has CLI at its core, then something like "crontab" is easy to implement. With a GUI it's harder to take any arbitrary program and write (and edit) a config setting that says "do this action that I could have done from the interactive interface, but instead do it non-interactively every hour. If any errors are output, plese send them to me in e-mail." That sort of thing ends up being a special case in an all-gui system.
When the system has CLI at its core, then something like "find all files of type foo and do the following thing to them" is easy to implement.
These are things that the all-gui Mac was never very good at, and programmers noticed. By going all-GUI, Apple guaranteed the scorn of all users with needs more sophisticated than "Hey computer, do one interactive thing at a time, when I tell you to do it, and if I'm not around I'll shut off the computer."
With OSX, though, it seems this deficiency has been rectified. (Now if they would just sell a laptop with more than one mouse button. As someone who's interest in Mac would be mostly to run Unix programs and occasionally run Mac programs, I really want a three (or at least two) button mouse for use with Unix X11 apps. In a laptop, if I have to plug in an external mouse to get that it sort of depreciates the portable usability of a laptop.)
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
The command line is not much closer to the program code than a graphical interface, both need to have methods declared with parameters and user input. The only difference is that the methods and parameters in a graphical interface are all displayed on screen with a more sophisticated interface, typically designed to be intuitive for the task at hand, whereas a command-line executable needs the user to specify the desired methods and parameters, requiring knowledge of how to form arguments the program will accept. It is true that graphical interfaces require more work on the part of the developer, but they will often save work for the end user, especially for complex tasks (some are just impossible to even contemplate achieving in a command-line environment, but graphical application interfaces have been around a lot longer than GUI operating systems to accomplish these tasks). It's not that UNIX is inherently command-line at its core, it just that all the system-level userland tools were implemented for the command line, which is not to say that they couldn't all be re-implemented with graphical interfaces, which is what MacOS X (up to a point) and modern UNIX window managers (up to a lesser point) have done.
It's not desirable, or even practical to have the command line disappear altogether, as there are many tasks that are easier to accomplish in the command line for more experienced users. For scripting, the command line has some very powerful functionality. This is not to say that scripting is impossible for graphical apps. One of the gems of MacOS X is Applescript. Developers often add Applescript hooks to their app methods, parameters and events, so that they can be automated if desired. Even when app developers don't add explicit Applescript support to their apps, there is a beautiful thing called UI scripting which was introduced as beta in MacOS 10.2.x and as release in 10.3.x, which allows scripts to simulate user input, either calling interface elements in all applications explicitly by their names (which you can discover using a small tool called UI Element Inspector), or by simulating mouse clicks and keyboard input. It's a kinda kludgy way to write a script, but if done correctly, works very well. You can also combine Applescripts with shell scripts, and even compiled code to make some very powerful tools. Applescript is similar to Smalltalk, and is quite easy to learn.
As far as programming graphically, the base code of an application doesn't need to be graphical, as that would often be impractical. Instead, in the example of the free Xcode IDE for MacOS X, you write your base functional code as you would in any program (in whatever language you want, they're all supported), and then you draw the interface portion graphically, assigning names to interface elements, which are then called in the code. Actually, it's often easiest to draw the rough interface you want first, giving a good feel for what your app will do, and how it will function, and then fill in the functional code later. This approach allows you to efficiently design your app, keeping the user in mind while developing, yet still allowing you to focus on the functionality underlying it.
You give the example of crontab use in the command line. I use crontab all the time in MacOS X. There's an excellent little freeware utility called Cronnix which provides a nice, intuitive interface for crontab. I use that to launch my routine scripts including reminders, TV show recordings, etc., all of which are written in Applescript or bash scripts, or a mixture of both. There's also a handy tool called folder actions, which allows you to run scripts when something happens to a folder. For example, if I have a folder set up with folder actions, and I access that folder over the network and copy a file to that folder, it can launch a specified script. The power of all this combined is almost limitless. Another great tool well-implemented is Bluetooth support, along with an awesome freeware called Romeo, and my Sony-Ericsson phone. Rom
"I like systems, their application excepted", George Sand (French)
The GUI was developed at the Stanford Research Institute (now SRI) by a team including Doug Engelbart (who invented the mouse.) The early system, called NLS, was somewhere between a demo and a product. It was used internally by SRI, but never developed into a product. Until...
Xerox refined it and tried to commercialize it. Xerox did build a functional computer (the Star) which sold poorly.
Apple refined it further, creating the Lisa, and finally succeeded in commercializing it, with the much cheaper Macintosh. The Lisa/Mac interface was probably the first interface that was designed for absolute beginners who had no previous computer experience. The Xerox and SRI systems were stunning, but required user training.
Microsoft, as you said, capitalized on the work of Apple, Xerox, and SRI before it, while adding essentially nothing original.
A whole lot of people here on Slashdot are by no means native speakers. Some have aquried their english in just a couple of years (say 7) while they were still in school.
;-)
It would be polite not to scare those people away, who may have a different and valuable perspective. The discussion might benefit from them.
I myself have never been to a country where the local language was any other than german. So consequently I make mistakes, that few native speakers would ever dream of
Concerning Apple history: I studied a small fraction of it in the recent years and I think that Apple could have decided to ship Mac OS X without the command line. I think I would have been sceptical about that move and most probably they would not have gained me as a cusomer, if they refrained from including "Terminal.app".
However, I think that to most Mac users today, the terminal has a more pschological value. Everything you can do with it can be done as easily by point & click or Apple Script. Well except some stuff that alters the System behaviour very drastically. Those things are perhaps only beneficial if you are running "Mac OS X Server" and have a whole lot of traffic on the machine.
Even if the users themselves aren't!
* runs away really fast to avoid Frankenstein rakes *
It would be cool if it didn't suck.
..is sometimes referred to as "Never Twice the Same Colour" because the fairly complex signal is often interpreted differently in different manufacturers displays. The common characteristic is that they tend to be quite forgiving as the signal had to be demodulated out of a signal picked up by cheap rabbit ears.
It is the forgiving nature of most composite displays of that era that allowed the original Apple II to display colour at all. NTSC was designed from the start to be compatible with monochrome displays and to allow colour displays to use monochrome signals. ALL NTSC signals depicting solid, saturated colour areas (like the colour bar test pattern) would look like a series of fine vertical lines on a monochrome CRT with a fine enough dot pitch and no filtering of the chroma subcarrier.
The digital solution applied to the Apple II to composite colour display is one of the best examples of the companies heritage of ingenuity. The resulting electronics was much simpler than employing sophisticated custom, mixed-signal chips (Atari's approach) or resorting to a large, expensive-to-produce display card made of a higher number of simpler parts (S-100 and IBM compatibles--the first CGA card that provided a composite signal was a full-length card crammed with components).
Another Woz design that was elegant in its simplcity was the disk drive card. In designing the original Mac hardware, it seems Burell Smith got a lot of inspiration from the design philosophy of the Apple II--keep it simple and elegant and make it as easy as practically possible to program, because the functionality will rely heavily on software.
It's not that UNIX is inherently command-line at its core, it just that all the system-level userland tools were implemented for the command line, which is not to say that they couldn't all be re-implemented with graphical interfaces,
I disagree very strongly.
On the rest, I can't speak too much about Applescript as I have only heard of it from others - never seen it myself.
While I agree that having no command-line forced developers to work on better GUIs, I don't believe for a moment your notion that this was an intentional temporary plan on Apple's part and that they were planning on bringing the command-line in later on, as you keep insinuating. They brought the command-line in simply because MacOS was really bad at doing OS-type things (automation, pre-emptive multitasking, memory protection, etc) and they needed something better, and that something ended up being BSD (mostly because there was already some experience with it via NeXT and because it has a licensing scheme that is compatable with what Apple wanted to do.) BSD happens to come with a lot of command-line support so they got that as an extra thing on the side.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I never implied that Apple had any plans to ever have shell access in any version of the MacOS. Just that Jobs wasn't crazy enough to not have it in NextStep, seeing as how it was derived from BSD. MacOS X is basically NextStep with a few interface changes. The Cocoa (Obj-C development framework most commonly used for MacOS X-native apps) calls still all start with "NS", and every important aspect of the OS still behaves pretty much the same way. It's obvious that Apple didn't change a whole lot when they bought NeXT and turned it into MacOS X. As such, it's not too surprising that they left shell access intact, and it would have been stupid not to. Obviously, Apple couldn't have foreseen their transition to a BSD-derived OS, and the dumping of their entire precious OS into the virtual Trash. The classic MacOS was clearly an unsustainable mess, lacking the sound design and foundation necessary to carry them into the future. What the MacOS did have was excellent interface design. It was obviously revolutionary for its time, and great thought was put into making everything as intuitive and practical for the user as possible. I don't claim to know the real reason why they chose to build up their OS from the ground up without any command-line access, but my guess is that they just wanted to make an entirely graphically-driven platform, as a clean break with what people had taken operating systems to be until then.
Once Jobs left Apple in '85 (only a bit over a year since the Mac was released onto the public), he went on to form NeXT, and with a couple key software engineers like Avie Tevanian and others whose names escape me, decided that their best bet for making a decent OS was to build it on the tried-and-true BSD toolset (which also had the advantage of being released under a license that pretty much said "take our code and do whatever the hell you want with it"). Hence we now have MacOS X with a BSD foundation, including all its shell-access-having glory. It's obvious Apple didn't foresee releasing an OS with a command line after the MacOS, but it wasn't stupid enough to intentionally cripple their next-generation OS by removing it. Thankfully, they still kept their vision of an operating system that could be used in an intuitive, graphical manner, without any knowledge of shell commands. That is the essence of what they were trying to accomplish. I personally think that they would have been better off using BSD from the start and slapping a nice window manager on that, but then you have to realize that the original Macintosh 128k was extremely underpowered, and much of the core system code and display libraries had to be written in assembly just to get acceptable performance. As such, it's a bit easier to understand that they had to start from scratch if they wanted to make a system capable of doing what they wanted at the time.
Apple has on several occasions had the misfortune of being ahead of their time. In order to get the original Macintosh shipping when they did, they had to compromise and build a finely-tuned operating system which wasn't structured with much headroom for the future, and lacked many of the capabilities of modern OSs. The same thing happened with the Newton, where they had to make some compromises in software and price point in order to get them shipping when they did. Microsoft and Palm were in the enviable positions of being able to come in when the time was right (when the technology was sufficiently advanced and cheap enough) and steal Apple's thunder. I think they've gotten better about that problem, and the timing of their release of the iPod was certainly more in accordance with the availability of key technology and the market's readiness. Hopefully they've learned an important lesson from the Macintosh and Newton. In the meantime, it's been a hell of a ride, and I've been loving every minute of it. For now, I'm on a 2x2GHz G5, running the latest version of MacOS X, and I'm in computing nirvana. I've been exploring the UNIX underpinnings of MacOS X since the first public b
"I like systems, their application excepted", George Sand (French)
and the processing power of the early Macs was quite limited, so they focused on hacking together an operating system based solely around the GUI.
That doesn't make sense. A GUI takes lots more computer resources to achive the same task as a CLI. (i.e. making your program recognize 10 different command-line options is very simple, tiny code in comparasin to the libraries and gui toolkits needed to make those same 10 options appear in a dialog window.)
But other than that minor point, I agree with your post.
One of the things I had to drill into Windows advocates heads is that the practice of making the GUI be a seperate entity from the underlying OS is actually a very good design decision. The reason they have a hard time understanding this is that in thier insular world, the example they have to go on is Windows 3.1 and earlier, in which Windows was a seperate thing from the DOS it ran on. They looked at how bad that was in comparasin to Windows NT and Windows XP, and assume that the problem was the layered approach. They don't understand that the suckiness of Windows 3.1 wasn't a failure of Windows. It was a failure of the DOS it was based on. DOS was a really horrible instance of a command-line system. They got an upgrade to the underlying OS at the same time the underlying CLI was being rendered obsolete, and falsely assumed the two somehow were connected.
A really good GUI needs independant processes, OS-level message passing, OS-level memory protection, OS-level networking, and so on. Unix had these all along. Windows didn't get them until it threw DOS away and started over.
I'd been saying all along that UNIX can be a very good base for a GUI. If people don't like X11 (I do), it can be replaced with something else and you don't have to throw away the underlying OS because unlike with DOS and MacOS, it was never badly broken in the first place. Unix was extensible and capable of evolving due to the fact that it was designed in a rigidly layered approach where companies were expected to see the source code and port it to their own archetectures. The offerings from Apple and MS weren't like that, and so eventually their parent companies had to completely ditch them and start over. MS had to do it earlier because DOS was more sucky than MacOS and hit the end of its useful extensibility sooner. But eventually both ended up having to do it. I like that Apple chose a Unix to switch to, because it demonstrates the point beutifally that the GUI and the underlying OS can be properly layered and yet still not confuse the end-user by exposing the underlying OS unless he wants to see it.
I myself don't much care for the Apple user interface, but I am still very glad they did what they did, and wish them and their users the best of luck with it. That's one of the things that makes Unix better than Windows - With Unix, it's "the more the merrier" - the more alternate uses there are of it, the faster it evolves - so having a competing Unix doesn't devalue it for the rest - it makes them all stronger. With Windows, there's not enough shared public code that everyone can benefit from other people's work off of. I'm sure that in years to come some people are going to look at some of the things MacOSX did with BSD and say, "wow - I think that's a cool idea, and we should implement something similar in other unixes."
I noticed over the last few years more and more unix freeware projects having compile options for OSX, and even though I don't have any desire to use OSX, I still see that as a very healthy good thing for Unix in general.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
That doesn't make sense. A GUI takes lots more computer resources to achive the same task as a CLI. (i.e. making your program recognize 10 different command-line options is very simple, tiny code in comparasin to the libraries and gui toolkits needed to make those same 10 options appear in a dialog window.)
The graphical interface, while certainly much more resource-intensive than a CLI, was the whole point of the MacOS project. While it probably wouldn't have added much resource usage to add a shell to the MacOS, I guess they feel they didn't need to, as everything was meant to be interacted with graphically from the start, so they just devoted the effort necessary to add that to instead build on the GUI utilities.
I completely agree with you that any marketshare headway in one UNIX is good for the others, as long as they use open standards, which Apple is very good at. I'd say Apple has gotten over their Not Invented Here syndrome, and have learnt to embrace open standards, unless they have to license a closed one if it has significant advantages (as was the case with the whole Sorenson codec for QuickTime fiasco). I definitely believe MacOS X has given a good glimpse of where the various window manager projects for open source OSs are headed (along with installers and general usage for the various OS distros), and they are certainly making progress in that direction. For small market operating systems like MacOS X, nothing could be more advantageous than for the various Linux and BSD distros' market share to rise, as that would mean that open standards would dictate interoperability, thus giving any small market share OSs a much better shot at success than with a closed-source hegemony as we currently have, where one company can dictate the standards and change them on a whim. Mac users shouldn't feel threatened at the prospect of Linux overtaking their market share, as it's not only benefitting them by leveraging open standards, but also most of that market share is at the expense of Windows'.
As open source window managers become more user-friendly, it's obvious that Linux (most likely) or some BSD fork (less likely, but who knows at this point) will become the dominant OS as computers become increasingly commoditized, and that will do nothing but help innovation. My only hope there is that all the Linux distro makers can agree to make some changes to improve some of the idiosyncrasies of Linux's core design. If not, then it just might take some group with the initiative to make another BSD fork to make a more user-friendly core design, hoping they can get enough support. NeXT really did some nice work fixing BSD to make it more sensical, and I can only hope the open source world can have the centralized authority needed to make important changes when necessary. If not, it could really make it hard for developers to support open source OSs. I think a lot of the reason we saw a lot of big names in the open source world take jobs at Apple is because they saw that Apple had the centralized authority to make big decisions for their OS, and it must have been gratifying to see so much progress happening in so little time.
As for open source projects supporting OS X, I have also definitely noticed that trend, and have been very happy to find more and more projects compiling with a simple config, make, make install routine. I've also had the opportunity to submit some improvements back to some projects, and it's great that more people are joining the fun. The only problem is that MacOS X uses a proprietary windowing system and group of widget set frameworks, but it's so much better than the the open source stuff available that it's not worth trying to use open standards for that. It's a real shame Apple doesn't release the Cocoa frameworks and Quartz windowing system under an open source license, as that would really boost its attractiveness for cross-platform development (or actually make it viable rather). Oh well, in the meantime, I still get to have fun in this great development and user environment.
"I like systems, their application excepted", George Sand (French)
Oh, and by the way, Windows 3.1 didn't just suck because it was based on DOS (which did suck hard). It also sucked because it was designed by people with no aesthetic or ergonomic design skills. Windows was hardly usable until 95 came out, by which time it was a fairly decent MacOS copy (no value judgment there). Microsoft still doesn't have a good idea of how to design interfaces to make people's lives easier, but at least the usability for more advanced users who understand how computers and operating systems work is improving (though some of their design changes like extra wizards and crap sure do nothing but get in my way), and stability is greatly improved. I definitely agree that a more compartmentalized OS structure definitely makes things easier, both for the OS maintainers, and for third party developers (especially when many of those components are open source). As an OS developer, you can really get a good grasp of how a particular function is handled, and you can spend your effort improving or replacing certain components with less fear that you're going to break the whole build tree. As a 3rd party developer, by seeing which components you have to interface with, it's much easier to find the best way to do what you want to, especially when those components are standard open source ones, whose functionality is very widely known and documented.
"I like systems, their application excepted", George Sand (French)
The copying between MACos and Windows was not one-way. Notice how now the Mac look has corrected some of it's misfeatures by doing what Windows did too - like making it so you can have the application menu inside the application's window instead of merging it in with the main desktop menu, and making it so you can stretch windows from all four corners now, and not just from the lower-right corner (that was a huge misfeature).
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
The only problem is that MacOS X uses a proprietary windowing system and group of widget set frameworks,
I agree.
but it's so much better than the the open source stuff available
I disagree. My dislike of the feel of the interface is the main reason I don't switch to OSX.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
It's definitely a two-way street, and I'm thankful Apple has added some of the more practical aspects of Windows behavior. I'm not placing any value judgment on the copying of interface behavior from one OS to the other, as it clearly benefits all the users. About the examples you cited, though... The only apps I've seen with menu bars in the app's main window are Java Swing apps, which generally suck ass. I find it a pain to have menus in the app's window, as it takes much more precise mousing to reach them, as opposed to just swinging the mouse upwards to the top of the screen. As for windows being stretched on all sides, I don't think I've seen any being able to do that except X11 windows. All Mac-native apps still have windows that only stretch from the lower right corner, which I don't have any problems with. I usually set the window sizes to an optimal setting for the app and screen resolution, and MacOS X thankfully remembers the settings, so that next time I launch that app, it will always be the right size and position on the screen. Otherwise, the size-to-fit button (kinda the Mac version of maximize, except it automatically goes to the size of the content being displayed) is much, much more practical than other behaviors. I can't stand when app windows take up the whole screen, as I often work between apps, and like to be able to mix windows from different apps in my visible screen space.
"I like systems, their application excepted", George Sand (French)
The feel of the interface is really a minor part of the development process. To have a rich, standardized set of widgets with a bunch of useful features built into them, along with a nice IDE really makes you a lot more productive as a developer, and gives you a bunch of nice UI features with little effort. It also gives apps a standardized look and feel, which helps users know what to expect just by looking at the interface. The available interface widgets and behaviors have gotten a lot better since 10.2 and especially 10.3, and it's possible to make some great interfaces with relatively little effort, as compared with something like GTK or Qt. You also get nifty features like free spell check in all text fields, windows that remember their size and position between app launches, and a bunch of others too numerous to cite. Development in MacOS X is a dream, once you get a feel for some of the minor peculiarities and bugs in Apple's implementation that need to be worked around.
"I like systems, their application excepted", George Sand (French)
Apple was the first to develop and use GUI.........but gradually Microsoft copied it.......
We're both after the same thing - a consistent, pleasant interface. The difference is that I'm someone who sees "This application has the same interface regardless of the OS" as most important, while you seem to be someone who thinks that "this OS has the same interface regardless of the application" is most important. If I use OpenOffice, I want it to feel like OpenOffice, regardless of if I'm running it on Windows, Mac, or Unix. If I use Gimp, I want it to feel like Gimp, regarldess of if I'm running it on Windows, Mac, or Unix. If I use Mozilla, I want it to feel like Mozilla, regardless of whether it is on Windows, Mac, or Unix.
Or, another way to look at it is, I want the consistency such that I could use pretty much the same user manual for the app whether I was running the app on Windows, Mac, or Unix.
I prefer the interface to be optimized to the task, rather than to where I happen to be when I'm performing that task.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I've seen a Mac OSX machine with stretchable sides all around the windows of all the apps on the screen. Perhaps it's a preference setting somewhere.
I think having the menus visible for all apps inside the apps themselves is handy. The problems with Mac's app-menu in the top desktop menu system for me were: 1 - When learning the interface it took me a long time to figure out which menus were part of the program and which were part of the OS - leading to some confusion when a menu option I thought was universal went away when focusing on a different program window. 2 - You can't visually see the menu options of a program that isn't the active one. 3 - Using a menu option of a different program is a two-click process in different parts of the screen - first you bring up the other program's window, then you move to the top of the screen to use the menu for that program. If the menu option for the background window was visible, it's not a two-click process (unless you have click-to-focus, and even then its still two clicks right next to each other - one to focus the window, one to use its menu.)
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
They've always been a me-too
WTF are you talking about? Apple has been a leader, not a follower, for all of their existence. Making such a retarded statement puts the rest of your post in serious doubt.
This conversation has gotten a bit dated, but I just want to say that users work differently in the MacOS than they do in Windows and KDE or Gnome. To have the menu in the App's main window, or generally not behave like other Mac apps is grounds for a lynching in these parts. Personally, I prefer the way Mac apps behave, and I'm most productive that way. I definitely understand that it would be nice to have apps behave the same in different OSs (and you can run your favorite X11 window manager on top of OSX, as long as you don't care about most regular commercial apps), but Mac users will never accept native apps behaving like Windows or KDE/Gnome apps, and vice-versa, so there's no easy solution to a cross-platform widget set. Java Swing apps can sort of approach this by having things like the menu bar being optionally in the main window or the top of the screen, and I believe some Qt interpreters for OSX can build apps that behave like native Mac apps if desired. The problem is they're missing a lot of nifty features present in Cocoa, including a huge wealth of NS frameworks and UI calls. OpenStep might one day become a sort of answer to that, but without official support from Apple, I have a hard time believing we'll ever see the ability to compile one code tree for MacOS X and BSD or Linux, let alone Windows. Until then, there will always be a need to port your large OSS projects like Gimp or OO to Cocoa, as is being done now, just for the sake of widespread adoption; but you won't have your unified interface for all platforms, and interface advancements for those projects on one platform won't make it to the others without additional porting work. I guess it can't be helped. In the meantime, I'm having a blast in this happy marriage of UNIX and centralized authority and vision, along with the brilliance that was NextStep.
The extremely picky user base also pushes us developers to really work hard to make interfaces as innovative and intuitive as possible, and rewards us greatly when we make that effort. Even if we have to spend more time than we'd like coding and recoding the interface, if it make the app more accessible and efficient for our users, then it's all worth it in the end. The care that Apple put into making the interface of its OS and apps be as intuitive and efficient as possible has really raised the bar for what a good Mac app needs to be in order to be accepted and praised by its users. This, in turn, empowers the users to accomplish tasks that they would be hesitant to attempt with the tools available on other platforms (due to a general lack of design skills, both in supply and demand), and increases everyone's productivity and expertise.
I also like the interface to be optimized to the task at hand, but the sad truth seems to be that most developers on other platforms seem to think that the interface is just an afterthought that's bolted onto their functional code. Granted, there are many Mac apps that are this way too, but the ones that will get praise and recognition are the ones that make the extra effort to design the app around the best interface for the task at hand. In a way, the free OSX IDE Xcode encourages this by making it easy to draw the interface first, and then fill in the functional pieces of code once you've worked out how the user is going to use the app. This is something much more fundamental than the placement of the menu bar, or how the windows stretch, but goes to the heart of designing good applications. While developers on most platforms are content with interfaces that are the most efficient to the way their functional code works, and users are content with trying to wrap their minds around the workings of the program, Mac users encourage that extra effort be made to design an interface that reflects how people work, and what they want to accomplish, rather than merely expose how the application does its thing.
Microsoft has made some attempts to improve themselves in this regard, making a variety of "Wizards" to help "novice" users configure their
"I like systems, their application excepted", George Sand (French)
Xebus, it's hardly fucking brain surgery to work out.
If you were blocking sigs, you wouldn't have to read this.