WWDC Wishlist 2018

With Apple's annual World Wide Developers Conference (WWDC) just around the corner I thought I'd take a moment to do a little wish-casting, and list a few things I'd like to see Apple announce and roll out later this year.

2F8C8A9F-A484-4D6D-88E0-F5BA2F2DAB8E.JPEG

General

Developer-Apple App Store split

There's been a lot of talk around this recently, especially after the newly formed Developers Union stated it as the next item on their agena after free trials for paid apps, and like many who are trying to make their living from the app store I'd also like to see developer's share of the proceeds be increased somewhat from the 70% status quo. The move to 85% for subscriptions after the first year, introduced in 2016, was a good first step in this direction. I'm not sure what a fair figure is, but hopefully Apple sees fit to make a few changes to help devs, at least those at the lower end of the revenue scale.

Improved Swift Handling in Xcode

A common complaint is that Xcode's performance is considerably worse when writing a project in Swift than the equivalent is in Objective-C. It was true when Swift first launched and is still true today (although to be fair, it is leaps and bounds better than it was in those early days). I like Swift (not that I disliked Objective-C, gasp I know :P) and have finally embraced it as the language I'll be using for any new work, and I'd love to see Apple double their efforts in bringing their dev tools up to speed.

iOS 12

Lockscreen Complications

I don't know what the odds of this one are but now having spent a few weeks with an Apple Watch I've come to love the platform's complications - the tiny customisable views that sit alongside the time on the watchface - that provide very accessible, gancable information. While arguably less useful on the phone, I still think something similar would be very handy on iOS' lockscreen.

Live App Icons

This is an ancient request that will never happen, but wouldn't it be cool if, like in the complication idea above, apps (with user permission of course) could periodically update their icons to display useful information? Like the built-in Clock, Calendar and Weather apps do already. I understand why Apple hasn't opened up this Pandora's box as it has the potential to overwhelm the user, I think approached in the right way (a limited templating system perhaps?) it would be an awesome addition.

PIP on iPhone

The iPad has has picture-in-picture for years now, and while I can somewhat understand with screen real estate being more of a premium why it perhaps wasn't an obvious feature for the phone initially, the number of times I've wished it was there is ridiculous and I'd use the heck out of it if Apple could find a way.

Notifications Management

When compared to what is offered by even remotely recent releases of Android, iOS' notification handling is a bit of a joke. Having barely changed since the platform's inception over 10 years ago, notifications come in and are presented to the user chronologically. Beyond being able to enable or disable at an app level there is very little in place to help triage, group or prioritise the vast number of notifications that come in on a daily basis. This needs to change. At this point I don't care whether Apple outright copies Android or does things differently but it's past time that more tools for notification management were available on the "most advanced mobile operating system", as Apple has often claimed. However, given they've been absent this long I'm not holding my breath.

watchOS 5

Apple Watch Improvements

Having only very recently got myself an Apple Watch - with the novelty factor not yet worn off - I'm new to realising the potential power of this little platform. I say potential because while the hardware is excellent and very capable for something that can be strapped to one's wrist, the software in places lets it down. To be clear, the built-in in functionality is good and reliable (and reason enough for the watch to exist) but third-party apps are lacking, and seemingly fewer now than they once were. Having spent the last few weeks building my own little transit app (mainly for myself, but it may see the light of day at some point in the future) I've realised what a frustrating experience it can be, explaining the shortage of quality apps. The APIs are mostly well-thought through but are limited, not always reliable, and in parts poorly documented. The debugging process isn't any better, between things working differently on the simulator and the real device and the slow and flasky connection to physical hardware it can be rather painful. In short I'd like to see the good ideas in watchOS 4 tightened up with a focus on making existing frameworks rock-solid and the development experience as a whole a little more tolerable. Some choice new APIs would be nice also, to give devs just a little more power and freedom to make useful watch software.

macOS 10.14

Continued Development for macOS

This is low bar for the Mac, but it is already wonderful and very capable platform, and I honestly can't think of too much it needs. A new UI framework more in line with iOS' UIKit, as has been rumoured, would be nice. The addition of HomeKit would seem sensible, for platform consistency if nothing else. I love the Mac, and I hope Apple makes some solid under-the-hood improvements but really any sign of active development will probably be okay with me.

tvOS 12

Mentioned for Completeness

The Apple TV is a good product, and while apps may once have been heralded as the future more content is really what the platform needs. It will be interested to see what, if anything, in regards to tvOS will mentioned in the keynote on Monday.

Samsung Launches Galaxy S9 with Variable Aperture Camera

While Nokia may have had patents and the potential to bring variable aperture technology to smartphone cameras years ago — back when the Lumia brand was gaining traction and Windows Phone still had a future — it is Samsung that has finally made it a reality with the launch of their newest flagship, the Galaxy S9.

Touting the ability to capture photos at both f/2.4 and f/1.5 apertures Samsung's latest should have a significant advantage over rivals when it comes to shooting low-light scenes. For the uninitiated, the aperture refers to the hole at the front of the lens in which light enters and the f number or stop describes the size of the opening. In general, a lower stop is preferred for low-light photography as it allows more of the limited photons to enter the camera and in turn results in better, brighter images. Higher stops, meanwhile, are used for well-lit situations, as restricting some of the ample light results in greater sharpness and detail. The S9 will intelligently switch between the two apertures by activating its physical shutter mechanism and selecting the best mode of the scene it's presented with.

s9Aperture.png

Having just two apertures to work with may sound unimpressive, especially when compared to dedicated cameras that have had far more stops as standard since the late 1800s, but this is a first for such a miniaturised module and doubtless only the beginning. I firmly subscribe to the sentiment that the best camera being the one you have on you, and as such am always excited to the advancements smartphone manufactures continue to bring to the table. I eagerly await the early reviews, which should start dropping ahead of the device's release on March 16, to see if Samsung can dethrone Google's Pixel 2 as the phone with the best optics.

iPhone X

As early reviews for the iPhone X start to roll out — seemingly with most of the press having had less than 24 hours with the new device — it is hopefully becoming more apparent to the general population just how much work developers will need to do to support the new form factor.

I have recently been spending some time updating my own apps for the "eared" screen of the X, and while Apple’s related APIs are very good there are significant challenges not just in dealing with the notch but also the very rounded corners and – I think most significantly – the home indicator at the bottom, which replaces the iconic home button of iPhones past. As easy as it is to move lower controls out of the way of this small, constant line, doing so while maintaining an aesthetically pleasing design can be far from simple, depending on the app.

iPhoneX.png

Many very popular apps have yet to be updated, the result being either that run floating, banded by black at the top and bottom in a familiar-sized centre rectangle or – perhaps of more concern to early-adopters – fill the screen in unintended ways that look broken and in some cases are.

The updates coming in the next weeks will understandably focus on basic compatibility with iPhone X; ensuring apps fill the screen inoffensively and behave as intended. While the potential innovative uses for the new found real-estate won't be realised for months to come, the X certainly has injected a healthy dose of enthusiasm back in to the iOS community and I'm looking forward to seeing what my fellow developers and I can come up with.

If you're looking for a good iPhone X review try Matthew Panzarino's one over at TechCrunch, he's had his review unit longer than most.

Smart Cylinders Finally Coming to Aussie Shores

A couple of weeks ago at the WWDC keynote Apple announced, among many other things, the HomePod; a smart virtual assistant box designed to become a permanent fixture in your home, to which commands can be spoken. In a move likely aimed at taking on the Google Home and Amazon's Echo, two very similar products already on the market.

homePodTransparent.png

The HomePod will come equiped with Siri, Apple's well-known virtual assistant. However, given the impressive competition Apple is positioning this device more as a high-quality speaker, for those that wish to fill their homes with music, rather than Siri for your house. A clever move and a clear selling point over the other smart boxes.

Another advantage the product may have, come its final release in Decemember, is its availbility in Australia. While massive brands, Amazon and Google often ignore markets outside their native US, and are currently doing so with their virtual assistant hardware offerings. It will be interesting to see if either company decides to step up their game and beat Apple to the punch down under, before year's end.

Update July 20
Google Home has officially gone on sale in Aus, managing the beat the Homepod to market by several months. Well done Google.

New Apple Podcasts Spec Coming with iOS 11

Today, at one of the last sessions of WWDC 2017, Apple outlined some big changes to their podcast specification. This spec sits atop RSS and defines the format for delivering content that, for the most part, all podcasters follow and all podcatchers use to consume feeds.

The new changes are aimed at helping creators of seasonal and serialised content better express how their shows should be listened to. With the addition of podcast type and season fields, these podcasts can now be treated differently from their standard episodic counterparts. For example, come iOS 11 new subscribers within Apple's own podcast app will be guided towards the first episode of a run, and not simply the most recent episode overall.

Another welcome addition is the episode field, which means that episodes can easily define a title and episode number without jamming both in together. Episodes can also now be marked as being trailers or bonus content, which should make it easier for creators to promote their shows and provide extra value, without distracting from their main feed.

Apple Podcasts Analytics

Another huge announcement was the addition of podcasts analytics coming later this year. While details around this new feature are scarce, this will give podcasters a better insight into how their content is being consumed, at least through iTunes and Apple's podcast app. Traditionally, podcast creators have relied on download numbers to get an idea of how their show is performing, but with statistics from Apple they will be able to view actual play numbers as well as things like average time listened per subscriber, abandonment point and completion percentage. While more data is often a positive thing, advertisers will likely start expecting to review this information before sponsoring a show, so hopefully this doesn't end up having a negative effect on the industry.

I hope to incorporate some of these changes into the feed of Tangential Soup, the podcast I cohost, in the not too distant future. However, as it's hosted by Squarespace it's really just a wait and see if they decide to adopt the updated spec in a timely manner. It's interesting to note they aren't on Apple's list of podcast partners, unlike the other popular hosts: Blubrry, Libsyn and Soundcloud.

Windows 10 S

Microsoft last week unveiled a new version of their predominant desktop operating system. Windows 10 S is being billed as a boon for students but is really a fascinating product outside of education and may have wide spread ramifications for the desktop software industry.

The "S" in this new variant's name presumably stands for "school" or "secure" and not "speed" as the tech industry typically reaches for, however, "simplified" would perhaps be more appropriate. Unlike the days gone by, Windows is no longer just Windows. Windows 10 S is a locked down version that lacks the ability to choose default browsers and search engines and, most significantly, the ability to install traditional applications outside the Windows app store.

Windows 10 S

It's interesting to note that, at least for the time being, the folk in Redmond are making it an easy process to switch devices away from S to the more powerful and open Windows 10 Pro. In a move likely aimed at curtailing any backlash from the savvy tech media. It is easy though to see these two editions continuing to diverge, potentially even to the point of no longer being possible to swap between them.

While right now the market share of this new OS is zero, as it grows it will be interesting to see how Windows developers big and small respond to this introduced limitation. Should Windows 10 S start gaining significant traction it could lead to a fragmentation of the software market, however, that might end up being a win for those looking for powerful but not overly complicated applications and the stagnating Windows app store.

It is hard to imagine the Adobes of the world will start bringing their professional applications to Microsoft's store, especially as they have begun finding more success with subscription models. Perhaps though this segment of the market might be addressed in other ways, such as offering cut-down versions of applications that are suited to students starting out and hobbyists alike.

Adobe already do this with Photoshop Express, a lightweight variant of the image editor. Might we see Illustrator, Premiere and tho rest of the creative suite be expressified? Or will Adobe and others simply ignore this new development and potentially destine Windows 10 S to the same fate as the now retired RT?

iTunes Connect App Analytics

At WWDC last year Apple told developers that they’d soon have access to analytics for their apps. On the eve of the 2015 conference the folks in Cupertino have finally made good on that promise, albeit in beta form.

While analytics for applications if far from a new concept, the options on Apple’s platforms have up until now all involved embedding third party libraries at build time and being willing to share your app’s data with the company providing that solution. For both of these reasons the team and I at Armchair Engineering decided not to pursue any of these alternatives, and instead wait and hope Apple would eventually deliver some means of gaining a greater insight into how one’s apps are performing. 

Perhaps the best thing about the new analytics package is that not a single line of code is required to enable it, it just works. Upon launching the new dashboard you’ll be greeted with a colourful and graphic-rich overview of your app’s performance. 

AppAnalyticsScreenshot2

The data here goes well beyond the standard download and revenue numbers iTunes connect has always offered, providing figures relating to conversion, retention and engagement. The latter probably being the most immediately interesting to a small operation such as ours; its always nice seeing your software finding a place in people’s lives and isn’t simply being deleted moments after installation. Although, as we move forward the conversion information will go a long way to understanding where new customers are coming from and helping to identify areas that can be improved.

One drawback that is probably worth mentioning is that many of these important figures are collected only from devices running  iOS 8 and from those users who have opted-in to share their data with app developers during the initial setup of their device (or potentially, although far less likely found and enabled this option in settings - Settings > Privacy > Diagnostics & Usage > Share With App Developers). The good news though is that despite this the number of users who have done this seems to be surprisingly good. For Temperature Converter (the app associated with the data in the screengrab above), Apple reports that in the last 30 days 22 % of users have in fact agreed to share their data. While this number isn’t quite as good for all of our apps, varying between 15 and 25 percent, there’s still plenty of data to be relevant and potentially very useful.

iOS 8 and Translucent Input Views

As we know the visual style of Apple's mobile OS changed significantly with the introduction of iOS 7, and like most developers the team and I at Armchair Engineering made a concerted effort to update our applications to reflect this new direction. Many of our apps make use of custom input views to provide a nicer numerical keyboard than the default offering, to refresh these we decided to make the number pad partially transparent, taking the lead of the standard system keyboard. 

Both UITextField and UITextView have supported custom input views since iOS 3.2 and implementing them is really dead simple, even with a translucent background. That was until iOS 8 came along, which for whatever reason introduced a solid grey view underneath all custom input views and, as you can see from the screenshot below, completely ruined the semi-transparent effect we were going for.

 Fraction Help screenshot - Before (left) and after fix (right) 

Fraction Help screenshot - Before (left) and after fix (right) 

The first solution we tried was to walk through the view hierarchy, find and alter the opacity of the offending view (UIKBInputBackdropView). While this approach does work, the keyboard is redrawn every time it appears and we often saw a short glimpse of grey each time before being able to hide that pesky backing view, which looked a little too sloppy for us to persist with long.

Both UITextField and UITextView also have an inputAccessoryView property, which is used to place an additional view atop of the keyboard to augment and provide additional functionality. We were already using this to provide a quick way for the user to jump back and forth between the text fields and for the clear all function (also visible in the image above). Unlike good ol' inputView this accessory view was never gifted a grey backdrop with iOS 8. As such the easiest solution turned out to be to just use this for the whole keyboard, and set an empty UIView of size zero as the inputView, bypassing it altogether.

‘UXKit’: The Hidden Gem In Apple’s New Photos App

Last week Apple seeded the first OS X 10.10.3 beta to developers, bringing with it the initial build of the much anticipated Photos application for Mac. Some digging around by a couple of particularly inquisitive devs, Jonathan Willing chief among them, stirred up excitement with the discovery of a hidden UXKit framework linked to and presumably used by the new Photos.app. This framework appears to bring much of iOS’s UIKit to the Mac; the API behind most user interfaces on Apple’s most popular platform. 

To understand the interest garnered by this framework one must first understand the differences between UI code for the two operating systems. Today the equivalent of UIKit on OS X is AppKit, a nice but not exactly modern set of APIs, which in many places bares little resemblance to that of its younger brother. As Jason Snell of Six Colours puts it: 

For a while, iOS developers have complained that the UIKit framework they use to develop apps isn’t available on the Mac, making it harder to apply the same tools and techniques and code they build for iOS to Mac apps.

As a developer of apps for both platforms I can attest to this, while making anything remotely custom for Mac is possible its just painful when compared to iOS. The effort required to set a custom resizable background image and a separate foreground image on a NSButton is just ridiculous, a task UIButton makes trivial. Something similar to UIKit for the Mac would be a huge upgrade in my opinion and I hope Apple is indeed looking to make this available to all developers, even if some feel that’s unlikely. Bring on WWDC 2015!

Photos App

Apple’s TestFlight Takeoff Far From Faultless

The latest episode of David Smith’s excellent and oftentimes inspirational podcast, Developing Perspective, tackles the question of whether the App Store may be nearing capacity. With well over a million applications just a tap away I can certainly see the thinking underpinning Underscore’s query. However, quantity is never a substitute for quality and my philosophy is that while everything may have already been done, it can always be done better.

If you share a similar view, you too may sometimes wonder how good products seem to go backwards even when given every opportunity to evolve into something much greater. When Apple acquired TestFlight earlier this year many just hoped the folk at Cupertino wouldn’t let it fade into the ether as has happened with some other services in the past. Few were completely optimistic about the news, at best like me some were hopeful that arguably the best beta app testing platform for iOS becoming more tightly integrated with everything else Apple offers developers would come with huge benefits.

In some respects the current incarnation of Testflight is far superior to its predecessor. For instance, adding new testers to a project can now be done with just an email address, a god send for anyone familiar with the painful process of obtaining a device’s UDID. Unfortunately Apple did what only Apple would do; require all beta builds go through App Store review prior to distribution to external testers. Try as I might I fail to see the logic in this. External testers are limited to 1,000, so any possible fears of dodgy software being distributed en masse surely aren’t founded. And beyond that the whole point of beta testing is to be able to quickly get the latest versions of something into people’s hands so they can provide feedback and assist you as you continue to iterate on it. Waiting five to goodness knows how many business days for a build to be approved makes the whole thing a non-starter! 

I hope Apple rethinks this nonsensical setup as I’d love to see the back of UDIDs and just to be able to do everything in one place. For the time being though I’m still using and am very happy with HockeyApp, which incidentally was just bought by Microsoft. Let’s hope Redmond’s influence isn’t quite so disruptive. 

Apple Watch Musings

It would seem the reaction to Apple’s recent announcement concerning their entry into the wearables market has be mostly positive, which I did not predict while following the event. 

We’ve already seen many wrist-worn devices come out from a multitude of manufactures over the last couple of years but with the possible exception of the recent Android Wear devices from Samsung, LG and most notably Motorola, these gadgets have fallen seriously short in so many areas that they have been the envy of only the most die-hard tech enthusiasts. The Moto 360 deserves special mention for being a rather sharp looking little device with a round LCD, quite novel even in 2014, but the question still remains: What value does strapping something to my arm, which I’ll have to remember to charge every day or two, provide over the phone I already have in my pocket? 

So far I’m yet to be convinced, I never really had that I have to have that moment while watching the Apple’s keynote apart from maybe when they were pitching the fitness angle, but even then aside from recording my heart rate my phone can do all that. Jonny Ive has again done great work but for me the value proposition remains allusive. Perhaps once battery technology advances to the point where I can have a watch that lasts weeks not days and the price comes way down it’ll become a no-brainer, but I wonder how far away that day may be. 

So I won’t be getting one right? Well no, I almost certainly will be, just like millions of others and that’s the point. Regardless of the current limitations this is a new platform, certainly something to get excited about and with the weight of Apple behind it there will be users and the chance for developers to carve out a new place for themselves. Looking at our current portfolio at Armchair Engineering it may be difficult to see what if any of our apps makes sense on a small screen but there are opportunities there. Of course this sort of hardware also opens up an abundance of new possibilities making it a compelling device to any developer looking to sink their teeth into watch kit and create something for this new wave of computing. 

I’d still suggest most should hold off initially as the second generation will undoubtedly be a significant jump over what Apple previewed last week, but hey maybe you’ve just been dying to send your heartbeat to that certain someone.