picomac

picomac

By Ed CormanyTechnology
Download on the App Store

picomac episodes

  • 77: iOS 10 – What's new, anyway?

    I've made good on my promise to install the iOS 10 public beta. Aside from having to download a configuration profile to my device, the process felt just like any other major iOS update of the past few years: a lot of patient waiting through two excruciatingly bright progress bar screens. I was prepared for a few setup screens (because of one of the worst additions to the OS X update process, even for point revisions), but instead I was dumped straight into Springboard, where I said the same thing I have after other iOS updates: "Hang on, what's different?"

    On my first Springboard page, the answer was nothing except the Home app, which — for unknown reasons — had been slotted fifth from the top, far left. I began to poke and prod and immediately rediscovered some changes, like the replacement of the Spotlight/Siri search page with a widget view and the new media and home panes in Control Center. I opened up Messages and saw a couple giant-size emoji. And then I couldn't remember what else I was supposed to be impressed by.

    This is a double-edged sword. If people like me who follow Apple very closely can't remember what a beta of iOS has to offer without external assistance, how much of an impact will the new features have? But if my true reaction is "everything seems to be working as usual", that's wonderful for the average user who taps "Update" the very first time their phone prompts them to, because they won't be overly put out by the changes (no mass panic like with the iOS 7 update). And I presume there will be an on-device tour in the final build, much like the iOS 10 preview page on Apple's website.

    During the beta period I'll be carefully studying that Apple page, as well as the in-depth writeups of the private betas done by sites like iMore and MacStories. I've already recorded my first bug report, and I'll keep doing my part — although I wish there was an easy way to tell if I'm creating a lengthy writeup for a known issue. But I'm sure there will be entire features that go undiscovered, for days, weeks, or even well past the final release. That's just the complexity of iOS in it's maturity. The best I can do to keep up is to get a head start, and with the public beta, Apple is letting me.

    3 min
  • 76: Indexicals are hard

    Major improvements are coming to Siri in the 2016 editions of Apple's operating systems. This is the steady march of progress; in its five-year existence, Siri has consistently gained new abilities. From the user's perspective, those abilities fall into two categories: speaking new languages and using new APIs. (Of course, the addition of public APIs is the big step forward in iOS 10.)

    Yet there is valid criticism that Siri hasn't made five years' worth of progress. In particular, it's easy to find areas where Siri is poor at the fundamentals, like taking the spoken word and constructing meaning from it. Take, for example, the seemingly simple Siri command "tell my wife that I love her." You can probably already guess how this will go wrong. Siri unthinkingly drafts the message with the text "I love her".

    tell my wife i love her pic.twitter.com/eJeuwxWrPg

    — mike susz (@mikesusz) July 5, 2016

    Indexicals are hard https://t.co/GN19OBffr2

    — mitcho (@themitcho) July 6, 2016

    Fellow linguist Michael Erlewine summarized this sad state of affairs as "indexicals are hard". There are entire graduate-level linguistics seminars devoted to this sort of problem — I've taken some. The fact is, Siri should do better. I'll prove it to you. As an English speaker, you know how to use indexicals, but in just a couple minutes you'll understand them too.

    Indexicals are words that don't mean much without an additional frame of reference. I and you could be anyone, if you don't know who's speaking or being spoken to. In a simple conversation with Siri, the context is completely predictable: when Siri hears "I", it means the iPhone user.

    The misguided text message example adds complexity; there's additional context earlier in the sentence that identifies who "she" is. As English speakers we know that it matches up with "my wife", and that "my" is the possessive of "I" — which is predictable! — so the whole phrase should be interpreted as "the iPhone user's wife". That's information that Siri knows exactly what to do with, as long as your contact cards are organized properly. It should also know that a pronoun referring to the recipient of a new message should always become "you."

    Yes, it's tricky, with a couple of frame shifts, but this is a solved natural language processing problem. The explanations of the new public Siri APIs indicate to me that Siri isn't even attempting to construct meanings based on the grammars of languages it speaks. Instead it heuristically goes from audio to text to "intent". That's absurd for an organization with the massive NLP talent Apple has. Implementing a basic solution to this problem is the stuff of undergraduate NLP term projects. In other words, if you're Apple, literally a summer intern could do it, at least passably. Perhaps passable isn't good enough, and they're holding out for perfection, but that's a losing game; natural language is uniquely human, and humans are never perfect. In the meantime, the best way to register our intents isn't through a speech interface, but through the direct interface between our brains and our thumbs.

    4 min
  • 75: Big, buggy apps

    The top grossing app on the US App Store probably shouldn't have passed app review. There, that's my hot take on Pokémon Go. (If you've had your fill of those already, feel free to skip to tomorrow, but this is more about the iOS app than the gameplay or the phenomenon.)

    I'm not the only one who feels this way. Sarah Jeong, who tweeted under the name "a literal Psyduck" for months and therefore has some Poké-cred, made her New York Times debut (congrats!) saying that Pokémon Go is "the most horribly designed app I’ve ever been obsessed with". It's 100% true. Even setting aside the expected fail whale–esque server crashes, the 1.0 client was a garbage heap of hacks. (This continues a fine tradition dating back to Pokémon Red and Blue, which were miserably programmed. Even regular users noticed memory corruption glitches like the Rare Candy trick and Missingno. Watch a tool-assisted speedrun if you want to see shoddy coding utterly dismantled through nothing but button presses.)

    The app's flaws were apparent on initial launch, which reliably took a full 30 seconds on my iPhone 6. That's slower than it takes the phone itself to boot, and is an egregious enough performance issue that any other developer's app would have failed review then and there. Responsiveness is a hallmark of iOS, and this app is anything but. Once using the app, it occassionally bugs out and stops accepting touch input; these aren't hard crashes, since animations keep playing. And speaking of animation, the game is 3D-intensive but clearly doesn't take advantage of Metal or any other GPU optimizations. It can blast through battery on the pace of 1% per minute, another strike at app review.

     

    Is that bad?

     

    I figured that Pokémon Go must be common, cross-platform code inside a light iOS wrapper, until the news that its massive OAuth security bug was iOS-only. Kudos to Niantic, who jumped on that issue and rolled in a bunch of other fixes in the app's first update. There's no doubt that Apple worked with them closely to expedite the process, as they absolutely should have. Niantic is essentially Apple's largest customer right now, sending 30% of their Pokécoin proceeds to Cupertino. They deserve special attention, and they're not abusing it. App launch times are way, way down — likely under pressure from Apple and users. Some but not all crashes and hangs are fixed. And the big security hole was plugged.

    In accepting version 1.0 of Pokémon Go, Apple made a calculated business move. The cross-platform release date had been announced, and Apple couldn't be left out. Now that it's here, they can demand the best from its developers. That most benefits Apple and all their Pokémon-capturing users.

    4 min
  • 74: Entering beta

    The iOS 10 and macOS Sierra public betas dropped last week, while I was on vacation. This is the earliest that public betas have been released since Apple started the program a few years ago. That's notable, but not surprising, as many who take the plunge for professional purposes noticed that the first developer betas seemed sturdier than usual.

    I wasn't ready to update my phone on July 7 (and it certainly didn't help that my encrypted iTunes backup and I were in different states). The question is whether I'm ready now, just a few days later. I tend to be very conservative when it comes to major OS updates. I didn't update to iOS 9 until 9.0.1 came out. I figured I'd waited that long, so what was a couple more weeks to make sure that the showstopper bugs wouldn't affect me?

    iOS 10 is the most excited I've been about getting my hands on an operating system since iOS 6. Yes, really, iOS 6. The promise of turn-by-turn directions (now mundane) plus major Siri improvements had me hooked until I realized that most of the new features wouldn't work on my iPhone 4. The huge redesign in iOS 7 was exciting, but my desire to use a beta build was tempered by obvious bugginess, which persisted well past the final release of 7.0. And, of course, as much as I wanted those prerelease OSes, I didn't actually have access to them, since I've never had a paid developer account.

    Now the betas are public — one more barrier taken down — and the temptation is there, with angels and devils pushing and pulling. "Never, ever put a beta on your carry phone!" "It's fine, I ran beta 1 with no problem!" Ultimately I have to let my own conscience guide me. And I think this will be the year that I run an iOS beta for the first time. I'll take the due precautions, including backups of my encrypted backups.

    Even then I'll have to be patient, as much of iOS 10's potential will only be unlocked as third-party developers start to take advantage of its powerful new APIs, like Siri integration, the new Maps and Messages mini-apps, and redesigned widgets. But I've seen enough app release notes that cheekily include "updates from the future" to know that those features will also arrive quickly. So I think my decision is made. The iOS public beta is here, and in the infamous words of Eddy Cue: I can't wait to do it.

    3 min
  • 73: Mind the gap – 2 months with the Veil XT

    In May I replaced my phone's Apple leather case with the Caudabe Veil XT. At the time, I thought it was the perfect minimalist case for me. My Apple case lasted over a year before I found it necessary to review its deterioration. Unfortunately, with the Veil that's taken just two months.

    When it was brand new, I praised the Veil for its extremely close fit around the metal and glass body of my iPhone. I also pointed out that:

    It wouldn't work if it left even the hint of a gap between metal and plastic.

    The dreaded gaps have begun to appear. This took some time; when the case was about a week old, I tried to remove it and couldn't. (I was very glad that I didn't have to take the case off — I suppose I would have tried harder if I'd needed to swap the SIM card.)


    Corner gaps

    Visible speaker grille

    Crud in the corner

    But even when I couldn't get the case off, that didn't mean things couldn't get in. Since I got the near-transparent "Frost" color, I could see every bit of pocket lint that worked its way between the Veil and my phone. It reminded me of the white USB keyboards that Apple shipped in the G4 era, which were notorious for accumulating dust, crumbs, and worse, especially in shared settings like computer labs.

    This past week, I gave in and took the Veil off to clean underneath with a microfiber cloth (on the phone itself) and a wet tissue (inside the corners of the case). It was overly easy to remove, as I expected from the visible gaps at all four corners. It's as if through use the case has simply expanded, leaving it saggy and wobbly around the unchanged iPhone body.

    I'm not upset with my purchase of the Veil. It was inexpensive and still offers some basic protection. Most importantly, it eased me back into using a nearly naked phone again. When the day comes that the Veil is unusable, I'll remove it, but I likely won't replace it. I've successfully relearned all of the key techniques for operating an iPhone that can't withstand a drop: cautious transitions from one hand to the other; not using the home button as a pivot point to rotate the phone 180 degrees; always grasping the sides tightly and leading with my index finger when sliding the phone into my pocket.

    I'm not sure when I'll buy my next iPhone (although fall is likely), but I'm sure when I'll buy my next case: never. The Veil was my training wheels, and I'm just about ready to take them off.

    4 min
  • 72: Apple TV audio to the Echo

    I hate to be too negative and nitpicky about Apple's products, especially when they do so much for me. So when I go to tweet about a problem I'm having, my finger hovers over the "Send" button in a moment of doubt. "Does the world really need to know that my Apple TV's audio is flaking out? What does anyone gain from my complaints?" I went ahead and sent it.

    @ecormany pls file a radar. I have to repair my BT headphones every time I use them with tv now.

    — Robert Cooper (@robertjcooper) June 29, 2016

    @ecormany yes it's awesome once connected. Was a huge reason to upgrade for me.

    — Robert Cooper (@robertjcooper) June 29, 2016

    I got back the stock response to any Apple complaint: file a radar. But I also learned something from Robert Cooper, who's been having his own Apple TV audio troubles. You can pair Bluetooth audio devices to it! I knew that the 4th generation Apple TV had limited Bluetooth support when it first launched, and I just assumed that audio output over anything except HDMI was impossible.

    My TV has mediocre internal speakers that I've put up with for a long time because I haven't yet splurged on a better audio setup. But there's a better speaker right here in my living room. It's the Amazon Echo sitting just a few inches above my TV! After the usual Bluetooth pairing dance — make the device discoverable first, or search for devices first? — Alexa cheerily said "Now connected to Apple TV."

    Clockwise: SNES, houseplant, Michigan Stadium, Blue Man Group, Echo, Apple TV.

    The difference in audio quality is noticeable, in both good and bad ways. The Echo's speakers are richer than my TV's, especially for music and sound effects, but it tends to dampen the spoken word. Since the Echo speakers are all stacked up in a tube, there's no stereo separation. I also had to crank the Echo master volume up to 5 or 6 out of 10, which is far too loud for most other uses. On the whole, it's a modest improvement.

    Playing audio through the Echo enables new features as well. On the Siri remote, there's no mute button, and telling Siri "mute" won't adjust your volume; instead it takes you directly to a short film called Mute in the iTunes store. On the Echo, "Alexa, mute" and "Alexa, unmute" work perfectly. That puts me one step closer to permanently getting rid of my television's remote. So credit to Apple for letting the Apple TV play Bluetooth audio, and credit to Amazon for letting the Echo appear to be an ordinary speaker. And extra credit to Robert and anyone else who takes my complaints about Apple as a chance for us to all learn and improve.

    3 min
  • 71: Pasting with TextExpander

    TextExpander claims that it keeps great statistics on how much time it saves you while typing. (I've found this to only be partially true; its usage graphs show what seems to be spurious data, based on my own sense of how and when I use my snippets.) One statistic I'd like to know for certain is what my most-used snippets are. I have the feeling that as I've come to rely on TextExpander for more and more things that fall outside of the narrow definition of "typing" or "text expansion", that balance has shifted.

    What even is that x-axis, Smile?

    I use TextExpander's advanced capabilities for all kinds of wacky purposes, like popping up a fill-in form which then runs a grep search on a 60,000-line CSV file. But the one nonstandard feature every TextExpander user should learn to love is inserting the clipboard. I honestly believe that my number one snippet simply contains the special tag %clipboard and nothing else.

    You're probably asking, "Why not just use ⌘V?" I still do, when it gives me the result I want. But often my clipboard contains extra text formatting. An example: I was putting together a trip-planning document and needed to paste in a phone number from a winery's website. I wanted plain black text, not the lovely 18-point, light brown serif font their web designer chose. Yes, there's a keyboard shortcut for that too, but it's ⇧⌥⌘V, a real claw-masher, and it's not available in every app.

    Thus began the evolution of my snippet's abbreviation. It was originally "vplain" — "v" for paste, and "plain" for no formatting. At six characters, it wasn't saving me much time. What would be a handy mnemonic for "just paste" that wouldn't trigger anywhere else? Eventually, I realized that a safe combination is "vvv". (The only conflict I can think of is the video game "VVVVVV", but it's capitalized, so I'm good there too!) In fact, my paste plain snippet is so fast that I sometimes prefer it to ⌘V.

    That's just the tip of the iceberg when it comes to clipboard snippets. As I hinted, my use of TextExpander is more as a text processor than an automatic typer. All of my clipboard-based snippets start with "v", making them easy to remember and hard to accidentally trigger.

    And finally, there's the nut that TextExpander can't crack: the times you need to paste something and can't. TextExpander uses a simulated paste command to enter its text (even when it's not coming from the clipboard). Sometimes an app or web form has disabled the ability to paste, but not to type. Keyboard Maestro to the rescue, since it has an action "Insert text by typing".

    Instead of TextExpander's instant "bloop!", a stream of characters pours onto the screen. All of this requires some initial setup, but once it's in place, it's very quick to paste text any way, anywhere.

    4 min
  • 70: Flow in Airmail 3

    Like many people, a lot of my workflow revolves around email. After years of struggling with the very drag-and-drop-heavy interface of Apple Mail, I switched full time to Airmail. This was also around the time that I finally switched away from POP to Gmail; I could have gone web-based, but I wanted a native client. Airmail mirrors a lot of Gmail's power features, like its one-key shortcuts for processing messages. The additonal benefit is that they work throughout Airmail, including with IMAP and even Exchange accounts.

    I would say that I run a modified Inbox Zero approach to email, and those shortcuts really make it possible. Airmail even bills itself (on iOS, at least) as a "lightning fast mail client." Just hitting Y, Y, Y to archive messages is speedy. Things to save for later get labeled by pressing L or moved by pressing V. Upon pressing either of those keys, Airmail would display a pop-up menu — yes, an actual menu — with label names. That could be navigated by keystrokes just like any other menu, by typing the first few letters of a label or using the arrow keys.

    I keep my labels to a minimum, so filing could be done in a split second with just three keystrokes. For example, I automatically file away common receipts like those from Square, Apple, and my utility companies with mail rules. But receipts from other vendors land in my inbox. No problem: V, R, enter and they're filed away for good. It can be done in a fraction of a second — or at least it could in Airmail 2.

    Airmail 3 is now here and while I love many of its improvements, like more intuitive search and expanded sharing integrations, it's disrupting my flow. Fancy swipe gestures and animations have been imported from Airmail for iOS. For some reason those animations play even when using keyboard navigation. A gratuitous orange bar swoops in when I hit V to bring up my list of labels. They're not a menu any more, and you can search by any substring, not just the initial. But that's no consolation when hitting R too quickly after V doesn't select my "receipts" label, but replies to the message.

    All in all, this is a minor annoyance, and one I'm growing accustomed to. I'm still sticking with Airmail as my email client of choice on the Mac. If I totaled up all my time since Airmail 3's launch last month, I've probably come out ahead, since its new search syntax (finally!) lets me mix sender, subject, and body terms seamlessly. And even slowed down by a second or two, there's no faster way to get through filing my Exchange email. A month in, I still slip up occasionally, but I'm on my way to developing a new flow.

    3 min
  • 69: 1Blocker for Mac

    When Safari content blockers were introduced last year in iOS 9, it would've been an easy mistake to presume that it was an iOS-only feature. A flurry of content blocker apps hit the iOS App Store (some for only a couple days). It was hard to distinguish which ones might be better than the rest. Even to veteran ad-blocking users, they all had new names and minimal settings — some of them lacked whitelisting capabilities altogether. Which were going to be efficient and effective?

    Thankfully, Ben Brooks did some amazing legwork and determined 1Blocker to be his content blocker of choice. It was fast and had smart design, so it quickly became my favorite on iOS as well. But on the Mac, I was still using Chrome as my primary browser and the epically DOM-crunching AdBlock Plus to keep pages clean. Both 1Blocker and ABP could be overzealous, but both have excellent whitelisting capabilities, which I use for sites I love and sites they break.

    When I got my iMac last fall, I decided to give Safari for Mac another go. I appreciated Safari's speed and simplicity, but the web had to be usable in it, not a bombardment of malware-serving ads. I searched for content blocker extensions and nearly found a dead end. Apple's extension gallery lumped together content blockers and other ad-blocking extensions. Other lists were short and not at all comprehensive. I settled on Adamant, which had zero settings. It let me give Safari a try, but no more: no whitelisting, poor performance on YouTube, and occasional mangling of pages.

    So imagine my delight when 1Blocker for Mac was announced. I was expecting just to enrich the features of my content blocker, but I got so much more. First, my settings — including whitelisted sites — automagically synced from my phone via iCloud. Second, 1Blocker is fast. Like, so fast I had to check that pages weren't being prefetched. Most ad blockers are a wash or slightly slower on load time, as they pick out all the nasty bits of the page and decide not to load them. The Safari content blocker framework promised to do that better, and 1Blocker for Mac is the first that has delivered. And finally, 1Blocker has a developer with a sense of humor (check out the "Block Anti-Adblock" icon in settings) and a viable business model. I don't have to worry about my ad blocker selling out to advertisers anymore. Thanks to 1Blocker, Safari is finally the best browser for me on the Mac, and I expect it will be for years to come.

    4 min
  • 68: Where to tune in

    A new capability of the Apple TV is what Apple is calling "Live Tune-in", the ability to simply tell Siri, "Play [channel name]" and proceed immediately to the video stream. The notion is that it will speed up navigation, bypassing the pesky remote (that you designed, Apple) and crummy app interfaces (they're still the future!). In practice, though, I haven't found it to speed things up at all.

    First, tuning in live only makes sense when you know what you want to watch is on right now. This makes sense for live events, like news and sports. Yet many of the channels available for Live Tune-in broadcast pre-recorded programming. Apple TV users probably aren't in the demographic who think "gee, I'll see what's on NBC right now." They want recorded programming on-demand and live programming on-command. That's what Live Tune-in promises, but doesn't yet deliver.

    As an example, the European soccer championships are going on this month. They're broadcast in the US by ESPN, whose main channels (ESPN, ESPN2, ESPNU, and ESPNews) are Live Tune-in capable. For the final matchday in each group, two matches are played at once, possibly deciding the qualification fate of all four teams. Those games are broadcast on ESPN and ESPN2 — but I have no idea which one is carrying which. Live Tune-in requires a channel name; I can't say "Siri, show me Italy vs. Ireland." I could try "Siri, watch ESPN," and follow it up with ESPN2 if I'm wrong, but at that point I might as well have gone to the app, where I could read the program names and not have to guess and check. Another recent example is the NBA finals, which were broadcast on ABC and simulcast on ESPN3. As the bartender at the sports bar I frequented during grad school told many puzzled cutomers asking him to switch a TV for them, "ESPN3 isn't a channel, it's a website," and that means no Live Tune-in — even to a record-setting live broadcast.

    I can't help but think this is a problem related to the SiriKit limitations I discussed yesterday. Live Tune-in isn't a tvOS feature so much as a Siri feature. (Eddy Cue touted it as being new at WWDC, but it's been available since April; the news is that, intriguingly, it will be coming to the iPad in iOS 10.) Once again, the trouble is hooking up Siri to a catalog of ever-changing data. A static list of channels is simple; it's just a lookup table between names and deep links. A programming guide seems simple too. Every cable box on the planet has one; you just can't command them by voice. Live Tune-in is a step towards a TV voice interface so simple that "it just works", but for now it only works if you know exactly where to go.

    4 min

About picomac

From the publisher's feed

Your daily bite of Apple. 300–500 words. Listen or read.