Entries tagged: HTML
These posts contain HTML in addition to Markdown and I wish Markdown would support whatever I had to use HTML for here.
These posts contain HTML in addition to Markdown and I wish Markdown would support whatever I had to use HTML for here.
iOS 7 is here. Tim Cook called it “the biggest change to iOS since the introduction of the iPhone” at WWDC, and he wasn’t exaggerating. This is an enormous release, and we have a lot to cover. The big thing is of course the new design. It’s a dramatic departure from not only iOS of the past but from anything Apple’s done before. The new design is most important, but it is far from the only change. If 7 looked exactly like 6, it would still be a substantial release. In an alternate universe, that’s the case. If Tim Cook had stepped outside and seen his shadow, we might’ve had 12 more months of “rich Corinthian leather”. We might’ve groaned, but in the end, we’d have been content. As it is, Tim didn’t see his shadow; Apple didn’t stand still.
Before we go any further, let’s get you up and running on 7. If you’ve got a device with iOS 6, it’s pretty easy: Settings > General > Software Update. If you’re into it (I am), you can download it directly from Apple and do a clean install with an option-click in iTunes. If you’re lazy, at some point you’ll get a notification on your iPhone or iPad and with the tap of one button, iOS 7 will install. That’s how most of the world will be updated to this release, and that’s going to be interesting. While it is a great release, it is different and many average users are sure to be more than a little confused.
In 2007, when the public first got eyes on iOS (back then, “iPhone OS”), its interface looked modern. The gloss- and gradient-heavy toolbars were carried over from the desktop OSes of the day, and from a certain point-of-view they made even more sense on the touchscreen device. If the controls were meant to be manipulated by our fingers, photo-realism made sense.
Fast forward six years and that same gloss and grad galore looks outdated, gratuitous even, to our trained eyes. The idea that elements that we interact with using our fingers need to look real is now obsolete. As John Gruber quipped when predicting iOS 7’s design changes: “the training wheels can come off”.
Jony Ive, the Brit behind Apple’s hardware for the past decade and a half led the design charge on iOS 7. As far as we know, this past year has been his first designing software. It appears that first year has been dedicated exclusively to redesigning Apple’s most important operating system. When we examine the design decisions made in iOS 7, it is clear that this is not merely a cosmetic rejuvenation. There’s little arbitrary about the decisions that have been made, with almost all of the changes stemming from shifts in the fundamental, core philosophies, that drive the operating system’s development.
Apple got a lot of things right with the original iPhone, and that includes the interface. A lot of this philosophy of depth can be found even then, in 1.0. The original Mobile Safari provided a similar cards interface to switch back and forth between open web pages. It is remarkable even now, after this massive redesign, how much has been maintained from the 1.0. iOS is still familiar, and that’s important.
The first of which is depth. Increasingly common in our industry is the proliferation and exultation of so-called “flat” design. Windows Phone is the prime example of this philosophy, with it’s total lack of gradients, sparse color, and focus on large and handsome typography. Before we saw iOS 7, we speculated that Apple would remove the gradients and gloss to “flatten” the interface. That prediction came true, but totally misrepresents iOS 7.
Before we can understand the difference between “flat” and iOS 7, we must understand the purpose of the gratuitous textures from versions past. The answer is, somewhat obviously, to show highlights and shadows. To show “depth”. And I mean “depth”, in quotations, because the effect amounts to fake 3D — the illusion of three dimensions on a flat phone.
If iOS 7 had done away with those highlights and shadows, then surely it is “flat”? Logical, but wrong. iOS 7 does depth differently; instead of textures, it uses layers. At the very bottom is the familiar home screen. The app icons exist one plane above, and tapping one zooms in on it, filling the screen with the app. Double tap the home button, and you can see all of the running apps that exist above the home screen. Swipe up from the bottom or down from the top, and Control Center or Notification Center slide over the top.
After using iOS 7 full time now all summer, the first thing I notice when looking back at iOS 6 is how dark everything was. This phenomenon is seen even more drastically when running apps designed for iOS 6 on iOS 7. TweetBot, an application I have loved, has been useless to me all summer. It’s so out of place on 7 I can’t bear to look at it.
With the exception of a few utilities, all of Apple’s iOS 7 apps are white with black text and single accent color. That sounds boring when you read it, but so far I it isn’t. I expect most third party developers adopting iOS 7 conventions to move to mostly white themes. In time, I know the standard visual style will start to look boring and designers of third party applications will begin to experiment with variations on the new theme, as happened with the original 2.0 SDK. But the overall lightening effect is, I think, here to stay. Using iOS 7 is immediately refreshing. You didn’t notice the weight of heavy iOS apps creeping onto your shoulders these past years, but you’ll notice when it’s gone.
In its implementation, clarity is the most questionable of Apple’s stated goals for iOS 7. In many cases, this has resulted in the use of text labels instead of glyphs for controls. While these are certainly more clear to the first time user, through repeated use ideograms are better representations than labels.
The perfect mix would give text labels to lesser used controls that people won’t be trained to instinctively hit and glyphs to all of the other ones, with a few exceptions. If a control has a particularly obvious or universally accepted glyph that goes along with it, such as a toothed gear for settings, it should be used. Further, if a text label is particularly lengthy in any localization, an icon is probably a good idea. With iOS supporting dozens of languages, this is a big issue for Apple.
The most troubling case of a failure to walk this line correctly is in the Music app. The shuffle and repeat controls have been turned to text. Those glyphs have been with us through generations of iPods even before iOS was a thing. At this point, they’re universally accepted. Really, shouldn’t Apple be more proud of that accomplishment?
Delight in design is sometimes intangible, but essential. A large improvement to the delight factor in iOS 7 comes in a rethinking of how animated transitions are handled. In the past, these animations have been hard-coded to emulate real world physics as closely as possible. Rather than continue the tedious trend of faking physics through bitmapped animations, Apple has chosen to build in a physics engine. The engine (accessible by all developers through UIKit) allows for the easy creation of animated transitions between states, and affirms that all of these animations will be consistent in their definitions of gravity and other forces.
The physics engine also provides the backend to allow for the manipulation of almost any screen element in ways that are entirely useless, but so so fun. But I’ll get to that into that later.
When it comes to third party development, this will be the tenant of iOS 7 design that we’ll see broken the most often. In 7, Apple is calling for developers to deprecate the UI chrome in favor of the content, and some developers are upset. For awhile now the interface has been a canvas for some to show off their Photoshop skills. Throwing out that practice will be tough, but I think eventually users will demand it in such numbers that developers will be forced to comply.
It’s honestly just better. When I’m looking at Twitter, I don’t want to be mesmerized (read: distracted) by the amount of work that went into creating the background for the toolbar. I want to read tweets. I want to share tweets. I want to tweet. I want all of these actions to be intuitive and simple, and I really don’t care that the designer spent three days getting the right texture on the toolbar. This is not to say that meticulousness in design is out the door. Certainly, I still want my iOS apps to be beautiful. One need only look at Apple’s Weather app to see an example of an app that follows this new strategy but is in incredibly beautiful.
This is a new approach to app design, for sure, but Apple has so far done an admirable job of following their own advice. All of the built-in apps have been rewritten to follow this strategy, though even some of Apple’s apps get sidetracked on their way to this goal. It is clear from using them that this is the right way forward.
Before we get any further into this discussion, we must clarify that there are two types of skeuomorphism. The first is almost unanimously considered bad, and it’s the use of textures that resemble real world objects. That’s the felt and wood table of the iOS 6 Game Center and the “rich Corinthian leather” of Find My Friends and Calendar. And there’s the second, which is almost always labeled good, and it’s the use of real-world metaphors to enhance the usability of an interface. This reaches all the way back to the original Macintosh, with its “desktop” and “folders” that represented real world desktops and folders.
While you’ll hear otherwise, iOS 7 is not devoid of any skeuomorphism. In the first sense, tiny elements of the “bad” skeuomorphism have slipped by the watchful gaze of Ive’s eye. In the second, or “good” sense, skeuomorphism has actually been greatly enhanced and its grasp widened.
Due to the switch from bitmapped to physics-driven animations, more of the operating system can be manipulated like physical objects. This is most evident in the parallax effect between different layers of the OS. Tilting and shifting the phone can move different layers of the interface to different levels of exaggeration. On the home screen, both the wallpaper and the app icons move when the phone is tilted in effect called “parallax”. The icons move more dramatically to give the appearance that they exist on a different plane nearer to your eye. If you look close enough, you can make out that notification badges exist on an even nearer plane. The effect is the same with modal popovers. Tilting the phone will move the dialogs relative to whatever is behind it. And the same for the Control and Notification Centers.
I am still, three months into it, finding myself playing with parts of the interface, finding amusement in just the way it works. It’s a similar behavioral pattern to the unbending of a paper clip or a cat that can’t stop flapping the corner of a piece of paper. We play with it because we can, because we are bored, because our minds are concentrating intently somewhere else. You’ll find in playing with the OS that it behaves the way it should. The physics engine is in effect everywhere and it shows. It’s entirely brilliant.
The new Weather app is one of my favorites, and it’s very skeuomorphic. Gone is the cards metaphor from iOS 6 and the past, in its place is a fluid plane that can be swiped horizontally to view the weather data of different cities. As you do, the background display of the current weather seamlessly morphs into the next city. Pinch in to zoom out to the overview, where you can add and delete locations, reorder them, and switch between fahrenheit and celsius.
The data view for each location is gorgeous. It’s set against a background of high resolution, animated renderings of the current weather. The data is clear and shows everything you need: highs and lows, hourly breakdowns, and the current temperature. Additionally, tapping the current temperature to view humidity, percent chance of rain, wind velocity, and the heat index (interestingly sometimes it is called “Heat index” and sometimes it is labeled “Feels like”).
It’s a really nice app, but you might notice that it is visually similar to another popular weather app: Yahoo Weather. It really is. Enough that I’m sure there was some collaboration between Apple and Yahoo on the design. The glyphs, layout, and features are all so aligned, it couldn’t have been an accident. I haven’t heard any whispers of a lawsuit, so for now I call it a “collaboration”.
With any sweeping redesign, you can expect rough edges in iOS 7. When it’s considered just how sweeping of a change 7 is, it’s remarkable how few of these rough edges exist. I’ve been using this OS full time since June 11, and I want to call out every single degradation from iOS 6. But the list isn’t very long.
This little bastard. For some reason, Jony Ive decided that those odd skeuomorphic textures we familiarized with in iOS 6 deserved one holdout on 7. And so we have the letterpress visual style. Two of Apple’s apps, Notes and Reminders, utilize this look, and Apple promotes it as a visual style that third party developers should consider for their own applications. While I call it the brushed metal of iOS 7 in the snarky header above, I really hope developers are smarter this go around.
It’s a nice enough looking approximation of that fancy heavyweight paper stock that letterpress is traditionally performed on. Whoever created the texture should be praised for their graphical talent. Text in this visual style has the effect of looking debossed and it’s very pretty. The whole thing clashes terrible with the rest of the visual direction of 7. but it is directly opposed to the goal of “content-first”. This is all bling for the sake of bling.
I happen to like every single one of iOS 7’s default icons better than their iOS 6 counterparts. Few would be so kind as I. The iconset has been called everything from “ugly” to “plain” to “wrong”. (Two of those I can see the argument for. The other is nonsense.) The most important thing to remember about these icons is that they’re moving in the right direction. Apple was not conservative. Overzealous… maybe. They threw out pretense and approached icon design from a new angle. While some of them miss (Newsstand, Safari), they will be iterated on toward something great.
Apple could’ve stuck with the iconset from iOS 6. They could have stuck with the same designs and just removed the gloss. They could have left the same shapes and made them entirely flat. Those would have been easy options, but Apple instead redid the every single icon starting with a blank slate. Some of them developed very similarly to their older counterparts (Clock, Mail). The direction we’re seeing with them is toward a new perfection, while the old set was getting stale. These icons will be adjusted as the new interface matures. But the direction is better. If you don’t believe me, just try look back to the old Safari icon. Yikes.
(This isn’t a complaint, but it doesn’t really fit anywhere else, so here goes. Regarding the new icon shape, which some say is called a “super ellipse”: I think it’s much improved over the bland roundrect, if a bit hard for developers to recreate for the purposes of creating borders on their icons. Perhaps that’s a good thing, though. I don’t think anyone would complain if we lost the convention of giving games gold-bordered app icons.)
Let’s bash on the Notes app some more, shall we? It’s never been a precipice of design, with is retina-searing yellow memo pad of old and the oh-so-beautiful Market Felt typeface. Both are gone in iOS 7, but have been replaced with two new devils. The letterpress stylization mentioned earlier, and a severe lack of contrast. In all their infinite wisdom, the iOS design team decided that the accent color for Notes should be… yellow. Yellow on white. The cardinal sin of readability. It’s so bad, it’s hard to believe it isn’t a joke. Maybe it was. Maybe the conversation went something like this:
Jony Ive: “Let’s design the notes app. It’s been pretty horrid in the past, so let’s buck the trend.”
Intern: “Let’s make it look like real paper.”
Designer: “Yeah, OK. And we’ll make all the labels yellow on white.”
Jony: “That’s brilliant, let’s do it.”
Designer: “Wait what?”
It’s really horrible. There’s no excuse for it. The accent is yellow because memo pads are yellow? No. Shut up. This isn’t a memo pad. How many people even remember memo pads? The only memo pads I’ve seen in the past five years have been digitalizations of them on Apple products. Make it blue, make it red, make it brown, I don’t care. Just not yellow.
To a lesser extent, the issue of contrast persists throughout iOS 7. In most cases, it’s due to the use of an overly thin font with a color that’s just a little bit too light. The abundance of white in the system is a good thing, but it does mean the palette of contrasting, readable colors will need to be a tone darker. Ive and his team got a little too caught up in the lightening and brightening of the interface, and the loss of contrast is just one of the temporary entrails. Give it a year, and if it isn’t fixed in 8, then we can really start screaming.
To keep on the trend of calling out specific apps, let’s talk for a minute about Game Center. It’s almost too perfect an illustration of Apple’s lackadaisical approach to gaming that Game Center has always been such a strange child. Before, it was an ugly mix of glossy wood and green felt. Now it’s glossy 3D bubbles. It clashes violently with the aesthetic of iOS 7.
Apple seems to think that they need to do something special for Game Center, perhaps to show that no, really, we are committed to gaming. Well, listen guys. We understand that gaming isn’t your forte. We know that you’re trying, and honestly it would be much better if you stop treating gamers like they need extra special treatment and just gave Game Center the same standard iOS look that you gave to all your other apps.
There. I said it.
Too often in redesigns, drilling down far enough into the new interface will reveal bits left untouched, forgotten, swept under the carpet. iOS 7 isn’t like that. Every single built-in application and every single interaction the user can have with the OS has been reskinned and often rethought. It’s very impressive, and such a change, such an undertaking, is certainly worth disecting in minute detail.
Springboard has existed for all of iOS’s existence as more or less the same thing: a grid of icons. Along the way we got Spotlight search, home screen wallpapers, and folders, but the metaphor hasn’t changed. That’s a good thing though. As the most basic interaction with the OS, it is important that it remain familiar. Beyond that, I don’t think it has yet grown stale which is a pretty good indicator that Apple got it right the first time around.
Like the touch interface itself, the Springboard feels like such an obvious truth of UI design, and thoughtless calls for it to be replaced are ridiculous. iOS 7 brings the most dramatic graphical change to Springboard ever, but it fortunately remains largely the same. Icons are a different shape, spotlight is in a different location, but it’s all still there and familiar.
I still remember a time before iOS had folders. Back then, I organized my apps into categorized pages. I had a page for Apple apps, a page for news apps, a page for games, a page for utilities, and so on. Folders as they’ve existed since iOS 4 have been somewhat limited, but still proved an invaluable aid in home screen management. My Springboard dropped from five or six pages pre-iOS 4 to consistently two afterward. Folders in iOS 7 are a massive improvement, and having only one page of apps is entirely feasible.
iOS 7 folders are like mini springboards within Springboard. While limited to a three by three grid, folders now have multiple pages (up to 14, or 126 apps per folder) that you can swipe between. Jiggly-mode lets you organize your apps however you like, just as you can with home screens. The best part? No longer do we have to suffer with folder icons that misrepresent the content. Previously, folder icons showed a 3x3 grid while the folder itself contained a 4x3 or 4x4 grid. Not a huge deal, by jarring if you ever noticed it.
Folders are also gorgeous. Continuing the de-linenification of iOS, folder backgrounds are now frosted glass in appearance, similar to the dock. The color of the glass is affected by where the folder resides on your home screen. When you tap a folder and it zooms in to fill the screen (a delightful animation), the background zooms slightly with it, and the frosted glass adjusts to show what’s now behind the folder. Curiously, the label for the folder moves from the bottom to the top when zoomed in. There’s no explanation for this, other than it’s been overlooked.
Spotlight has moved from the left most Springboard screen to above your home screen. To access it, swipe down on any of your home screens. This is essentially no more than a cosmetic change, though it does have the one hindrance of discoverability. When Spotlight existed to the far left, there was an additional dot next your page dots that, if you looked closely, was actually a tiny magnifying glass. This little glyph told the user that, even when you’ve returned to your main home screen, there’s still another page to the left.
There’s no way to discover that Spotlight now resides above your app icons, you just have to figure it out (lucky I’m here, eh?), but I don’t think that’ll be too much of a problem. Spotlight is not one of iOS’s most popular features, and it’s mostly meant for the power user (many who will be reading reviews like mine) with lots of data stored his or her phone. Plus, the new Spotlight locations has the added benefit of being accessible from any home screen.
“Multitasking” really refers to two connected yet distinct aspects of iOS. The first of which is the app switcher, the interface that’s brought up by two quick taps of the home button, which allows the user to quickly switch between running (or state-frozen) applications. The second is the set of API’s that developers can utilize to make their applications run tasks in the background, while the user is doing something else or even nothing at all on the phone. iOS 7 brings massive improvements to both parts, but I’ll get to the second one later on.
The multitasking UI has been completely redone and is now a near carbon copy of the multitasking interface from WebOS. I imagine that (as with Notification Center), Apple spent a lot of time trying to figure out how to do a multitasking interface (notification system) that was different and better than WebOS’s (Android’s). In the end, they had to admit that someone else figured it out before them, suck it up, and copy it. As I was glad that we finally got Notification Center in iOS 5, I’m very glad that Apple decided that statute of limitations on copying an interface was up and gave us a cards multitasking UI.
(Some have pointed out that before WebOS came out with their cards-based multitasking interface, Safari on iPhone had cards to cycle between pages. I’d still dgive credit to Palm for this one.)
In use, the cards interface is just as great as the Palm user told us. Often when I need to switch back to an app for reference, I just open the multitasking UI and look at the screencap of it. For instance, when I am composing a linked list item for this blog, I often get through my commentary only to have forgotten the author’s name (or how to spell it). I can double tap the home button, look at the screenshot of Safari, and tap back into Poster with the name, without ever having to go into Safari to get it. This, which can occur multiple times per day, is an awesome convenience that drastically reduces time spent in your workflows.
Closing apps is also much easier. Just like WebOS before it, swiping up on an app’s “card” quits that app. Since this is iOS, you shouldn’t really ever have to do that, but not all apps are perfect and if one does go rogue, it’s good to know that functionality still exists. (Also nice to know: you can quit multiple apps at once — up to three — by placing a finger on each of them and swiping up in one motion. That’s mostly useless but it should work that way and it does. It’s all in the details.)
Notification Center has been split into three panels: “Today”, “All”, and “Missed”. These panels (though it isn’t hinted at anywhere in the interface) can be swiped between. In the new Today view, you can see an agenda for the day ahead. Reminders, calendar appointments, and birthdays can be displayed alongside a weather forecast. It’s the equivalent of the President’s morning wakeup call. (I can imagine a future version of iOS that, once you’ve silenced your morning alarm, has Siri read you all of the information it has on the day ahead.) By far my favorite addition is the day and date. For too long I’ve been frustrated whenever I cannot remember the date and have to find my first home screen and the calendar icon (or, even more often, lock the phone to see the lock screen). In iOS 7, I can swipe into Notification center and there it is.
Beneath the forecast there is a nod to Yahoo for providing the weather data. This is an odd inclusion for part of an interface that is so prominently and often displayed to the user. Surely Yahoo is not in a position to stronghold Apple into putting it there. It reminds me of iOS 6.1 when the network indicator changed to “4G” for AT&T’s HSPA+ network. It’s never nice to see Apple conceding to powers perceived higher.
The remaining panels, “All” and “Missed”, display your notifications as Notification Center has always done. Many will ask what the different is, and I am here to tell you that I have no idea. From what I can tell, the only different is that notifications in “All” are grouped by app and those in “Missed” are chronological. Why? I have no idea, as this isn’t indicated by their labels. Is it not the nature of notifications that they are things we’ve missed?
Many will also note the lack of sharing buttons in Notification Center. In iOS 5 we got a “Tweet” button that allowed for easily publishing new tweets. iOS 6 expanded this to Facebook status messages, and OS X Mavericks (due this fall) adds the ability to compose a new iMessage. But all of these buttons are absent in iOS 7. I found them useful and miss them, and I think they are a surprising omission.
Swipe down from the top of any screen and get Notification Center. Now, swipe up from the bottom anywhere and you’ll get Control Center. Control Center, though a widely requested addition, feels like something we would never get on iOS. At least, never on non-jailbroken iOS. If you’ve ever experimented with jailbreaking, you probably installed something with similar function. Like home screen wallpapers before it, the first time you see it and the first few times you use it, you might feel dirty like you’ve done something to your phone that can’t be forgiven. That feelings wears off, and it quickly becomes another part of your daily iOS workflow. It’s remarkable just how often I find myself using Control Center. Occasionally the iOS 7 beta would bug out and Control Center wouldn’t work and it was infuriating. I cannot imaging going back to any OS that doesn’t provide the same functionality. Like copy and paste, multitasking, and LTE data speeds, regression is liable to drive anyone to insanity.
The original killer app. The first true mobile browser is further cemented as the best browser available on the phone. While I won’t tease you with any “Safari seems snappier” jokes (whoops), I’ll tell you that you’ll never want to use pre-7 Mobile Safari again. This release isn’t about speed (it’s no slouch, though). The browser interface, or “chrome” as goes the jargon, is the focus of it; it’s been totally redone and is far superior.
Full screen mode, originally an option only in landscape mode, is no longer a choice. Start scrolling, and the toolbars shrink away. Tap anywhere while the page is still, and they’re back. In portrait mode, the top toolbar never fully disappears. When you start scrolling, it shrinks to fill as little vertical space as possible while still displaying your status items and the base URL of the page you’re visiting. Inline with “content-first”, the data you want to see remains in view while the buttons and tools you don’t need fade away.
Speaking of the top toolbar, the URL and search fields have finally been unified, trailing a year behind the unification on OS X, and many years behind Chrome. The “omnibar”, as many call it, is such an obvious interface to the browser that it’s shameful it took so long for Apple to implement it. The excuse I came up with last year was that Apple would have to add an additional row to the keyboard to accommodate punctuation necessary for URL’s and the space bar, necessary for entering search queries. The solution Apple’s come up with, having small punctuation buttons flanking the space bar, is such an obvious move that Apple really has no excuse for taking so long on this. “Finally” is completely apt. Finally. Finally.
The bookmarks pane has been redone how I’d hoped it would be last year. As with the iPad version, we now have three tabs within the bookmarks menu: Bookmarks, Reading List, and Shared Links. Logically, this make a lot more sense than having “folders” within your bookmarks for Reading List and iCloud Tabs — but wait, I didn’t say iCloud Tabs was one of the tabs, did I? It isn’t, because it’s also been moved to a far more logical place in the interface. When you open the new tab view (a somewhat gratuitous 3D effect similar to Windows Vista’s AeroTab) and scroll all the way to the bottom, you’ll find a list of all the tabs open on any instance of Safari on any of your machines.
Back to the bookmarks pane. What is Shared Links? Shared Links parses your Twitter and (strangely) LinkedIn accounts for links shared by your comrades, and collects them into a stream to be tapped through. It works as described, though in my experience I haven’t found it very useful. When I want to see what my Twitter friends are up to, I open my Twitter app, not Safari. At least, I suppose, it isn’t intrusive. I wouldn’t be surprised if this disappears in a further release.
One more thing about bookmarks: finally, Safari on iPhone has found a proper positioning for the bookmarks bar. When a new Safari tab is opened, underneath the omnibar are all of your bookmarks bar bookmarks, presented as a grid of their
apple-touch-icon (the icon that’s used if you add a web page to your home screen, which apparently you can still do). Ah, you say, but what if one of your bookmarks doesn’t have an
apple-touch-icon? The Mobile Safari team foresaw that inevitability, and if that comes up, Safari will parse the site’s favicon for the most common color and create an icon with the Safari logo to represent the web page. It actually looks very nice.
The browser continues to be iOS’s most polished app. Every year I find myself more enamored with Mobile Safari.
Last year the music app got its first interface refresh since 2007. Its toolbars turned white and its gradients were reduced, similar to the refreshes we saw to the interfaces for the stores. You’d be forgiven, a year ago, for thinking that might be the direction iOS design was heading. With new leadership, that brief portal into the future was cut off. iOS 7’s music app contains few changes (and one big one, which I’ll talk about in a moment) outside the redone interface.
Coverflow is gone, as we should have expected. In its place is a grid of album artwork that looks a whole lot more modern and works a hell of a lot better. Instead of three visual albums, we can see fifteen. Tapping on one zooms in a pops up a tracklist, and it is actually a great way to browse your collection. Cover Flow was flashy (though it didn’t age well), but it was not as usable as Steve Jobs would have liked. I believe that was one of those things Steve Jobs pushed for and never wanted to see the demise off.
Music’s accent color is a delightful pinkish red. The icons across the bottom toolbar have all been redone in the iOS 7 style and they are among my favorites. The iTunes Radio icon, in particular, is so intricately detailed (just look at the antenna) but also simple… I’m in love with that one.
(One Apple fan suggested that the Music app would have been better if the accent color changed based on the album artwork of the song playing, akin to the album view in iTunes 11. This has even been achieved in the recently released Pocket Casts 4. I agree completely. From the mockups he created, it looks really great and only further emphasizes the “content-first” strategy. I hope Apple steals that idea wholesale.)
For years now, we’ve been speculating on what Apple would do to compete with Spotify, Rdio, Pandora, and others. Finally, in 2013, we have the answer and it’s called iTunes Radio. Accessible via iOS, OS X, and Apple TV, iTunes Radio is a Pandora-like service that provides customizable (and curated) stations that play songs that sound nice together. For some, this might come as a disappointment. It’s an entirely different model than Spotify or Rdio, which deprecate ownership of music files, and instead acts purely as a music discovery service. Many were expecting Apple to enter that market.
I don’t find iTunes Radio all that surprising. Apple operates the largest music store in the world, let us remember, and it would indeed be surprising if Apple threw this model out in exchange for a streaming anti-ownership model. Retrospectively it is clear Apple was never going to build a Spotify-like service. It wouldn’t make good business sense, not after a decade of building relationships with record labels based on $.99 song sales. “What’s good for Apple will always supersede what’s good for users,” some will begrudgingly state. That’s true, but iTunes Radio isn’t bad for users. In no way is it a subpar service to Rdio or Spotify, it just fits a different model, and it’s a model I (and hopefully many others) prefer. Ownership. If you stop paying your Spotify membership dues, you lose all of the music you’ve accumulated into your “library”. If I switch away from iTunes, all my music files are still my music files. Many say Rdio is “the future”, but truthfully it isn’t superior in philosophy or application; it’s just different, made possible by the future.
In my experience, iTunes Radio performs really well. Whatever engine Apple’s using to power their “songs that sound nice together” feature works. My use of Pandora trailed off as their own S.T.S.N.T. engine ran into its shortcomings. After a couple hours of listening, its queue would get increasingly off track and increasingly worse. Not to mention their obnoxious advertisements.
(Speaking of advertisements, iTunes Radio is indeed ad-supported though I, as an iTunes Match subscriber, have not been subjected to them. I hope and suspect that Apple can strike the right balance with its radio ads. One thing it’s got going for it: it doesn’t hurt Apple’s bottom line if they don’t make enormous profits off the service.)
A large portion of my iPhone use is in the Messages app. I am in the fortunate position that most of the people I communicate with on a daily basis have Apple products and use iMessage, so almost all of my communication goes through Messages on my Mac or iPhone. That said, the refreshed UI in Messages on iOS had the potential to totally disrupt my day. Fortunately, all of the UI decisions Jony Ive’s team made were good, and Messages is a more powerful and convenient app than ever.
Let’s start with timestamps. This was a feature I wanted and knew would be trivial for Apple to implement, but I didn’t think it something they would bother to implement. I am glad to be wrong. Swiping a conversation to the left reveals the hidden data, for every message sent or received. Apple took the time to do this properly. Before 7, timestamps would appear every fifteen minutes or at the beginning of intervals longer than fifteen minutes, and they’d flow into the stream with the rest of the messages. Clearly redundant, those are now gone. Now if you take a break from texting your buddy for longer than fifteen minutes, you get a slightly thicker margin between the messages. This is subtle and effective. You’ll notice it if you’re looking for it, but you won’t if you aren’t. Exceptional.
In the message thread, the old practice of scrolling to the top to view the call or FaceTime buttons has been replaced with a “Contact” button on the toolbar. Tapping it reveals buttons for calling or viewing more details about the contact. It’s a subtle change but especially effective coupled with Messages’ new behavior of loading older messages automatically when scrolled to the top.
In group messages, encircled contact photos accompany each message sent to you so they can be more easily differentiated. While not every one of your contacts will have an attached photo, you may feel the urge to add them when you start using iOS 7 (this is made a lot easier with Twitter and Facebook contact integration). Turns out, photos are a lot quicker for discerning who sent a message than having to read a name label (which are still there, by the way, for those of you with contacts who for legal reasons cannot be captured on film).
Until OS X Lion revitalized the OS X Mail app, I considered iOS Mail the best email client in the world. Even after OS X Mail, it comes in at a close second. The simplicity of the thing is profound, and iOS 7 Mail continues that. Borrowing from Mailbox, the much-lauded Gmail app released earlier this year for iOS, you can now swipe a message from the list view and not only find the option to trash it, but also to move it to a folder, mark it as read/unread, or flag it as important or spam.
Another improvement comes from better support for multiple accounts. Previously, in order to drill down into the folder structure of a specific account, you had to back out of the unified inbox, scroll down, and tap into each account individually. With iOS 7, you can customize the display of the main accounts screen and stick their most-used folders to the top. While it doesn’t entirely solve the back, back, back problem that Mail suffers, it helps.
As an app that is presents a lot of content in the form of text to the user, iOS 7’s renewed focus on excellent typography truly shines. It’s a hard thing to communicate with words, but in looking at the screens it’s so obvious that a lot of time was put into getting the sizes, spacing, and line-heights just right for every single display.
The Phone app and the FaceTime app are now two separate apps. Because, uh… Well, remember when Apple split the iPhone’s iPod app into two separate Music and Video apps in order to match how it was done on the iPod touch and iPad? It’s like that. Now there’s a FaceTime app like there is on the iPod touch and iPad. Well, I say it’s like that, but truthfully it isn’t like that at all. Truthfully, it’s just really stupid. Here’s why.
When the iPod app was split into Music and Videos, it made sense. Those are two clearly different things, enjoyed separately and no one has ever gone into the Video app looking to listen to music or, vice versa, gone into the Music to watch Harry Potter. Splitting them into separate containers cut off the relations. FaceTime and Phone, though, those are both methods for calling someone. It makes sense for them to be contained within a single app, for, you know, calling. It gets worse.
The Phone app, as its included in iOS 7, provides all of the functionality that it did in iOS 6. What I’m saying is, you can still initiate FaceTime calls from the Phone app. And your FaceTime call record shows up in the “Recents” tab. So what, you ask, is the purpose of the FaceTime app? It has none. None at all. If you open it, you can see all of your contacts and even initiate voice calls. Yes, you heard right. You can initiate voice calls from the FaceTime app. Admittedly, your recent voice calls don’t show up in the FaceTime app but… wait, hold on, no excuses. This is totally dumb. You’ll remember this is the same Apple that’s included the Contacts app as a separate application to the Phone app on their iPhones for years. What functionality does the Contacts app provide over the contacts tab in Phone (and now FaceTime)? That’s right: none.
(OK, I’m being harsh. The FaceTime app has one cool feature that might explain its existence on the phone entirely. When you open it and browse through your list of recent calls, favorite, or contacts, you’ll notice that behind the list view and blurred is your face, because the background is actually the live image taken from the front-facing camera. Cool, but… ultimately still dumb. And some part of me is nervous whenever I open that app because I feel like that’s a complete waste of resources. It’s the same part of me that unplugs my laptop as soon as it’s done charging even though that isn’t really a problem anymore.)
The Maps app has changed little since last year. When you open it for the first time on iOS 7, it will be plenty familiar to you. The iOS 7 look has been painted on top, the lower right page curl has been replaced by an info button, and (for all of you who were clamoring for it) a full screen mode has been added. That’s fine, though. What’s most important and what’s been most controversial is the data, and from what I can tell, it has improved a lot in the past twelve months. The only way to truly test that is to use it, and use it a lot. Complaints about Apple’s mapping data have become increasingly sparse, so I think it is getting better. That said, I have still note multiple times in the past months when Apple Maps have brought me to the wrong location or, most often, very near the right location but not exactly.
(A few months ago it was reported that Apple had bought the mapping firms Locationary and HopStop. Locationary is a Wikipedia-style location database and HopStop, as many of you know, is a very popular and very good app for transit directions. While neither of these acquisitions made their mark on iOS 7, they show that Apple is dedicated to further improving maps. Having recently moved to New York, I’m looking forward to what the HopStop acquisition can bring to the Apple Maps.)
My favorite bit of skeuomorphic texture in all of iOS was in the navigation functionality added last year in iOS 6. In case you’ve forgotten, your directions were presented to you on beautifully rendered road signs. Those road signs were intricately detailed, right down to the dithered green background. It was entirely appropriate, which is why it worked so well. The metaphor was exact, mimicking the common road sign to present its digital road signs.
So take it with heart when I say that iOS 7’s navigation surpasses it. There’s nothing special about the interface, the toolbars are the same standard elements found across the board. One of Apple’s stated goals with iOS 7 was to deemphasize the interface to put the focus on the content. On a navigation screen, which has so much content (moving map, distance to next waypoint, estimated time to and off arrival, number of miles remaining, and current road) this philosophy is really able to shine.
It isn’t all good news. 7 adds nearly zero new features to navigation, and not because it is feature complete. I’m surprised, because Apple’s navigation is only a year old, that there is so little that’s changed. Improvements should have started the day after iOS 6 shipped. I’m still shocked that we don’t have speed limit information on the display. This isn’t a nice-to-have, it’s a must-have. Once you’ve used a navigation system that incorporates speed limit data into its display, it’s incredibly frustrating to go back.
Both the Photos and Camera apps have been totally redone for iOS 7. Both are, in this writer’s opinion, massive upgrades. Let’s start with the Camera app. Apple has shown since the introduction of the iPhone 4 that they are dedicated to making the iPhone the best camera phone on the planet. They’ve continued that tradition through this year with the recently announced 5S and through iOS 7.
Live filters are perhaps the most exciting addition. Similar to those popularized in Instagram, iOS 7’s filters provide several nice ways to embellish a photograph before, or (and this is the cool part) while the photo is being taken. Live filters can be quickly switched in an out by tapping the filter button in the lower right corner of the screen. After photos have been composed, these filters can even be removed or swapped for another you like better.
Also building off of Instagram hype is the ability to shoot square-framed photographs. This is built right into the new mechanism for switching between shooting modes. Simple swipe across the photo preview to access Video capture, Photo capture, Square capture, or Panorama capture. The rest of the controls will be familiar to anyone who has used an iPhone camera before, though the UI has of course been updated to reflect iOS 7 style.
Photos, which sports one of the more handsome iOS 7 icons, introduces new automatic photo management features. Photos are grouped into “collections” based on time and location, so that all of your photos from your vacation in New Orleans are neatly grouped together. These can be zoomed out to further grouping all the way to year views, and in any of these views tapping and scrubbing over thumbnails presents larger previews of the photos within.
In the “Albums” tab you can find the interface we’re all familiar with: separate albums synced via iPhoto, created on the device itself, and your camera roll. Unfortunately, screenshots are still grouped together with photographs and videos still aren’t synced via Photo Stream. This writer would love to see Apple introduce something a more advanced and cloud-integrated photo management system (he’d even pay for it), but it seems we’ll have to wait at least one more year.
The iPhone has always shipped with a few necessary but simple applications, and over the years Apple’s added more. In iOS 7, all of these received interface refreshes inline with the new design philosophies. As a whole, these apps have been darkened with a focus on black background and white type. They stand in contrast to the majority of other apps, which are general white and light in color and tone. This differentiation serves effectively to denote them as simple utilities. These aren’t the apps you’ll use every day, for any extended amount of time, or because you actively seek them out. But you’ll need them, and they’ll be waiting for you.
The Calculator app receives a visual refresh inline with the other utilities. Darker, more ahem… utilitarian. It looks great, but it hasn’t been given any new features. This may come as a disappointment to users of Soulver, or Calca, or PCalc, but I think for its purpose it is just fine. It’s the default calculator, included because you can’t have a phone without one, and it is meant (though yes, it does contain scientific functions) for simple math that’s a little too complex to do mentally. It’s feature complete; if anything, too complicated.
But iOS 7 does bring one major improvement to Calculator, and that’s through the shortcut to it in Control Center. I’m not sure where the Calculator app is kept on my phone. In a folder somewhere, I’m sure, but I don’t have to think about that anymore. Swipe into Control Center, tap the calculator icon, and it opens, awaiting my calculatory needs. It’s just the sort of feature that benefits from an easily-accessible shortcut. In fact, if Apple removed the calculator app entirely and turned it into a popover accessible via Control Center, I don’t think anyone would complain.
Remember the last time you had fun with a compass? The one and only time was probably the first time you ever used a compass. Back then you couldn’t fathom what was going on, and most likely assumed witchcraft kept the red arrow pointed north. I bet you miss that. Well, Apple’s redone Compass utility may just transport you back (and not just because you don’t know how an electronic compass works). For me, it was certainly the first time I’ve felt delight with a compass in a long time.
The first thing you’ll notice is that calibration as you’ve known it on every single smartphone thus far is out the window. That’s right: next time you pull out your phone to locate true north, you won’t have to shamefully stuff it back into your pocket to avoid the embarrassment of flinging the phone around in a wild eight pattern to calibrate the sensor. In iOS 7, you’re presented with a circle, and it’s your job to turn the circle white by tilting the phone this way and that. It’s like game, and the prize for completion is a functioning compass. It’s brilliant design. Then you might look down and see the familiar page dots, and you’ll wonder, “What’s on page two of a compass?”. I’ll tell you: it’s a level, and it works great. The center displays the current angle of your phone as a comparison to perfectly horizontal or perfectly vertical, and when you get very very close to either of those models, the whole display turns green. I have found way too much joy in playing with it at my desk.
Goodbye Angry Birds, Compass is all I need.
I think we’re all a little surprised that Stocks has stuck around this long. While useful, Stocks isn’t an app that every soul has a use for. On the original iPhone, it made sense for Apple to include little widgety apps because the phone as a whole didn’t do very much. Now, there are plenty of apps for keeping up with the stock market in the store. There’s little reason for Apple to keep around this inessential app as default and unremovable. The app itself has zero new functionality, and even the layout is more or less identical to what we’ve seen in all prior versions of iOS. It is a beautiful, for sure. Perhaps some will find a use for it while they await their favored stock market tracker to become iOS 7-ready.
Live icon. That’s all you need to know. It’s great. Almost entirely useless, but great. Other than that, the Clock app hasn’t changed much. Yes, naturally, the interface is entirely new, and it is one of the more handsome iOS 7 apps. Typography is front and center, with lots of data represented by words and numbers. Interestingly, you can see in the clock’s app one of the few alterations Apple has made to Helvetica Neue: round colons. It’s a tiny thing but it does look nicer than square, at least blown up to this size.
Voice Memos used to be an ugly unintuitive bastard. In iOS 7, it’s now a beautiful unintuitive bastard. It was always difficult to figure out how to switch between your past memos and the recording screen, and the distinction in iOS 7 is even more convoluted.
If I tap an item in my list of memos, the screen slides up to reveal my full list. But how do I get back to the recording screen? Do I swipe down? Tap Edit? Press the record button? It’s apparently the last one, but I really don’t understand why it isn’t a swipe down. When you first launch the app, 3/4 of the screen is dominated by timeline of your next recording (yes, the one you haven’t taken yet), and when you press the record button it begins to fill up. But even after you’ve recorded, there’s no way to swipe through the timeline. To fast forward or rewind or even play your message, you have to tap “Done”, name your new note, and then tap it in the list view and tap play. The entire interface is stupid. It looks great (and it has one of the best looking icons in the entire new set) but at the massive expense of working in any way that you’d expect.
Last year when I reviewed iOS 6, I wrote about Apple’s social network. No, not Ping. Remember Ping, Apple’s failed music-oriented Twitter rip-off that was built into iTunes and used by nobody? Back then, everyone was screaming at Apple to “get social” because they clearly didn’t “get social”. After Ping’s failure, the casual observer would think Apple gave up on “getting social”. Cleverly, Apple has been building a different kind of social network, one that fits entirely into their vertically-oriented business. Instead of a common service, Apple’s network is built on a network of common devices.
In iOS 5 Apple gave us our first dose of social integration when it baked Twitter sharing into any action sheet where it made sense. Facebook and Yelp followed in iOS 6, and this year we’ve got two more: Flickr and Vimeo. The sharesheet gets crowded if you’ve got all of them enabled, but luckily they’ll only appear if you’re logged into them in Settings. These social integrations are the fattest red herring distracting us from Apple’s own social network. Surely a company looking to lock its customers into a network of their own wouldn’t integrate other services. But Apple recognizes that they can’t never disrupt the established players. They’re not so arrogant to think that they can replace Facebook. Ahem.
By integrating these other services deeply into the OS, Apple appeases its customers that use these services, locking those customers into using the Apple device, regardless of which photo sharing service they prefer. I expect these integrations to continue every year. (Maybe with mid-cycle updates as well. With filters and more advanced editing features built in to iOS 7 photos, I’d love to see Instagram sharing built right into the sharesheet.)
But, you say, what about iMessage and FaceTime? Aren’t these cases where Apple entered established markets with their own service? Yes, because Apple identified these markets as ones they could succeed in (and they have).
It started with FaceTime in the iPhone 4. At the time, Apple didn’t know what they were on the path to creating. The strategy of a ‘social network of devices’ probably hadn’t been born yet. Famously on stage at WWDC 2010, Steve Jobs announced that FaceTime would be developed into an open standard. That never happened, and I don’t think it ever will. So why not integrate Skype? Apple likes to own their services, of course, but that doesn’t fit entirely with the strategy I discussed above. The success of FaceTime might honestly have been a happy accident.
A year later, iMessage shipped with iOS 5 and we got a truly disruptive evolution of SMS texting. Chat of course has existed since the IRC boards of old. Apple competes here with Google and Facebook and AOL and a host of others, but because they could integrate the service directly into the Messages app on every single iPhone, Apple knew they could best all the others. In a stunning move, they completely bypassed the carrier’s control of texting, enticing customers with a free and superior service to the expensive world of SMS. This time around, Apple made no illusions of openness. By this point, they’d probably figured out what course they were on. Those of us that latched onto iMessage were locked into iOS devices.
Three years after FaceTime shipped, we now have FaceTime audio. True voice-over-IP telephony service baked into every iPhone sold. Again, Apple is bypassing the carrier’s old lock-in on voice calling without so much as a curt nod. All the iPod touch needs to become a full-fledged smartphone is a cellular data connection.
Last year, Apple introduced shared Photo Streams. While there are many different ways to share photos, they are all specialized in one way or another. 500px is for showcasing your very best shots with a community of professional photographers. Flickr is for discussing your best shots with your friends. Instagram is Twitter for photo sharing. Shared Photo streams fills another niche, by allowing you to share collections of photos with friends and families. You can give the grandparents all the latest pictures of the new baby, or collect all the photos your friends took on the recent trip to New Orleans into one place. It’s similar to Facebook’s photo galleries, but a more dedicated, integrated, and ultimately more social service.
In iOS 7, we see Apple’s biggest social push yet. Featured prominently on every sharesheet is the button for AirDrop. Introduced way back in 2010 in OS X Lion, AirDrop was originally for sharing files quickly between Macs on the same wireless network. Finally in iOS 7 it has come to iPhones and iPads, with basically the same function but between iOS devices. Tap on the button to share a photo or document or webpage (or whatever else), tap a contact, and (once the other user confirms the transaction) the file is on its way.
Bump and the bump rip-off baked into Samsung’s Galaxy phones have provided similar file sharing for awhile, of course, but AirDrop is a much more elegant solution. I really don’t want to have to touch my phone with whoever I’m sharing with. A button works just fine.
Infuriatingly and nonsensically, AirDrop doesn’t work between iOS devices and Macs. When I heard that AirDrop was coming to iOS, I thought it would finally solve the problem of “how do I get this thing to where I want to work on it”. There are many theories for why, including the way in which AirDrop on iOS uses WiFi and Bluetooth for peer-to-peer connections, but I call bullshit. It’s 2013, and I still email myself regularly to get files where I want them. Like an animal. Come on, Apple.
While this isn’t a feature of iOS 7 (at least not yet), Apple did release a beta of iWork for iCloud earlier this summer. Some of you will remember Apple’s previous take on cloud productivity apps with iWork.com, but iWork for iCloud is a new approach. Like Google Docs on steroids, Keynote, Pages, and Numbers documents can now be edited using full-featured and gorgeous web apps. This isn’t the place to elaborate, but they are seriously impressive.
What’s more interesting is the social (or at least sharing) propositions of iWork for iCloud. Apple has promised new versions of iWork for iOS and OS X (both of which are currently long-in-the-tooth) for later this year, and I’d be surprised if they don’t integrate tightly with iWork for iCloud. I envision being able to share and collaborate on iWork documents with anyone else on the web, with changes pushed immediately not only to the web version of a document, but the local versions on all my devices. Collaboration, in real time across the internet, within native applications.
If you’re thinking that sounds a lot like Google Docs, you’d be right. But more or less that’s what I want. Google Docs, but made by Apple so that it is integrated with my native (and superior) apps.
So far Apple’s social network is a rather loose conglomeration of services. At least it seems that way. We must remember though that Apple’s end goal isn’t to lock us into any particular service, as long as the services we are locked into are on Apple devices. As the network continues to be enhanced and come together, we probably won’t notice. It’ll be gradual. As long as Apple continues to build the best devices and the best OS on the market, it won’t matter. The lock-in shouldn’t hurt us, and the integration will be a boon. If we are ever to leave Apple behind, most of our data should be in other services. We’ll just have to find another phone maker that’s built those services in as well as Apple has.
It’s time now, if you’ve made it through all of that, to look behind the curtain at some improvements Apple has made for developers. I haven’t covered everything, but I’ve tried to touch on some of the things I found most important. If you’re a developer, you will know about most of these already. What follows are brief descriptions of API improvements that I believe will really impact what users get out of their phones.
By the time multitasking arrived in iOS 4, users were sorely missing it. Android had been bragging about its ability to stream Pandora in the background for months, and we were jealous. The limited multitasking iOS 4 gave us was a great compromise that kept iPhone battery life the best in the industry and introduced greater usability for third party audio, navigation, and calling.
Three years was a long wait, but Apple’s finally got around to expanding on those multitasking API’s. In a surprising turn, they’ve actually opened them up quite a bit. All of the improvements are good and needed, but somehow they don’t feel like enhancements I ever thought Apple would allow. I can’t really say “good on them” for that, but thank goodness.
First, the big one: background updates. Previously available in limited capacity and only for Newsstand apps, now all applications have the ability to download data when they aren’t running. Developers configure their applications for background updates and set an interval for how quickly after their app leaves the foreground it asks to be updated. This interval can be as long or as short as the developer wishes, however iOS makes no promises to follow it exactly.
iOS 7 smartly coalesces background fetches and aligns them to times when the device is already up and doing something. If the user pulls out his/her phone to check the time, iOS will need to start up and in that time it will wake up third party apps that have requested background time. This method minimizes battery drain in a system that, left unchecked (in say… Android) would mutilate battery hours. When a device’s battery is low, updates are further apart, as the OS works to keep the device going for as long as possible.
In an attempt to be even smarter about it, iOS 7 will attempt to learn the habits of the user. If you wake up every morning and open the Weather app, iOS will soon start to allow Weather to update in the background right before it expects you to open it. In practice, this might not be effective but for a couple uses. I open Reeder, Twitterific, and Felix at about 7:00 every morning, so I expect iOS to start updating those a few minutes before 7. Beyond mornings, my use is sporadic and I expect that’s true for most users. Still, it’s valiant of Apple to put such effort behind backgrounding to get it to eek the least juice possible while still giving developers powerful API’s.
If an app does manage to go rogue, force-quitting from the App Switcher will remove an app’s ability to get refreshed in the background, at least until is relaunched. Additionally, there’s a new page in Settings that allows the user to toggle background app refreshes on and off individually for each app that’s requested it.
Background refreshes will be notes in the App Switcher. This is handy for Twitter and email applications and the like, presumably because users will see the new content loaded into them when flicking through the App Switcher. This feature is accomplished by having the app create a new snapshot whenever it finished a background refresh. For saved-state apps, this snapshot becomes the new screenshots seen in App Switcher. (This is the same snapshot that saved-state apps will briefly flash when they are reopened, before they can show the live screen.)
With background fetch, Apple has given a lot more freedom than developers have come to expect from multitasking API’s. That’s good and bad. Good, because good developers will be able to utilize it and our feed readers, ADN clients, and Instapapers will be much better apps. Bad, because it’ll be easy for bad developer to abuse it. That’s mostly good, I think, and Apple’s done a lot to keep it from getting out of hand.
The second new multitasking API in iOS 7 is an enhancement of the veritable push notification: Remote Notifications. In fact, they aren’t entirely new. Newsstand apps have had access to a very similar API for almost two years, but in iOS 7 access has been granted to all.
Previously, push notifications were siloed and solitary. Developers could send them to devices but that was about it. When a user swiped a new notification from their lock screen, the developer’s app would open and only then would the new content load. iOS 7 reorders the process.
Now, a developer can optionally have their app hold the new push notification until the new content is loaded. If a Twitter app, for example, receives a push notification that its user has been @mentioned, the app can load that new tweet before sending the notification on to the user. This way, when the user taps or swipes the notification and the app opens, the tweet they were mentioned in is waiting for them.
A second form of these notifications is the “silent” notification. These skip the step of notifying the user. iOS received a push notification from the developer’s server and wakes up the app to deliver the message. The app is given a few seconds to run in the background, on the pretense that the push notification most likely contains instructions to start a download of some content.
Silent notifications are rate limited. Whereas visible notifications are expected to be controlled by the user (if a user finds an app is over-notifying, he/she can easily turn off or limit them), silent notifications will be invisible to the user and so the OS takes it upon itself to set the number that come through.
Developers aren’t limited by the number of silent notifications they can send to a user, however Apple’s push servers will stop apps attempting to send what it sees as too many (Apple says 1 or 2 per hour is OK), hold on to the notifications, and then send them in batches at a rate it sees fit. If the content being called via silent notifications is critical, it’s advisable that developers limit themselves so as to not run into these inhibitions.
You’ll have noticed that silent notifications and background fetch serve the same purpose: updating an app’s content without the user’s knowledge or intent. They both have their advantages, though. Silent notifications work best for content that is critical or sporadic. If your app doesn’t know exactly when its content will be updates (with say, email), a silent notification works best because it will notify the app as close as possible to when new content is made availalble, and it will only wake up the app to download content when new content is available. Contrasted, Background Fetch works best for content that is updated at regulary intervals or very frequently. Twitter streams, for example, will be best updated with Background Fetch since new content will be arriving constantly and the app can retrieve it in batches. (Twitter mentions and DM would fit into the silent category, though, as mentioned earlier.)
The third and final new multitasking API in iOS 7 is meant for large file transfers, and that’s Background Transfer. Background Transfer is one universal download/upload queue for all third party apps.
In the past, apps were afforded about 10 minutes after they left the foreground to complete and upload or download operations, and these were managed by the app itself. iOS 7 removes this time limit and shifts management to the OS. If an app needs content uploaded or downloaded, it enqueues it using the Background Transfer API and iOS handles the rest, delivering the content (or receipt of upload) when it’s done.
Transfers can be unqueued from the foreground or the background, and therein lies Background Transfer’s biggest limitation: a subset of transfers are labeled “discretionary”, which means they will only be downloaded over WiFI. While transfers initiated by a foreground app can optionall be tagged discretionary, all background enqueues are labeled discretionary. It would make more sense for the deference to WiFi being owed to the size of a download/upload, or perhaps to restrict each app to 50 MB per day or week of cellular data use.
Since iOS is managing the entire queue, updates can be coalesced for performance. iOS will minimize the energy hit by performing updates simultaneously and when the device is already awake and performing some other task. This does introduce a further limitation of these API’s, though it’s one that I think developers will have to live with: there’s no guarantee that new content will be available in any expected timeframe. This is simply a side effect of Apple’s efforts to reduce battery drain, and I don’t expect it to change in the foreseeable future.
The old background task API is still around, and can still be useful for applications that need to complete one last save or modification on a task when they unexpectedly leave the foreground. However, the time limit on task completion has been reduced drastically to only a few seconds. It it therefore necessary for developers to switch all of their big transfers over to the new system and limit the use of task completion to only the very quickest of “finishing up” tasks.
It’ll benefit all apps on a given system if developers do their best to optimize their background tasks. The fewer resources used, the more resources available for all to use. Apple thinks they’ve done their part in this bargain, but it’ll still be on developers to ensure these new API’s are implemented correctly and used responsibly. Note that that doesn’t necessitate very limited use; just be smart about.
Since more apps than ever will be allowed to run full-fledge in the background, it’s wise to revisit some general advise. The responsible developer will ensure that unnecessary parts of their app (say, the rendering engine in a game) are turned off in the background. They’ll minimize the amount of IO and the number of transfers needed by coalescing beyond what Apple can control. Apple seems to finally be ceding to the demands of developers here, and it’d be wise not to abuse what they’ve given us.
There’s also a toggle in Settings (and eventually an API to check the status of this setting) to allow the user to turn off background refresh for any app they wish. Use these API’s irresponsibly and expect to see your background privileges stripped.
One more thing on backgrounding, and it’s a small one. The snapshot, the screenshot that is stored when an app enters the background, is now being used a lot more frequently. When a saved-state app is reopened, instead of the
default.png iOS will load the snapshot. This provides a much less jarring and more seamless flow into using an app that is no longer running in the background but has saved its position for you for next time.
Text Kit is a new API layer built on top of Core Text. Core Text, as some of know, is a powerful but complicated API layer. Excepting only the most enterprising developers, access to the Core Text API’s used to be filtered through WebKit. In previous versions of iOS, UIWebView was a developer’s best option for building an interface with beautiful typography. 7 deprecates those techniques, with all rendered text converted to Text Kit.
If we go back to iOS 7’s core philosophies, you’ll remember that one of them is typography. Since the original Macintosh, typography has been essentially important to Apple. Text Kit advances that by providing tools that allow developers to easily create layouts with beautiful typography. The important decisions that go into typesetting have been made for developers, and knowledge of typography is no longer an essential skill.
Text can now easily be placed in columns and paginated. Rich text support is now integrated at the API level, available for all applications to read and write. The developer now has finite control over the break points when text is truncated. These are complicated issues, but so ubiquitous that it makes sense for implementation to be handled at the OS level. Less ubiquitous but cool: wrapping text around arbitrary shapes (think about the demo Apple loves to show with every new release of Pages) is now accomplished with only a few lines of text. The ease of use with which advanced techniques can now be implemented will surely push the standard for third party app typography.
My favorite addition: kerning and ligatures is now system wide and on by default. These tiny details are clearly the “right” thing to do but aren’t for all intents and purposes “necessary”. It’s not something the user will see. It’s the piece of wood on the back of the dresser. Few will notice, but if you have any passion for your work, you can’t be satisfied with it any other way.
By far the most exciting aspect of Text Kit is Dynamic Type. Remember how I said typographic decisions are now handled by Apple? This is how developers utilize Apple’s expertise.
Dynamic Type provides a series of professionally-designed, hand-tuned, and optimized type styles. These styles have been tweaked to look great for every font and font size built into the OS. Each includes styles for body text, headings, subheadings, footers, and captions. These styles are easily applied to any string of text via a drop down menu in Interface Builder.
Choosing different typefaces is trivial, requiring only a single call compared to the several needed to build new typefaces in iOS 6. With Symbolic Traits, developers can select bold or italic variations of a font or adjust line- and letter- spacing. Even though Apple has made a lot of decisions in Text Kit, control is ultimately up to the developer, if he/she wants to assume the role.
The “dynamic” part of Dynamic Type comes into play with a font size slider in Settings. Adjusting it adjusts the font size of all apps utilizing Dynamic Type. This includes all of Apple’s built-in applications, which have all been rewritten to utilize Type Kit and Dynamic Type. Developers will have to explicitly support this this aspect of Dynamic Type (called “preferredContentSizeChanged”). It’s easy, though, and because users will quickly begin to expect support in all of the apps they use, I predict most app developers will quickly get on board.
Dynamic Type in many situations will eliminate the need for app developers to support changing the default font size in their apps. While apps meant for reading (Kindle, Instapaper) might want to keep these around, RSS and email applications will be able to remove these settings that can clutter their UI. Apple has recognized a control that most apps need and implemented it through a systemwide setting, which I think is much better. It’s consistent.
In all likelihood, that hook won’t be necessary. Dynamic Type is such an enormous advancement in application typography that I expect every application that uses type (basically every app that isn’t a game) to implement it.
iCloud took a lot of shit last year, most of it warranted. Apple would have had you believe that iCloud was the future of file systems. Unlike Maps, their PR campaign for iCloud never shifted from “it’s amazing” and “it just works”, even though it wasn’t and didn’t. Which is remarkable, because iCloud has been a much bigger failure than Maps. The key difference being the domain of the failure. Maps failed for end users, iCloud failed for developers. The end user aspects (email, mostly) have worked pretty well, but the developer API’s have been neglected. Apple treats their developers well, but ultimately end users are more important for their business.
So while I hesitate to label anything “what is should have been a year ago”, with iCloud, I’m just hoping that it is what it should have been a year ago (or even two). The message to developers has been that it is, and that developers who’ve been burned in the past should try again. But who knows. Who knows if developers will want to, and only if they do will we find out if Apple’s improvements to iCloud live up to their claims.
Apple’s big push with Core Data this years is that they’ve drastically reduced the work developers must do to integrate its API’s into their apps. Previously, Core Data provided little more than a synced datastore, tied to each iCloud account and walled off for each app to use in its sandbox. Going forward, new API’s will enable Core Data to take on a lot more.
The iCloud API’s will now handle the fallback datastore, or the local copy of a user’s app data that is used before a connection to iCloud is established, or when it is entirely unavailable. It was previously up to the developer to create and store this local copy, and then to handle the tradeoff and application of changes when the iCloud connection is established. In iOS 7, the fallback store and iCloud store look almost identical to the app, and both the store of the local copy and tradeoff will be handled by iCloud.
iCloud will now handle multiple accounts and account switching. Apple used to provide little guidance on what app developers should do if the device’s iCloud account is deleted or changed. Going forward, this swap will be handled by iCloud. When iCloud sees that the account has changed, it will publish any local changes from the old account to iCloud, delete the old account’s persistent store from the device, and swap in the store for the new account.
For a bit of perspective, it was only 11 months ago that Tim Cook fired Scott Forstall. In less than a year, Jony Ive and Craig Federighi’s design and development teams have totally reshaped iOS, in appearance and vision. It would have been a heck of a lot easier for them to slap the new features and API’s onto iOS 6 and call it a day, to shelve the interface replacement for just one more year.
In many ways iOS 7 is the first thing post-Steve Jobs Apple has done that Steve Jobs wouldn’t have done. Now, I have a lot of personal regard for Steve, so make of this what you will. But I honestly believe that, had Steve Jobs been able to see iOS 7, he would have recognized how much better it is. Or, more likely, he’d have cursed the designers out the room and come back the next day claiming it was his idea all along.
UPDATE: Modern Vampires of the City is available for preorder on iTunes, and you’ll receive “Diane Young” right away (no joy for “Step”).