On the Origin of the iPhone
daringfireball.net
daringfireball.net
Halt and Catch Fire and Silicon Valley (leaving aside Jobs) have arguably already successfully covered this ground from a reasonably safe biographical distance.
(Wise, though I personally think Kutcher did a good job with what he was given.)
Jobs very famously liked (or at least whimsically came to terms with) Noah Wyle's amazing portrayal of him in Pirates Of Silicon Valley, getting Wyle to repeat his performance on stage at a a Macworld keynote.
https://www.youtube.com/watch?v=TIClAanU7Os
At the time, people thought that was Jobs doing damage control because Pirates made him look like an asshole. At this point looking back, it seems more like part of his self-reflective pivot to what came next.
Either way I am not sure it needs more treatment and more demonisation, but they were all pretty lucky with the care that went into their portrayals in Pirates Of Silicon Valley.
And mind you, as someone who has been using a Mac since System 7, and OS X as a daily driver since 10.2—yeah, at the time, it seemed wild beyond belief that a phone could run what amounts to OS X. Those first versions of OS X were not snappy.
The original iPhone (and to a degree the iPad) really seemed to have been right at the edge of what was technologically possible.
iPhone announcement: January 2007
Android release: October 2008
Windows Phone 7 release: October 2010
Indeed it seems that Microsoft took their sweet time to rearchitect their OS, but these dates suggests Microsoft realized much earlier than 3 years later.Also I'm not under any delusion that MS would have gotten it right. The same reasoning that led them to do the minimal changes from Windows -> Windows CE would have likely always been a drag on them fully embracing letting go and making the necessary changes.
Blackberry, Palm, and Apple all realized that given hardware and interface limitations, a better solution was to cut the Gordian knot and strike a different balance between desktop and something else.
Honestly, any of the three had a shot at being Apple. Palm had Graffiti and really slick for the time OSs. Blackberry had iMessage of their own. But Apple had a more complete package + Apple fans + iTunes.
Because I remember having a Windows Mobile device and it was fairly powerful. You could do more on it than you could on Android or iOS for many years.
You can't make this sh!t up!
This insanity reached it's peak just before the iPhone introduction with Microsoft's "Ultra Mobile PC" handheld device initiative.
https://en.wikipedia.org/wiki/Ultra-mobile_PC
I can remember an implementation of this from ASUS that used a D-Pad to drive a mouse pointer on a handheld device running an unchanged Windows XP UI.
The answer was that the Netscape icons looked different from Microsoft’s so lack of training costs would make MS cheaper. Sounds like bullshit but back then there was enormous learned helplessness when it came to anything computerish. Walk to any desk in most companies and there would be a stack of books to explain it all.
One of the best things about the iPhone was that it jettisoned all that crap and acknowledged that people aren’t idiots. The stores still offered free “training” for the fearful.
* strange, I know, as they were rarely fair to others.
That made it look like an odd duck in the sea of computerphones, but what it had was a slick user interface completely designed around the capabilities of capacitive screens, and that took many years for the competition to even get close to.
Good user interfaces are truly hard, and Apple has always put it front and center, so it must have made sense for them.
I had a similar experience when they went to WP10. While WP8 was a fast, stable and highly usable OS, WP10 was a dumpster fire (for me as a user, cannot talk about underpinnings). Constant crashes, slow, terrible battery life. This was a widely shared experience among WP10 users as far as I know. And on top of that there was another software transition that all but guaranteed no apps properly jumped to the new platform. Looking back on it I think jumping to WP10 instead of carefully incrementing WP8 was the big mistake, and rolling out WP8 without a way to make the transition easier on existing WP7 buyers was the lesser one.
I don’t think a perfect execution would have saved microsoft though: they would have always been third and it is pretty clear developers cannot support more than two mobile platforms properly. The app situation would have always been bad, and without all of the popular apps a smartphone is dead in the water.
On the phone, peoples social media was all integrated into one hub and while great for the user, it reduced the platforms to a transport layer - which did not appeal to them. Youtube was a big deal at the time, and didn't want their app on the new competitors platform. Microsoft wrote some, and they were taking offline. On the Windows phone, it would have been a few steps away from a storage platform.
Microsoft had a brand reputation problem at the time. Windows is what your parents used for work. Apple had an emotional connection of being fresh and hip. They had the iPod and people dancing in silhouette.
iTunes was available on Mac. You could run it on Windows, if you shut everything else down - the thing was a massive resource hog. I'm so scarred by it that even owning a Mac now I never user it.
The Zune app was a joy to use in comparison. I used Zune app for years without even owning a Zune. You had to use iTunes to sync your iPod. The older portable MP3 players were storage devices that you just copied files onto the device.
The end user experience was not the problem.
edit: some of this might be slightly inaccurate since I'm going from memory here. Happy to be corrected by someone who remembers better than I.
Perhaps it was a combination of that text based tab control or it was the black & white + flat + text design they adopted for live tile and for the UI controls.
It's been a while, so it's possible that it wasn't as bad as I remember it.
Android source code is publicly available, with time stamps. You can read it and see how little had to change to make it a touch first ux.
Android had to add multi-touch events, make the default controls bigger, and add inertial scrolling to the list views. They didn’t even have to add a soft keyboard, because the first few gens of phones had physical keyboards.
> Android had to add multi-touch events, make the default controls bigger, and add inertial scrolling to the list views. They didn’t even have to add a soft keyboard, because the first few gens of phones had physical keyboards.
Whether or not it was a lot of code, multi-touch was a revolutionary new UI paradigm and a beautiful symbiosis between well tuned hardware and software. I don’t think its importance should be trivialized and the iPhone was undoubtedly the catalyst that brought Fingerworks’s invention to the masses.
LG prada phone demo from 15 years ago: https://youtu.be/5mo7Ab6ZcJ4
There were lots and lots of other small details that Apple got it right. And I said it the first time I saw the iPhone, what sets them apart was Apple was trying to make an iPhone like an Appliance. While all other Smartphones was trying to cramp a computer inside a Phone factor. The day I saw iPhone I knew that was it. The Smartphone I have been looking for. Strange it is 15 years already.
I still dont know why the Visual Voicemail patents had not expired. It really should be the standard on all network.
Yes, really.
>[Google] had been working with prototypes for six months and had planned a launch by the end of the year . . . until Jobs took the stage to unveil the iPhone.
Chris DeSalvo’s reaction to the iPhone was immediate and visceral. “As a consumer I was blown away. I wanted one immediately. But as a Google engineer, I thought ‘We’re going to have to start over.’”
“What we had suddenly looked just so . . . nineties,” DeSalvo said. “It’s just one of those things that are obvious when you see it.”
https://www.theatlantic.com/technology/archive/2013/12/the-d...
Chris is talking about the Sooner: https://www.androidcentral.com/look-back-google-sooner-first.... It was called Sooner because it was going to come to market "sooner" than the other, more advanced, Dream prototype. After the iPhone announcement Sooner was canceled, in favor of the "Dream" prototype, which eventually shipped in a modified form as the G1.
The _software_ difference between non-touch Sooner and the touch-capable G1 were relatively minor. Same OS, same view system, same application framework.
As I recall, Chris's role at the time was as a UX focused engineer, so perhaps from his POV it was a massive redesign. But if you consider Android as a whole, relatively little changed. I recall the apps being pretty easy to port over to support touch. (Moving to a bigger screen helped offset the problem of having to make the buttons way larger.)
Android being worked on is very different from Android being anything at all like what it ended up being.
It literally took years before Android was in the same league.
Here's cnet's review (literally just the first link I pulled from Google).
"But still, the G1 doesn't quite offer the mass appeal and ease of use as the iPhone, so it won't be a good fit for someone making the jump from a regular mobile to their first smartphone." https://www.cnet.com/reviews/t-mobile-g1-review/
By the time the iPhone hit the market, there were already plenty of handheld devices that had similar specs that were running full-blown Linux.
Pretending that the iPhone was "at the edge of what was technologically possible" is rewriting history.
It was out in front in a lot of ways but not witchcraft.
The common criticisms about Apple kit, at any point in time, will be led by feature comparison rather than benefit comparison.
On almost every level, the iPhone prioritised benefits (consistency, simplicity, responsiveness, discoverability) over features.
And in all but really two of the feature cases (text management/copy and paste, and the absence of 3G), they gambled right: people cared about the benefits they'd engineered for, and not about the features they'd skipped.
(They managed to bluff past the apps question: we knew they had to be working on it and they managed to tell us they were working on it without telling us they were working on it)
Commentators still make this mistake with Apple.
I’ve been running Linux since 14.
Had all the great smartphones of the age.
At 19 I purchased the first iPhone.
It was fucking witchcraft.
Judging by the maths I was running it when you were four or five and have done ever since. I'm not sure what point you're making.
> Had all the great smartphones of the age.
Good for you. So you ran the handhelds.org linux project on a Compaq iPaq back in 2002-2003, or no?
> It was fucking witchcraft.
It was not. Apart from the multi-touch implementation which is transformational.
Apple did not put anything in that device that other manufacturers didn't have access to, and their device lacked capabilities others had.
They just did it right.
First because the device and the software hadn't been optimised for each other.
And second, the fact that iPhone OS was not a "full blown" Unix OS is precisely why it _did_ have that performance on otherwise reasonably similar Samsung ARM hardware (better specs but not, you know, alien technological advance stuff).
The point is that there is this tradeoff. Developers who'd squeezed full multitasking Linux into phones would have been well aware of the kind of performance they'd see without multitasking and without a BSD subsystem.
FWIW Jim Gettys' handhelds.org project was demonstrating -- years earlier -- pretty impressive Linux GUI performance on much earlier hardware that had been only modestly adjusted for it [0]. Including for example tilt-sensitivity.
Those who knew about those projects could see that Apple had likely benefited enormously from seeing what was being done, and had decided to make an OS profile for iPhone that prioritised single-app performance with a sizeable slice of OS X.
[0] The iPaq as a product was designed in part to explicitly accommodate research from the DEC Itsy on off-the-shelf devices
I disagree entirely. Maemo as designed, built and optimized for low-powered mobile devices compared to desktops.
Both the N770 and N810 were marketed as products for early adopters and developers.
The entire mobile phone industry was -- and still is -- making these tradeoffs. (Android used and uses a slightly more advanced process model that iOS eventually adopted, but even it does not and did not offer full multitasking).
It's not shifting goals, it's an indication that there's more than one possible goal to shoot at.
The N-series Nokias (including the N95 and N97 phones) were really special, but they weren’t iPhones. The iPhone just made everything else feel old instantly.
What was remarkable was being able to run a graphic accelerated version of AppKit built for touch screens (UIKit) and have RAM to spare to run a non trivial app, like, you know, a full blown web browser, all in 128MB.
So yeah, Darwin + window server + springboard + Safari + webpage > 128MB is pretty impressive indeed.
iOS is not OS X.
> So yeah, Darwin + window server + springboard + Safari + webpage > 128MB is pretty impressive indeed.
Maemo did all all of this years before, and in 64MB of RAM.
Show me a video of a smooth pinch to zoom on a webpage with MicroB
It used Display PostScript -- a comparably impressive achievement at the time.
It also wasn't that slow on the Intel machines, e.g. the black NextStep PCs Elonex made in the UK. It was quite nippy on some of the earlier NeXT hardware, too.
BeOS was a very different operating system and -- let's be clear -- would have been a terrible, terrible choice.
I tell you what was slow: WebObjects on the Mach subsystem layer on top of Windows NT.
> BeOS was a very different operating system and -- let's be clear -- would have been a terrible, terrible choice.
Oh, sure. But it sure was snappy. And gorgeous. And that file system was awesome.
https://pbfcomics.com/comics/beach-closing/
> Using a Turing complete language for drawing was scary.
Not particularly sure why. Aren't all apps using Turing complete languages to draw on screen? It's just a question of which layer that happens.
Display PostScript did the same, surely?
More flexible still is producing commands that can contain loops like Postscript. Now we're in tricky territory, because it's easy to make a mistake that e.g. produces an infinite loop and the whole display locks up. And it's much harder to reason about such things as the update rate of the drawing process because the drawing commands are themselves Turing complete.
This doesn't matter when you're merely printing because there is no refresh. Not so with an interactive display. That's why the "Display" in "Display Postscript" was a big deal.
With PostScript, you can have a document that renders differently every time you open it (on purpose). Or a file that will never finish rendering or printing, like the infinite loop you mentioned.
PostScript infinite possibilities are cool and cute, but not all that practical for a graphics description language.
There was a font, wasn't there -- was it Just van Rossum's Beowulf -- that drew itself slightly differently every time? Can't find a reference now.
edit: it was!
Then they would shut off one of the CPUs.
Everything was as slow as winter molasses. And they would grab a window, and it was still super snappy, while everything else almost froze solid.
I miss being the center of my computer's universe like that.
The original iPhone was a delight to use, responsive like the desktop counterparts weren’t, despite much slower hardware and running on battery.
One of the things that Microsoft got right and Google got wrong was that Microsoft copied the concept of using GPU accelerated graphics with Windows Phone and it took Google quite some time to catch up.
The iPhone was responsive like no other computer at its time, let alone phone. It prioritizes user input above all else, which is the right choice.
https://youtu.be/YW7z0uMOYrw?t=364 Does that look terribly slow to you?
I was a user at the time. Had many iMac G3s.
But even on this machine, try navigating through nested menus, dragging windows around. Now boot from Mac OS 9 and do the same. It's night and day.
People were in awe of how responsive the system was. Things like the pins dropping on the google maps app seemed faked, bo way they could do it.
The iPhone was mostly a regression from that.
X11 isn't that important, it's the large app library it brings with it (many apps that after 24 years still have no replacements on either smartphone OS.) For power users the flexibility is nice too.
Onboard dev environments aren't useful to most people but it indicates/allows a few things:
1) Individual users who are inclined can easily improve the platform with very little effort.
2) The owners of the platform aren't stopping people from doing what they want with their own devices.
Talk about tired arguments. All popularity really means is good PR.
As to toasters and Nintendos, yes I do whatever I want with those, toasters have nothing to stop me and Nintendos are usually trivial (and often have flash carts available) to get a shell on.
I’m guessing you don’t use toasters or Nintendos either then, because you can’t do what you want with those.
The tired arguments you trot out have been covered to death. You are a hyper niche use case, pretending the general users feels like you do is delusional.
https://us.macmillan.com/books/9781250096067/losingthesignal
In so many ways the iPhone was a poor high end phone on paper.
Even back then it felt utterly comical to see that on TV.
I'm not sure, but I think the difference is that the old iPad can't update to iPadOS, which has worse standby performance. It's pretty frustrating to pick up the Pro after a week of standby and find the battery half depleted.
The first version of the iPhone's OS had a brutal process management approach not unlike PalmOS, as I recall -- with the exception of bits of the system apps, if the app wasn't on screen, it wasn't running.
And that really changes the equation. There's a completely different notion of performance and memory management because you don't have multitasking. There was no window management, no interprocess communication, no unix subsystem. (Essentially no text selection and no copy and paste!)
So it wasn't "running Mac OS X"; that was a red herring. It was running a Mach kernel and a big chunk of Cocoa.
My guess is that people at Palm would have understood this right from that first demo.
And it wouldn't for example have been surprising to anyone at Compaq, because the iPaq series at that point was producing not-too-dissimilar devices in terms of power, able to run Linux and X11 while multitasking.
Likewise it wouldn't have surprised anyone at Nokia that here was a very powerful device with a high resolution screen and a pretty much desktop-capable webkit browser that played streaming video and audio, because Nokia had already shipped a device with some of those characteristics and shipped it 14 months earlier; like many in the UK and Europe I had a webkit-capable 3G device in my hand on the day the iPhone was launched (an E61) and had been using it (and testing websites on it) for months.
So what Apple had done on a technical/OS level wasn't so mindblowing if you knew your way around the decisions others had made, and had a view of the devices on the market (outside the USA where it was seemingly Windows CE or nothing). They were ahead, but they weren't so far ahead as for it to be completely unbelievable.
They had made careful choices and tuned the device for them.
(Seriously: no copy and paste until 2009, right? No 3G.)
The difference was -- as it always is with Apple -- execution.
People (including me!) should have been paying more attention not to this sort of OS-level achievement but to the design and delivery of the UI and apps. Serious thought had been given to capacitive touch and multitouch, which Apple didn't invent but did perfect, right out of the gate.
The CPU performance, the OS technicalities, whether it was OS X or not, didn't sell it to _anyone_. Indeed, Apple confounded anyone interested in features over benefits -- it didn't support third party applications.
What sold it was that it was understandable and comfortable.
> Those first versions of OS X were not snappy.
I ran OS X on day one of the public beta, on a blue and white iMac, and I don't recall its performance being bad (apart from the absence of sound). I remember it being amazing. But it's important to note that OS X on a Mac was a very different operating system; a fully preemptive-multitasked, multi-window OS with a BSD subsystem, IPC, swap, etc. etc., and running on hard disks, not flash.
The hardware was not -- it was older and it had less RAM and flash, but it wasn't worlds apart. (Indeed as you say they had higher-density displays on some hardware).
And they took those S60 products to market 14, 15 months earlier, with hardware designed much earlier.
The point, again, is learning from the competition, and then execution.
(Execution is why, after all, those Nokia products had to shoehorn Blackberry enterprise support into much more modern hardware; at that point the market cared about Blackberry because Blackberry knew how to execute. The world ran on Blackberry)
We should expect those who come later to do so with better hardware and software. I think the iPhone was impressive but I still think it is worth putting in the effort to see the context and not pretend that it came out of the blue, fully formed and perfect.
It was amazing and dog slow. It wasn’t until the Intel transition that OS X was on par with classic on “snappiness” for me.
Even if a G3 was probably dozens of times faster than a 68k, the window server was doing so much more drawing there was really no competition. Every single menu and window were composited in real time with transparency and drop shadows. Phew.
I remember running a patcher app (haxies, shadow killer, something like that) to remove all drop shadows and make the damn thing usable.
They did a whole bunch of tuning over the years, including parallelizing the startup sequence and optimizing linking to make startup faster that really made a difference.
MS was dysfunctional at the time, and they continued to ship abysmal Windows Mobile instead of replacing it with NT. Not that it would help, it takes more to make a good smartphone than good kernel.
This was a man at the peak of his life.
I feel it's important to say here -- for all those with pancreatic cancer or who have lost loved ones to a shockingly awful cancer and who keep hearing about Steve Jobs beating the odds for all that time, that he didn't have a scare.
He had actual pancreatic cancer.
It's just that he was (a tiny bit) luckier with one of the rare diagnoses that has a very high degree of treatability, and as a result vastly better five year survival odds.
But he didn't so much recover as delay treatment unnecessarily for alternative therapies, and nutrition.
(Having lost a relative to less treatable pancreatic cancer, learning of this gamble made me furious at him at the time and still really does)
The treatment he might possibly have avoided with earlier targeted intervention but ultimately received (the Whipple procedure) is effective but brutal, and the long term knock-on effects of that procedure affected him as they do almost everyone; needing a liver transplant as he did has a very high probability among Whipple patients.
(He actually misled investors about the seriousness of his illness when people surmised that he was experiencing the longer-term side effects of his procedure.)
An aside: as much as people like to claim Tim Cook doesn't have Jobs's guts or heart or bravery, he literally offered his boss a part of his own (compatible) liver to save his life. Tim Cook is brave and honourable.
I correct this story not to be rude or to say he was an idiot (he was not, at all -- just scared because it is terrifying), but to try to counter the unrealistic things people still hear about Jobs beating the pancreatic cancer odds.
The OS of the iPod was Linux-based?
edit: hm I should have read all of the article before commenting, although the way it is written at the start is quite misleading, I find
It wasn't. For those who didn't read the article: Apple was considering (not very seriously) replacing the iPod OS with one based on Linux, as the existing OS codebase was such a mess it was bordering on unmaintainable.
Obviously, the idea was not implemented, but it was this proposed OS that would have been "scaled up" to the iPhone.