Archive for the 'Android' Category

Three days with my first smartwatch (Pebble)

it’s time

… that’s what the packaging says in big letters 🙂 On Friday I found my Pebble, ordered on 21st of May, 2012, finally on my table. Now, after having used it for nearly three days, I want to give a quick overview on how I’m using the watch, and what I like and dislike about it.

Watch

Let’s start with what I like about it:

  • SDK availability, that I can develop stuff to run on it (which is also the original buying reason)
  • Very easy to set up and install watchfaces / apps on it through my Android phone
  • The functionality that’s already available (much through third-party apps like Pebble Reminder)
  • Display contrast, backlight, triggering backlight by shaking the watch
  • Dimensions and weight are just right

But there are also some things I don’t like about it:

  • Display resolution – being used to look at my 265 ppi smartphone (which is by far not top of the line in this respect), that can also use anti-aliasing and stuff like sub-pixel hinting for better font rendering etc. – the ~140 ppi of the watch look pretty disappointing. This low resolution limits what you can display on the watch seriously, since you have to keep font sizes quite large to keep the text readable, and any non-rectangular shapes look so ugly that you better don’t have them at all
  • Appearance – it’s just cheap plastic, no matter how you look at it. I’ve got the grey version – maybe other colors look better…

Display

Here is how I’m using the watch, and what apps I settled on after a few hours of trying stuff out and fiddling:

I’m running Pebble Reminder on my Android phone, and the watch app that comes with it, which gives me the following functionality:

  • Notifications from any app I choose (e.g. AquaMail or IrssiNotifier, which is the newest extension to my instant messaging communications platform)
  • Weather conditions for the current location, incl. multi-day forecast + sunrise/sunset time
  • Show the next event in my phone’s calendar directly below the weather, or browse the calendar
  • Access some information and settings of the phone, such as its current battery level, profile (silent / normal / loud) etc.
  • Send predefined text messages (“I’m driving, call you back soon” or something like that)
  • (Added 2013-10-01): Use the Pebble Locker app on my phone to have the phone locked with a PIN when the Pebble is out of reach. When the watch is connected, the phone is only locked with a simple swipe gesture. This turns out to be very useful for both phone security and convenience. It’s like as if I have my phone on a leach, and as soon as it’s further away from me than a few meters, it locks itself securely.

What I can say so far: The Bluetooth connection between phone and watch is pretty reliable, and doesn’t seem to draw any noticeable amount of battery from my phone. The fact that I get all (important) notifications on my watch now let me keep the phone in my pocket for hours, when I would take it out every half an hour or so, just to find a spam SMS, or some other info that wouldn’t have been worth the effort of taking out the phone and the power consumption for a few seconds of having the display on. Therefore I already consider the concept of having a smartwatch as a kind of extended display of your phone on your arm useful.

Getting access to another country’s Google Play Store content

In the past, with a rooted Android phone, you could easily switch the Play Store country with the MarketAccess app. The app “simulates” another SIM card for the Play Store app, which used to make its decision on which country’s choice of content you should see based on the (now simulated) SIM card’s origin.

At some point this stopped working, and yesterday I found out that Google Play Store now gives you the Play Store experience of the country that your phone’s current public IP address indicates. Oh no! This is a really dumb decision if you ask me – because now if you travel to a country where no paid apps are available (e.g. China), you won’t see updates for all your paid apps. And of course you can’t buy any new paid apps while you are in that other country.

So now you need access to a VPN or similar technology in your home country, to get the Google Play Store you’re used to. The precise steps are as follows:

  • Connect to your VPN
  • Go to Settings / Application manager and tap the Google Play Store item in the list
  • Tap the “Force stop” button and then the “Clear cache” button
  • Open the Play Store app – now you should see a license agreement question (it comes up every time you switch countries), and after acknowledging it, you should see the content of the country your VPN endpoint is located in

Afterwards you can actually disconnect from the VPN, and Google Play will keep working with the VPN’s country content. But after some time (or a phone reboot, maybe), it will check the IP address again, and present you the content of the country you’re actually in.

Firefox Beta (“Fennec Native”) Sync on Android – no SNI support anymore

I’m a long time user of Firefox on Android. The main reason why I started using it (and kept using it, although it sometimes really taxed my patience by slowing down my G2 / Desire Z to a degree that it was barely usable, due to high memory usage) is Firefox Sync (formerly Weave). It allows me to have my bookmarks, history and even passwords synchronized between all my desktop Firefox instances and my phone.
As with most of my Internet needs, I try to be self-sufficient from hosted services (a.k.a. cloud), so I run my own Firefox Sync server. I have this running for quite some time already, and it “just worked”. Until Firefox on Android got some major changes some weeks ago (installing the Firefox app today still brings you the “old” Firefox, from before the changes, but the Firefox Beta app, often referred to as “Fennec Native”, is the one I’m talking about now). As far as I understand it now uses more Android standard functionality, and less custom code shipped within the app. One aspect that is now “native” Android, instead of implemented in the app itself, is Sync. Firefox’s syncing is now integrated into Android’s syncing framework, and you find the sync account under Settings / Accounts and sync.

That sounds like a good thing, and I generally like the idea – but there is one small detail that caused me some trouble: Since the change, Firefox could not sync with my server anymore.
After two rounds of debugging, I figured out that this was due to the fact that the new Sync method does not work with a server that relies on SNI – Server Name Indication anymore. I reported this to Mozilla, and it became clear that there won’t be a short-term resolution of this issue, because it would require changes to the Apache HttpClient, which in term would possibly require changes to Java’s SSL functions(?).

It’s a pity, but I understand that there is not much Mozilla can do, and it’s probably regarded not as very important to satisfy the needs of the few who run their own Sync server AND use SNI. So I took one of the precious remaining IPv4 addresses I had left for the server, and used it for my sync service. Other possible solutions / workarounds would have been to buy a wildcard SSL certificate, or wait for Bug 756763 – Native Sync can’t accept self-signed certificates for custom Sync servers on Android 2 to get fixed.

Anyway, now it works again, and with my new phone having enough juice, using the new Firefox on Android is a great experience.