This Week's Sponsor:

Direct Mail

Professional Email Marketing Built Just for Mac Users


Posts in iOS

Different Share Sheets

Alvaro Serrano makes a great point about share sheets and extensions in apps updated for iOS 8:

With Reeder’s iOS 8 update, this means Reeder users now have two different ways to send an article to Instapaper: they can use the app’s built-in Instapaper integration, or they can use the Instapaper Extension via the Share Sheet. This looks redundant, but there’s a catch.

In order to use the Instapaper Extension, the Instapaper app must be installed on the device. But what happens if you don’t want to have Instapaper on that particular device? What if, for instance, you browse through your RSS feeds on your iPhone but only read articles on your iPad? In order to do that using Extensions, you’d need to have Instapaper installed on both devices. Using Reeder’s built-in Instapaper integration, however, you’d only need to have it installed on the iPad, which is where you’re actually going to use it.

He uses the latest Reeder as an example, but the same is also true for Unread, Dispatch, and other apps that used to have custom sharing options before iOS 8.

For developers, there are several trade-offs involved with keeping old sharing options and implementing Apple’s new action and share extensions. Do you want to handle user credentials for web services like Instapaper and Pocket, bundling a custom sharing menu that you have to manage? That would also give you more control over the entire sharing feature – for instance, users may be able to activate the service anywhere and not just from a share sheet. As an example, think of how Tweetbot could show read-later options before the iOS 8 update.

On the other hand, extensions free you, as a developer, from the burden of asking users to enter their credentials, designing a login flow, implementing error checking, or creating a UI for each supported option. You just need to support the system share sheet and pray that it’ll work. And, obviously, iOS 8 extensions will give you all the benefits of a unified system: they’re secure, they have an interface designed by their own developer, and they work consistently with other apps.

For now, I don’t think pre-iOS 8 share sheets with hard-coded options will be going away. But as the extension system matures and developers start releasing new apps for iOS 8, I believe that the need for custom sharing options will naturally decrease, letting native extensions take over and benefiting users and developers.


Apple Asks PCalc Developer to Remove iOS 8 Widget

As tweeted by PCalc developer James Thomson today, he will be forced to remove the app’s iOS 8 widget. Following an approval that saw PCalc 3.3 launch alongside iOS 8 and a feature in Apple’s “Great Apps for iOS 8” App Store section, the company has informed Thomson that “Notification Center widgets on iOS cannot perform any calculations”.

Curious app rejections aren’t new to the App Store, but being forced to remove a feature that was approved, featured by the App Store team, and appreciated by thousands of users is a different story. As Thomson tweeted, he invested time and resources into the development of the widget, which was a fantastic addition to the app and a nice way to perform quick calculations directly in the Today view of Notification Center. More importantly, it was a great showcase of the new capabilities of iOS 8.

Thomson wasn’t alone in thinking that a widget calculator would be a good idea: dozens of iOS 8 widgets with the same feature have been released since last month (such as Wdgts) and Apple itself offers a calculator widget in OS X Yosemite.

But even with the following examples in mind, being forced to remove apps or features that had been previously approved isn’t news either (case in point). Rather, what is disappointing is the persistence of contradicting signals from a company that many developers saw as “more open” after WWDC ‘14. Developers like Thomson will keep finding themselves in the position of risking to implement a feature or create an app that may be approved, gain users, and be shut down by Apple for a sudden policy change.

PCalc will continue to be a great app even without its widget. But at some point, we’ll have to wonder whether technology limitations or murky App Store policies are truly holding iOS back, preventing developers from building innovative iOS-first apps that dare to go beyond the status quo. Today, that’s happening to a calculator widget.


Logitech Unveils New Keys-To-Go iPad Keyboard

Earlier today, Logitech unveiled updates to its line of iPad keyboards and cases (Ultrathin and Type+) and announced a brand new Bluetooth keyboard called Keys-To-Go.

The Logitech Keys-To-Go is a standalone ultra-portable Bluetooth keyboard that is thin, light and durable, making it the perfect partner for on-the-go typing. At just 6.1 mm thick and 180 grams, it’s simple to tuck into your purse, briefcase or coat pocket without taking up precious space or weighing you down, and is compatible with the entire iPad lineup. What’s more, the rechargeable battery can last up to three months on a single charge, so it’s ready to type whenever (and wherever!) inspiration strikes.

The Keys-To-Go will be compatible with the iPhone, iPad, and Apple TV, and its FabricSkin material will make it waterproof and durable. The keyboard is fairly reminiscent of Microsoft’s Touch Cover for the Surface tablet, which attaches to the device and lets touch-type via Bluetooth on physical “keys”.

Since 2012, I’ve been using Logitech’s original Tablet Keyboard as my external keyboard for the iPad and I love it. The keyboard is large enough (smaller than Apple’s Bluetooth keyboard but larger than Logitech’s keyboard cases and upcoming Keys-To-Go), it has dedicated iOS shortcuts (I use the Home and Spotlight keys a lot), and it’s sturdy and durable. When it comes to controlling iOS with a keyboard, I can’t recommend the Logitech Tablet Keyboard enough.

I’m intrigued by the Keys-To-Go: it comes in multiple colors, it keeps the dedicated iOS keys, and it has a rechargeable battery. And, it looks really thin and it can be wiped clean easily. But I’ve never typed comfortably on small Bluetooth keyboards, and I’m afraid that I would miss the subtle clickiness of the Tablet Keyboard.

The Keys-To-Go will be available next month at $69.99.


The New musiXmatch Widget for iOS 8

I’ve talked about musiXmatch, an app to find lyrics for songs playing on your device, before here on MacStories. Earlier this year, I covered the app’s new version for iOS 7, noting how an officially-licensed database of lyrics with a polished interface makes it a superior choice for anyone who wants to read song lyrics on iOS:

Overall, musiXmatch is impressive and accurate. I’ve discovered lyrics for hundreds of songs and finally learned some of my favorite ones thanks to musiXmatch. The app can listen to songs playing on the same device, and its integration with iOS’ local music library means it can display lyrics for songs you already have without having to use the microphone at all. I mostly find myself trying to find lyrics for songs that are playing on my computer or iPad, and the app’s on-time, licensed lyrics provide a great experience for those interested in knowing the lyrics of songs they like.

musiXmatch rarely fails to find lyrics for me, and I like its design and integration with Apple’s Music app. And last week, they released an iOS 8 update with one of the most impressive widgets I’ve seen to date.

Here’s how it works: start playing a song in Apple’s Music app, open Notification Center, and musiXmatch will show you synced lyrics that follow the song you’re listening to. If you’re used to the traditional musiXmatch experience (in the iOS app or one of their desktop integrations, such as Spotify), you’ll recognize the service’s display of lyrics and timeliness – only as a widget on iOS.

From both technical and user experience perspectives, this is excellent work from the musiXmatch team. Over the weekend, I tested the widget with music I had in iTunes Match, albums I synced locally, and, today, Taylor Swift’s new album, and musiXmatch always found lyrics and displayed them at the right time in the widget, which needs less than a second to appear (tested on an iPad Air 2 and iPhone 6; obviously, musiXmatch needs an Internet connection to work). The widget also has buttons to open the Trending, Music ID, and Search sections in the musiXmatch app as well as playback controls, but synced lyrics with artwork preview in Notification Center were the highlight of this update.

Unfortunately, due to iOS limitations, musiXmatch can’t display lyrics in the widget for third-party music streaming services such as Spotify, Rdio, or Apple’s Beats Music, but it’ll work for apps that use Apple’s Music as the background player. The widget can’t access the device microphone to identify a song without launching the app, and, for now, musiXmatch can’t display lyrics in the widget for iTunes Radio streams either. These limitations narrow the potential user base (people who only use Spotify or Beats won’t see lyrics in Notification Center), but hopefully musiXmatch will be able to develop some kind of integration with third-parties.

The musiXmatch widget for iOS 8 is too good to pass up. If you use Apple’s Music app and would like a way to see synced lyrics with a single swipe, download musiXmatch for free from the App Store.


iOS 8.1 and iCloud Issues

Since upgrading to the first beta of iOS 8.1, I started noticing that a few apps were randomly hanging or crashing at launch. I thought that the problem would be fixed for the public release of iOS 8.1, but soon after updating to the stable version, it occurred again.

I then thought that a clean install of iOS 8.1 would be the solution, but both my iPhone 6 and iPad Air 2 on a clean install of iOS 8.1 (not restored from a backup) are still experiencing the iCloud hanging/crashing bug. For the past week, apps like MindNode, Twitterrific, Pixelmator, and (before the latest update) Drafts have been hanging or crashing at launch on my devices, forcing me to force-quit them, reboot (with a hard reset), or manually copy data because iCloud wasn’t syncing. Each app was tested with existing document libraries as well as an empty database.

Greg Pierce has been investigating the issue with his app, Drafts 4, and he writes:

iOS 8.1 shipped with a serious bug affecting apps that use iCloud. If you have seen apps randomly hang, especially on launch, it’s likely you are seeing the effects of this issue. Many apps use iCloud for a variety of data storage needs, so even apps that you were not aware were using iCloud may exhibit issues related to this bug.

As he notes, there’s little third-party developers can do to fix the issue:

There is little developers can do to avoid this problem, so if you are a user seeing this issue, please be patient waiting on a fix and do not blame your friendly neighborhood app developer for this problem. Especially, do not blame them in an App Store review.

Greg managed to ship a workaround with Drafts 4.0.3, but that’s not a solution to the underlying problem of iCloud and iOS 8.1. Based on my informal polling on Twitter, the bug doesn’t affect all iCloud accounts but it is common, and even when an iOS device is affected the issue is intermittent and only partially “fixed” by rebooting or logging out of iCloud (read: it’ll happen again after a few hours or days). In short, there doesn’t seem to be a solution for affected accounts for now.

Hopefully the issue will be fixed soon by Apple, as it is a serious problem that makes apps with iCloud features unreliable and essentially unusable. If you’re developer, read Greg’s post for more technical details.