Friday, 13 March 2015

Mobile World Congress 2015 - highlights


I was fortunate enough to attend MWC last week in Barcelona. Even though many good and detailed reviews are available across sites, I wanted to write another with my perspective.


There were many new gadgets from established players and start-ups. I will list out a few outstanding ones. 


Software giants are putting a lot of investment in virtual reality. I could see many developer booths with small prototypes using these SDKs. And HTC has surprised everyone by showing their new VR headset, Vive in partnership with Valve. I could not even reach out to the demo because of the long waiting queues. But the reviews are so promising and believed to be the most advanced VR currently under development. Even Samsung gear VR stands second to HTC here. But one benefit of Gear over Vive is its mobility. Gear VR supports use of S6 and S6 edge where as other VRs have to be connected to a PC.

All praises go to HTC and Vive and they really stole the show.

Just for your information, I am listing down the active VR headsets (in my knowledge).

IoT devices

There were numerous IoT devices especially from start-ups. I could not go through all. But following are the one that I noticed.

Huawei introduced many WiFi adapters. And the car WiFi dongle with LTE support was worth a look. 

Another interesting one is a snore stopper, VVFly that does not wake you up. There is an Android app too, but available only in Chinese! This ear fitted device will vibrate as soon as you start snoring and adjusts itself when you stop it. 

Smart suitcase from Bluesmart has got many smart features such as in built digital scale, many sensors, battery charger etc.


Ford has displayed 2 bike models which are currently under development. One is targeted for the personal use and the other for commercial. Both can be folded and has got decent battery power. The e-bike is smart enough to give hand vibrations to the cyclist to inform him about turns to take, vehicle overtake etc.

Intel and BMW collaboratively developed a system that connects the helmet and the bike. The motorcyclist can give commands and get information such as tire pressure, engine temperature etc.

Audi connect was displayed in Audi theatre at 4YFN (4 years from now, startups meet). This is a next generation car that can fully integrate with your mobile. It has got the first Google Earth installation. For more details, watch this video. 

Nokia, who is also working on the self driven cars, had a good pavilion with a demo car showing how maps HERE can give intelligent recommendations to the drivers. Compared to the Audi Google Earth, I liked Nokia HERE implementation because of its ease of use. It is also powered with smart location experiences.


As expected, many companies came up with their Android smart watches to MWC. Samsung took a break this time. The prominent one was Asus Zenwatch, not only its look but also the price was attractive. Apple lovers please excuse this infographic.

Other major players were Huawei, China Mobile, Motorola(same old moto36o with new straps) and water resistant Sony watches. Huawei and China Mobile shows real interest, where as Sony just made a desperate attempt. 

The different guy was as usual Pebble, this time with a premium edition. Pebble Steel is different from its predecessor in display, battery and straps. In short very impressive.


There were many wearables from HTC, Huawei and Sony. I didn't show much interest to them. The furniture master Ikea also made their hands dirty by getting into this field. There were few products that even wasted my time such as smart projectors from Lenovo and ZTE.

SmartPhones & Tablets

I really want to skip this section as there were tonnes of them. Obviously Samsung got the attention because of their excellent presentation and the usual hype. Samsung Pay was a surprise element. Both S6 and S6 edge are amazing. Though I repeatedly asked to the Samsung guy whether a custom app can show notifications on the edge, he was not sure about it. Seems like a fancy stuff for now. 

Curved phone from LG, Asus ZenPhone2, Nokia N1 tablet, BlackBerry passport(a bit old) were all good. Huawei came up with a handful of devices. It was like like visiting a Chinese toy shop. Lenovo had a good stage but none of the products could attract the visitors. I want to put Sony and ZTE at the bottom of the list.

Other new players:


This booth has got only interested guys, like me. 2 years after launching, Mozilla has spanned over many countries especially developing countries. This time they have launched FirefoxOS in high end devices like ZTE.

Ubuntu Phone

At last Ubuntu made it! Actually Canonical did. This phone has no home or back buttons and no apps too! They introduced the concept of scopes. You can read more about it here


If you have heard about Sailfish OS, you will be familiar with Jolla a crowd-sourced tablet. This device has got decent look and very light in weight. Played around it for some minutes; I would say it is swipe based OS.


Alright. So we have seen many smartphones with rectangular and square in shape. Some curved, some round-cornered. But how about a circular shaped one? A company called Monohm is behind this cool pocket watch. I think this can play a hybrid version of smartwatch and smartphone.


I could also attend a few workshops on technologies such as WebRTC. There were a couple of start-ups who worked on this technology by integrating with Robotics, Social Networking etc. Mozilla promised the full support to WebRTC in their upcoming OS versions. 


Sundar Pichai's announcement to get into the wireless domain has to be read along with Zuckerberg's Both the giants are targeting telecom industry, not sure what the end goal is.


There was also a session, Eye for Travel to discuss the trends of 2014. One of the key points was that OTAs are growing bigger than the real brands as far as the Hotel industry is concerned. There are metasearchers and Google who are trying to change the fortune. But still OTAs are successful. But this trend can change in the upcoming years. So everyone has to play hard. To keep the loyal customers, the information has to be personalized and more contextualized.

There were a few start-ups with some prototypes in the cab industry and local content search. Everyone has a USP which is really impressive.

All together it was a really good experience. Thanks to Amadeus for sending me there.

For more details visit

Sunday, 31 August 2014

Shadow DOM and Templates in HTML

While I was looking into the security aspects of HTML form element, I came across a term called shadow DOM. I found it interesting and searched for more details. The information was more interesting. I thought of sharing the same with you before I forget. :)

Thursday, 24 July 2014

Automate (test) iOS Application with Appium

Hello folks,

In my previous 2 blogs I have explained basics of Appium and setting up of platform for Android. Here we will talk about the iOS dev environment set up.

As you know, we have to set up both client and server. Test client remains the same except a few things.

Test Client

Client set up is almost similar to that of Android. You can find the details here.

Automate (test) Android Application with Appium

Hello folks,

As discussed earlier, in this blog I will talk about platform setting up of your Android applications. I had mentioned in previous blog that, Appium uses JSON Wire protocol which in turn is a client-server architecture. So we need to set up both the parts separately.

Test Client

In the 2 tier architecture, your testcases/testscripts will act as the client. Appium provides you rich collection of client libraries in multiple programming languages such as Java/JavaScript/Ruby/PHP/Python/C#. This blog will explain the client set up using Java client libraries.

Wednesday, 23 July 2014

Test automation of mobile applications


Last few days I was working on mobile application testing. I evaluated a couple of tools and I want to share my observation here.

If you want to jump into testing of Android / iOS, you can visit following links.

Android testing using Appium
iOS testing using Appium

Setting Context

The application that I want to perform automation testing is hybrid. I have written test cases for it's web version.

Tools evaluated

1. MonkeyTalk

Monday, 7 July 2014

A/B Testing using Google Experiments


Hope you all had a good weekend. I really had fun. A few days back my manager threw some light on A/B testing with the help of Google. And that is the reason why I am writing this blog.

What is A/B testing?

In short, it is a way to improve the customer experience and thereby increase revenue from your website. You can search in Google to find the best definition. 

How Google helps?

Google helps you to create 10 different variations of your content and also provides library/SDKs to integrate the variations in your application. It is called Google Content Experiments. It offers 3 different ways of implementing it.

Saturday, 5 July 2014

Resize image in HTML

Hello folks,

Lets have a look at the various ways in which an image can be re-sized in an HTML page. I will classify it into 3 different sections. Re-sizing of a background image, regular img tag and sprite image. If you are interested only in re-sizing a sprite image directly jump to last section.

Section 1: How to re-size a background image?

I am sure many of you might be familiar with the background property. It is actually a short-hand property for many other properties; mainly background-image. Look at the example given below.

 html {
  background: url('worldcup.jpg') center center no-repeat; 

This will render the image at the center of your page with actual size. Using background-size property, you can re-size the image in different ways.

Tuesday, 3 June 2014

JUnit Parameterized TestCases


Last few days I was working on selenium based automation testing. During the development of a framework I came across few interesting elements in JUnit4. Today we are going to talk about running testcases with parameters.

A common scenario

In many situations you might have to create multiple JUnit TestCases which are identical except for the input data. For example, if you want to test a form page with multiple values for the same field, you will end up in creating identical test cases with different input values.

Don't create multiple TestCases

You can get rid of creation of identical testcases with the help of Parameterized runner. I will give the steps for creating a Parameterized test case.

  1. Create your test case
  2. Annotate it with Parameterized                                                                                                           
  3. Create a static method that returns a Collection of Object Array. Also annotate it with Parameters     
  4. Create a constructor with the same number of arguments as given in the array                                          
  5. You are done. Now run the testcase!
You can notice that each test method is executed for each item in that collection. 

Good day!

Thursday, 13 February 2014

Complete HTML5 portlet management system


Last day I had a discussion with one of my friend regarding portlets. He asked me whether it is possible to have a portlet management system completely on the client side. In this article I shall try to find out a client only solution (which you may or may not agree).

Java Portlets, Liferay portlets

You may be already knowing about portlets in Java, JSF and Liferay. JavaScript cannot compete with any of these as it is processed on the server side. JavaScript does not have the power of permanent storage too. The only option left to us is the use of localStorage or file API (which is not yet implemented in many of the browsers).

Monday, 10 February 2014

Make your app voice interactive!

Hello all,

Today I want to talk about speech synthesis APIs in HTML5 which helps you to listen to your application. Currently implemented by a very few browsers such as Chrome, Chromium(version 33 onwards on both web and mobile), Safari web and mobile on iOS7. You can download chromium33 here.

Speech synthesis API

Copy paste following code to your favorite editor and save it as an HTML and open it in the browser installed earlier.