Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> In fact, the OS innovations in iOS were what made it so clear in retrospect how wrong-headed the overall world view driving this work was.

What were those OS innovations in iOS?



Initially, the strict limits it placed on its own software and third-party apps. The first iPhone had pretty meagre hardware but still managed smooth 60fps scrolling, one-to-one interaction with your touches, and hitting the home button immediately stopped whatever you were doing and took you home.

Those things didn't come around by accident. It's because the OS was ruthless in cutting off applications from hardware resources, because its compositor was designed for basically moving a textured quad around the screen with very little latency on a mobile GPU, and because its main animation system ran in a high priority thread way above your applications.

All these little things are what made it feel "magical" to use the first iPhone, to have your finger perfectly tracked when pinching and panning on a mobile computer in the palm of your hand. It can't be overstated how important it is for a human to get an instant visual response to their touch, and how highly iOS prioritised this exact thing.


Symbian had them first.


Not sure I understand your comment.

Symbian had 60fps one-to-one correspondence with your touch on a multi-touch surface in a handheld computer? It had a high priority animation thread that continued to run even if your application crashed? I was never a Symbian developer, but I don't recall any pre-iPhone Symbian devices performing in this way.

The examples I gave were all about driving the physics-based movement of an OpenGL based UI compositor on a very rudimentary mobile GPU. It's putting your finger on the screen and getting an instant response from the underlying visuals, and having that response tracked perfectly across the surface of the screen.

The innovations in iOS (e.g., resuming an app by showing a screenshot of it's last use while it came to the foreground) were all in favour of increased perception of responsiveness and actual increased responsiveness. Not just about maintaining battery efficiency.


N95 was the first mobile with an hardware GPU, until then OpenGL ES was software emulated.

The Series 90 was the very first touch driven device with hardware GPU, one year earlier than iOS got released to the world.


I still fail to understand your point. I'm trying to educate myself on the N95 but videos of its interaction bear no resemblance to the first iPhone OS.

Putting a touch interface OS on a hardware GPU is not the same as the specific developments I am talking about. The graphics compositor (CoreAnimation / CALayer architecture on iOS), physics-driven animation and one-to-one correspondence with your touch at 60fps was what made the platform unique on its release.

Edit: this is the best video I can find of a 2007 Nokia device with touch interaction: https://youtu.be/YrS1PGj27VI?t=1m4s — the interaction is incredibly high latency and not at all one-to-one like an iPhone. Absolutely none of the innovations I mentioned are present on the Nokia (or if they are, they are not being used to facilitate human interaction with the device in this video).


I also mentioned Series 90, aka Nokia 7710.

Although I do concede that if it wasn't for iPhone's success, OpenGL ES would probably never had taken off, as Symbian was one of the very few mobile OSes that had some flagship devices with hardware support for it.


Thank you for the specific device (Nokia 7710). I've looked at some videos and I can explain more clearly what I mean.

In the following video https://youtu.be/CUUnnf_gX1s?t=46s you'll see that when the button is tapped, the screen "tears" when the device re-renders its display. I doubt this OS was using the GPU to render and composite its components to the display. It seems more like it is software rendering the UI then passing the entire buffer to the GPU for display.

Notice also that the scrolling on the device is line-by-line rather than per-pixel. It's done to minimise screen redraws but it is exactly the opposite of what made the first iPhone so pleasant to use. The only one-to-one interaction in the Nokia 7710 video is the little sliders being moved by the stylus, but they too flicker when redrawing.

My point wasn't really about whether a phone supported OpenGL. I was pointing out the software design of the graphical compositor used to render and animate the UI, and how every small decision was made in favour of prioritising an immediate reaction to human input.

The only reason I mentioned the iPhone's meagre mobile GPU was to emphasise how iOS was able to produce such low-latency and smooth performance from very low powered hardware.


Notice also that the scrolling on the device is line-by-line rather than per-pixel. It's done to minimise screen redraws but it is exactly the opposite of what made the first iPhone so pleasant to use.

Yep—smooth scrolling was a famous obsession of Steve Jobs that was emphasized in just about every Apple product where it was feasible, the idea borrowed from one of the fated PARC demos. Little things like this go a long way in building a sense of symbiosis between user and device.


It was the first OS (that I ever used) where things just worked out of the box, and tasks that should be straightforwards (like installing and uninstalling software) were straightforwards and dead simple.


I mean for me that was BSD. On the other hand my concept of straightforward install is messing around with config files and running a command.


Sandboxing of all user apps being enforced.


J2ME did it a lot earlier.


When iPhone first shipped, it looked like a featurephone with a large screen. And what sold it was the Apple name, and the iTunes integration. Effectively for most that bought it, it was and iPod with phone capability first and foremost.


I think the safari web browser was a very big deal at the time, it wasn't just a music player.


I'd argue that Safari was one of the biggest things that sold me on the platform, before the app store.

At the time I had a Windows Mobile 6 phone and while there was a lot of great things about it, Safari's browser experience - even on iOS 2 - was revolutionary.

It absolutely blew the alternatives out of the park.


The browser on flagship Symbian devices was pretty good.


Never mind that Opera had existed in mobile form (nope, not Mini, full Opera Presto) for quite some time.


Well rendering I guess it was ok but with t9 and arrow keys actual use was horrendous.


Smooth multitouch apps on a small, limited device?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: