I Bought an Apple Watch but My Pebble Still Has a Spot on My Wrist

PebbleInSand750

PebbleInSand750I grew up watching a lot of Sci Fi.  The type of Sci Fi where people had communication devices and computers as watches, and every new variation on that theme sparked my envy.  Thus it should comes as no big surprise that I bought an Apple Watch.

My Apple Watch however was not my first foray in the world of smartwatches. I’ve had a Pebble for about a year and a half and I have to say I still love it.

Before I delve any further I think it’s important to point out that smartwatches exist on a sliding scale.  On one end you have watches that simply tell time.  On the other you have computers (for the sake of argument let’s consider an iPhone a “computer”).  The Apple Watch with a touch display that’s not always on is more of a computer.  The original Pebble with an always-on screen is more of a watch.  They can both run apps.  They can both tell time.  Yet there is still plenty of differentiation between the two.

So despite having the much-hyped Apple Watch, I’m still a huge fan of my Pebble.  Let me explain why.

 Reason 1: Ruggedness

First I find Pebbles to be a bit more rugged.  I’m a Lifeproof kind of guy.  My phone has a waterproof drop proof case that graces it’s presence on the weekends.  I’ve found it a virtual requirement of an active life style.  I hop on my bike, I hop on a jet ski, and my phone is protected.  Recently I’ve begun training for a triathlon and since my Apple Watch isn’t waterproof I swap it out for my Pebble any/every time I go in the pool.  My Pebble is water resistant to 5 ATM (50 Meters) from the factory (As a reference point most open water SCUBA dives are 30 Meters or less).  No case, no fuss, just shower with out worry.  In fact I intentionally use my Pebble in the shower so I can control the music I stream to a Bluetooth speaker.  It’s also worth noting that the Pebbles screen is covered in plastic not glass.  While this means it will scratch easier, it also means I don’t have to worry about shattering it.  Let’s not forget that time Apple made the back of an iPhone out of glass.

Reason 2: Battery Life

Secondly the Pebble Classic has up to 5 days of battery life.  I can attest this is easily obtainable.  The benefit of which is if you go away for the weekend somewhere, you don’t have to worry about bringing yet another charging cable and wall plug.  It also means you don’t have to charge your watch every night.

In fairness I should point out that all of the Pebbles do have a more limited feature both in terms of software and hardware.

Reason 3: Price

It’s hard to argue with the Pebble Classic’s price point.  At a penny shy of $100 you get a very durable smartwatch with great battery life.  It has most of the feature set of the newer Pebbles and recently received a software upgrade that bring its features even more inline.  There’s still some nice apps and watch faces out there for it, and it’s extremely easy to put new bands on it to customize however you like.

Rebuttal: The Weaknesses

There are many arguments to be made on the differences between touch screen UIs vs hardware driven UIs.  But for now let’s just pretend that a touch UI is better.  In that case none of the Pebble models offer a touch screen in contrast to all of the Apple Watches models featuring them standard.  However, the App icons on the Apple Watch do seem to have smaller tap area’s then what Apple originally recommended in their Human Interface Guidelines for smartphones.  Which does make the touch UI a lot harder to use.

In terms of voice control even the new Pebbles with some voice capabilities don’t stack up to Siri on the Apple Watch.  Siri let’s you start apps, reply to messages, control your music.  With that said Siri still has a way to go in terms of accurately knowing what you’re telling it to do.

Conclusion

This post isn’t meant to be an absolute argument for or against either platform.  Just a comparison of reasons why the Pebble is still a great device.  If you’re looking for a watch that will also give you alerts and keep you connected, take a look at the Pebbles.  If you want a little more computer functionality and don’t mind waiting a second or two to see what time it Is then check out the Apple Watch.  Or spoil yourself like I do and have both.

Smart Watch Remote Start for Pebble

PebbleRemoteStart750

PebbleRemoteStart750
I developed an app for the Pebble Smart Watch that allows me to remote start my truck from my watch.

With all the discussion about smart watches going around, and what you may be able to do with an Apple Watch, I decided it was time to move from idea to reality. This app isn’t just screen mock ups or screen shots from a simulator, it’s actual code that works and it’s on my wrist right now. . Let’s get into the how it works/what I had to do.

Truck Equipment

Let’s start with the basics here. I installed a remote start alarm with keyless entry module into my truck. This let’s me start my truck from a few hundred feet away with a remote. Then I added an upgrade box to the remote start system that contains a cellular modem and companion app. Essentially the App communicates with a server on the internet that sends commands to the cell modem that now resides in my truck. This all allows me to remote start my truck from my iPhone.

Reverse Engineering

Knowing that my phone was interfacing with my remote start system over the internet the next step was to learn how. Using the Charles Web Debugging Proxy I was able to record my phones interactions with the server and reverse engineer the REST API it uses. From there it was a simple matter of figuring out the authentication used and defining the REST calls I would have to make to the server.

Programming the Pebble

Pebble native apps are programmable in C. Old school, tried and true, used in embedded systems C. Pebble also offers Pebble.js which allows you to make full apps in JavaScript that runs on top of things. Being an Objective C guy I went the C route. This is where things get a bit tricky though, in order to access the internet you still need to use JavaScript via PebbleKit JS. You do this using an object called AppMessage that sends key value pairs back and forth between C and JS code.

Basically I defined values 0-3 for each of the commands I wanted Lock, Unlock, Car Finder (honks the horn 5 times) and remote start. Whenever I selected a value on the UI it would send that code to the JavaScript which would then transmit the appropriate command to the Remote Start server on the web.

What’s Next

I’m working on cleaning up the UI a bit. ). I’m going to post a video on the app in action, I just have to wait for a day when it’s not snowing and Ill post a link to it.
I’ll also admit I’m keen to finish up my code to make it work on an Apple Watch (look for a separate post on that). At some point I want to add an Arduino unit to my truck along with a 3G connection for it. Ideally I want to be able to do things like open all my windows and moon roof in the summer.

A Note On Apple Watch

I’ll admit I’m still fascinated by the Apple Watch and I’ll probably buy one. I already have code working that will allow me to remote start my truck from my iPhone. I just have to finish the requisite iOS extension and lay out the User Interface and I’ll have a functional Apple Watch app. This is certainly a great example of a first generation Apple Watch app. As mentioned before the apple watch could make a great controller for other connected devices / “The Internet of Things” (I hate that term…).
A Key Fob-ish remotes start app is a quick use case associated with an action that you may not want to take your phone out of your pocket for. It’s a connected action but not a data or interface heavy one. You push a button, a REST call gets made, something happens in the real world.

Summary

In conclusion I can remote start my truck from anywhere where my phone and my truck have an Internet connection.

What makes a watch a Smart Watch?

SmartWatch750x420

Prior to Android Wear I honestly thought that most smart watches weren’t really Smart. There’s a lot of buzz, and hype around Smart Watches and wearable’s. For years I have been unbelievably enticed by the concept of a fully connected device on my wrist. As a kid my concept of a Smart Watch was more akin to a walkie talkie(think Knight Rider), but as an adult those delusions of grandeur look more like something out of Minority Report. Samsung’s “Galaxy Gear: A Long Time Coming” ad highlights this pretty well. However I wanted to dig deeper and think about what it means to be “Smart” in a connected device world.

What Makes A Device Smart

I decided to do some research into the origins of the term “Smartphone”. I had once read a definition that stated a Smartphone was a device that you could add applications to and extend its functionality. This is not a bad term but that actually precludes the first generation of iPhone from being a smartphone(which was an argument at the time of it’s release that many made). More recently PC Mag defines a Smartphone as “A cellular telephone with built-in applications and Internet access.” http://www.pcmag.com/encyclopedia/term/51537/smartphone. Which would include the original iPhone and iOS 1 (I don’t think it was ever actually called iOS 1 though).

Crafting a smart watch definition from these ideas we get “A watch with built-in applications and Internet access”. Sounds a little vague still and I think we can all agree that we’ll be flexible with the “internet access part”. I don’t expect every watch to have 3G, or even Wi-Fi necessarily, but I certainly expect it to be able to tether to a smart phone and access information services via that connection. Since all of the watches labeled as “Smart” perform this function we’ll just label that as a given.

Built-in Applications

So let’s talk about the built-in applications part for a moment. I’m going to focus a bit on the Pebble for a moment because it’s a great candidate for this argument. I own a Pebble and use it a lot for the convenience of seeing my notifications on my wrist and not having to take my phone out pocket every time it vibrates. Notification viewing is of great utility but I have a hard time calling it a “Smart” feature. You can think of it as an application on the device, which it is, but I need more. The watch also comes a built in application for music control and clock, it tells time. So I guess it has built in applications, but are they that smart?

Well Pebble’s 2.x firmware allows you to add “Watch Apps” and Watch Faces. At first glance the apps just seem like watch faces with some extra information being displayed. As a developer I decided to dig deeper. The reality is Pebble provides developers with some fairly robust tools, including a cloud based IDE, to develop for the Pebble. It’s easy to use web services/APIs to pull in data to the Pebble, as well as push information from it. The Pebble can actually run JavaScript-ed code on itself. And while the interface is still fairly limited I feel the expandability of the platform allows the device to function in a much smarter manner then just telling time. Focusing on the “a smart watch needs apps” argument I think we can consider this a smart watch, and since it’s able to utilize your phones internet connection via Bluetooth it fulfills our two pronged test for a smart watch.

Now let’s look at the Galaxy Gear for a moment. While I haven’t had a lot of hands on time with these devices it’s fairly obvious that any number of smart phone functions are duplicated. You can reply to text messages, answer calls, and take pictures. Like the Pebble the Gear has a Developer Kit that allows Developers to create additional apps and functionality for the watch. So it’s a fairly easy argument that the Gear is smart. My biggest problem with the Galaxy Gear, it doesn’t work with my iPhone. I get it, kind of, but since it only works with a handful of phones (it doesn’t work with all Androids) Samsung is extremely limiting their marketplace. You could look at it as a Brand/ecosystem play but is their ecosystem that strong to have the watch limited to only a few devices that it works with? I digress.

Conclusion

So what have we done here? Well we defined a Smart Watch as “A watch with built-in applications and Internet access”. Then we tested that hypothesis with both the Pebble and the Samsung Gear. Basically I proved my own pessimism about the term “Smart Watch” wrong.

More of My Thoughts

I think these devices are just the tip of the iceberg. I believe Android Wear will really advance Smart Watches as a technology and as a consumer device. The enhanced interaction between watch and phone, as well as the standardization of a more open platform will allow developers greater freedom. And lets be honest if you keep the developers happy great things will happen.