Android Wear - From an Actual User
I won't lie to you, whenever my timeline fills up with negative articles about new technology from people who haven't even touched it, I die a little inside. I get that the sports team you've chosen to support didn't release it. I get that all other sports teams are not as good as yours. I get that you view everything your sports team does in a positive light, and everything the opposing teams do in a negative light...but you know these aren't sports teams right? They are companies.
Anyhoo Android Wear! I've been using the Samsung Gear Live while I wait for my Moto 360 to ship. Here it is on my hairy man wrist:
I should prefix what I'm about to say with the fact that I had a Pebble before this. To me the Pebble was extremely ugly, but the utility of it made me happy to wear it all the same. I was able to see who just texted me without pulling my phone out of my pocket, and do things like control my podcast playback without touching my phone. Android Wear takes this to the next level. When paired with my Android phone it shows me cards from apps that are currently running, as well as things it thinks I need to know about. It's basically like Google Now for your wrist, with the added benefit of being able to get notifications from your phone.
I've seen people complaining that all this does is turn your wrist into a buzzing, annoying mess. These people clearly either haven't tried one, or didn't bother to spend 5 minutes setting the watch up. If you buy an iPhone today, install 100 apps, and say yes to every notification you possible can your phone will vibrate all day every day. This isn't a mistake on Apple's part. Their phone is not a huge pile of fail. It's why Apple gives you the choice about which notifications you do and don't want. Android Wear is no different. By default any notifications that appears on your phone, appear also on your watch. For me this is perfect, I've already configured my phone to only show notifications for things I deem important. This means that during a typical day I glance at my watch maybe 10 times a day. I can see instantly why the phone in my pocket vibrated and choose whether or not I need to do anything about it. This is the promise of Android Wear, it liberates me from having to interact with my phone at all in most cases. If I had wanted to, I could also have configured an even smaller subset of notifications, because the Android Wear app on your phone lets you choose additional apps to ignore notifications for.
The watch also tracks my step count, and can read my heart beat. The step count seems fairly accurate and is a handy, interesting thing to know. The heart beat doesn't really excite me (har har) at all, but it's there and works. You can respond to text messages by voice, and being Google's implementation of voice recognition it works amazingly well. Personally I'm not comfortable talking to a watch in public, so I use it in a much more passive way. My pocket vibrates and I look at my watch, it's a text from my wife. Later when I sit down I respond to it. My pocket vibrates and this time it's a Twitter notification, so I just swipe once to dismiss it. My phone also clears the notification, since it knows I've dealt with it on my watch.
In terms of interaction models, there are a few nice gestures on the device. Pull down all the way from the home screen and it instantly mutes the watch. It means visually all you see is the watch face, and it will never show you anything else, or vibrate. Pull down again to go back to receiving notifications. Placing your hand flat over the face of the watch (in what I like to call the 'ssshhh' motion) instantly puts the watch back to the home screen and into its dim mode. The cards that appear can be swiped away if you don't want to know about them, or pulled across for more information and actions. Here for example is the navigation card:
I've found that Google Now is insanely good at predicting the kinds of things you'd like to see when you're visiting somewhere. It shows you the time back home, information about your flights and hotel and local attractions. It seems to know with eery accuracy when you'd like to know these things. For example on my last day at I/O it knew that I was flying out at 9.30pm, but checking out at 10am, so it suggested movie times at a local cinema to me. All of this is passively listed on the watch and is there if you want to interact with it. It doesn't for example buzz when new cards appear, they just happen to be there when you glance. At home in a small town like Adelaide Australia these are slightly less useful, though it is still handy to know about traffic problems since I have the choice of 3 different routes back home.
Those hoping for a revolution might be disappointed, this feels like an evolution between Pebble and Android. For smart watch fans like me, this is a great thing. Google have the best smart watch available and it's a huge leap over the Pebble I wore before it. Perhaps Apple will deliver a magical fairy watch full of unicorns later this year, but as my mate Grubes loves to point out, you shouldn't ever review a shipping product against an unreleased one. For now Android Wear is so good it brings me yet again back to using the Moto X as my main phone.
Android Wear is still very much a 1.0 though. The current crop of watches are ugly, and there are some extra features I'd like that just aren't there yet. Unlike an Apple product though, this isn't what we're stuck with for the next year until the next one. Motorola is making a very nice looking watch that I definitely want later this year, the 360. I got to play with one at I/O and wasn't too pleased when I had to give it back to the Motorola rep that was there. HTC who also do some amazing industrial design have said they are working on one. This means that there will hopefully be a vibrant watch market with many different colours, sizes and styles to choose from. This mimics the market for $200+ watches as it is today. I guess the only way to end this article is to risk looking like a douche nozzle and quoting myself:
@justin @gruber @viticci I think the thing people are missing this: there is no watch everybody loves. Its fashion and utility plus taste
— Russell Ivanovic (@rustyshelf) June 28, 2014
@justin @gruber @viticci so to my taste in fashion and utility the moto 360 is something I'd happily wear. For Federico it's not. That's ok
— Russell Ivanovic (@rustyshelf) June 28, 2014
Android Annoyances, Chapter 1
I've been using Android full time for a few weeks now, and it has been an interesting experiment. So far it's still my primary phone and overall I like it. That said there are some things that need fixing, and since my blog is about rants, here's the first one: Permissions.
Android handles permissions differently to iOS in that it lets you know what an app can do at install time. It's very similar to the way App Sandboxing works on modern OS X. A developer sets the permissions an app requires, based on a defined set of permissions that the OS provides. So far so good right? Yes, until it's time to look for an app. Let's for example browse for a flashlight app:
Ok, this app has decent reviews, over 50 million people have installed it and hey, it's the brightest!
Wait what? This app wants to write permission to my SD Card, it wants to install shortcuts, access my location, get the ID of my phone and access the network? I mean I know it's the brightest but all that seems a bit excessive.
Android fans will no doubt tell me that this is great, I've been saved from this horrible app that is trying to take advantage of me! That's all well and good, but what happens when a must have app (like Facebook or Twitter) comes along that you really want to use but there are one or two permissions you don't want to give it? On iOS, annoying popups aside, I can use Facebook but completely turn off its ability to access my location. On Android? Nope.
So why hasn't this been addressed? The more cynical might say because Google wants to do bad things to you, and this gives them an air of having asked you for permission before they do. Really though frameworks like Google Play Services are so embedded into an Android device that Google already has access to almost anything they could possibly want to know about you. My guess is that they know introducing a way to deny these permissions will break a lot of apps and they don't want to make waves if they don't have to. I think they need to take a stand, after all it should be every users basic human right to deny Facebook access to their location. So much so that I'm off to make placards about it right now...who's with me?
Bug Splitting
Every month or so in the Apple Developer community, it seems we debate the process of filing bugs. Does Apple care? Do the bugs go anywhere? Does the system work? Is it possible to do better?
For the most part I agree 100% with Marco on this:
From our point of view, there’s little reason to file bugs. Filing a good bug report takes a lot of testing and time, and it seems like Apple just disregards most of them. Of the few that get any response at all, it’s almost always a useless response or the obvious result of a careless engineer trying to clear out the bug backlog with as little work as possible.
As with any community as big as ours, there are always those that disagree. The principal one I see coming across my timeline is Daniel Jalkut. He, unsurprisingly, wrote a follow up post to Marco:
If we developers want Apple’s platforms to work as well as they can, the sad and short truth of the matter is we have to report bugs. If you’ve only reported 15 bugs over 6 years, as Marco has, I’m afraid to say that you haven’t done enough.
Yes that's right kids, you just need to try harder to get daddy to love you. He really does, he just doesn't show it much. And yes his actions often suggest that he doesn't even know you exist, but you know, you gotta keep trying!
I personally think the Apple bug reporting system is entirely broken. But rather than whine about it, let me show you an alternative way. A few weeks ago I had an issue with a Google API I was working with. It worked one day, the next day it was broken by an overnight software update they'd done. Luckily Google runs an Android Community for the framework I was having issues with, Chromecast. So I posted a question there:
<img src="/assets/2014/05/screen-shot-2014-05-28-at-10-13-41-am.png"width="451">
I had a response from a Google Engineer within the hour, pointing me to the post about there being a recent update. I read that, and then decided to file a bug about it. The bug was fixed that day, and Google rolled out a fix for it into production. My bug can be found here: [embed]https://code.google.com/p/google-cast-sdk/issues/detail?id=265[/embed].
So is there another way to do bug tracking that is better? I'd say yes, with a certainty. There really is one fundamental thing that needs to change, in order for the whole thing to change. It's rather simple, but are you ready for it? Make a new Bug Tracker where all bugs are public. If 'public' means you need to log in with a developer account that's ok. The point is that once bugs are searchable everything gets easier. When I come across a bug I can search for it in the bug tracker. If it exists, I can instantly see if there are any workarounds, and if not when it might be fixed. Ideally I could up-vote or star that bug as well, to indicate I'm having the same issue. If the bug doesn't exist, then I know I need to take the time to write a really detailed bug report so that others who come across it with the same problem can attach themselves to it. This would offload some of the curation work to developers as well, something that Stack Overflow has proven that we love to do, and are good at.
So what are the downsides of this approach? Firstly the most obvious criticism is that some things are under NDA or have to be private. That's easy, allow private bugs and attachments. 99.9% of the time my bugs don't need to be hidden from the world so there's no reason to obsess over this part. The other massive downside for Apple is it makes their action (or lack thereof) open, and visible to the entire world. If there are 60,000 bugs that haven't been touched by an Apple Engineer then we all know. Desirable for us, but I can understand how that's a scary thought for them.
I could go on about employing technical Developer Relations people instead of marketing ones, about being more open, about setting up communities. But really if Apple could do this one thing...most of our problems would be solved. Or you know, we could keep going with the approach in this flow-chart I knocked up.
Expect the Unexpected
Let me start at the end: Android is finally good. Now allow me to take you on a short journey, lest, after listening to Ira Glass and the latest This American Life episode you think I might be high.
It begins when Shifty Jelly first starting dabbling in Android development. A HTC Desire turned up in the mail from an Android fan who was trying to convince us to develop for his platform of choice. In Australia at the time Androids were a rare sight indeed. We didn't have the initial marketing push that countries like the US enjoyed in the early days, so it was predominantly iPhone, iPhone, iPhone and more iPhone. I've always been naturally curious, so I played with the HTC phone for a few hours, and I have to be honest, I hated it. There was hardly any storage, it was slow, the scrolling often lagged and the app selection was woeful. To top it off the plasticky design and the inclusion of a joystick just made for a phone that was easy to laugh at. No real surprise then that I opted to keep my iPhone.
Every year or so as Android phones grew in popularity I tend to revisit Android as a platform for me, and every year I dismiss it. It gets closer every year. Every year the handsets improve, Android improves, and the apps improve. But inevitably, every year it falls short of my personal expectations as an iPhone user. So for a while it seemed that Android was doomed to play second fiddle in my life, being the platform I help develop apps for, not the platform I personally use.
Fast forward if you will, to the year 2o14. Flying cars are still not here and while working on my giant placard for the annual Where is my Flying Car Rally, I was yet again lured by the latest Android handset to cross my desk, the Moto X. For me it's the perfect size to hold, the screen at 4.7" feels just right. Android 4.4 is finally a mature, consistent, fast operating system that rivals iOS in many ways, even occasionally exceeding it. For the first time this felt like I'd found a phone I could actually use. "But Russell, you know the apps are going to suck" was the nagging doubt at the back of my mind. Still, science is science, so I put a sim card in the phone and started my journey through the Google Play Store. What followed as I started installing apps for services I use day to day surprised even me:
-
Flow for Reddit turns out to be a really good Reddit client. Edit: turns out that Reddit Sync is even better. - Press is a great RSS reader that integrates with Feedbin, my RSS service of choice.
- Slack the group chat and collaboration tool we use has a great Android client.
- 1Password Beta v4 is finally a version of 1Password that works just like the iOS one.
- The default Twitter app is no longer offensively bad, and I think I might actually like it.
- Hangouts works really well, and like Messages.app from Apple integrates your SMS and chat conversations in the one app.
- Pocket Casts of course gives me my podcasting fix, and I love the new user interface we developed as part of v4.5.
Not to mention the nifty OS level features I found:
- I can dismiss all my notifications by tapping just one button...I can't believe Apple doesn't have this.
- Not having to unlock my phone or even touch it to set reminders is nice. "Ok Google Now, remind me at 8am tomorrow to pack my volleyball gear". It's also nice to have a phone that understands my accent, because while it's funny the first time Siri offers to remind you to pack your "wally bear kid", it gets old after a while.
- I mostly still find widgets annoying, but I have to say having your calendar and weather right there on the home screen is great.
- The Google Keyboard with it's swipe input method seemed like a gimmick at first, but after a few minutes with it I'm hooked. It's a huge time saver.
- Switching from using iCloud contacts to Gmail ones was surprisingly pain free.
- Being able to set your default mail client and browser is great.
- You can turn on one setting to back up every photo you've ever taken to Google+. It sits there in a private folder and you never have to try and figure out if that photo you want was more than 1000 photos or 3 months ago like with Photostream.
- Being able to change your entire lock screen and launcher experience (Springboard in the iOS world) is nifty, though I'm sticking with the Google one for now.
- Google Now, which I dismissed a day into using this phone turns out to be amazing. When I was going on holidays it knew about my flight, told me when I should leave and even directed me to the right gate at the airport. On arriving at my destination it knew where I was staying and helpfully gave me the local weather and the time back home. While doing the usual touristy things it suggested local attractions and restaurants, and in short, was insanely useful. Now that I'm home it tells me when there's congestion on the route I might take home, and suggests alternatives.
In short I was shocked that after years of people telling me 'try again, it really has improved' that Android finally did. It now meets my expectations of a phone I'd actually want to use. Don't get me wrong, it's not perfect (where the hell is my unread view in Gmail, Google?) but for the first time since I've been messing around with Android I find myself not missing my iPhone one little bit.
Will I actually switch? In some ways I already have. The not so surprising part of using your phone as everything but a phone is that you can try things out with another sim card for a while. I'm not one for taking sides, and I'm not here to tell you which phone you should be using either. It's as simple as this: for now there are two phones in my pocket, and I'm in no rush to part with either of them.