Expectations from Apple's Smartwatch

The crescendo is picking up about the imminent launch of a watch from Apple - dubbed the iWatch. The noise is so much that Google has preemptively launched their wearables - specifically the watch. That gives them the bragging rights to launching the wearable OS first ( though you could technically point towards the pebble watch and other such precursors).

However, I don't like the way they are going about it. It seems like it is a mirroring of the functionality of the phone on the watch. So, you get all the notifications etc on the watch. That I think is the wrong approach.

What I would have liked is an extension of functionality.

Let me explain what I mean by that.

I would expect the phone and the watch to work in isolation without a need of the other.  Its like how the phone works independently of the laptop. So, if you are checking email on the phone, it does not require that your laptop be nearby.

Similarly, if you are wearing just the watch, I would expect that it work flawlessly without being dependent on the availability of the phone. Which means that the watch is more than just a timekeeping and a notification device.

Lets go over a few examples of what I think Apple will come out with. I am going to think from the perspective of different types of watch users.

The basic business user will have something similar to the current generation of Android watches. You will have beautiful watch faces - get ready to go wow - cause Apple really cares about how things look. So, I am pretty sure they would have already talked to the major watch makers and asked them for using the watch faces from certain iconic watches. Expect Swizz and German watch faces in addition to a few digital faces. This will get the notifications from the phone - e.g. new mail message ( dont expect to read it on the watch - I don't think Apple will think it a good user experience to read two words at a time), calendar events and alarms.

The next level of user is the sports enthusiast. I expect that Apple will partner with Nike for getting the Nike+ as part of the watch. So, now you can just go for a jog with the watch and it will use the Nike+ tech to track your runs, and once you are back within phone or laptop range, it will sync all the data with it so you can review it on a bigger screen. I also expect that the phone will have more sensors added to it like heart rate monitor, pulse monitor ( which means that we can potentially see a better strap which acts as a sensor - and also cause angst among the users as they wont be able to change it ). Already as per the rumor mill, apple has basketball athetes ( and probably others) testing the watch. I hardly expect such professionals to carry a phone along with the watch - so that why I think that the watch can work independently.

The 3rd user I think that the watch will cater to are for health reasons. As stated above, I expect the watch to have different biometric sensors - and hence it will be a boon to patients. Also with the WWDC'14 seeing the launch of APIs specifically for health, I expect that the APIs also tie in with the watch in some way. So the watch becomes a measuring instrument and passes on the data to the phone, which in turn will enable doctors to monitor the patients.

I pretty much predict that these things are going to come from Apple. For me it makes sense that Apple will look at the watch not just as time or notification device, but push the boundaries of a sensing device. 

Key Takeaways from Google IO 2014

Similar to my Key Takeaways from Apple's WWDC14, here I go into the takeaways from the Google IO this year.

Oh, also have a look at my earlier post from 2011where I had suggested changes to Android and - hey look - they have actually done many of those things !  :D

1. India is a focus area.
I should say developing markets - but with mobile OEMs like Micromax, Karbon and Lava shown in the keynote, the focus definitely seems to be more India centric. I hope they are also eyeing the networks in India which needs to be made faster to really leverage the google capabilities. Considering the other market - China - which is a walled place for Google - I think Google is hedging tis bet on India to take it to the next level in terms of usage.

2. Android One. 
This seems to be a way to standardize the android fragmentation issue. With a minimum set of features that Google deems necessary it can get the low cost OEMs on board. For the OEMs they will make the hardware as per Google's specs, and for Google, it will reduce the fragmentation. ( see pt 5 in http://vibhurishi.blogspot.in/2011/12/making-android-better.html )

3. Wearables.
The other big announcement was wearables. For now this means smart watches. We already have had Samsung's Galaxy Gear out in the market for sometime - and this takes that concept further by having SDKs available for developers to use in their own apps. Essentially now you will have a watch which will sync notifications and other apps on your watch.
Google is coming out with a LG and a Samsung watch now ( around 15k INR) and a Moto watch a bit later ( which I suspect will be cheaper). But with a best case battery life of just 1 day I don't recommend it except for the nerdy showoff factor.

4. Return of the Dumb Terminals. 
Well, it was covered under different headings like TV and Automotive, but I feel that they are the same thing. You have a display terminal which really does not do much. It has a basic OS running. All apps will reside in your phone. When you connect your phone with the terminal, it will run the apps for that terminal on it. So, if the terminal is a TV, it will run the apps for the TV. If the terminal is a car terminal - it will run the stuff needed for cars. Etc.
I think it is an elegant system for making the terminals simpler and keeping all the complexity on the phone. This way, the TV/Car manufacturer needs to just conform to a minimal specs to get the OS running, and the rest is taken care by the phone.
This theme is also being taken to the chrome OS. Now it will be possible to have apps from your phone to run on the laptop via the ChromeOS. So the ChromeOS terminal will run as a dumb terminal to the phone apps. This is quite a nifty feature - i always wanted a way to be able to respond to whatsapp messages via the laptop. It also goes a step beyond what apple is doing with iOS 8 where they integrated the sms so that you can answer from your mac. However, I havent seen anything like the feature of calling from your mac as yet.

5. Awareness
I have seen this umpteen times where we talk about machines which enable another machine to do something by its proximity. A regular example I see is that having the phone close to your computer will get it to unlock the computer. Till now, I have seen only concept videos - this is the first time I have seen a working demo. Its great, but also i wonder if it is something which may lead to abuse. All you now need is a person's watch to unlock his phone/computer. Have to wait and see what safeguards are there.
Another part of this awareness is that notifications now get on your other devices. So, if you have a phone and are wearing the watch ( see pt 3) , you get the notificaitons on your devices. This is not as seamless as the continuity as apple demoed, but similar.

5. UX improvements
As Apple tries to catch up to Google in terms of features and developer friendliness, Google is trying to catch up with Apple in terms of usability. The current trend is to make everything look consistent by having a guideline for the community of developers and designers. To make things feel more dynamic, google has come up with a framework of displaying windows which, in addition to the x and y dimensions, also adds a depth ( or z axis ). This means that a program can use an element it has, add a z axis value and it will seem to popup on the top. They call this framework "Material". I wish they had used a sexier name -- I find it as offensive as the term 'resources' are used for people in companies. But I guess its just me.

Now you would be wondering why I haven't talked about Android 5.0. Thats because Android 5.0 is not one thing. It is all the things I just talked about above.

It is quite possible that I may have missed some other things from the stupor inducing keynote - if so, please leave it in the comments below and I will incorporate them here.

I am also quite disappointed that Larry Page did not make an appearance this time. He was the show stealer from last year.

Thoughts on Wearables Battery

Of late there has been a lot of talk about wearables. Small devices which are powerful enough to communicate to others. Its part of the bigger "Internet of Everything". Nike came out with their run measuring devices and Pebble came out with their smartwatch, followed by Samsung with their Galaxy Gear.

The focus off late seems to have shifted to watches with the hype building up for an imminent launch of a watch from Apple and other companies making a preemptive strike by launching their watches first.

Google has gone all out by developing SDKs for wearables and have 2 watches out for preorder (from LG and Samsung) and another to follow soon ( from Motorola). Impressive tech which syncs seamlessly with your phone ( if you have android 4.3+ running on it).

However, no one is mentioning the Elephant in the Room - the battery life.

Pebble has just 7 days of batter life. That is quite bad for a watch. Usual watches last a year or more on a single cell, and if you have a solar watch or the kinetic watches - they last even longer.
The Google watches last at max a day. A Day! Just that much ? I am fed up of charging my phone every day - though it is still bearable as I can easily put that on the table while charging. However, with a watch - do you think you will be able to keep it on your wrist while charging ?

Another common problem with a 1 day approach is that most people have 2 or more watches. Depending on the mood ( or clothes ) people like to use the watch as an accessory. But with this kind of battery life either you will need to keep using the watch everyday and give up your other watches, or have the foresight to charge it before you plan to wear it.

I think a communicating watch - with other benefits like GPS tracking/health monitoring is an amazing technological advancement, but without a good battery life this thing is just for geeky people to showoff that they are using it.

What do you think - would you like to have a watch which you have to keep charging every day ?

Key takeaways from WWDC14 :

This was a big update. Much more than I had thought. A lot of startups will be killed by this, but it will give rise to a lot many other startups.

1. There is a new programming language named swift ! Wow . I am sure no one ever saw that coming !
2. Cross device handoff between macs and iOS devices. - Continuity
- We have this kind of thing when using gtalk or some other apps, but usually they just update on both the devices. What Apple has been talking about is that the laptop / iphone will sense when they are in proximity and the update will happen there. Add to it, it seems to be an OS level functionality so maybe in the future other apps will be able to make use of it.
3. Metal - they just stripped away a whole layer of GL to Hardware interaction and provide direct access to hardware capabilities, making the iOS devices "As powerful as a console devices" . We think Apple is getting ready to move into the console space. Add an apple TV to the mix and you have this working as a console streaming to the TV in the living room.
4. Health and Home kits - by baking in these APIs into the OS, App developers will be able to use a standarized API interface to apple machines. I think this will be tied into the iPhone launch in sept where it will have more biometric capabilities.
5. Touch ID integration for other APPs. So far the touch Id was used as authentication only for apple specific apps. Now, you will be able to use it for many other apps who start integrating with it. So, yes - lesser number of passwords. Think of it as a 'sign in with facebook' link that you are used to seeing - only you will use finger print sensors to do it.
6. OS X Yosemite - a new update to the OS - which is FREE! That effectively leaves Windows as the only paid OS for consumers in the world. ( Linux - free, Chrome OS - free, Android - Free , iOS - Free, OSX - Free , Windows - Paid).
7. Extensibility plugins in iOS will take apps to a whole new level. You can use an exposed extension of one app in another APP. I am a bit worried about the security aspects here - but apple did mention that they have been thinking of that and are sure it will work well.
8. Notifications got a major overhaul - so the grouse I have with iOS notifications not being as good as Android notifications may go away. They allow you to do much more now than Android does ( e.g. marking emails ) but I am sure Google is not sitting idle and will have an update sooner or later. Unfortunately, most Android phones will not get to see the updates as most manufacturers do not update the OS to the latest one. However, they also tie in notificaitons on the desktop which I have yet to see on any other OS the way apple handles it. All that I get on other OSs is a baloon popup :(
9. Apple finally seems to have figured out iCloud Drive - and this is going to make many services like Dropbox redundant. Though to really use it I think you need a very good bandwidth WiFi connection.

Some people are - as usual - disappointed about no hardware talk - but I think that is to be expected. This was a  World Wide _Developer_ conference. It is all about software. Wait till September for the hardware updates - and since Tim Cook mentioned that this is the 25th WWDC from Apple, I have high expectation of hardware enhancements which will utilize all these software updates that they have brought in.

Elections 2014

Tomorrow is being awaited by a lot of people. It is supposed to be a turning point in India's political history with Narendra Modi led NDA winning the polls by a comfortable margin.

At least that is what the Exit polls are pointing out to. However, exit polls are not very reliable as can be seen from the last couple of elections. As far as I can see, the Congress is always trying to win by hook or crook or even by Emergency so I would not be surprised if tomorrow the results are a surprise to everyone.

Anyways, my post is not about that. I am going to put my thoughts about the AAP ( Aam Admi Party ) out here. Been meaning to do so for quite a while and here goes.

AAP started really well, promising a different set of people - people more clean than the scam tainted today's politicians. The battleground was Delhi ( Indraprastha of yesteryears - quite apt I think). Exit polls for the Delhi state elections said AAP would get in the single digits and BJP would have a clean sweep. The results were totally off the charts - BJP did not get a majority, and AAP got 27 seats - quite shy of a majority. And then they started their own ruin by bad decisions.

Bad Decision #1

The bad decisions started now. BJP being shy of a majority could not make the govt. Congress played their trump card and said they will support AAP from the outside. AAP tried to be too clever and posted a referrandum whether they should form the govt and went ahead and formed it with the support of Congress - whom they have been bad mouthing for quite a while. I was aghast. This was stupid.

I firmly believe if they had not formed a govt, they would have come back with a majority. Right now, this looks like a far fetched dream.

Bad Decision #2

AAP decided to pass the LokPal bill. Predictably it was blocked by both the BJP and the Congress who ofcourse do not want any accountability in how they work. AAP resigned on 'moral' grounds.

Any other time it would be ok.

This time it was not.

AAP went into national mode - and to the people of Delhi this was tantamount to betrayal. They had put their trust into AAP but AAP was too ambitious for its own good. Add to it, AAP continued to behave like a protester - doing dharnas even though now they were in the system to make a difference. And then resigning in a huff.

This turned off many people from AAP, and since they were fed up of the Congress mis-Rule over the last decade, they say they are voting for BJP.

But despite this, I remain an AAP supporter.

AAP changed the way we view politics. I don't recall an election where people were so involved into all this. They may not be voting for AAP, but due to the incessant coverage of politics in Delhi, everyone is interested in what is happening. Instead of just the usual 2 party discussions, suddenly there is a new entrant in the crowd. Despite being totally uncouth when it comes to governance - they have made the other parties introspect.

In a way I am glad that AAP is not going to get many seats this time. I would say at a max they will get 20 seats. It will force them to think where they went wrong. It will force them to realize that politics is not about protesting and doing dharnas on the street - it is also about governance.

In the Delhi Assembly Arvind Kejriwal said that "We will teach you governance" to the Congress minister Arvinder Singh Lovely. But it seems that AAP and Mr Kejriwal has to first learn it themselves. And I am going to support them for a term more and give them a chance - which most other people seem to have written off.

I am naive in politics. I dont understand the complexity of the governance in India with 3 levels of government machinery before it veers into the Indian Beaureaucracy - but I think India is waking up - very slowly like Kumbkaran, but surely.

Minecraft Audio with USB Speakers

I have a Bose Companion 5 speaker set. Unfortunately, the USB audio support on Linux is quite iffy. I am able to play audio ok with audacious, but while playing Minecraft there was no audio.

Below is a fix I found on various message boards, which seems to work for now. Hopefully it works for you also.

The trick is to fix the OpenAL configuration.

create a file '.alsoftrc' in your home directory with the following text in it :

$ cat ~/.alsoftrc
drivers = alsa

capture = default
device = pulse

Now start minecraft from the directory where you have the jar file:

java -jar Minecraft.jar

and sound should be working.

Setting up Rasberry Pi as a Media Center

Recently got hold of a Raspberry PI as I had heard a lot about this thing. The main thing I wanted to do was set it up as a media center. Now, though a lot of information is there on the net about how to do it, there was sadly a lot of information which was missing. The main aim of this blog post is to help you to get a whole setup running - because getting just the Raspberry Pi will not really work out of the box. The Pi team also assumes that you will have a lot of these things already at home - and while that is mostly correct, it does not really help in a permanent setup.

Parts List

Here are the parts you will need. Basic Assumption - you have a TV with HDMI , and you have access to a laptop/PC and access to the internet. Also you have the media on a USB drive.

This is not mentioned in any one place, and it took me a while to figure out :

  1. The Raspberry Pi : I suggest getting the one which comes with a box cover, as here in India it is quite dusty. Also, get the Model B as it has more RAM, and extra connection ports. 
  2. A HDMI Cable : The Raspberry Pi connects to video via a HDMI port, and although your TV will already have a HDMI cable, you would already be using it. So, order a separate cable to use with the Pi else you will keep swapping the cable between the pi and the other box you use ( in my case the TV reciever box)
  3. A WiFi USB dongle : I suppose there will be a day when the pi will have the wifi inbuilt into the box. But so far, it comes only with an Ethernet connectivity. Since you will normally not have an ethernet cable running all the way into your living room, you will need the WiFi connectivity. Not all USB Wifi Dongles work ! Make sure what you purchase is supported - check the list
  4. A SD Card : The PI does not come with any hard drive. It uses SD cards for booting up. If you have a digital camera ( except the SONY ones), then you will already have a SD Card. You will minimally need a 4GB card - but I would suggest something bigger.
  5. A power source : The PI uses the same power adapter as most phones ( unless you have an iPhone). It is a micro-usb powered devices, so most android phone chargers would fit. What you want is something which can give 5V and 1.2 A . The google Nexus phone charger fits the bill perfectly. Technically, you can have a lower A ( 750 mA is the least power you need), but to power the USB ports, I would say go for something with 1.2A or else get a powered USB hub ( next point)
  6. A powered USB hub. Mostly the USB hubs we have are not powered. They derive the power from the PCs or laptops. But with the low power that the PI uses, if you want to get anything attached to the PI, get this. With the 1.2A adapter I have seen you can power a HDD and a wifi dongle. But nothing more. 
  7. A Keyboard and Mouse : Well, actually the mouse is optional, as you can do most things using the keyboard. Also keyboard will be required just at the start if really needed, else most of the TVs with a CEC remote - you can control the media center through the remote. 
  8. A SD Card reader. The way you will install the OS on the SD card is via a card reader. If you have a laptop with the built in slot - great - you can use that. Else you will need a card reader. 


Here are some links to get you started off on your purchase : 
  1. Raspberry Pi with clear case at Crazy Pi : Rs 3,490
  2. HDMI cables from Amazon : Rs 399
  3. COMCAST WiFi USB from Amazon : Rs 399
  4. 8 GB SD Card from Amazon : Rs 467
  5. Powered USB hub from Crazy Pi : Rs 750
So, that comes around 5,5k + taxes ( Amazon has taxes included in the price, but Crazy pi has additional tax and shipping fee).

Setting up the SD Card

Now that you have all the hardware, the next step is to install the OS on the SD Card. Head over to raspbian and download the installer. This is a small installer which will be used to install the entire system. 

XBIAN is a media center which is linux based.
RaspBian is an XBIAN build specifically for the Raspberry Pi
Next, connect the SD card to your laptop/PC. Follow the steps given on the installation page. In addition make sure click on the "Manually configure WiFi" which will popup a screen to enter the details of your WiFi Setup. 

Enter the details and let it finish writing to the SD card. 

Starting the Media Center

Now, assemble your PI by putting in the SD card, the WiFi dongle and connecting to the HDMI cable and the USB drive. Plug in the power source only after you have connected everything else. 

As soon as the power is connected this will boot up and you will see onscreen details scroll by. If the WiFi has been setup correctly, you will see the update starting. Wait for it to finish ( it is about 1GB! )

After that you will be in the Xbian interface and can start watching your media!