Widgets are part of Extensibility, one of the biggest new features in iOS 8, and one of the most important, most enabling new technologies to come to the iPhone and iPad since the launch of the App Store. With Today view extensions, any app can present a widget that displays information and offers a small amount of interaction right in Notification Center. That makes them only ever a swipe away. So, how do widgets work?
Days of widgets past
The idea of "widgets" date back to the early days of graphical user interface (GUI) computing. The Xerox Star, Apple's Lisa and Macintosh, Microsoft's Windows, and others, were all based on the "desktop metaphor". While that included things like files and folders, notebooks and ledgers, it also included tools like calculators and calendars. The pixels may have been chunky, the colors next to nonexistent, and the internet still just a dream, but it was a beginning.
With the rise of ubiquitous online connectivity, widgets took on a new roll: dedicated, glance-able information containers. Apple introduced their vision of web-based widgets in OS X Tiger with Dashboard.
The original iPhone was supposed to include a version of OS X-style Dashboard widgets, namely Weather and Stocks. They wouldn't have looked or acted any differently than any other full-screen iPhone app, but they would have been built like Dashboard widgets, using Apple's web technologies instead of native Objective-C. Since the presentation was to be no different, and the limits of WebKit at the time meant performance wasn't as good as native apps, they were ultimately rewritten in Objective-C anyway.
Other platforms, including Nokia (pre-Windows Phone) and Android went ahead with widgets. What's more, they distinguished them from full-screen apps by making them smaller and letting them live on the home screen, amid the app icons. Power users loved them, but few mainstream customers embrace them. According to HTC (opens in new tab), a prominent vendor of Android devices:
- Widgets aren't widely used – weather, clock and music are the most used and after that, fewer than 10% of customers use any other widgets.
- Most of you don't modify your home screens much. In fact, after the first month of use, approximately 80% of you don't change your home screens any more.
With iOS 5, Apple brought limited widgets — our old friends Weather and Stocks — to the iPhone and iPad. Instead of putting them on the home screen, however, Apple put them in the then-brand new Notification Center.
For Apple, the iOS home screen was never meant to be a destination but rather a transport. It was never meant for anyone to stop and stare at, but to quickly find and get into apps. When the App Store made apps more abundant, Apple added Spotlight as an ancillary way to help do just that.
Notification Center changed things. It could be pulled down from anywhere, including the home screen (and eventually the lock screen), and more importantly, from inside any app. Instead of having to leave what you were doing to go find information, you could pull that information to wherever you were, whenever you wanted, and then go right back to what you were doing with very little cognitive load. It wasn't perfect, but it was better.
iOS 7 split notifications and widgets apart, putting widgets in their own Today view, moving Weather to the Today Summary, and adding support for Calendar, Reminders, predictive location, and the Tomorrow Summary. Yet they were still limited to built-in apps and services.
iOS 8 and Extensibility take it even further, allowing App Store apps to offer up their own Today view widgets — helpful information status indicators, simple, interactive utilities, and ways to launch into the full app when and if needed — easily accessible from anywhere on the iPhone or iPad, informational and interactive.
How custom widgets work
If you've used Notification Center's Today view in iOS 7, you already know how custom widgets are going to work in iOS 8. You just pull down Notification Center from the lock screen (if enabled), home screen, or from within any app, and if you're not already in the Today view, you simply tap the Today tab at the top.
In iOS 8, the built-in widgets provided by Apple include Today Summary, Traffic Conditions, Calendar, Reminders, Stocks, and Tomorrow Summary.
What's new is what's at the bottom: an Edit button and a notification area that tells you how many new third-party widgets are available to you. Tap the Edit button and you can enable or disable any of the built-in widgets and reorder them any way you like. Tap the New Widget notification and you can add any new, custom widget that has become available.
New widgets become available when you install an app from the App Store. If the app includes a widget, the widget notification area will tell you about it. Tap the widget you want added, and it's added. Once added, you can order App Store widgets just like the built-in widgets, and remove them if and when you decide you no longer want or need them.
For example, if you download a sports news network app, it could include a widget that presents you with up-to-date scores of the two most recent games in any league you choose to follow, as well as a headline or two of breaking news. Or, if you download a social networking app, it could include a couple status entries, and maybe a Show More option to see even more entries. A package tracker app's widget could keep you up-to-date on all your deliveries. Breaking news, latest weather — all of those, and more, could provide glance-able widgets right in the Notification Center Today view.
Interactive widgets and limitations
Like the new notification system, the new widget system in iOS 8 is interactive. So, not only can the widgets provide you with snippets of information, they can also allow you to perform minor tasks as well.
For example, an auction widget can show you the items you've last bid on and whether or not you're currently being outbid, but also allow you to up your bid right there in the widget and retake the lead. A social widget can let you glimpse a few entries in your timeline and Like or Repost right from the widget.
What widgets can't do is invoke the keyboard, which means widgets can't take text input the way a Messages quick reply notification can. Complex actions are also beyond the scope of widgets. So, for example, you can't change which stocks are shown in the Stock widget. They simply reflect the stocks shown in the Stocks app. In order to change the widget, you have to change the app.
How developers add widgets to apps
For developers, widgets in the Today view are remote view controllers. They're best thought of as independent "child" apps all their own that present themselves and their data to Notification Center. That gives them a number of advantages, including security (see below). It also means that the container app doesn't need to be running in order for the widget to be working. Even if a the container app becomes a memory drain and gets jettisoned, someone using the widget at that very moment wouldn't even notice.
It's that type of seamless user experience Apple is stressing with widgets.
Performance is paramount. Since a typical person may have several widgets running at once, and resources are always limited, developers need to keep things simple and streamlined. Whenever someone pulls down Notification Center to access a widget, the data needs to be there, ready and waiting. That means pulling in anything big and new in the background and caching it so that it can persist in the widget for as long as it needs to.
For the interface, Notification Center defines the width and a default height, but developers can alter the height as needed. That's done by defining vertical constraints with Auto layout or by setting it manually in code. Widgets can also expand in size, either because the content itself changes, or as the result of a user action, like tapping a Show More button. Notification Center will handle the size change and, of course, animate it. Developers get to animate their content changes within it. However, Apple encourages developers not to make widgets so long that people will need to scroll to see all of them.
There are a number of resources available to aid in all this:
- WWDC 2014 Creating Extensions for iOS and OS X session, Part 1 (opens in new tab)
- Apple (pre-release) Extensibility documentation (opens in new tab)
The thing about Extensibility and widgets is that Apple claims they provide extra functionality without sacrificing the excellent security model iOS was built on. This is a big part of the reason it took so long for App Store widgets to appear — Apple had to do a tremendous amount of work over the course of several years and several releases to make it all possible. Things like porting Apple's interprocess communication system, XPC, from OS X to iOS.
In iOS, apps are "sandboxed". That means they can only access their own data, not the data of any other app or the system. There are some exceptions, but those require the granting of explicit permission. For example to access contacts or photos, or to "open in" another app, a button tap is required. All of this so that, if anything malicious ever does manage to get in, it's very, very hard for it to go anywhere else or grab any data from anywhere else.
With iOS 8 and Extensibility, Apple keeps an app's extensions inside the app's sandbox, but allows iOS, and other apps by way of iOS, to reach out, request interface, information, and functionality. The container app can then project that interface, information, and functionality back to iOS or the host app right back.
So, for widgets, Notification Center is the host. The widget communicates only with Notification Center, not with its container app at all. (Which is why container apps don't have to be running, or can be jettisoned without affecting the widget.) When a widget needs information from its container app, it does so through iOS, and through privately shared data resources.
Apple hasn't detailed the specifics of how all this works yet, but has said it uses similar security to the rest of iOS. Since iOS 7, Apple has done an incredible job with security and cryptograph. I'm willing to bet Extensibility is enjoying something just as well thought out and just as secure.
What's most impressive about Extensibility in general and widgets in specific is that Apple has set them up to work the same in both OS X and iOS. That involved a lot more work on their part — shortcuts for one system or the other couldn't be exploited — but ultimately consistency is a feature, and that discipline has resulted in a more unified, better framework for both developers and customers.
It's taken a long time for custom widgets to arrive on iOS, but there's every indication Apple has done them in the right way and put them in the right place.
Will you be using them? And if so, any particular third-party widgets you're most looking forward to?
More of iOS 8: Explained
- Handoff in iOS 8 and OS X Yosemite: Explained
- Making and receiving phone calls on iOS 8 for iPad and OS X Yosemite: Explained
- Sending and receiving SMS/MMS on iOS 8 for iPad and OS X Yosemite: Explained
- AirDrop and Instant Hotspot in iOS 8 and OS X Yosemite: Explained
- QuickType keyboard in iOS 8: Explained
- Interactive notifications in iOS 8: Explained
- SceneKit in iOS 8: Explained
- Metal in iOS 8: Explained
- Widgets in iOS 8: Explained
- Share extensions in iOS 8: Explained
- Action extensions in iOS 8: Explained
- Inter-app photo and video editing in iOS 8: Explained
- Custom keyboards in iOS 8: Explained
- Family Sharing on iOS 8: Explained
- iCloud Drive and Document Picker for iOS 8: Explained
- Document provider extensions in iOS 8: Explained
- TestFlight in iOS 8: Explained
- Apple Maps in iOS 8: Explained
- iMessage in iOS 8: Explained
- Photos in iOS 8: Explained
- Spotlight in iOS 8: Explained
- Health in iOS 8: Explained
- Touch ID in iOS 8: Explained
- HomeKit in iOS 8: Explained
- Adaptive UI in iOS 8: Explained
- Manual camera controls in iOS 8: Explained
Rene Ritchie is one of the most respected Apple analysts in the business, reaching a combined audience of over 40 million readers a month. His YouTube channel, Vector, has over 90 thousand subscribers and 14 million views and his podcasts, including Debug, have been downloaded over 20 million times. He also regularly co-hosts MacBreak Weekly for the TWiT network and co-hosted CES Live! and Talk Mobile. Based in Montreal, Rene is a former director of product marketing, web developer, and graphic designer. He's authored several books and appeared on numerous television and radio segments to discuss Apple and the technology industry. When not working, he likes to cook, grapple, and spend time with his friends and family.
When I had an android phone I was obsessed with this stuff. I couldn't wait for the newest rom to drop, etc. When I got my 5S I had it jailbroken for about 2 weeks before I took it off. Just didn't see all that much benefit to it. Now I'm about as standard as it gets. The 5S gets it all done for me without widgets, themes, roms and all the rest. Have to admit I can't wait for swiftkey though.
I like 3G unrestrictor.
I really hope Google can somehow get Google Now working as an iOS 8 widget.
Seems really likely, doesn't it?
The experience will look like this:
So basically iOS 8 is a really good version of Android lolz!
When it comes to Extensibility, pretty much. Just as Materials is a really long-in-coming version of proper design language and transitional animation. Rather than lolz, why not appreciate this stuff for what it is — an example of priorities and how hard it is to do something later rather than earlier in the conceptual cycle?
Excellent article and response Rene. While both OSes are excellent, iOS seems to take it's time developing vs. Samsung and their ideas of all but the kitchen sink plan. As a Note 3 and iPhone 5s owner, it makes me laugh a bit inside when iOS fans constantly talk about MORE RAM on their iPhone, iPad...et all. I've got 3GB, which I believe is as high as it gets in mobile, including tablets right now. My N3 is typically using 2.3 GB with a single app open such as Chrome. I think Apple is sometimes easy to bag on with slower progress but as an enthusiast of technology, and owner on both OSes now since inception, I'm happy with my control panel, notifications, extensions and the new handoff and widgets so many Android fans have been busy with arguin for a half decade. Like the study says, I set my widgets in the first ten days and hardly mess with them again.
This is going to be an amazing fall ....pretty excited!
Thanks Rene. Jeremy
While your points are true, understand that just as Apple focuses on things outside in the appearance and usability of iOS, the same care makes its way inside. I remember Anandtech testing out the 5S RAM usage when it came out and no matter how many apps he ran, even heavy games, he couldn't get usage over 700Mb. Plus more RAM = more power usage which has to be tightly monitored given iphone small and thin form factor. I notice no slow down on the iPhone even with the RAM at 1Gb.
Yes but Apple pursues thin a bit too much at times. Battery life could be double with a slightly thicker phone.
Not even close. I love my ipad. And I loved my iPhone 5 but ios is nowhere near as advanced as android is. These new widgets are barely what u call a widget. More like notifications with a twist. Apple does what they do well. But they don't do nowhere near what they're capable of.
Agree, some more graphical widgets such as Google+ User Location widget requires more real estate than a notification drop-down.
Nice article. Very detailed. Can't wait to see this released.
I was hoping that Apple would add more Google Now like functionality to Siri and Notification Center in iOS 8, but it seems they're content with letting third-party developers take on that role for them. So, instead of Apple feeding me sport's scores the way Google Now does, they'll let the SportsCenter app (or any other sport app) do it instead. I'll be interested to see if this stays the norm, or if Apple attempts to challenge Google Now by offering many of the same features that currently don't exist in iOS/OS X, and more.
I'm not so sure they have to challenge Google. For the past several years, as an Android and iOS owner, G+, while nice is...IMHO, much better implemented 'in app' than most of the Androoid phone/tablet versions. Like Maps, Earth, GMail itself, Drive, etc....they all work very well on iOS and in many cases signficantly better than on their current silicon Android device!
The difference right now is purely philosophical: Apple doesn't want to do stuff with personal data on their servers. "Apple Now" could exist at any point, if Apple changes that philosophy, but given their push on privacy as differentiation, I don't know how fast, or when, that might happen.
Apple already offers similar Google Now functions in iOS 8, and I'm just hoping they will expand or improve on them. Besides weather, reminders and calendars, which are offered (somewhat differently) in both services – Apple's being in Notification Center – the Next Destination feature isn't all that different than what Google Now offers (Google's implementation is arguably much better). I'd like to see Apple add the functionality that notifies me when I should leave for my next calendar event, which my Android friends have enjoyed for awhile now. Couldn't Apple implement features such as this without compromising privacy?
I’m betting ‘Apple Now’ or the ‘Hey, Siri’ thing will be a function on iPhone 6 without having to have it plugged in. I’m guessing that’ll be a stand out feature/selling point for it.
damn i got excited, i am really hoping for android type widgets, i made my choice, its apple, but i do occasionally miss the little things... Sent from the iMore App
Turns out no one uses those kind of widgets, not in any significant number at least. We'll see if these turn out to be any different.
I would like a weather widget. I loved the weather notification system in iOS 5-6. Then iOS 7 changed to text only. Before I could see 5 days worth of weather forecasting in a eye pleasing graphical format. iOS 7 text only and for the day only seems a step backwards. I wondered if Apple did that to get us to go to the full weather app and see the animation there.
Any weather app could do it in iOS 8!
I like Apple's implementation of widgets over Google's. Having them all in once place lets things stay neat organized. I'm hoping for more capabilities with 3rd party music apps. For instance, I would like to thumb up or down songs from the lock screen on Pandora or Songza.
"Few mainstream users embrace them." Lmao literally everyone I've ever met with an android phone had at least one widget on their home screen. Sent from the iMore App
I linked a study from HTC, one of the best known Android manufacturers, to back up the claim. I also asked the editors of Android Central, one of the best known Android communities. I also used the word "mainstream". Rather than "lmao", maybe properly segmenting usage would be more beneficial?
Everyone copies Android. Everyone knows that Android was out about 10 years before iOS. :)
I think you're thinking of webOS. No, wait, Symbian?
You are in no way bias towards Apple in simply every reply. ;D
I'm looking forward to weather widgets the most, also looking forward to sports, eBay, Google now, and countless others, I've been waiting for iOS widgets for a long long time.
Are they changing the way their pulldown tab works at the moment Rene? I don't dig the Today, All, Missed tabs and would prefer it to be one tab, two at the most. Especially with larger phones coming, I can see iOS needing to adjust some things. Always having your back button in the top left is hard on a larger phone.
"For Apple, the iOS home screen was never meant to be a destination but rather a transport. It was never meant for anyone to stop and stare at, but to quickly find and get into apps." Yes, but iOS was not initially designed to handle multi-tasking. This is a fundamental difference with Android, which seems to be the opposite - home screens for glanceable information. Apple takes the opposite approach; the home screen is like a directory of apps, and NC contains the glanceable info. Rene, do you do think this is the right design approach, given how many streams of information are coming in for most users at any time?
I really like Yahoo Weather because it uses local photos. Launcher is good for shortcuts to settings. Is there a sports widget for scores?
Get the best of iMore in in your inbox, every day!
Thank you for signing up to iMore. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.