WWDC 2017 Keynote Reactions

My quick thoughts on the WWDC Keynote this afternoon.

tvOS

  • Amazon Prime Video — yes! Coming later this year — ugh.
  • Crickets.

I really hope they put major effort behind this platform in the fall.

watchOS

Yawn. I have no interest in watchOS or the watch itself right now. My advice? Buy a Fitbit Alta and save yourself $150.

macOS

High Sierra is a stupid name. I get the theme here. It’s the logical successor to Leopard/Snow Leopard, but it still sounds dumb.

  • Faster Safari, Mail, Photos and Search improvements. All good.
  • Metal 2. Love it.
  • Was there anything else? Nothing memorable, but I hope it’s a ton of minor improvements that fix some of the irksome parts of Sierra.

iMac & iMac Pro

These are fantastic improvements to the iMac. Apple is coming out swinging here to show they’re still behind the Mac, and haven’t forgotten about the Pro user market.

I’d love to see this level of commitment across all of the Mac line, all throughout the year.

Anyone remember the Mac Mini while we’re at it?

iOS 11 for iPhone

  • Apple Pay for peer-to-peer payments. Brilliant. Hopefully it’s not iOS only. If you can’t make payments to Android users, that’s a major flaw.
  • Siri Translations — love it.
  • Augmented Reality. Now this was damned impressive. The demo by Wingnut AR was one of the most impressive things I’ve seen in a long time.

iPad Pro

Nice incremental bump for the smaller iPad Pro, but not much news for the larger device? Is it not selling well?

Affinity Photo is super impressive as well. That’s something only Photoshop could do not long ago. Now you can do that level of editing on a tablet. Maybe these things aren’t toys after all. Once the teens of 2017 become the workforce of 2025, the desktop market may be in trouble.

iOS 11 for iPad

Another very impressive section of the keynote. Clearly Apple is trying to blur the lines between iOS and the Mac by adding more productivity features.

  • The Dock. Nice touch.
  • Split View. The distinction between the left and right apps seems to have gone away. Neither appears to be the default “primary” app. Put things on the left or the right, as you prefer. Nice.
  • Drag and Drop. Check. Looks about like I’d expect.
  • App Switching. Much better. I particularly like how it remembers your app pairings.
  • Notes. Looks like solid improvements. I don’t care much about handwriting recognition, but inserting tables and photos are welcome additions.
  • PDF Printing and Annotations. Hell yes!

HomePod

Another poor name choice. I get that they have history with the “Pod” name, but HomePod just sounds odd. SiriPod? SiriHome?

Aside from the name, the device is about what I expected. It’s an Amazon Echo with a bigger focus on sound quality, Apple Music integration and a higher price tag. It looks fairly nice too.

Overall, I’m excited for this device. I already have an Echo, but this market is so new that I’m willing to experiment a bit to find the device that works best for me. Hopefully the HomePod will actually deliver that top-tier sound quality the Echo is missing, and tightly integrate with my Apple services — mail, calendar, notes, reminders, etc.

The big miss here is the timing. Shipping in December? That hurts. It gives Amazon and Google another six months to keep innovating and extending their leads. I may be willing to buy multiple devices, but I bet most consumers will not.

I also have concerns about whether Apple can deliver enough of these in time for Christmas. New Apple devices notoriously sell out quickly. If this thing goes on sale in early December and shipping dates jump to 2-3 weeks after a few hours, there will be a lot of unhappy Apple customers come December 25th.

Posted in Uncategorized

WWDC 2017 Wish List

Tomorrow, Apple will host their annual World Wide Developers Conference. Only Tim Cook knows for sure what they’ll announce, but I’ve got a long wishlist. Here’s what I’d like to see:

Siri Speaker

This is the hot one getting the most buzz this year. It’s been around the rumor mill for a while now, but the time seems right for the announcement. Amazon pioneered the category with the Echo, and continues to push the state of the art. Apple will be able to grab a big chunk of the market based solely on their brand loyalty, but to beat Amazon, Siri will need to get a lot smarter.

In a nutshell, I want Jarvis from the Iron Man movies. A super-smart assistant that knows virtually everything about me and the world around me. It remembers the things we discuss. It learns over time. It can control the environment around me, and it makes my life easier.

Siri is a long way from being Jarvis. But for Siri 2.0, I’d like to see a lot of incremental improvements:

  • Speed and Accuracy. Siri needs to work every time – with no lag – and understand a wide variety of voices without a lot of training.
  • Deeper Integration. Today, Siri still feels limited in ways that seem arbitrary. For example, she can read me an unread text message that came in an hour ago, but can’t re-read the one that I looked at 5 minutes ago. Why? If Siri has access to my messages, calendar or email, why limit it? I want to be able to say “Read me the last message from Shannon” or “Read me the email Scott sent yesterday”.
  • Grammar Awareness. If I say “Ask my wife if I should bring home dinner”, Siri should add a question mark at the end of the sentence. I shouldn’t have to say “Ask my wife if I should bring home dinner question mark.” Same goes for commas, colons and periods.
  • Individual voice recognition. Unlike Amazon, Apple supports relationships between their user accounts. Thanks to Family Sharing, my wife, kids and I can share things like apps, music and movies while retaining individual notes, mail and calendars. Siri 2.0 should recognize the unique voices of each family member, and manage their information accordingly.
  • A Screen? This one is tough for me. I love that you can do everything on the first-gen Echo by voice. By contrast, Siri often just says “Here’s what I found …” and dumps a paragraph on the iPhone screen. That’s not very useful when you’re working hands free. My fear is that a Siri Speaker with a built-in touchscreen will let Apple cop out and continue showing text rather than reading me the answer I want. On the other hand, maybe there are features I’m not thinking of that are only possible visually.

Apple TV

A year and a half ago, Apple released the 4th generation of the Apple TV. It featured an app-centric approach to content consumption and a (limited) unified voice search. It was a good incremental step forward for the time, but now Apple needs to do more. A faster processor and 4K support are obvious feature bumps, but I’m hoping for a lot more:

  • Siri 2.0. Anything the new Siri speaker can do, this box should be able to do as well.
  • First party game controller. Yes, this is something everyone has asked for since day one, but I’m still hopeful. And since I’m asking, please make it as fantastic as the PS4 controller.
  • Amazon Video. It’s the last major hold out. Just make the deal.
  • First run movies. This may be daydreaming a bit, but if anyone can negotiate a deal, Apple can. I want to rent it and watch movies that are still in the theater. Charge me $40, I don’t care. I want to watch brand new movies at home, not in a theater.

iOS

The software that drives the iPhone and iPad now has a version number in double digits. It’s time to start making some serious productivity enhancements and user improvements.

  • Bug Fixes and Reliability Updates. Selfeshly, I would be happy if they did nothing more than just make AirDrop work reliably. I can put my iPhone six inches away from my iMac, and it’s still a 50/50 crapshoot whether I can get them to see each other. That needs to be rock solid, every time.

    While we’re looking at bug fixes, let’s talk about a few other annoyances:

    • AirPlay. I have an HD phone, an HD TV, an HD AppleTV and 802.11n. Why does AirPlay fail half the time, and look like a TV show from the 50’s the other half of the time?
    • Handoff. I can copy text on my Mac and paste it in my iPad two seconds later – no problem. Try doing the same thing in reverse? Copy text on my iPad and try pasting it on the Mac? Never works. Why???
    • Messages. Sometimes my iPhone and Mac are completely in sync. Other times it’s like they’re two different accounts. No idea why.
    • iCloud Drive. Let’s match features with Dropbox. Shared folders and public links would be a great start. Also some level of indication when things have synced and what’s left to do.
    • Storage. How about getting 128GB of storage when you buy a 128GB iPhone instead of a measly 5GB?
  • Drag and Drop. We’ve already got split-screen apps. Please let us easily share between them.
  • Split Screen. While we’re on the subject, please just do what Federico Viticci demonstrated in his mockup video.
  • Home Network. Please don’t ask me to unlock my devices when they’re on my home network. I only need a passcode when I’m away. At home, please give me the option of dropping the security in favor of speed.
  • Vector Graphics. This applies more to developers, but in this age of multiple screen sizes and pixel densities, it sure would be nice if I could use an SVG for my icons, backgrounds and images rather than including multiple copies of every image at different sizes.

macOS

This platform is the oldest Apple product, but it still needs some TLC. Mostly just touch-ups to keep pace with iOS:

  • Messages. I’m not a big fan of all the apps and stickers that got added to Messages on iOS last year, but I know a lot of people are. Apple should keep both platforms in lock step in terms of features.
  • Notes. This year I took the plunge on notes. I ditched Evernote and just started using Apple Notes for all my work … well … notes. So far so good, but there are a handful of features it really needs. Tags and attachments are the most obvious. Historically, this is the type of app that Apple will revamp one year, then never touch again for ages. I really hope that’s not the case here.
  • Photos. It would really be nice if sharing in photos knew about my family and made it a lot easier for all of us to have one large pile of photos instead of 4 separate groups. Letting me put my Photos store on a NAS instead of the local drive would be nice too.
  • Mac App Store. Wow. Great idea, but its languished for about 5 years. Time to rewrite, reinvest and  complaints users have had for years.

Apple Pay

I love Apple Pay. Honestly, there are just two things I’d like to see improved this year:

  • Send Cash. Let me send money to any other Apple Pay user ala Square Cash or Venmo.
  • Pervasiveness. This is a tougher one. Apple has done a fantastic job of getting banks onboard, but retailers are still lagging. They need a major PR push to get more stores to adopt and promote the service.

That’s a long list, but all of these seem achievable. Apple is on top right now, but they absolutely cannot rest on their laurels. They need even more focus on every aspect of every platform. Keep pushing!

Posted in Business, Mobile

How to display a PDF in React Native

As I move up the learning curve on React Native, I thought it would helpful to share a few tips and tricks I’ve learned.  One of the more challenging things I’ve come across was how to show a PDF file in your app. I couldn’t find any tutorial to demonstrate how to do this across both iOS and Android, so I thought I would write my own:

iOS

This one is fairly easy. The WebView in iOS has native support for PDF rendering. It’s just a matter of tell it where to find your PDF:

render: function() {
  return <WebView source={{uri: 'Your.pdf'}}/>
}

The one trick part is that you need to include Your.pdf into your project in Xcode and make sure it’s added to your build target.

Just copying it into your React Native project folder isn’t enough. It has to be part of the Xcode project itself.

Android

This one took a bit more work to figure out.

It appears that Android did not provide a native PDF viewer until version 5.0 (Lollipop). To provide a solution with broader support for older Android devices, you will need to make use of three key techniques:

  1. Pull the PDF out of my APK bundle and store it in the files folder for your app. This Stack Overflow answer was very helpful in accomplishing this:

Android: How to copy files from ‘assets’ folder to sdcard?

I tweaked the code a bit so that the file wasn’t going to an sdcard but to your app’s files folder. Here’s what to add to your MainActivity.java file:

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  AssetManager assetManager = getAssets();
  String[] files = null;

  try {
      files = assetManager.list("pdf");
  } catch (IOException e) {
      Log.e("tag", "Failed to get asset file list.", e);
  }

  if (files != null) for (String filename : files) {
      InputStream in = null;
      OutputStream out = null;

      try {
        in = assetManager.open("pdf/" + filename);

        File outFile = new File(getFilesDir(), filename);
        out = new FileOutputStream(outFile);
        copyFile(in, out);
        Log.e("tag", "Copy was a success: " + outFile.getPath());
      } catch(IOException e) {
        Log.e("tag", "Failed to copy asset file: " + "pdf/" + filename, e);
      }
      finally {
          if (in != null) {
              try {
                  in.close();
              } catch (IOException e) {
                  // NOOP
              }
          }
          if (out != null) {
              try {
                  out.close();
              } catch (IOException e) {
                  // NOOP
              }
          }
      }
  }
}

private void copyFile(InputStream in, OutputStream out) throws IOException {
    byte[] buffer = new byte[1024];
    int read;
    while((read = in.read(buffer)) != -1){
      out.write(buffer, 0, read);
    }
}

Make sure to place your PDF file in the assets/pdf folder under android/app/src/main

  1. Next you’ll be using the react-native-fs package to get the absolute URL to your PDF, which is now in the files folder:
    var RNFS = require('react-native-fs');
    var absolutePath = RNFS.DocumentDirectoryPath + '/Your.pdf';
    
  2. With all of this in place, use react-native-pdf-view to actually load and display the PDF:
    import PDFView from 'react-native-pdf-view';
    
    render: function() {
      var absolutePath = RNFS.DocumentDirectoryPath + '/Your.pdf';
    
      return <PDFView
        ref={(pdf)=>{this.pdfView = pdf;}}
        src={absolutePath}
        style={ActharStyles.fullCover} />
    }
    

Not exactly dirt simple, but it works well enough.

So there you go!  You can now display a PDF file in your React Native project on either iOS or Android. FYI, I also wrote this up as an answer to my own Stack Overflow question. If you have suggestions for how to improve the technique, you may want to post them there.

Posted in Mobile, Tips & Tricks

WWDC 2015 Predictions

We’re only a week away from WWDC, so it’s time to speculate on what we’ll see:

Apple Watch – This one is a no-brainer.  Expect the Apple Watch to be the star of WWDC 2015.  We already know that Apple will announce a native SDK for the watch, so expect to see a parade of featured partners showing off their native apps.  I suspect we’ll see a few new watch band announced during the keynote, and perhaps even a couple more Disney themed watch faces as well (Minnie?  Donald?).

Apple TV – Rumors about a new TVKit exploded across the blogosphere a few weeks back, so I expect that it will be one of the big announcements at WWDC.  Hopefully this will mean full-blown native TV apps and not just WebKit shells that just grab content from out on the Internet.

What I would really like to see is Apple make a major commitment to this platform, including:

  • A comprehensive offering for cable-cutters.  Something that addresses local news, live sports, all of the popular network shows and maybe even gives equal footing to new-media offerings like popular YouTube channels and video podcasts.
  • Gaming.  Apple has systematically put themselves in position to take on Sony, Microsoft and Nintendo (remember them?) in the console battle.  They’ve got robust development tools (Xcode), a distribution platform (the App Store), gaming frameworks (SpriteKit, SceneKit and Metal), hardware controller support (GameController Framework), a match-making service (Game Center) and tons of developers.  All they really need is access to your television and headset support.
  • New hardware.  Imagine a new box with an A8 processor and a half terabyte disc.  It’s got the app store, all your favorite movie, tv and streaming content, and a ton of games from all the big name publishers.  Sound compelling?  Well here’s how it could get better – Bluetooth game controllers.  Maybe not bundled with the box itself, but $30 or $40 extras.  Now you can play games with your iPhone as the controller if you wish – giving you all the touch and swipe gestures you’re already used to – or you can have the joystick and shoulder button gaming experience that hard-core gamers demand.  That’s an offering that I think millions of people would love.

Beats Music – Not exactly sure what to expect here, but probably something like a Spotify clone with Apple / Beats branding.  This is Apple hedging its bet.  You want to buy music?  We’ve got you covered. You just want to stream it?  We’ve got that too.

HomeKit – I wouldn’t be shocked if this one drops out of the keynote, but it’s been a year since it was originally announced without much in the way of progress.  It could be as simple as a bunch of partners showing off their gadgets with HomeKit support, or maybe there’s a hardware hub that ties everything together.  It might even be the new Apple TV box – further adding to it’s utility.

iOS 9 – This prediction is about a risky as saying that the sun will rise tomorrow.  I’m sure there will be one or two snazzy new features to keep us talking, but mostly I expect a few visual flourishes and a lot of bug fixes and performance improvements.

OS 10.11 – Second verse, same as the first.  As with iOS 9 I suspect this will be a lot of tweaks and adjustments (WiFi anyone?), but nothing too Earth-shattering in terms of features.  Just keep the motor running.

What don’t expect I to see?

iPad Pro – This is an intuition thing, but I just don’t see a larger iPad being released yet.  The Apple Watch is the bell of the ball right now.  I suspect that Apple will want to let it breathe a bit before introducing another new portable device.  If anything, they may do another hint but don’t reveal move like they did with new iPhone sizes last year – reveal iOS features that would be useful in a huge new iPad (side-by-side apps?), but not actually show off the physical hardware yet.

So there you go, my predictions for WWDC 2015.  Feel free to bookmark this page and tell me how foolish I was once the announcements have been made next week.  Regardless, it should be a lot of fun to watch!

Posted in Business, Mobile

FCC Gets Serious About Broadband Speeds

FCC changes broadband definition to 25 Mbps

The Federal Communications Commission on Thursday voted to change the definition of broadband to connection speeds of 25 megabits per second or higher, casting aside the previous standard of 4 megabits per second.

If speeds don’t reach the threshold, Internet providers cannot call the connection “broadband.”

Huge news from Washington. The US is currently 26th in consumer broadband speeds. Pretty shameful for the country that invented the Internet.

Let’s hope some public shaming from the FCC will push Internet Providers to step up their games.

Posted in Uncategorized

Apple Shows Its Metal

Inside Metal: How Apple plans to unlock the secret graphics performance of the A7 chip

Recall that when Apple first introduced the iPhone 5s’ advanced A7 chip, it was first greeted with media skepticism wondering if it was even “truly 64-bit,” followed by a communal (and wholly incorrect) story that suggested 64-bit mobile chips didn’t matter until devices had “4GB of addressable RAM,” and that, in the most extremely ignorant coverage, the A7 was “marketing fluff and won’t improve performance.”

We’re only just beginning to see the fruits of Apple’s purchase of P.A. Semi back in 2008. For $278 million (or 1/70th the price Facebook paid for WhatsApp), Apple was able to take control of its technological roadmap and ensure it would have the most power-efficient CPUs in the mobile industry.  With the help of Metal, they’ve now shown that the A7 might be the fastest GPU in the industry as well.

The A7 is both literally and figuratively a game changer.

Posted in Mobile

Frequency of Miracles

Miracles Over Time

Posted in Entertainment

Analyst Baffled by Quality

Mac sales success “defies the laws of economics”

The only explanation that we see is the now-mythical halo effect. […] we view the Mac’s success as the rare instance where sales increased in the face of rising prices.

That pull quote comes from “Digital Lifestyle Analyst” Charlie Wolf of Needham & Company. Let me propose a better one:

I don’t understand how making better quality, easier to use products results in higher sales.

How jackasses like this maintain employment is beyond me.

Posted in Business

Code Like A Champion Today

Code Like A Champion Today

Posted in Tips & Tricks

Samsung paying for favorable product reviews

Samsung payola in action

The close relationship between Android licensees like Samsung and journalists covering the consumer electronics industry has grown increasingly sketchy. During this year’s Consumer Electronics Show in Las Vegas, non [sic] other than the Associated Press inked a deal with Samsung that allowed the Korean conglomerate to tweet out sponsored messages as part of the official Associated Press news stream.

Sounds ethical…

CNET reportedly accepted funds from both Samsung and Microsoft to republish and promote positive reviews of their products, including a gushing CNET “editor’s choice” that called Samsung’s Galaxy S4 the “everything phone for (almost) everyone.”

Paying for good reviews is a hell of a lot easier than just making products consumers love.

Posted in Business, Mobile