Test driving Push notification in Bluemix

This post is a continuation of my earlier post ‘Getting started with mobile cloud in Bluemix‘. Here I take a test drive of the push service that Bluemix offers based on the article “Extend an Android app using the Push cloud service” from developerWorks.

This post assumes that you have already completed the changes from my earlier post for the mobile cloud. If you haven’t,  you could clone the code from “mobile data” which is the official IBM version of this app and includes all the changes needed for persisting data in the cloud through their Android.

The Mobile Cloud App I created on Bluemix is “mobtvg“. The main steps to have Push notification service using Bluemix are

  1. GCM services : Get Google API Project number  & GCM API Key
  2. Include the Google Play services library project
  3. Add the jar files to enable Push service
  4. Modify the server side Node.js file to send push notifications to all registered devices
  5. Make necessary code changes
  6. Run the application and test for notification

Here are more details on the above steps

a) GCM services : Google Cloud Messaging for Android (GCM) is a service that allows you to send data from your server to your users’ Android-powered device, and also to receive messages from devices on the same connection. The 1st thing to do is get the Google API Project number & GCM API key.

– Click on Google Developer Console

– Click Create Project. Enter Project name & click Create.

– Note the Project Number on top of the page.

– Click API & Auth on left panel. Click API.

– Scroll down and turn-on Google Messaging for Android

–  Click credentials and click “Create new key”. Click server key. Click create

-Copy API key in the Public API access

Now go the Bluemix dashboard and click your application. Click the Push module. In the Configuration tab, scroll down to Google Cloud Messaging and  click ‘Edit’

Enter the Google API Project Number & GCM API key for both the Sandbox & Production configuration and click Save.

4
b) In Eclipse click Windows->Android SDK manager. Scroll down to the bottom and under Extras select Google Play services. Click install. Once the installation is successful import the project as follows File-Import->Android->Existing Android  code into Workspace. Click Next. In the next screen Browse to the path where your ADT bundle is installed and choose the folder

<ADT-Bundle>\ sdk\extras\google\google_play_services

and Click Ok. Also  check ‘Copy project into workspace’. This will copy.

3

Now build the Google Play Services Project. To do this the project. Click Project->Properties->Android and make sure that you select ‘Is library project’ and then click build.

5

Add a reference to the Google Play services in the Androidmanifest.xml

<meta-data

android:name=”com.google.android.gms.version”

android:value=”@integer/google_play_services_version” />

c) Make all the code changes given in Step 4 of “Extend an Android app using the Push cloud service.

d) In MainActivity.java make sure you change the app_name to the name of your app for e.g

public static final String CLASS_NAME = “MainActivity”;

public static final String APP_NAME = “mobtvg“;

Also ensure that under assets folder you have populated the Application ID in the bluemix.properties file

applicationID=<Application ID from Bluemix>

d) Add ibmcloudcode.jar, ibmpush.jar, android-support-v4.jar (from <Android_SDK_Location>/extras/android/support/v4)

e) Now the Mobile Push project need to include this library project. To do this select your Mobile App project. Click Project->Properties->Android. Click Add and select google-play-services-lib. Note: Make sure “Is library project” is unchecked otherwise you are in for a lot of grief.

8

f) Now you need to make changes to the Node.js application to push any changes from the server to all registered devices.  The code for this is in bluelist-push-node. Note; Making changes through the GUI results in an error that “manifest.yml is not in root node”. So I suggest that you take the ‘cf’ route as follows.

– Clone the code using Git

git clone https://hub.jazz.net/git/mobilecloud/bluelist-push

Go to bluelist-push-node folder

i) Open the app.js with your favorite editor and enter the Application ID of your Bluemix application

//Data Values

var values = {

version:”0.3.1″,

//change this to the actual application id of your mobile backend starter

appID : “<APPLICATION ID>”,

host : “https://mobile.ng.bluemix.net&#8221;

}

ii) Open manifest.yml and change host name & name to the name of your application for e.g.

host: mobtvg

disk: 1024M

name: mobtvg

command: node app.js

path: .

domain: ng.bluemix.net

mem: 128M

instances: 1

iii) Once the changes are complete, open a command propmpt and  login into Bluemix using ‘cf’ as follows

– cd to the directory in which Node.js & manifest.yml exist, Do

cf login – a http://api.ng.bluemix.net

cf push mobtvg -p . -m 512M

(Note the changes are pushed to the mobile cloud app on Bluemix)

This will run through and finally give the status that the app is running successfully.

f) Now that all changes are complete the Mobile Cloud with Push can be tested..

g) Click Window->Android Virtual Device Manager. Click the Device definitions. You choose Google Nexus, Nexus 7. Click Create AVD.

Note: Make sure you choose Google API Level Y and not Android x.x.x API Y.

6

Let the AVD come up and display the current items in the grocery list.

h) Login to Bluemix. Click Push and select the Notifications tab and enter a test message for e.g. “This is a notification from Bluemix” and click send.

7

This will result in a Push Notification to be sent to the AVD. You should see this popup on you AVD as shown below

1

i) Add another AVD through Windows-Android Virtual Device manager. While one AVD is running go to Run->Run Configurations->Target Device and choose the newly created AVD.

j) This will start a second AVD which will refresh with the contents of the grocery list. Now adda new item in one of AVD devices. This will result in a Push notification to the other device that the Bluelist has been updated.

2

There you have it.

1) A mobile cloud applications in which changes persist in the cloud and are refreshed each time the Android device is restarted.

2) A Push notification that is sent to all registered devices whenever there is a change to the list.

Disclaimer: This article represents the author’s viewpoint only and doesn’t necessarily represent IBM’s positions, strategies or opinions

Find me on Google+

Train Spotting android app – Nuts and bolts

trainsplashTrainspotting Android app. This is my second android app from concept, design and finally to implementation. You can download this app from Google Play at Train Spotting.

In this post I discuss the details of the app threadbare. The app has all the usual goodies of android and uses the following features of Android

  • Tab Layout
  • List Layout with checkbox
  • Options Menu with add, delete and deleteAll options
  • Passing parameters between activities
  • Handling the checkbox
  • Using the assets folder
  • Alert dialog
  • Widgets like spinners, buttons, text fields etc

Actiity Flow

The picture below shows the flow between the different activities

ts-activity

Tab Layout

The app has 3 main tabs

  1. Favorites b) Locate Train c) Train At d) About.

Creating tabs is fairly straightforward

Create 3 tab xml files in the res/layout folder. The res/layout folder will also contain 3 xml files containing the icons that have to displayed when a tab is selected and when it not selected.

For the above 3 tabs the layout files are

  1. Favoritesa. Layout file – display.xml which is a list viewb. Icon file – favorites.xml
  2. Locatea. Layout file – locate_train.xml with spinners and buttonsb. Icon file – locate.xml3) About

a. Layout file – about.xml – Webview

b. Icon file – help.xml

For e.g.

display.xml has the following

<ListView xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:id=”@android:id/list”
android:layout_width=”wrap_content”
android:layout_height=”match_parent” >

</ListView>

favorites.xml

?xml version=“1.0” encoding=“utf-8”?>

<selector xmlns:android=http://schemas.android.com/apk/res/android&#8221;>

<!– When selected, use grey –>

<item android:drawable=“@drawable/star”

android:state_selected=“true” />

<!– When not selected, use white–>

<item android:drawable=“@drawable/star_1” />

</selector>

To create the above tab layout the following needs to added to the MainActivity to create the 3 tabs

// Create 3 tabs. Favorites, Locate, About

TabHost tabHost = getTabHost();

// Favorite trains tab

TabSpec favspec = tabHost.newTabSpec(“Favorites”);

// setting Title and Icon for the Tab

favspec.setIndicator(“Favorites”, getResources().getDrawable(R.drawable.star));

Intent favoritesIntent = new Intent(this, displayTrains.class);

favspec.setContent(favoritesIntent);

// Locate Train tab

TabSpec locatespec = tabHost.newTabSpec(“Locate”);

locatespec.setIndicator(“Locate”, getResources().getDrawable(R.drawable.binoculars));

Intent locateIntent = new Intent(this, locateTrain.class);

locatespec.setContent(locateIntent);

// About Tab

TabSpec aboutspec = tabHost.newTabSpec(“About”);

aboutspec.setIndicator(“About”, getResources().getDrawable(R.drawable.help));

Intent aboutIntent = new Intent(this, about.class);

aboutspec.setContent(aboutIntent);

// Add TabSpec to TabHost

tabHost.addTab(favspec);

tabHost.addTab(locatespec);

tabHost.addTab(aboutspec);

 Screenshot with the tabsts_screen1

The app starts at the Main Activity and then immediately switches to the Favorites tab. This tab displays the current list of trains that the user has stored in the SQLiteDatabase.

Options Menu

The Favorites tab includes an Option Menu when the Options button on the device is pressed.

There are 3 options presented to the user

  1. Add b) Delete c) deleteAll

To create an Options Menu add the options to the res/menu folder as options_menu.xml

The contents of res/menu/options_menu.xml is as follows

<?xml version=“1.0” encoding=“utf-8”?>

<menu xmlns:android=http://schemas.android.com/apk/res/android&#8221;>

<item android:id=“@id/add”

android:icon=“@drawable/add”

android:title=“@string/add” />

<item android:id=“@id/delete”

android:icon=“@drawable/delete”

android:title=“@string/delete” />

<item android:id=“@id/deleteAll”

android:title=“@string/deleteAll”

android:icon=“@drawable/deleteall”/>

</menu>

This can be inflated in the Activity (displayTrains.java) as follows

publicboolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.options_menu, menu);

returntrue;

}

When a user selects an option the on the OptionItemSelectedMenu is invoked. There are currently 3 actions that can be selected from the OptionsMenu

a) Add b) Delete c) DeleteAll

Add option : When this option is selected the addTrain activity is started to take user input for the train no and train name

publicboolean onOptionsItemSelected(MenuItem item) {

Intent intent;

int count;

SqlOpenHelper helper = new SqlOpenHelper(this);

ArrayList<String> r = new ArrayList<String>();

final Context context = this;

switch (item.getItemId()) {

case R.id.add:

// Switch to the addTrain Activity

intent = new Intent(context, addTrain.class);

startActivity(intent);

returntrue;

The delete and the deleteAll option are also invoked in a similar fashion from the Option Menu

case R.id.delete:

…..

returntrue;

case R.id.deleteAll:

….

}

returntrue;

default:

returnsuper.onOptionsItemSelected(item);

}

}

 Screen shot with the options menu

ts_screen21

Passing parameters between activities

Sending parameters from one activity to another (locateTrain.java)

In the LocateTrain activity when the user selects the ‘train no’ and the ‘day” for which to locate the train the WebView has to be invoked with the selected values for the train no and day. This is done as as follows. In the calling activity locateTrain

Intent intent = new Intent(context, trainAt.class);

//Setup to pass parameters to new activity

// Pass the train & the day to the trainAt Activity

Bundle b = new Bundle();

b.putString(“train”, train_tokens[0]);

b.putString(“day”, dayValue);

intent.putExtras(b);

startActivity(intent);

The values are put in the bundle ‘b’ and the the parameters are passed with the call

intent.putExtras(b). The intent is finally started with the trainAt activity.

The trainAt activity receives the passed parameters are received as follows

Receiving parameters (trainAt.java)

// Receive the passed parameters

Bundle b = getIntent().getExtras();

int trainNo = Integer.parseInt(b.getString(“train”).toString());

String value = b.getString(“day”).toString();

// Invoke the web with passed parameters

String url = “http://www.spoturtrain.com/status.php?tno=&#8221; + trainNo + “&date=” +value;

WebView myWebView = (WebView) findViewById(R.id.webview);

myWebView.loadUrl(url);

Handling delete of selected items

To handle deletion of selected trains from the listview the delete() method is called. The code and the explanation is given below

SqlOpenHelper helper = new SqlOpenHelper(this);

ArrayList<String> r = new ArrayList<String>();

ListView lv = getListView();

SparseBooleanArray a = new SparseBooleanArray();

the lv.getCheckedItemPositions() returns a sparse array which has the checked items set to true.

// Create a sparse array of checked positions

a = lv.getCheckedItemPositions();

The list is iterated and the rows which are checked are determines as below

// Determine the positions which are checked

for(int pos=0;pos<lv.getCount(); pos++){

//Log.d(“val”,”pos:”+ pos + ” ” + a.get(pos));

if(a.get(pos)){

// If item is checked add it to the items ArrayList

items.add(pos);

}

}

//Convert the integer ArrayList to an Integer Array

Integer[] itemArray = new Integer[ items.size() ];

items.toArray( itemArray );

//Delete all selected items from SQLiteDatabase by passing in the itemArray

A train array is created with the selected rows and passed to deleteTrains()

helper.deleteTrains(itemArray);

// Clear the ArrayList

items.clear();

After deleting the selected rows the ListView is again re-populated with the new list.

//Re-populate the list

r = populateResults();

listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,r);

this.setListAdapter(listAdapter);

listAdapter.notifyDataSetChanged();

lv = getListView();

lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

Handling Cancel

As before the sparse array of checked items is obtained and each of them are set to false to uncheck them as below

// Get the checked positions in a Sparse Array

a = lv.getCheckedItemPositions();

for(int i=0;i<lv.getCount(); i++){

//Log.d(“val”,”i:”+ i + ” ” + a.get(i));

// Uncheck the checked positions

if(a.get(i)){

lv.setItemChecked(i, false);

}

}

// Clear the sparse Array. Clear the ArrayList

a.clear();

items.clear();

Using the assets folder

The About tab displays a Help file which is stored as a html in the

/assets folder.

To display the Web page, webview is used

publicclass about extends Activity {

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.about);

// Add the trainspot.html in assets/

WebView webView = (WebView) findViewById(R.id.trainspot);

webView.loadUrl(“file:///android_asset/trainspot.html”);

}

}

Creating an alert dialog

An alert dialog is fairly straightforward

AlertDialog.Builder builder = new AlertDialog.Builder(context);

Set the title of the dialog and the message to be displayed as below

// Set title

builder.setTitle(“Confirm delete”);

a = lv.getCheckedItemPositions();

// Set the dialog message

builder.setMessage(“Do you want to delete these ” + a.size() + ” items?”);

Add either ‘Yes’/’No’ or ‘OK’/’Cancel’ buttons and handle the actions accordingly

// Add the Yes & No buttons

builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {

publicvoid onClick(DialogInterface dialog, int id) {

// User clicked Yes button

// Delete selected items

delete();

}

});

builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {

publicvoid onClick(DialogInterface dialog, int id) {

// User No the dialog

// Uncheck the checked items

uncheck();

dialog.cancel();

}

});

// Create the AlertDialog

AlertDialog dialog = builder.create();

// show it

dialog.show();

This post gives all the finer details of this interesting app. Do install it and give it a try.

A sample output is shown below

ts_screen41

You can clone the project from Github at Trainspotting or

The complete code of this app can be downloaded at trainspotting.zip

Happy train spotting!

You may also like
1. Unity (full) android app – With bells and whistles
2. The making of Dino Pong android game

Find me on Google+

The Future of Telecom

Published in Voice & Data – Bright Future

Introduction: The close of the 20th century will long be remembered for one thing. The dotcom bust followed by the downward spiral of many major telecom and technology companies. For those who believe in the theory of the 12 year economic cycle this downturn is right about to end and we should see good times soon. Even otherwise there is good news for those in the telecom domain. We could shortly be witness to golden years ahead. There are many signs that seem to indicate that the telecom industry is on the verge of many major breakthroughs. Technologies like LTE, IMS, smartphones, cloud computing point to interesting times ahead. In fact telecom is at a inflexion point when the fortunes seem to be pointed northward. This article looks at some of the promising technologies which are going to bring back the sunshine to telecom.

3G Technologies –Better Quality of Experience (QoE): The auction of the 3G spectrum ended after 131 days of hectic bidding for this cutting edge telecom technology. 3G promises a whole new customer experience backed by extremely high data speeds. 3G promises download speed of up to 2 Mbps for stationary subscribers and 384 Kbps for moving subscribers. It is very clear that such high data speeds will inspire a host of new and exciting applications. Applications that span location based services (LBS), m-Commerce and NFC communications will be simply be irresistible to the users. Moreover the ability to watch video clips or live action on mobile TV or on laptops enabled with 3G dongles will have a lot of takers for 3G technology. App stores for 3G are bound to do a roaring business as 3G takes off in India.

Smartphones – The game changers: In the last decade or so in the telecom industry no other invention has had such a disruptive effect in the telecom domain as smartphones. Smartphones like the IPhone, Droid or Nexus One have changed the rules of the game. The impact of smartphone has been so huge that it actually spawned an entire industry of developers who developed applications for smartphones, content developers and app stores. The irresistible appeal of smartphones is the ease of use and the ability to browse the net as though they were using a normal data connection.  Users can watch youtube clips, play games or chat on the Smartphone.

IP Multimedia Systems (IMS) – Digital Convergence:  IP Multimedia System (IMS) , based on 3GPP’s Release 5 Specification in 2005, has been in the wings for quite some time. The IMS envisions an access agnostic telecommunication architecture that will use an all-IP Core for the transport of medium be it voice, data or video. IMS uses SIP protocol for signaling between network elements and SDP for exchanging media between applications.  The IMS architecture promises a whole slew of exciting application ranging from high quality video conference, high speed data access, white boarding or real time interactive gaining.  IMS represents a true convergence of the telecom wireless concepts with the data communication protocols. The types of services that are possible with IMS will be only limited by imagination. With the entry of smartphones and tablet PCs, IMS is a technology that is waiting to happen and will soon become prime time

Long Term Evolution (LTE)Blazing Speeds: Already there are upward of 5 billion mobile devices and a report from Cisco states that the total data navigating the net will exceed ½ a zettabyte (1021) by the year 2013. The exponential growth of data and the need to provide even higher Quality of Experience (QoE) led to the development of the LTE. LTE is considered 4G technology. LTE promises speeds anywhere between to 56 Mbps to 100 Mbps to users enabling unheard of speeds and applications.  What makes  LTE so attractive is that it promises better spectral efficiency and lower cost per bit than 3G networks. The competing technology for LTE is WIMAX which is also considered as 4G. But LTE has a better evolution path from 3G networks as opposed to WiMAX, While LTE is a packet only network there are sound strategies for handling voice traffic with LTE.  The standards body 3GPP offers two options for handling voice. The first is the Circuit switched (CS) fallback to 2G/3G network. In this scenario data access will be through the packet network of LTE while voice calls will use legacy 2G/3G voice networks. The other alternative is the switch voice traffic to the IMS network with its all-IP Core. This method is supported by the One Voice initiative of many major telecom companies and accepted by GSMA.  This strategy for handling voice through an IMS network is known as VoLTE (Voice over LTE)

Internet of Things- Towards a connected World:  “The Internet of Things” visualizes a highly interconnected world made of tiny passive or intelligent devices that connect to large databases and to the internet. This technology promises to transform the network from a dumb-bit pipe to a truly “computing” network. The Internet of Things or M2M (machine-to-machine) envisages an anytime, anywhere, anyone, anything network. The devices in this M2M network will be made up of passive elements, sensors and intelligent devices that communicate with the network. The devices will be capable of sensing, identifying and responding to changes in the immediate environment. Radio Frequency Identification (RFIDs) is one of the early and key enabler of this technology. The uses for this technology range from warning when the structural integrity of bridges is compromised to implantable devices in heart patients warning doctors of possible heart attacks.  The impact of the Internet of Things will be far-reaching. There are numerous applications for this technology. In fact, ubiquitous computing or the Internet of Things allows us to distribute processing power and intelligence throughout the network into a kind of ambient intelligence spread across the network. This technology promises to blur the lines between science fiction and reality.

App StoresThe final verdict:  The success of App Stores in the last couple of years has been nothing short of phenomenal. It is a complete ecosystem with App Store Developers, App Stores, and the Content Developers and Service Providers.  Apps and App stores have changed the rules of the game so completely. No longer is a mobile phone’s snazzy looks enough for it to be a best seller.  The mobile should be supported by cool downloadable apps for the user to use.  App Stores and apps will play an increasingly important role with apps being developed for smartphones and tablet PCs.  There are bound to be several interesting apps spanning technologies like   Location Based Service (LBS), mobile Commerce, eTicketing, Near Field Communication

Cloud Computing – Utility computing: Cloud Computing has been around some but is slowly gaining more and more prominence. Cloud computing follows a utility model for computing where the cloud user only pays for the computing power and storage capacity used. Cloud computing not involve any upfront Capacity expenditure (Capex).  Users of public clouds like EC2, App Engine or Azure can pay according to the usage of the resources provided by the cloud. Cloud technologies allow the CSPs to purchase processing power, platforms, and databases almost like a utility like electricity or water.  The cloud exhibits an elastic behavior and expands to accommodate increasing demands and contracts when the demand drops. Cloud computing will be slowly be adopted by more and more organizations and enterprises in the years to come.

AnalyticsMining intelligence from data:  Nowadays organizations all over are faced with a deluge of data.  For raw data to be useful it has been analyzed, classified and important patterns determined from the data. This is where data mining and analytics come into play. Analytics uses statistical methods to classify data, determine correlations, identify patterns, and highlight and detect key trends among large data sets. Analytics enables industries to plumb the data sets through the process of selecting, exploring and modeling large amount of data to uncover previously unknown data patterns. The insights which analytics provides can be channelized to business advantage. Data mining and predictive analytics unlock the hidden secrets of data and help businesses make strategic decisions. Analytics is bound to become more common and will play a predominant role in all organizations in the years to come.

Internet TVHot off the net:  If IMS represents the convergence of Telecom and the internet, Internet TV represents the marriage of TV and the internet. Internet TV is a technology whose time has come. Internet TV will bring a whole new user experience by allowing the viewer to be view rich content on his TV in an interactive manner. The technology titans like Apple, Microsoft and Google  have their own version of this technology. Internet TV combines TV, the internet and apps for this new technology.  Internet TV is bound to become popular with complementary technologies like IMS, LTE allowing for high speed data exchange and the popularity of websites like Youtube etc. Internet TV will receive a further boost from apps of smartphones and tablet PCs

IPv4 exhaustion – Damocles’ sword: While the future holds the promise of many new technologies it is also going throw a lot of attendant challenges. One serious problem that will need serious attention in the not too distant future is the IPv4 address space exhaustion.  This problem may be even more serious than the Y2K problem. The issue is that IPv4 can address only 2 32 or 4.3 billion devices. Already the pool has been exhausted because of new technologies like IMS which uses an all IP Core and the Internet of things with more devices, sensors connected to the internet – each identified by an IP address. The solution to this problem has been addressed long back and requires that the Internet adopt IPv6 addressing scheme. IPv6 uses 128-bit long address and allows 3.4 x 1038 or 340 trillion, trillion, trillion unique addresses. However the conversion to IPv6 is not happening at the required pace and pretty soon will have to be adopted on war footing. It is clear that while the transition takes place, both IPv4 and IPv6 will co-exist so there will be an additional requirement of devices on the internet to be able to convert from one to another

Conclusion:

Technologies like IMS, LTE, and Internet TV have a lot of potential and hold a lot of promise.  We as human beings have a constant need for better, faster and cheaper technologies. We can expect a lot of changes to happen in the next couple of years. We may once see rosy times ahead for telecom as a whole

<
Find me on Google+

Walking the 3G tightrope in India

Published in Voice & Data Oct 22, Walking the 3G tightrope in India

Introduction

India is now poised for the next technological leap with the planned rollout of 3G services by early next year.  The auction of the 3G spectrum by the government recently concluded in May, 2010 after 34 days and 183 rounds of intense bidding by nine private operators for 22 circles. The auctions ended after hectic bidding wars with no single operator winning the high speed 3G spectrum in all 22 circles. The three biggest carriers of India namely Bharti Airtel, Reliance Communication and Vodafone managed to bag 13 circles each.

While the 3G spectrum auction was a bonanza for the Indian Government which netted Rs. 66000 crores, the Indian carriers had to pay a steep price for the 3G spectrum artificially inflated by the intense bidding over the 34 days this year. The question that will be foremost in the minds of all the Indian operators is how to recover the cost of the expensive 3G spectrum in the shortest possible time as they plan the rollout of the 3G services. In other words the operators in India will have to walk the 3G tightrope over the next couple of years.

Navigating in the 3G domain

This article looks at some techniques that can be adopted by the Service Providers to quickly recoup the 3G spectrum costs.  The 3G rollout will involve network upgrades   to access, core and backhaul networks in order to meet the demands of the newer 3G services. The distinguishing and alluring feature of 3G, governed by the IMT-2000, is the great increase in data speeds. 3G networks allow download speeds of 2Mbps for a stationary user and up to 384 Kbps for a mobile user enabling Service Providers to come up with a slew of exciting new services. Such high network speeds allow for innovative services spanning voice, data and video.

A look at some of the techniques that can be adopted by Operators to generate a healthy revenue from 3G

Incentivizing for traffic growth:

a)      Smartphones

A recent report by Ericsson indicated that mobile data traffic globally grew 280% during each of the last two years with the forecast of doubling annually over the next five years. This explosion in mobile data traffic in countries like US, Europe and Japan is largely due to the entry of smartphones like the IPhone, Nexus One or Droid with their numerous data hungry applications. A compelling strategy for the carriers is to have a voice and data plan in the network,  for which a smartphone  like the ones above,  are provided at a throw away price.  This will be a major incentive for the subscribers to download high speed, data hungry applications. The operators should avoid the flat-rate pricing offered in some networks in the US and instead have price tiered service based on usage.

b)      3G dongles

Another strategy on the same lines is to subsidize 3G dongles for enterprises.   As before, the CSPs should concentrate on the revenue arising out of usage of the dongles as opposed to making any margins on the dongles themselves. Now with the entry of the iPad and other competing tablet computers there is bound to be significant growth in data traffic.

c) App Stores:

What makes 3G service so attractive is the high speed coupled with the inherent mobility. The CSPs have to take advantage of this fact and provide compelling high data applications which subscribers can download and use through App Stores. The App Stores should include innovative applications spanning location based services, video download services and mobile commerce.

3G network design considerations

a)      UMTS RF design

The Service Providers will have to devise their RF design strategy based on whether the 3G deployment is Greenfield or Brownfield  in which the 3G network will be co-located with existing 2G radio access systems. The UMTS RF design and planning should take into consideration the increased capacity requirements and traffic growth projections for the 3G network. The RF design considerations should be based on sound market research and its goals should be to maximize coverage, to provide sufficient capacity, optimized link budgets, acceptable QoS while minimizing Opex and Capex. The Service Providers will have to take appropriate steps if spectrum re-farming from 2G to 3G is considered. In this situation the Operator must ensure that the transition is transparent as possible. Also the Operators should introduce dual –mode handsets that will allow the subscribers to seamlessly switch between 2G and 3G networks and vice-versa where 3G services are co-located with legacy 2G networks.

b)      Core Network design considerations

In parallel with the design of the UMTS RF access, planning and design should also be taken for the Core network. The projected increase in subscriber on a monthly basis, the expected increase in voice traffic and the potentiality of explosive growth in data traffic should be given due consideration. All these factors should be taken into consideration while dimensioning the Core 3G network. The traffic handling capacities of Network Elements like the MSCs, HLRs, SCPs, SMSCs, SGSNs and the transmission systems like High Speed Links (HSLs) /Low Speed Links (LSL) should be dimensioned based on voice  and data traffic projections. Based on experience of existing 3G networks in the world it would make better sense to slightly over-dimension the network than to face  potential outages because of shortage of network resources. The Operators have to accurately anticipate traffic growth, increase reliability of the network and plan for the eventual migration to an all-IP network.

c)       Mobile Data Offload

The tremendous growth of mobile data traffic in countries  that have already deployed 3G like US, Japan resulted in carriers there having to offload some of the data traffic to Wi-Fi networks and femtocells in order to reduce the burden on the network.  Indian Service providers should plan their network with data offload as a possible eventuality.

Prudent Technology choices

As the Network Providers plan their growth of their network to support 3G technology they should also look at some of newer  technologies that can help in reduction of the Service Provider’s Capex and Opex. Two technologies with great potential are cloud computing and analytics.  By judiciously migrating some of their applications on a public cloud Carriers can reduce their capital expenditure.

Lastly CSPs can look at how data mining and analytics of their existing software systems can be used for identifying areas which will improve customer retention and reduce customer churn.  Analytics provide a wealth of information on customer behavior which can then be strategized to increase revenue

Conclusion

These are truly exciting times for the India Telecom.  Coupled with the promise of the advanced technologies like the 3G are also associated challenges and opportunities that are unique to those technologies.  CSPs that plan ahead and execute on their strategies are bound to emerge as true winners in the years to come.

Tinniam V. Ganesh

Find me on Google+

Cloud, analytics key tools for today’s telcos

Published in Telecom Asia Aug 20, 2010 – http://bit.ly/dxKbsR

Operators facing dwindling revenue from wireline subscribers, fierce tariff wars and exploding mobile data traffic are continually being pressured to do more for less. Spending on infrastructure is increasing as they look to provide better service within slender budgets.
In these tough times telcos have to devise new and innovative strategies and make judicious technology choices. Two promising technologies, cloud computing and analytics, are shaping up as among the best choices to make.
Cloud architecture does away with the worry of planning the computing resources needed, the real estate, the costs of the acquiring them and thoughts of its obsolescence. It allows the CSPs to purchase processing power, platforms and databases almost as a utility like electricity or water.
Cloud consumers only pay for what they use. The magic of this promising technology is the elasticity that the cloud provides – it expands to accommodate increasing demands and contracts when the demand drops.
The cloud architectures of Amazon, Google and Microsoft – currently the three biggest cloud providers – vary widely in their capabilities and features. These strengths and weaknesses should be taken into account while planning a cloud system. Each is best suited for only a certain class of applications unique to each individual cloud provider.
On one end of the spectrum Amazon’s EC2 (Elastic Compute Cloud) provides a virtual machine and a wealth of associated tools for storage and notifications. But the trade-off for increased flexibility is that users must take responsibility for designing resiliency into their systems.
On the other end is Google’s App Engine, a highly scalable cloud architecture that handles failures but is a lot more restrictive. Microsoft’s Azure is based on the .NET architecture and in terms of flexibility and features lies between these two.
When implementing such architecture, an organization should take a long hard look its computing software inventory to decide which applications are worthy of migrating to the cloud. The best candidates are processing intensive in-house applications that deliver standardized functionality and interface, and whose software architecture is made up of loosely coupled communicating systems.
Applications that deal with sensitive data should be retained within the organization’s internal computing infrastructure, because security is currently the most glaring issue with the cloud. Cloud providers do provide various levels of security to users, but this is an area in keen need of standardization.
But if the CSP decides to build components of an OSS system – rather than buying a pre-packaged system – it makes good business sense to develop for the cloud.
A cloud-based application must have a few essential properties. First, it is preferable if the application was designed on SOA principles. Second, it should be loosely coupled. And lastly, it needs to be an application that can be scaled rapidly up or down based on the varying demands.
The other question is which legacy systems can be migrated. If the OSS/BSS systems are based on commercial off-the-shelf systems these can be excluded, but an offline bill processing system, for example, is typically a good candidate for migration.
Mining wisdom from data
The cloud can serve as the perfect companion for another increasingly vital operational practice – data analytics. The cloud is capable of modeling large amounts of data, and running models to process and analyze this data. It is possible to run thousands of simultaneous instances on the cloud and mine for business intelligence in the oceans of telecom data operators generate.
Today’s CSP maintains software systems generating all kinds of customer data, covering areas ranging from billing and order management to POS, VAS and provisioning. But perhaps the largest and richest vein of subscriber information is the call detail records database.
All this data is worthless, though, if it cannot be mined and analyzed. Formal data mining and data analytics tools can be used to identify patterns and trends that will allow operators to make strategic, knowledge-driven decisions.
Analytics involves many complex areas like predictive analytics, neural nets, decision trees and classification. Some of the approaches used in data analytics include prediction, deviation detection, degree of influence and classification.
With the intelligence that comes through analytics it is possible to determine customer buying patterns, identify causes for churn and develop strategies to promote loyalty. Call patterns based on demography or time of day will enable the CSPs to create innovative tariff schemes.
Determining the relations and buying patterns of users will provide opportunities for up-selling and cross-selling. The ability to identify marked deviation in customer behavior patterns help the CSP in deciding ahead of time whether this trend is a warning bell or an opportunity waiting to be tapped.
Tinniam V Ganesh

Find me on Google+

Monetizing mobile data traffic

Published in Telecom Asia – May 31, 2010 – Monetizing mobile data traffic

Abstract: In the last couple of years mobile data traffic has seen explosive growth and has in fact crossed the voice traffic. CSPs have been forced to upgrade their access, core and backhaul networks to be able to handle the increased demands on the network. Despite the heavy growth in mobile data traffic the corresponding ARPU for mobile data traffic has only been marginal. So what is the way out for the Service Providers? This article looks at some of the avenues through which CSPs can increase their revenue in the face of increasing traffic demands by converting the growth in mobile traffic from a challenge to an opportunity.

Growth in Mobile Data Traffic
Mobile data traffic is exploding in carrier networks. In a recent report by Ericsson the findings show that mobile data traffic globally grew 280% during each of the last two years, and is forecast to double annually over the next five years. This exponential growth in data traffic has been fueled by the entry of smartphones, laptops with dongles and other devices hungry for bandwidth. The advent of smartphones like iPhone, NexusOne and Droid has resulted in several data hungry applications squeezing the available bandwidth of carriers. Smartphones are here to stay. Social networking sites on mobile devices and mobile broadband-based PCs also now account for a large percentage of mobile data traffic. In fact it is rumored that a major carrier’s network started to choke as a result of these bandwidth hungry smartphones.

Marginal ARPU issue
Nowadays professionals everywhere use their laptops with dongles for checking their emails, browsing or to perform high bandwidth downloads. However the ARPU from data traffic has been relatively flat or at most marginal. In fact one report claims that despite the phenomenal growth in data traffic the ARPU from data traffic has not grown proportionately. In fact the ARPU from voice traffic continues to exceed that of the ARPU of data traffic. This clearly defies logic. On the one hand there is enormous growth of data traffic but there are no corresponding returns for the Service Provider. To add to this situation there are now new devices like the iPad and its soon-to-be competitors which will start its demands on the wireless network. One of the reasons why the growth in ARPU for data traffic is not proportional to the data traffic growth is because of data schemes like “all-you-can- eat” or flat-rate charging. Such charging schemes result in excessive usage with little or no consequent increase in revenue generation. To make matters worse Over the Top (OTT) video service and other third party services place a heavy data load on the networks while siphoning away the revenue. Also the increased demands on the network necessitate the need to upgrade the access, core and backhaul networks to handle the increasing data traffic loads. The CSPs are forced to upgrade to LTE/WiMAX to improve the access and move their backhaul to the Evolved Packet Core (EPC). Hence the CSPs are faced with the situation where they do “more for less”. While they have to increase their CAPEX there is no corresponding ROI for the new hardware. This article looks at some of the possible ways the CSPs can monetize this growth in traffic.

Avenues for CSPs
There are four ways for turning this bandwidth crunch into an opportunity
1) Policy Based Traffic
The first technique is to study the usage patterns of the subscribers. The CSPs need to identify the applications that are most frequently used and have high bandwidth demands. The CSPs may be required to perform Deep Packet Inspection (DPI) to determine the kind of traffic in the network. The CSPs can then apply premium charging for these types of traffic. The CSPs need to have Policy Servers that apply different policies based on the type of traffic (data, video etc). The Service Providers can charge a premium for specific kinds of traffic usage based on the policies set. However the downside of this approach is that it may not go down well with the subscribers who have been using the flat rate charging

2) Mobile Ads
The second method which carriers can use is through mobile ads. This method avoids increasing the charge on customers. The carriers can maintain a fixed charge for the subscriber or in other words provide a subsidy to the subscriber by having the subscriber receive commercial advertisements, The Service Provider s can have a business model with the commercial provider and receive a small fee for carrying the commercial to the mobile. The mobile ads should be non-intrusive and should be non-distracting to the user. They can be displayed at the top or the bottom of the mobile phone for example when the subscriber is looking through his/her contact list. Alternatively if the subscriber is using a data intensive application the user may be required to watch a 30 sec commercial prior to the start of the video clip.

3) Revenue sharing with Content Owners
The third technique for the CSPs is to enter into an innovative business model with the content provider or content owner. Some lessons can be learnt by the business model of successful enterprises like Google, Yahoo, eBay or PayPal. These organizations receive a small fee for facilitating a particular service for example hosting an ad on the web page or facilitating a payment. So also the carriers should enter into a business model with the content owners where a small fee is received by the Service Providers for providing the network infrastructure for the music or video service. This would be akin to paying a toll for using a well maintained highway. So also the carriers should levy a small toll for the usage of it network highway.

4) App Stores
The carriers can also maintain app stores which besides providing downloadable applications should also provide for downloadable content for e.g. Music or video. So the carriers can generate revenue both from providing the content and also from providing the infrastructure for transport of the content to the mobile.

Conclusion: Some avenues for revenue generation in these times where the growth of data traffic is increasing at a tremendous pace is for the Service Providers to
1) Have the ability to differentiate traffic and use a policy manager and charge based on the data being transported. Provide a personalized service to individual users based on traffic types and charge appropriately
2) Subsidize usage for the subscriber through the delivery of mobile ads and enter into revenue share with the organization for whom the commercials are being provided
3) Levy a small charge to the content owners for the delivery of their content to the mobile users
4) Creatively use app stores for providing apps, music, video and other differentiated content.

Posted by T V Ganesh

Find me on Google+

The evolutionary road for the Indian Telecom Network

Published in Voice & Data Apr 14, 2010

Abstract: : In this era of technological inventions, with the plethora of technologies, platforms, paradigms, how should the India telecom network evolve? The evolutionary path for the telecom network clearly should be one that ensures both customer retention and growth while at the same time be also capable of handling the increasing demands on the network .The article below looks at some of the technologies that make the most sense in the current technological scenario The wireless tele-density in India has now reached 48% and is showing no signs of slowing down. The number of wireless users will only go up as the penetration moves farther into the rural hinterland. In these times Communication Service Providers (CSPs) are faced with a multitude of different competing technologies, frameworks and paradigms. On the telecom network side there is the 2G, 2.5G, 3G & 4G. To add to the confusion there is a lot of buzz around Cloud technology, Virtualization, SaaS, femtocells etc., to name a few. With the juggernaut of technological development proceeding at a relentless pace Senior Management in Telcos, Service Providers the world over are faced with a bewildering choice of technology to choose from while trying to maintain the spending at sustainable levels. For a developing economy like India the path forward for Telcos and CSP is to gradually evolve from the current 2.5G service to the faster 3G services without trying to rush to 4G. The focus of CSPs and Operators should be in customer retention and maintaining customer loyalty. The drive should be in increasing the customer base by providing superior customer experience rather than jumping onto the 4G bandwagon. 4G technology, for example LTE and WiMAX, make perfect sense in countries like US or Japan where smart phones are within the reach of a larger set of the populace. This is primarily due to popularity and affordability of these smart phones in countries like the US. In India smartphones, when they come, will be the sole preserve of high flying executives and the urban elite. The larger population in India would tend to use regular mobile phones for VAS services like mobile payment, e-ticketing rather than downloading video or watching live TV. In US, it is rumored, that iPhones with their data hungry applications almost brought a major network to its knees. Hence, in countries like US, it makes perfect sense for Network Providers to upgrade their network infrastructure to handle the increasing demand for data hungry applications. The upgradation to LTE or WiMAX would be a logical in countries like US. In our nation, with the growth in the number of subscribers, the thrust of Service Providers should be to promote customer loyalty by offering differentiated Value Added Service (VAS) service. The CSPs should try to increase the network coverage so that the frustration of lost or dropped calls is minimal and focus on providing superior customer experience. The Service Providers should try to attract new users by offering an enhanced customer experience through special Value Added Services (VAS). This becomes all the more important with the impending move to Mobile Number Portability (MNP). Once MNP is in the network many subscribers will switch to Service Providers who offer better services and have more reliable network coverage. Another technique by which Service Providers can attract and retain customers is through the creation of App Stores. In US, app stores for iPhone have spawned an entire industry. Mobile Apps from app stores besides providing entertainment and differentiation can also be a very good money spinner. While the economy continues to flounder the world over the Service Providers should try to reduce their Capacity Expenditure (Capex) and their Operating Expenditure (Opex) through the adoption of Software-as – Service (SaaS) for their OSS/BSS systems. Cloud technology, besides reducing the Total Cost of Ownership (TCO) for Network Providers can be quite economical in the long run. It is quite possible that prior to migrating to the Cloud all aspects of security should be thoroughly investigated by the Network Providers and critical decisions as to which areas of their OSS/BSS they would like to migrate to the Cloud. While a move to leapfrog to 4G from 2G may not be required, it is imperative that with the entry of smartphones like iPhone 3GS, Nexus One and Droid into India the CSPs should be in a position to handle increasing bandwidth requirements. Some techniques to handle the issue of data hungry smartphones are to offload data traffic to Wi-Fi networks or femtocells. Besides, professionals these days use dongles with their laptops to check email, browse and download documents. All these put a strain on the network and offloading data traffic to femtocells & Wi-Fi have been the chosen as the solution by leading Network Providers in the US. Conclusion So the road to gradual evolution of the network for the Network Operators, Service Providers are 1. Evolve to 3G Services from 2G/2.5G. 2. Create app stores to promote customer retention & loyalty and offer differentiated VAS services 3. Improve network coverage uniformly and enhance the customer experience through specialized App stores 4. Judiciously migrate some of the OSS/BSS functionality to the cloud or use SaaS after investigating the applications of the enterprise that can move to the cloud 5. Offload data traffic to Wi-Fi networks or femtocells.

Tinniam V. Ganesh

Find me on Google+