Showing posts with label agile. Show all posts
Showing posts with label agile. Show all posts

Sunday, May 13, 2012

Monetizing your mobile apps using IBM Worklight and Ad networks - Part 2

In part 1 of this article, we discussed how to leverage ad networks to monetize your apps by showing targeted advertisements through simple tweaks using the ad network SDKs.

Another, relatively less explored way of advertising when you do not want to go through the ad networks or just want to use your app to advertise your own business, is to use IBM Worklight adapters and push notifications.

What are Worklight adapters? An Adapter is a transport layer used by the Worklight Platform to connect to various back-end systems. Worklight supports SQL and HTTP adapters out of the box, which means you can also do RESTful operations using the adapter.




















Some ways in which you can use adapters are:
  1. The simplest way an adapter can be used to retrieve ads is to create a UI element on a page in your application and render this UI element using the data returned from an adapter, which can fetch advertisements from a back-end enterprise database. For example, if you're working with an android app, create a web view using height as "wrap_content". You can also use other UI elements such as Gallery for images or layouts. And then call your adapter to fetch the ad-related data to be rendered in the UI element.
  2. Use two or more worklight adapters to mashup data and display targetted advertisement. Eg: Get the city from a page where the user has to select his city -> use an adapter to query a database to fetch a city ID -> use another adapter which can fetch ads related to that city ID from another data source or application. The worklight city weather demo app shown below is a great example of how such a mashup can be done. Read the Worklight mashup tutorial to learn more.


Adapters can be combined with push notifications to yield yet another way of showing ads. How can this be done? An adapter can listen to an event source and push advertisements as notifications through the app store mediator (Google, Apple). These notifications can be in the form of a notification dialog or a badge. (A badge is a small notification which appears on the corner of the application icon - think facebook mobile app which shows notifications and message alerts right on the icon). The worklight server comes with a browser-based console that can be easily used to dispatch notifications to all devices that have the app installed and subscribed to the notifications.These ads are nice when a user has installed the app and subscribed to the notifications, although they don't provide a very powerful way of in-app advertising, which can be done using ad network integration or adapters. A good example of push notifications is special offers that your business rolls out from time to time. Eg: Christmas Offer - Upgrade to the full version of the app at just 49c. Push notifications give you the power to broadcast ads whenever you want to, thus customizing them according to the needs of your business. The figure below shows how the worklight push mechanism works. 


Push notifications can be used in other ways as well. You can  use them to notify users of new versions or upgrades of the app as soon as a build becomes available. This method truly combines the power of effective lifecycle management of mobile apps with the Worklight builds. This even works in the context of enterprise apps where the primary users of the app are the employees themselves. Eg: if you're using IBM Rational Team Concert (RTC) and you build your app using the Jazz team builds, you can create an adapter that listens to the Jazz server  (or an app store) and as soon as a new build of the app is available, automatically sends push notifs to all devices with the app to upgrade to latest version. Additionally, RTC source control can help in modularizing the adapters into components, so that different departments/units in the company can maintain their own components independently of the apps and yet support an app which is used across departments/units.

Note: To send push notifications to Android devices, you will need to use Android Cloud-to-Device Messaging (C2DM). You need a valid Gmail account to register to Google’s C2DM service at http://code.google.com/android/c2dm/signup.html. To send push notifications to iOS devices, you will need to use Apple Push Notifications Service (APNS).

There are also other powerful tools that can help in making sure that the ads you render, either through ad networks or adapters have a look and feel of your app, and don't look forcefully shoved in. While you cannot control the way the ad will be shown, because they're creatives of a third-party, you can ensure that the UI widget in which the ad appears matches your app's look and feel. You can add custom style sheets to the UI elements if you're using say, the Javascript SDK of InMobi which integrates directly with hybrid/ mobile web apps. You can even use tools such as IBM Rational Application Developer which provide WYSIWYG editing for commonly used UI toolkits such as Dojo mobile.

So join the mobile bandwagon and start making money from your apps!

Catch me at IBM Innovate 2012, and hopefully not by the collar! ;)


Sunday, July 24, 2011

Developing applications for Android™ using IBM Rational Team Concert and IBM Rational Rhapsody in an agile way


In an earlier jazz.net library article I wrote - Developing applications for Android™ using IBM Rational Team Concert in an agile way, we saw how to leverage the power of planning, collaboration, process, source control, build management, etc that IBM Rational Team Concert (RTC) has to offer, to develop and manage Android applications in a team working across geographies and across different platforms. Now what if the team also wants to model the application, specify UML class diagrams, use case diagrams, and link them with the requirements? Such software architecture and modeling capabilities can easily become a part of the development process with IBM Rational Rhapsody.

IBM Rational Rhapsody integrates with Rational Team Concert to offer modeling capabilities for Android applications and the visual representation of the Android framework API that developers can reference from within Rational Rhapsody. The references are then generated into Java code to automate the manual coding task. Additionally, Rational Rhapsody can read the AndroidManifest.xml file to visualize activities, services, broadcast receivers, main activity and content provides specified for better understanding of the application. The Rational Rhapsody Debugger also enables runtime animation of the class diagrams created for an Android application.
This article, with the help of a demo video embedded below, shows how RTC and Rhapsody can be together used to design, model, develop and test a mobile application.
 

Download and installation

1) OS: Windows x86 / Linux x86 .

2) IBM Rational Team Concert: Download/buy from the jazz.net download page. RTC can also be installed directly on Eclipse 3.6.x (see http://jazz.net/library/techtip/384). Note that if you're using an existing Eclipse installation to install RTC, make sure you have Eclipse 3.6 or lower (Eclipse 3.7 is not yet supported for Android development).

3)
Android SDK: Download the SDK from Android developer website.

4)
Android Development Tools(ADT): This is an eclipse plugin- the equivalent of JDT(Java Development Tools)- for Android Development. ADT can be downloaded and installed using instructions given at http://developer.android.com/sdk/eclipse-adt.html. Please follow the detailed instructions on this page for installing the ADT plugin, and also for setting the location of Android SDK in Eclipse.

5) It is a good idea to read through the following step by step guide to set up RTC and prepare it for Android Development: http://jazzpractices.wordpress.com/2010/08/10/how-to-set-up-rtc-for-android-development/.


6) IBM Rational Rhapsody: Download and install IBM Rational Rhapsody Developer 7.5.3 from the Rhapsody Downloads page.

7) Including Rhapsody in the RTC Eclipse workbench: In the IBM Rational Team Concert Eclipse Client, go to Help>Install New Software> Add Software Site, and then add the <Rhapsody Installation path>\Eclipse as a local repository.
8) Once the installation is complete, you should be able to use Rhapsody's capabilities inside the RTC Eclipse client.
*Note: You can similarly develop Windows mobile applications using RTC's Visual Studio client and Rhapsody's Visual Studio integration


Creating a new Rhapsody Android project and linking it with an Android project

This step is necessary to create the model elements for an Android project.

  1. Using the Java perspective, create a new Android project. In the demo below, the project is called Test1Project.
  2. Switch to the Rhapsody Modeling perspective, and create a new Rhapsody Android project (You can also read the Rhapsody Help page to read about how to work with Android projects).  This will become the current active project. In the demo, this is called Test1Model.
  3. Switch back to the Java package explorer view, right click on Test1Project, and choose Export.... In the “Export” dialog, select “Rhapsody Model” and click next. The Export to Rhapsody Model Dialog is now displayed. You can choose what elements you want to export into the model. Once this is done, projects Test1Project and Test1Model are now linked.


The Demo

The demo showcases how a distributed team working on an Android application can leverage the functionality provided by IBM Rational tools, namely IBM RTC and IBM Rational Rhapsody (let's call it the Rational Solution) through the complete lifecycle of the application, right from planning, design to implementation to design and testing, and even defect tracking. 
 
Using the Rational solution, a development team can work in either or both of the following 2 ways:

a. Code centric development: Ability to generate code from UML abstraction and state charts.

b. Model centric development: Ability to reverse engineer code into UML abstractions without changing the code layout and to synchronize the changes as they're done.

See the video below:

To see IBM Rational Team Concert and IBM Rational Rhapsody in action, and to know more about the rich features they have to offer, do attend IBM Rational Innovate India 2011 at The Leela, Bangalore from 9-11 August, 2011. You can catch me at the Rational Team Concert solution center. 

For more information

Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.