My WWDC 2017 Wish List

WWDC Keynote is tomorrow.  Keen to see what gets announced.  I’m always a bit perplexed at announcements of things like Apple Music at these events, since they don’t really put money in developers’ pockets.   Hardware announcements are somewhat more relevant, though not always.  However, the ecosystem is important, and Apple has opened up so much of it lately, which gives developers new venues (tvOS, iMessage), and helps Apple increase their services revenue.  That’s what I want to hear about, along with more information on what is possible with Apple’s tools and SDK.

Stuff I’d like to see:

  1. An expansion of tvOS to include a class of screensaver apps — I have app ideas that would work better as screensavers than apps that the user explicitly launches.  If you want Apple TV to be a hub, then you need to support it as such with features like alarms that wake it up and launch specific apps, the ability to designate apps as a screensaver.  I’d like my Apple TV to launch in the morning, perhaps playing an Apple Music playlist, or an app I’ve purchased that shows weather, traffic, or other stuff.
  2. Apple’s developer support really needs further expansion — I’d like to see more developer outreach via the Apple Store locations around the world. WWDC is inaccessible to most, so using the stores to help developers would be a big win, and help developers network and raise the level of software produced.  
  3. iOS for iPad really needs more features that focus on making tablet apps.  Split screen mode and picture in picture are great starts,  but I’d like to see some more really well thought out interfaces like the original Split Screen View Controller.  In particular, I think there’s a need for more dashboard-type apps on the tablet.   The big killer tablet app is still waiting to be released.
  4. Apple’s position has always been that apps should be so intuitive that the user can easily figure them out without a lot of special prompting or help.  This made sense in the early days, but now so many people use their mobile devices (especially tablets) to run fairly complex applications.  I’d like to see an on-boarding library added to iOS that implements tutorials, tool tips, etc. in a consistent way rather than having each developer cook up their own.
  5. I’d like to see some explicit support in Xcode for setting up and using test environments, staging environments, etc.  Every development house ends up implementing this in weird ways, and many of them end up leaving back doors in their code that could compromise user security.
  6. Xcode has a few application templates for setting up certain application types — I’d like to see more of them.
  7. I’d like to see an API for the services that comprise iTunes, especially the store, and a business model that would incentivize people to build specialty storefronts around the iTunes Store content.  For example, a movie store app for people who love horror films, or a jazz-focused app. This would be a great way to monetize an iBook or Newsstand app, as well as other types of apps.
  8. If you’re going to announce an Alexa type device,  can you make it one with a FaceTime camera that can be swiveled, so I can have a conversation with friends while working in the kitchen?  Or at least support FaceTime audio.   
  9. I want to be able to rent a video from my iPhone or Apple Watch and have it downloaded to my Apple TV while I’m at work or driving home.  I’d also like to be able to access these APIs as a developer, this would be great for workout apps, among other things.
  10. I’d really like some control over video rentals — my local network sometimes is too congested for streaming, so I’d like to be able to download some content.  There’s lots of storage on the AppleTV, but I have no idea how it’s used, or even if it is used.  Apple thinks that you shouldn’t have to care where the movie is, but in reality, not everyone has great consistent broadband, especially if you live in a city with a lot of apartments that can tax WiFi spectrum and Cable or telco bandwidth.
  11. I think it’s time for Apple to open up APIs for how iCloud photo sharing works — I find it hard to understand which photos from which devices I should be able to see where.  They should fix their own apps, but someone would make a lot of money on an app that makes this easy for users.
  12. I’d like to see more discussion of innovative apps and what’s under the hood.  Part of Apple’s role in WWDC is to show people what is possible with their SDK, and they could go farther towards that end.

 

New Apple App Store Rules

Daring Fireball has a piece today announcing changes to Apple’s App Store.    Apparently there is so much to be announced at WWDC that they didn’t have time to discuss this in the keynote.

Apple has been quietly changing the App Store under the hood for a while — approval times are now dramatically lower, and the tools for submission and management of apps have been actively changing for months.   I personally have noticed changes to the iTunes Connect user interface and features, sometimes in the middle of a day.

Their major change is long overdue, and will help make independent development more viable.  The main feature is the expansion of subscription pricing to a wider range of apps, and support for different tiers of subscriptions.  The system will make it possible to offer trail versions, for one thing, and the revenue split on subscription apps will be 85/15 for subscriptions over a year old.

In addition, there will be the ability to pay for ad placement in search results.  This, of course, will benefit large publishers a lot, but it also helps even the playing field for indie apps.

It’s always been challenging to make a living from an independent app on the App Store.  The ‘pay once’ model has made it tough for developers to set a price and build a sustainable business — raising the potential revenue per customer makes it possible to build a high quality app and keep improving it over time.

 

 

Digesting the new Apple Announcements

Was on my way back from Burning Man when the latest Apple announcements came out. The iPad Pro plus Apple Pencil combination looks like it will give Wacom some heartburn. The larger form factor of the iPad Pro combined with the 3D touch should enable some new forms of interaction; it will be interesting to see what developers do with this, but it’s going to take a while before the ecosystem gets comfortable.

Same goes with WatchOS 2.0 and the new tvOS. That’s a lot of stuff for devs to embrace, especially when they are scrambling to prepare for the iOS 9 release. I know I have a lot of woodshedding to do, including an update to iBuddha for iOS 8 compatibility, and perhaps an iBuddha for Apple Watch.

I don’t think the expansion of the ecosystem is a bad thing at all, and it’s likely to weed out a lot of casual hobbyist developers. The companies most able to take advantage of this explosion of alternatives will be bigger companies, but that also creates an opportunity for someone to provide smaller developers with tools for building apps that can run appropriately across all the platforms. Games are going to go crazy on the new Apple TV, especially if you can handoff from your iPhone or iPod. These announcements are the fruit of the Handoff work that was done in Yosemite; Apple is playing a long game, and it’s not obvious how any one move is supposed to stack up.

More when I’ve had a chance to digest the announcements further and look at docs on the new OS offerings.

Mobile Links for week ending April 5, 2014

An analysis of apps in the Apple App store by price, ratings, etc. Some interesting insights, including that 60% of the apps in the app store have no ratings.

WWDC 2014 tickets will be offered via a lottery You have until 10am PDT April 7 to register for a chance to attend, and people will be notified that evening. Given the limited size of the conference, which has maxed out at 5000 attendees to maintain a 5 attendees-per-Apple-engineer ratio, this is my first chance to go in years.

This analysis of Apple’s Arm processor micro architecture suggests that there is a lot of untapped power that iOS apps aren’t using yet.

This new tool provides a quick way to generate code to animate iOS transitions.

With Amazon’s new Fire TV and a rumored new offering from Google soon, this may very well be the year that iOS apps move to the Apple TV. The LA Times compares the current crop of TV boxes here.

Clearly the streaming media race is heating up: Amazon is rumored to be going after Spotify with a new streaming subscription service soon.

Speaking of Spotify, their newest version on iOS is beautifully designed, and very in-line with the iOS 7 aesthetic, with a content-forward look-and-feel. I haven’t had time to completely explore it, but really like what I see so far.

Microsoft has announced Cortana, their answer to Siri and Google Now. While the reference to the character from Halo probably resonates with the Xbox crowd, it seems like an obscure choice to pick for an already underdog mobile platform. I had no idea who Cortana was myself, having never played Halo. The interesting thing about the feature is that it’s powered by Bing — this may be the time for Bing to actually shine, the Bing team has some great technology that has been largely ignored, but maybe mobile is the right venue.
.

How to turn off iOS autolayout for iOS5 compatibility.

Got caught by one of the gotchas in keeping things compatible between iOS6 and iOS5 devices.

While both iOS5 and iOS6 support UI Storyboarding (you have to forego this feature if you want your app to run on iOS 4.0 as well),  iOS 5 does not support the new auto layout feature in iOS 6.   Autolayout (which I hope to talk more about soon) has some very powerful features for making sure your screen layout works in different orientations, on the taller iPhone 6 screen, etc.

If you try running a program with autolayout enabled, iOS 5 will crash your app, as the OS doesn’t recognize the UIConstraint selectors needed to draw the screen.  This is also a backward compatibility issue on Mac OS X — Lion uses autolayout, but Snow Leopard doesn’t.

Turns out, however, that when you create a new project in Xcode 4.3 and up,  autolayout is enabled by default.  However, there is a setting that lets you turn that off.

This site has a good tutorial of what to do, complete with screenshots.

This is one of the issues iOS (and Android, for that matter) developers constantly have to think about — which new features do I use, and which do I have to forgo in order to support older devices?   In my case, I will be running this program eventually on an iPad, and my 1st gen iPad is stuck at 5.1, so no autolayout on this project.

Thoughts about the iOS lockscreen.

Brent Caswell has an interesting proposal for enhancing iOS’ lock screen making the rounds (via Gruber and Dalrymple) today.

It looks very consistent, but seems a bit fiddly. The minute you have more than one of these lockscreen cards, you have too much swiping and too many decisions to make, and this before you unlock your phone. It’s certainly not the ‘glance and go’ promised by Windows Phone.

It’s going to be hard to change the iOS lockscreen after 5 years, it’s become iconic to the brand, so Apple is going to be very cautious. I could see them doing something like this precisely because it doesn’t change the screen. I feel if you have to do anything more than wake the phone up, you’ve failed.

I can get the time at a glance. Anything more than that, and I’m wrapping my car around a tree. That’s my use case for information on the lockscreen. Windows Phone moves more in the right direction, but their asthetic choice of the Metro look makes it harder to pick out information. It’s like having 5 red and white parking signs on the same pole. Each have similar visual weight, and you end up paying too much attention to the phone. Android Live Wallpapers seem too heavy in both information and processing.

A passively scrolling version of the above proposal might work, as long as bites of information transition quickly enough that you aren’t looking at your phone for a long time and the content requires minimal reading. And you probably shouldn’t have more than 2 of these screens alternating, or you will be looking at the phone for too long. The key is that you are getting the information passively — if you need to interact, you should probably unlock the phone.

It’s all about meeting the ‘don’t die in traffic’ test.