5 ms·
Right! If it’s so slow, how did the original iPhone work so slickly, when all the apps and most of the frameworks were written in Objective-C?
by iainmerrick 5y ago
Right! If it’s so slow, how did the original iPhone work so slickly, when all the apps and most of the frameworks were written in Objective-C?
- ace2358 5y agoBecause the original iPhone was so stripped down that it could run on that thinly little slow cpu. It took Apple years and years to add features back into iOS frameworks. Every one very considered and every attempt to not destroy the battery of the iPhone. Multi tasking only around in iOS 4 right? Like on iPhoneOS 1 every app was closed when you hit that home button. That it worked so smoothly was the result of extremely focused UX.
- Someone 5y agoFor the same reason python is fast for machine learning: because the performant parts were written in C. Ignoring slick animations (which were written in C, if not in hand-tuned assembly) typical UIs of apps on the original iPhone could have run (a bit slowly and in monochrome) on an original Mac, that is in 128kB RAM on a 8MHz CPU.
- ajconway 5y agoAnimations were slick (compared to other mobile platforms) because they were hardware accelerated.
- mpweiher 5y ago> because the performant parts were written in C Objective-C is C. More specifically a strict superset of C. > Ignoring slick animations (which were written in C, if not in hand-tuned assembly) Nope. The reason the animations were smooth (not necessarily fast) is that they were processed by the GPU and orchestrated by a separate process.
- iainmerrick 5y agoYep -- and more than that, I’d say that animation orchestration worked well because of the very elegant design that leaned on Objective-C’s strengths (like dynamic key-value observation to track animatable properties). And using reference-counting rather than garbage collection helped to minimise jankiness even on low-memory systems. I think Android in particular had a very hard time matching iOS here because Java just didn’t lend itself to that dynamic programming style, and because the GC was just inherently janky. (It’s a lot better now that hardware is vastly faster.)
- zionic 5y agoI think you’re forgetting how barebones iOS1 was. I had to jailbreak to get MMS and copy-paste.
- ajconway 5y agoIf you look at the original review videos (or even the keynote), you may notice that the first iPhone lags quite a bit. Of course, it's not Objective-C that causes it, but rather the limited hardware of the time.
- iainmerrick 5y agoIt raised the bar a lot, at least. The lag was nothing compared to what you got on the typical Java-enabled flip phone, or the original Android G1!
- pjmlp 5y agoOnly for those that never had a Symbian or Windows/PocketPC phone on their hand.
- iainmerrick 5y agoThat’s why those both continued to be successful, right?
- pjmlp 5y agoTheir failure was due to management failures, stupid decisions like the "burning platforms" memo, or introducing new WP versions without backwards compatibility. Nothing to do with the greatness of iOS that has created revisionists of the mobile computing platforms history.
- Aaargh20318 5y agoThe original iPhone was very slick mainly because everything else on the market at that time was so terrible.