So John suggested I delve into why “it just works“.
He suggests that Apple’s tight control of their products, from design to software and hardware development and third party components allows them to do what “open” systems cannot. I agree.
Beyond control, this approach both limits the possible combinations software needs to support and allows it to integrate tightly with the hardware.
From its beginnings, Microsoft’s O/S ran on multiple hardware configurations, PC-DOS on IBM PCs and MS-DOS on the IBM clones. I don’t agree entirely with John that the PC architecture was open; IBM didn’t open its architecture; it was legally reverse-engineered. Maybe it was accidentally open or improperly closed.
Anyway, by supporting multiple hardware configurations, Microsoft set its course. This path allowed it to dominate a market, which it continues to do today. Tough to argue with that business strategy. In so doing, Microsoft has to maintain millions of lines of code on hundreds of different hardware configurations.
Imagine how much code handles the hardware differences between Dell’s Inspiron and Latitude laptops. Even hardware from the same vendor is different, and even components from the same vendor behave differently in different hardware configurations, e.g. an Nvidia chip in a Dell Inspiron vs. the same chip in an Alienware XPS.There’s a lot involved there, whereas Apple standardizes configurations across its product lines.
By burning less development time and effort on various hardware configurations, Apple can spend more time designing and building products.
I don’t know anything about product design and development at Apple. Very few people do. They’re secretive that way. So, I won’t speculate about better or worse design and development practices. The problem of scale across hardware configurations is enough to illustrate one reason why Apple does a better job at just working.
This problem brings up an interesting point. Linux distros have done a great job blending “it just works” with scads of hardware configurations, although sometimes your configuration didn’t get enough development time.
In the end, it doesn’t really matter though because the future is good enough, whether or not “it just works”. As Chet has noted a few times, Windows is good enough for pretty much everyone, and they don’t care enough to make a switch and try something new. These are the people who feel that Windows 7 and Ubuntu are the same; these are people like my wife to whom the biggest difference between her iMac and her old PC is speed.
We live in a little corner. We fiddle with technology for fun and for work; we like shiny things and are confident in our abilities; we debate the virtues of software and hardware; we own several computers and tons of gadgets.
We fix those people’s computers.
Your thoughts + comments = win.
I just want to beat John to the punch this time…seeing as how he stole my thunder last post.
I think you just did a great job of articulating the benefits of simplicity. It just works. Bravo. I think that's a great illustration of why their product is (arguably) better. I like them from afar…no real world experience yet.
In software, simpler is usually better. If you are able to spend more time in the design phase, you will (hopefully) produce a better product. I've argued in the past, for 90% or more of the applications, Oracle and APEX will do just fine. You just brought this point home in regards to Apple. Thank you for that.
(sorry to be all fanboi (my new word) on you…but I really feel like I Just pointed out something which should have been pretty clear)
Why Windows doesn't work….
It wasn't supporting the hardware, but the software
Check out this article from 2004:
Developers cheat. The didn't stick to the 'official' APIs for the OS, but tried workarounds and sneaky stuff. And MS bent over backwards not to break the rubbish they wrote. And they still do because when something worked on XP but not in Vista, people blamed Microsoft, not the the app vendor.
BTW, by “I,” I meant “You”
Thanks for sharing that article. Very interesting read.
Thanks, fanbois welcome.
It will never happen, but it would be fascinating to see how much code goes into these major O/S (Win, Mac, Linux) and where the bulk of the code is. It can't only be design. Smart people are all over the place.
First person, second person…what's the difference between friends?
Oh, and Jake, thanks for setting me straight on how the IBM PC architecture ended up on the computers of other companies. A subsequent Wikipedia read, coupled with an account from an old Compaq employee, explained exactly how the so-called “100% compatible” PCs were created.
Chet already stole my thunder on this, but thanks for sharing the Joel on Software post from 2004. A long, but worthwhile, read, and it's amusing to hear SimCity cited as an example of why Microsoft (well, some in Microsoft) do what they do.
This 2004 description of the philosophies of two apparent camps within Microsoft helped to give me a fresh perspective on this 2009 Inquisitr post. In the July 6 post, Steven Hodson argues that Microsoft should stop trying to make Internet Explorer compatible with previous versions (i.e. a web-based version of the Raymond Chen camp?) and start afresh.
Awesome post and very prescient considering the timing.
This leads me to believe in the Good Enough theory even more.
Sure, I enjoy the history of technology. It's always interesting to look back (not very far) and see how decisions and strategies affected the modern landscape.
It's also nutty how recently these things happened.