It’s hard to believe that this year marks the 13th year that iOS has been around. For some perspective, when iOS was released, Mac OS X was only 6 years old. Of course, back in 2007 when the iPhone was brand new to the world, it wasn’t called iOS, but rather iPhone OS. iPhone OS shared some of the same foundations of Mac OS X, including the networking layer, kernel, extensions, and core functionality; however, Apple re-wrote the much-loved Cocoa UI layer and created something entirely new: Cocoa Touch, which simplified the macOS user interface layer and made it touch friendly.
We’ve now been through 13 iterations of Apple’s mobile operating system. While it has gone through many changes over the years, it has retained quite a bit of its legacy features, while still pushing forward with modern implementations. The biggest thing that iOS has retained is its commitment to simplicity. Whether you’re 2 or 102, iOS is still just as intuitive to use as the day it was first released on the iPhone on that lovely 29th day of June 2007.
Back in 2007 when the iPhone was first released, I was a junior in high school and had saved up enough money to be able to afford Apple’s latest invention. I had read rumor blog after rumor blog (anyone remember Think Secret and TUAW?) detailing anything that I could find on this device, which had been rumored since as early as 2004 and 2005. When Steve Jobs took to the Macworld 2007 stage and finally unveiled the iPhone, the entire world noticed and was forever changed.
I never dreamed that I would one day make a career out of writing apps for a cell phone. Today, it’s still hard to believe that I am making a living doing it, but here we are. The world now runs on mobile applications as desktop computers are slowly fading away for most non-technical users.
I’m a firm believer that in order to move forward, we must take a look back at where we came from. Join me as I reminisce and take a walk back through the 13 years of iOS development history and the key features of each release that have made iPhone and iPad what it is today, and maybe you’ll have the same appreciation for the technology that has made what we do today possible.
iPhone OS 1
The year was 2007, and Apple had just introduced their iPhone to the world. It was three things in one: A Phone, an iPod, and a breakthrough Internet communications device. No one knew how this device would go on to change the world when it was released to the public on June 29, 2007. People lined up to buy the $499 (4GB) / $599 (8GB) iPhones running iOS 1.0 on launch day.
The iPhone software was pretty basic by today’s standards, but light-years ahead of anything on the market at the time. The initial apps included: SMS (Texting), Calendar, Photos, Camera, YouTube, Stocks, Maps, Weather, Clock, Calculator, Notes, Phone, Mail, Safari, iPod, and Settings.
Of course, notably missing was the App Store or any way for developers to create apps and users to download them. Apple remedied this by allowing developers to create “Web Apps” for the device that would run in Safari.
Eventually Apple added an “Add to Home Screen” feature in Safari in iOS 1.1.3 (an update that was free for iPhone users, but cost $19.95 in iTunes for new iPod touch owners — a crazy idea by today’s “everything should be free” standard) that allowed for custom Home Screen icons to be placed, arranged and deleted on the device to launch web apps. To this day, there’s still an ability for iOS devices and Safari to run these web apps (see Safari | Share | Add to Home Screen, though most have disappeared at this point).
Because there was no ability to create apps and distribute them to users, this gave way to the jailbreak community where users could root their devices, install an app on their iPhone that could subsequently download and install third party apps. These apps were not great at all, however. Because they were using private frameworks and features Apple never intended to be used outside of their own software, there issues around battery life, data loss, and security.
… and we still didn’t have cut, copy, and paste (and you know what? We survived…)
iPhone OS 2
Apple held a special event in March 2008 to discuss their “iPhone OS 2” software roadmap (the icon of which was an unsightly road side with “iPhone 2.0” emblazoned on it. During this event, Steve Jobs, Phil Schiller, and Scott Forstall demoed new enterprise-level features for businesses such as push email, calendar and contacts, VPN, and ActiveSync and other Microsoft integrations, and more. This was big news because the iPhone was beating everyone on the phone scene except for RIM and that was clearly their next target.
Then, out of nowhere, Scott Forstall came out to cover something that many developers and users alike had been holding their breath on since a year prior when iPhone was released: an SDK.
The SDK was based on the Cocoa libraries used to create Mac OS X apps, but revamped and redesigned for touch screens.
Then Steve Jobs announced the biggest thing to ever happen to computing devices in this century: The App Store. He went on to explain how the App Store would be a secure installer that would let you search for apps, download them and install them securely and that if there were ever to be a malicious app on the App Store, Apple could remotely kill apps on devices to keep users protected. Finally, we understood why it had taken so long to get this: It was a well-planned, well-executed feature that allowed developers to create and ship apps, and users to buy, download, and use them.
Of course, the initial SDK wasn’t much and many developers resorted to still making jail broken apps that could support additional features that Apple didn’t allow on the official App Store.
The original SDK was separated into 4 key components: Cocoa Touch (containing multi-touch events and controls, accelerometer support, view hierarchy, localization, and camera support), Media (containing OpenAL, audio mixing and recording, video playback, image file formats, Quartz, Core Animation, OpenGL ES), Core Services (Networking, Embedded SQLite database, Core Location, Threads, CoreMotion), and finally Mac OS X Kernel (that brought over TCP/IP, sockets, power management, file system, and security components from Mac OS X).
It’s hard to believe that back then, there was no UICollectionView. If you wanted that, you’d need to write your own subclass of UIScrollView and manage the allocation and deallocation of the objects in that scroll view — and make sure you didn’t go over your memory limit because if you did, your app would not only crash, but also posed the risk of crashing the entire device, causing it to either re-spring or re-boot completely. Re-springing the device was something that happened quite frequently in this era where the entire Springboard app could crash and you’d need to wait for the process to re-load it was complete.
… and, yet, we still didn’t have cut, copy, and paste (and you know what? We survived…)
iPhone OS 3
… and then there was cut, copy, and paste in iOS 3.1 (seriously, this was a big deal back then).
iPhone OS 3.0 included a lot of new developer technologies, including Core Data for the first time. No longer did you need to learn SQLite and spend hours debugging why something wasn’t saving. Instead, you could spend your time doing other things and not worrying about how the data was saved. On the plus side, many Mac developers had been used to Core Data for years, so this was an easy transition for them when it came to saving data.
In addition, Apple released Game Kit for creating games that could play with nearby devices, MapKit for taking advantage of Google maps in apps, and new media features like working with AVRecorder, AVAudioSession and being able to see a user’s iPod library.
Yes, we were more humble in these days when it came to new features. On the user-facing side, we got Spotlight, ability for 11 Home Screen pages, Messages support for MMS messages, and Voice Memos… Oh, and at this point, iPod touch users still had to pay to upgrade their iOS version. iPhone OS 3 cost $5 or $10 depending on the purchase date of the iPod touch device. iPhone users got the upgrades for free.
… I still wonder if my $10 upgrade helped to put a flower in the landscaping of the Apple Park campus.
You cannot mention iOS 3 without mentioning iPhone OS 3.2, which was the first version of iPhone OS to run on the very first iPad announced on January 27, 2010 and then released in April 2010 to the public.
iOS 4 was released on June 21, 2010 and was the first version of iOS that dropped “iPhone” from the name and started going by “iOS” only. This version of iOS saw the introduction of many frameworks and apps that are still in use to this day.
Most notable features added in this release:
- User wallpapers (yes, 4 versions in for this feature, and yes, this is the most important feature)
- Multitasking for Internet calling, location use, and audio playback using “Fast App Switching”
- System-wide spell checking
- Game Center
- FaceTime for video calling
- Digital zoom for the camera with 5x zoom
- Home screen added support for folders, increasing the number of apps that could be shown on the Home Screen from 180 to 2,160
This release was a huge release with the multitasking support, because this feature has grown into today’s implementation of background app refresh for all apps, but started in this version with 3 key features: audio playback, location use, and Internet calling (VoIP) only. Game Center was also an interesting inclusion that included both a front end app for users to see leaderboards and invite friends to play games, but was (and still is) a framework that supports multi-user game play on iOS games.
iOS 5 was a feature-rich app that revamped many features of iOS and also saw the introduction of iCloud in an attempt to “cut the cord” of iOS. Before iOS 5, you’d need a computer to set up your iPhone or update your iPhone. After iOS 5, you could set up, backup, and install updates for your iPhone without the need for a Mac or Windows computer.
In addition, iOS 5 saw the introduction of the relatively shortly lived social media framework feature that featured Facebook and Twitter logins in iOS that could be shared with third party apps to provide API access to a user’s Twitter and Facebook account.
Some other big features of iOS 5:
- Notifications were revamped and Notification Center was introduced to show recent notifications
- iCloud was introduced with iCloud wireless backups, contact syncing, and more, and replaced Apple’s MobileMe features
- iMessage was introduced to provide user-to-user rich text instant messaging through the Messages app
- Newsstand was introduced and developers were given access to provide Newsstand apps that could be updated from the background to provide updated magazine stories, newspapers, and more.
- Reminders app was introduced that allowed users to created lists of reminders for later and use location-based reminders
This version of iOS also introduced the split keyboards for iPad for the first time, giving developers the first joys of having to track the bounds of a keyboard that could now move around the screen. Some say that NSNotificationCenter is still sending
keyboardWillShow notifications from iOS 5.
iOS 5 also saw the introduction of Siri (a voice assistant app that Apple had purchased about a year prior), but this wasn’t announced alongside of iOS 5 at WWDC, but was instead shown to the public with the introduction of the iPhone 4S. It wasn’t available on any device except the iPhone 4S, until newer devices were released with iOS 6 support.
iOS 6 was, sadly, the first version of iOS that was announced by Apple without the help of Steve Jobs. It was released on September 19, 2012 and had a myriad of new and revamped features, including: Apple’s own Maps app (which replaced Google Maps as the default mapping service for both users and developers using MapKit).
Other features of iOS 6 included:
- A dedicated Podcasts app
- Passbook, which allowed developers to write passes that could be updated and provide details to users through the app like tickets, member cards, and more (the precursor to the Wallet app)
- Like Twitter integration the year before, the Social framework added Facebook integration and contact syncing
- New privacy controls allowed users to fine-grain control things like advertising, camera access, and more
- Developers got AutoLayout, changing the paradigm for laying out user interfaces in Interface Builder (goodbye struts and springs!)
This release of iOS was tainted by Apple’s dropping of Google Maps support before their mapping platform was ready for prime time. This led to the ousting of long time Apple software engineering manager Scott Forstall, and caused newly minted CEO Tim Cook to issue his first ever apology to users.
Love it or hate it, iOS 7 changed iOS forever. It was the first version of iOS that included flat design that was redesigned from the ground up by Jony Ive.
Introduced in September 2013, iOS 7 changed the trademark slide-to-unlock button to a new swipe animation that caused many users to get confused about how to unlocked their phones, and caused even more confusion over what was a tappable area and what wasn’t because the rectangles around the buttons had been removed and buttons appeared like links on a webpage instead. The biggest issue though? Motion sickness complaints among users because of the parallax feature that couldn’t be disabled until a later update.
iOS 7 added a lot of modern technologies to iOS that are still in the operating system to this day, including:
- CarPlay integration
- Automatic App Store updates and automatic iOS updates
- Control Center for quickly accessing commonly used settings on the iPhone and iPad
- App Switcher for quickly accessing previously opened apps (before this was a bar at the bottom of the screen that didn’t show an app preview)
Overall, iOS 7 is the grandfather to the iOS that we still have. Many of the UI elements and UX decisions made here still carry forward to iOS 13 (albeit with a lower level of parallax motion).
iOS 8 was introduced at WWDC 2014 and released to the public on September 17, 2014, and featured many new features to tie it closer to the Mac. This version of iOS introduced Continuity, which allowed Handoff between Mac, iPad, and iPhone apps. It also was the first release to incorporate shared SMS and phone calls between Mac and iPhone and iPad.
In addition, developers got to play around with many new features, including:
- Extensions for sharing content in Apple apps (such as Photo extensions)
- Widgets in the Notification Center
- Ability to make third party keyboards that could finally replace the default iOS keyboard
- Health app that could aggregate data from amongst third party apps
- iCloud Drive for storing files, and CloudKit for a zero-API way for developers to write an deploy cloud data services
- Biometrics frame that allowed for supporting Touch ID in third party apps
- HomeKit, which allowed licensed manufacturers to produce HomeKit equipment and manage it through the HomeKit gateway, though there was not yet a Home app
- Safari was updated to support WebGL graphics
As you can see, Apple was very busy with this release, leading to a lot of issues with crashing apps, update issues, and just a very buggy release that was plagued with Wi-Fi issues, Bluetooth issues, and weird calendar bugs. Fortunately, these issues affecting massive numbers of users were resolved over time.
iOS 9 was a release where Apple was attempting to fix some of the issues plaguing the previous release. Apple dedicated this release to fixing some performance issues and adding security and other smaller changes.
In this release we saw the introduction of:
- The short-lived 3D feature on supported devices (this is now replaced by long press gestures for “peeking” and “popping” views)
- Battery savings with a feature to not light the screen for notifications when placed face-down and also the introduction of Low Power mode
- San Francisco was announced as the new system font replacing Helvetica Neue
- Multitasking changes allowed Picture-in-Picture (PiP) for iPad, and also slide over and split screen features for the first time on iOS. This made use of Apple’s much-touted size classes in AutoLayout
- Performance improvements were expanded to the entire system through the introduction of Metal and iOS 9 made use of Metal to handle the core user interface elements and graphics rendering
- On the security front, Apple stopped using 4-digits as the standard passcode option and moved to 6-digits instead. Apple also supported 2FA (Two Factor Authentication) for the first time in iCloud and Apple IDs
In addition to these changes, we also saw some new apps, including the News app, and a revamped Notes app.
iOS 10 was released to the public on September 13, 2016 with much hype around the inclusion of an all-new Messages app that added sticker and Message extension apps. Siri also gained some additional smarts thanks to third party integrations that allowed sending IMs through third party apps, or using Lyft or Uber to hail a ride.
Some other notable features of iOS 10 were:
- The last version of iOS to support 32-bits apps — it’s a 64-bit world hereafter, and Apple started warning users about apps that hadn’t been updated upon launch
- Apple introduced the Home app to manage HomeKit equipment, Sherlocking a new HomeKit apps that had previously done this job
- A Universal Clipboard feature used iCloud and Continuity to share a clipboard between iOS and Mac device; it also allowed Apple TV’s to use an iPhone to enter text
iOS 10 was light on lots of features, but the two main ones added: Siri integrations and iMessage extensions were huge then and continue to be huge now.
Released to the public on September 19, 2017, this release of iOS 11 is important in the history of Apple. It’s the first release of iOS that supported more swipe gestures than other versions because it was the version of iOS that saw the demise of the Home button in the UX flow with the release of the iPhone X later in Fall 2017.
Apple brought all of the punches out when it came to developer APIs in this release of iOS, showing Google and other device manufacturers that you can do very powerful stuff on-device instead of in the cloud where you risk user privacy.
This release saw the introduction of ARKit, Apple’s augmented reality framework that made use of the advanced CPUs and GPUs available on iOS devices running the A9 chipset and newer.
It also saw the introduction of a developer-friendly machine learning framework called CoreML, which allows your every day developer to write code to recognize images and more without any specialized knowledge.
Apple Also unlocked Core NFC framework that let developers write apps that could finally take advantage of the NFC reader built into iPhones that support Apple Pay.
In addition, Apple removed a lot in this release to clean up some legacy features of iOS:
- We said goodbye to 32-bit apps, which was bittersweet for the apps no longer supported but still useable until now
- iOS 11 also dropped the Social Frameworks introduced in iOS 5 by dropping native support for Twitter, Facebook, Flickr, and Vimeo.
- iCloud Drive app was removed and replaced by the Files app, which included APIs for integrating third party file apps into
Apple released iOS 12 with performance in mind again as they released the OS on September 17, 2018.
For performance, Apple advertised that devices launched apps 40% faster, the keyboard would activate 50% faster, and the camera could open 70% faster, thanks to all of the performance changes made from the previous version of iOS.
In addition, iOS 12 saw many new features, including:
- Shortcuts app that allowed Siri to perform actions that the user defined in the app. This was a revamped version of the Workflow app that Apple had acquired the year before.
- ARKit2 with 3D object detection
- CarPlay third party app integration for Waze, Google Maps, and more
- Trackpad mode in the Keyboard for 3D Touch devices
The biggest new feature was the introduction of Screen Time, which was Apple’s attempt to let users know how much time they were spending on their devices. It also let users set app limits for specific categories of apps, which, after an allotted time would lock the user out of the app for the rest of the day. This was considered a health feature, as it allowed users to easily set and adjust usage goals for how much time they wanted to spend on their phones.
iOS 13 and the future of mobile computing
Well, we end our journey through the past 13 years of iOS here with iOS 13. It’s the current release of iOS, which Apple will soon be replacing with whatever is next (we can only assume iOS 14).
iOS 13 has been no slouch on new features, and is the culmination of the hard work of Apple engineers and third party developers alike who have kept this operating system so vibrant and useful after all of these years.
Some of the biggest features of iOS 13, which was released in September 2019, included:
- iPad and iOS have now split their codebases. iPad now runs iPadOS while iPhones and iPod touch run iOS
- Sign In with Apple is a new Single Sign On (SSO) option, and a requirement if SSO is available in third party apps from Google or other providers
- External storage support in the Files app to read and write files in the Files app and third party apps with connected USB mass storage devices
- Further performance improvements, which included a new app download format making 50% smaller apps and app launches up to 2x as fast as before
With this iOS release, we can see that Apple is putting privacy at the forefront of everything they do. An example of this is a dialog that appears with a map of location data and which app is reading, and what it can see and when. It then lets the user choose if they want to continue sharing the location data with that app, or not. Making users more aware of what data apps can utilize is very important in this release, and I anticipate it will future be improved to show users other data apps are using in the future to let users granularly control what apps can do with their information.
As we’ve seen with the iPad Pro, it’s clear that “mobile” (if we can even call it that now) is an ever-growing space. iPads and iPhones are now blurring the lines between traditional computers. Teenagers today don’t know of a time without cellphones that can do everything that computers can do, and they will grow up with the knowledge that anything they can do on a computer, they can do on their phones (sometimes better). This is fundamentally changing how people buy computing devices and use them, and will eventually have a profound impact on where computing technology heads next.
I cannot wait to see where this technology heads in the future, and will be there, anxiously awaiting with an open IDE (hopefully Xcode on my iPad).