You are on page 1of 8

Dhirubhai Ambani Developer Programme

R -evolution
Newsletter for the Developer Community
For Private Circulation only

February 2005

Editorial
Dear Developers, 'I have never allowed my schooling to interfere with my education,' said Mark Twain, commenting on the lack of fun in learning in schools. Education is serious business but it can be made fun. To approach learning as an onerous task renders the same dull and dreary. The future belongs to children and adults who adapt themselves to the new environment where creativity is valued. One can learn a lot from solving problems that are game-like in their content. That's why interactivity forms an essential part of the new learning process. The ubiquitous mobile phone is an ideal platform where edutainment and interactive applications can transform serious activity like education to a fun filled experience. In our Application of the Month section, read more about the 'Ncyclopedia' application developed by Itellix, where a voluminous encyclopedia is squeezed into your hand phones for easy and interactive reference. In order to encourage participation of the DADP member community in R-evolution, by way of articles, tips, feedback and suggestions, we welcome you to write in to our 'Interactive' section. In our Technology Tips section, we continue with our articles on Reliance APIs. In this issue, you will find illustrations for use of the Util API package for creating Reliance specific applications. Looking forward to receiving your useful feedback and valuable suggestions.

Blending education with entertainment

- S P Narayanan

Tech Tip Util API

Application of the Month Encyclopedia

Interactive JDTS

Interview of the Month Nitish Mittersain Nazara Technologies

Quiz

R-evolution

www.dadp.com

EN/2005-2

Lead Story

Blending education with entertainment


T
he tremendous growth of mobile phone usage in India, coupled with the launch of a variety of data entertaining forms of presentation. The best part is that games have an enormously huge audience and popularity among all sections of mobile users. Therefore, they are that much more effective in disseminating information and knowledge. In the multimedia and ringtone categories of services, there are a lot of possibilities of innovation in development of applications in the form of images and calls of birds and animals. Even applications dealing with nature, wild life, adventure, history and culture hold a lot of potential for success. This is corroborated by a recent report by the research consultancy Mobile Youth, which has suggested that the number of under-sixteen in the UK owning mobile phones has grown to 5.5million, an increase of nearly half a million over the last year. Interestingly, the report says that the growth in 2004 was driven by primary school children The 'bonding', community-building and interactivity aspects of mobile entertainment applications find a real and meaningful extension in the 'edutainment' genre of applications. Imagine a game that helps children learn basics of mathematics or increases their knowledge of geography and history. Though concepts like these have already been tried on television, PC, Internet and CD-ROM based media forms; mobile-based edutainment is a niche by itself and is producing a significant change in this domain. What is essential for mobile edutainment applications to be successful is the quality of content and skillful designing. Thanks to handset improvisations - including availability of wider screen handsets - and rapid advancements in mobile communication technologies arena, which permit faster and greater quantities of data to flow, edutainment is rapidly growing. Learn while you play Games, which give users a feel and knowledge about heritage, science, culture etc, are being developed in There are several instances of brainteasers, quizzes, puzzles and games that have been launched by mobile operators across the world to build an attractive mobile edutainment bouquet of services for consumers. T h e b e s t p a r t i s that these applications allow people, mainly teenagers, to use the mobile phone as a smart learning tool anytime anywhere at their own pace and convenience. An example could be an application like mathematical quiz that would test the user s numerical ability/skills in a fun and entertaining way. Or even a language-learning (five to ten years old) getting their first phone. If one imagines this figure for school children in India and the multilingual challenge they pose for any such application, then one can understand the enormity of the scope, demand and possibilities. applications in the last few years, has led to an unprecedented upsurge of interest among the developer community. Exploratory efforts are already on to find out the possibility of creating innovative and useful applications. One of the areas currently being examined is mobile edutainment, which is poised for a big boost, thanks to its useful content and mass-market appeal. The word 'edutainment', coined in early 1990s, is a judicious blend of education and entertainment. It simply means 'educational entertainment'. Edutainment applications, as the name itself suggests, can be classified as applications that impart some knowledge, information or learning (covering different areas / topics) in a fun, enjoyable and entertaining way.

R-evolution

www.dadp.com

the application accessible to a much larger population in India. The application design is flexible - making it possible to support other language dictionaries in future without change in code. 'Kidzworld' is another such application on R World for kids, which informs in an entertaining way. Features such as 'FactMonster' in the application provide information on favorite pastimes like P o k m o n a n d H a r r y P o t t e r. Whiz Kid' tests childrens' knack for math, cartoons, wildlife, and more. To make it engaging and interactive, there is a scoring system, which allows one to see his/her name on the Whiz Kid Top Scorer List. The 'Word Wizard' section allows kids to know the meanings of words. As a result of the increased use of mobile communications, it is expected that the use of edutainment in mobile environment will be very significant in the future. tutorial where one can learn different languages in a step by step manner can be quiet popular in a developing country like ours. Initiatives by Reliance Reliance has already launched a couple of applications in its R-World suite of data services that fit the 'edutainment' definition. Two of the most popular of such applications are Mobile Dictionary and Mobile Encyclopedia. With these two applications, the RIM user can now boast of a miniature 'pocket dictionary' and a 'pocket encyclopedia' - always available and anywhere. The Encyclopedia is a digital archive for information seekers of all ages. Users can do a search on various topics like science, politics, geography, sports, etc and can find out required information in a jiffy. The Mobile Dictionary helps a consumer find the meaning of any English word, with the ability to have the meaning displayed in English, Hindi, French, German or Spanish. The reverse is also possible. Itellix, a mobile application developer from Bangalore with technical support from DADP, developed both these useful applications. Both were three-tier, J2ME based applications, specially designed to handle heavy loads of over 100 simultaneous requests and more than a million requests per day. A key feature of the solution is the ability to display the results in Indian scripts such as Hindi, making Clearly, the potential for educational applications is huge; and with improvements in technologies, transmission speeds, advanced mobile devices and a burgeoning mobile population, it is one area, which promises 'good times' for mobile developers in India.
Hilmi Quraishi

For developers and operators, the challenge is to gather sufficient feedback from consumers, in order to understand their expectations of edutainment content. The future of providing compelling edutainment services on the wireless environment depends to a significant extent on the development of technologies, and consumer's behavioral patterns. The propect for edutainment applications in the coming days can be best summed up in the words of Hilmi Quraishi, Chief Learning Technology Officer, ZMQ S o ft w a r e S y s t e m s , a D A D P developer. Mobile handset is the device and edutainment is the style. The blending of the two can revolutionize education, especially in rural India, where there is a greater need to train and educate semiliterate and under-privileged communities. And R-World is the right channel to disseminate these edutainment solutions.

R-evolution

www.dadp.com

Tech Tip

Util Package of Reliance APIs

he Util package consists of utility classes that can be of use to developers while developing the client side of any application.

Util package consists of two classes, namely ResourceBundle and ProgressScrn. Out of these, ResourceBundle is more important from the functional point of view. This is a utility class, used in multi-languages to enable an application, while Class ProgressScrn is important from the feature point of view and is used to display the progress screen on the client when the client is waiting for something to happen - like getting a response from the server. ResourceBundle class dynamically determines the language enabled on the device and loads the corresponding resource class. If the resource class for that language does not exist on the device, it switches to English language and loads the English resource class. Resource bundles contain locale-specific objects. When the application needs a locale-specific resource, a String for example, the application can load it from the resource bundle that is appropriate for the current user's locale. In this way, one can write a program code, which is largely independent of the user's locale, isolating most, if not all, of the locale-specific information in resource bundles. This class can be said to be a scaled down version of ResourceBundle class available in the java.util package of JDK (Java development kit). The members of the ResourceBundle share a common base name, but at the same time have additional components that individually identify them. ResourceBundle consists of a field named resource and two methods, namely getBundle() and get(). The Application using resource bundles can get a ResourceBundle object using the getBundle() method. The Reliance.language property helps the application to determine the enabled language on the device. The method getBundle() needs two string input parameters, namely resource name and locale. The method throws up a MissingResourceException, if the resource class does not exist. The method get() is used to get the value from ResourceBundle for the specified key, which the method takes as input. If a MIDlet does not contain the resource class for the currently enabled language on the device, the getBundle method returns the ResourceBundle object with the English resource. If the developer uses resource bundles for enabling languages in his/her applications, then the application jar must contain at least the English resource class. ProgressScrn is a class used to display the progress screen when the application is busy in performing some activity that needs time and the user has to wait for a response. The class extends javax.microedition.lcdui.Canvas and implements java.lang.Runnable. The class has four methods in it, namely start(), stop(), run() and paint(). As the name itself signifies, start, stop and run are used to control the animation and paint is used to paint the screen. The sample code of the ResourceBundle is given below. Further details can be obtained from the documentation of the APIs available in the resource section of the DADP website (www.dadp.com).

String currLanguage = System.getProperty("reliance.language"); try { rd = com.reliance.util.ResourceBundle.getBundle("com.reliance.someapp.Resource", currLanguage); str[0] = rd.get("MSG_ID1"); // option A str[1] = rd.get("MSG_ID2"); // option B // add option A, B in a list main = new List(rd.get("MSG_ID8"),Choice.IMPLICIT,str,null); } catch(Exception e ) { e.printStackTrace(); }

R-evolution

www.dadp.com

Application of the Month

Encyclopedia at your fingertips

ince information holds the key to the success of an offering like the R World, Encyclopedia and Dictionary have always been on the radar of Reliance.

key-word and the results are fetched. 3. A random l i n k f e a t u r e (link of the day) that allows for a different entry to be shown each time a query is made. The search mechanism has been refined to the extent that in case a user in unable to remember the exact name of the article he wants to find he can still get the same by typing a few key words. Care was taken to find suitable content to incorporate the database for all categories and sub categories. This was very important as otherwise the user could end up with multiple unrelated search results without finding what he was looking for. A suitable database has been put in place, courtesy www.wikipedia.org. As the content size is huge and the customer can search for any keyword, which can throw up numerous results, the logic of searching became very complex. This was tackled by defining the frequently used categories and subcategories. Pradnyesh Naik Besides, there were several other challenges. The application size was a crucial aspect as mobile devices have a limited memory. A few modifications were incorporated in the screen shots to increase the performance speed in fetching records from the huge database. Another challenge was the offshore development and testing. All these were successfully accomplished and managed by both, Reliance and Itellix teams, whose combined efforts made this application a success, says Pradnyesh Naik, Product Manager for the application. Encyclopedia is one of the popular applications on R World and receives a good number of hits every month.

Encyclopedia is a comprehensive digital archive designed for both depth of content and simplicity for information seekers in all age groups. Users of this application can search for information on varied subjects like science, politics, geography and sports, as well as learn about historical events from its vast database. The application also allows subscribers to make queries in plain English, and can search a billion words and quickly return with the requested information. As the Encyclopedia application had to provide the user with information related to any particular topic of the users' interest, the f o l l o w i n g requirements were incorporated. 1. A searchable encyclopedia that returns a fixed number of matches that can be viewed to get the detailed text of an article. For this the user has to choose the option and type in the key-word. The results are fetched from the database matching the key-word. For example, if the user wants information on Sachin Tendulkar he can key in Sachin Tendulkar and the required information will be displayed on the screen. 2. A category based lookup on articles. The menu contains a fixed number of major categories (Culture, Sciences, Arts Sciences, Sports, Social Sciences, etc) and a fixed number of sub-categories for e a c h c a t e g o r y. T h i s information helps to refine the search. Once the user chooses a sub-category he/she again types in a

R-evolution

www.dadp.com

Interactive

Developer Forum
An Introduction to Java Device Testing Suite
By Avinash Mangipudi

Part - 1
2ME is one of the most popular platforms for mobile devices. All major device manufacturers have embraced this platform to enable developers realize new possibilities in computing. Thanks to Sun Microsystems, this is an open platform, allowing implementation of J2ME to pervade into these gadgets. To ensure that standards are maintained in such implementation, Sun has developed a Technology Compatibility Kit (TCK) that has to be adhered to and validated by developers. As a part of these initiatives, Sun has also developed a new Java Device Testing Suite (JDTS), which is a J2ME based device testing tool released for all network operators and device manufacturers to validate the quality of services provided to end-users. Mobiles differ from one another by virtue of their hardware, as well as their functionality and features. To add to the complexity, the features of the Operating System running on these mobiles widely differ. To standardize application development in a diversified business like this, Sun has introduced the J2ME, which is a mobile application written in Java and which interacts with the KVM (a miniature version of JVM). The KVM in turn interacts with OS of the mobile. Such a program can run on any mobile device that is Java enabled. These programs can be downloaded on to the handset from the network service provider. It may sometimes happen that an end-user buys a Java enabled mobile device, downloads an application hosted by the Network Service Provider and finds that the application does not work. To trace the cause of this problem, it is required to identify the actors involved in this exercise. 1. End User: a) The end user might not have established the specific configuration required to download the application. 2. Network Provider: a) Failure in network b) The application may have been removed from the network and not exist when the user tried to download it.

c)The application might not have been tested for a particular device before being hosted on the network. 3. Device Manufacturer: a) The hardware/software to run the particular application does not exist on the device. 4. Device OS Provider: a) The J2ME implementation for the particular device has not been completely made, though the TCK has been satisfied. JDTS can be used in the scenario mentioned in point 2c, 3a and 4a, as explained below: In the case of (2c) With a large number of applications getting ready to get into the network, the overall time to test a particular application across all the devices is reduced and may cause the quality to deteriorate. The role of JDTS is vital in such a situation. JDTS is a conglomeration of around 9000 mobile tests that have been written to check the functioning of all aspects of a device. This is a superset of all the J2ME applications that are being developed in the world. Testing each device with JDTS will clearly display the limitations of the device. This report can be juxtaposed with the features of the mobile application and can indicate on how an application would perform with a device, thereby helping improve its quality. In the case of (3a) When the device hardware does not support a feature and the mobile application is trying to use it, it results in an Application Error, eventually halting the program. Here, JDTS can be used to get a concise list of all the unsupported hardware features of the device. Usually the device manufacturers only list the supported features, whereas this particular report can help Application Developers by giving a list of devices for which their application is not supported. In the case of (4a) JDTS can detect unsuccessful J2ME implementations on a particular device and improve their KVM so that J2ME implementation can be completed.

This article has been contributed by Avinash Mangipudi, a DADP developer. He can be contacted on panchadara@yahoo.com
(This is the first of the two-part JDTS tool featured in the Developer Forum. The second part will follow in next issue of R-evolution.)

Disclaimer: DADP is not responsible for the validity of the contents of this article.

iscuss y on DADP Discussion Forum DADP! Post your quer rise gift from and win a surprise gift from an in
If your query is selected by the DADP technical team, as the most innovative and challenging of all postings in a month, you will win a surprise gift. And yes, your query along with your photograph will be published in 'R-evolution' as well! So visit www.dadp.com, register (if not registered already) and start sending in your queries.

R-evolution

www.dadp.com

Interview of the Month

'These games are unique, very simple to play and highly addictive'

itish Mittersain, 24, the founder and CEO of Nazara Technologies, has been actively involved with the Indian IT industry for the last several years. He has been a recipient of many awards, including the Young Achievers Award of the Indo-American Society. Till recently, he was also the Co-Chairman of the National IT Committee of the Indian Merchants Chamber. As one of India's leading mobile content developer and publisher, Nazara works with several mobile operators, both in India and abroad. The company develops mobile entertainment products, including games based on well-known brands and distributes them to millions of mobile phone users nationally and internationally. In an exclusive interview with R-evolution, Nitesh talks about his association with Reliance Infocomm, as well as mobile games developed by his company:

Nitish Mittersain

Can you tell us something about your experience on working with Reliance? Working with Reliance has been a very fruitful and pleasurable experience. The Reliance team has provided us with all the support that we have needed without fail. Thanks to this kind of spontaneous cooperation, we have decided to create further applications for Infocomm. We are in the process of perfecting these applications and will be launching them on the Reliance network very soon. Which games have you developed for Reliance Infocomm? We have deployed X-Change, Hyper Typer and Magnetron, which are currently live on the R World platform.

Super Bloc Bloc, Bubbletris, Arrowbot and Ben Chase. These games are developed from a variety of categories like Action, Arcade, Adventure, Puzzle, etc. Any interesting or memorable event during this association you would like to share with the readers? I remember this incident when we were trying to solve some handset related issues. We visited DAKC to seek the DADP team's help to address these issues. The DADP team sat with us till late in the night and ensured that the bugs were ironed out. This is an example of high standards of commitment and professionalism and I wish that other carriers would take a leaf out of the DADP team's book. What are your views on the mobile gaming / applications

How are these games unique? Any special features? These games are unique in the sense that they are very simple to play but are highly addictive. For example, Hyper Typer is an edutainment game, which involves typing of words. With this game, the user is gaining in two ways. First, by having fun playing this game and secondly by improving typing skills on the handset, which help to SMS, messages faster. Which other games are you currently developing for Reliance Infocomm? We are in the process of creating new games like Enigma,

business in India and on future trends in this space? Mobile gaming has just started to evolve in India. With carriers like Reliance, who are aggressively pushing contents to their subscribers, and the availability of high-end handsets at low prices, one is going to witness a sharp up trend for downloads. User awareness on handsets and data services is also increasing day-by-day. Customers are looking to their handsets for something more than just voice communication. Handsets are fast becoming entertainment / business devices and proving to be an integral part of people's daily lives. Developers like us are recognizing these facts and are designing applications to take the industry forward.

R-evolution

www.dadp.com

Feedback

Dear DADP team, We should have a Weather Update and Disaster Warning System which will serve as a useful guide in times of emergency. No doubt it is a huge task for even after so much scientiffic efforts it is difficult to predict nature's moods. Nevertheless, a simple RIM handset backed by its large network would certainly come handy at critical junctures and save many precious lives. Yours Truly Pankaj Jha

Sir, I am a regular reader of the R-evolution. The support provided to the Developer Community through the DADP program is very beneficial to students. Thanks, Gautam Arora

1. Which of the following most closely matches the description of a Java Map?
A) A vector of arrays for a 2D geographic representation. B) A class for containing unique array elements. C) A class for containing unique vector elements. D) An interface that ensures that implementing classes cannot contain duplicate keys.

Quiz

2. How does the set collection deal with duplicate elements?


A) An exception is thrown if you attempt to C) A set may contain elements that add an element with a duplicate value. return duplicate values from a call to the equals method. B) The add method returns false if you attempt to add an element with a D) Duplicate values will cause an error duplicate value. at compile time.

3. Which of the following statements about threading is true?


A) You can obtain a mutually exclusive lock on any object. B) A thread can obtain a mutually exclusive lock on an object by calling a synchronized method on that object. C) Thread scheduling algorithms are platform dependent. D) All of the above.

Monthly Poser
Which software company in

4. Why might you define a method as native?


A) To get to access hardware that Java does not know about. B) To write optimized code for performance in a language such as C/C++ C) To overcome the limitation of the private scope of a method.

association with DADP was instrumental in creating Call Minder the first-ever application for the blind? a) ZMQ b) Tinfo Mobile c) Dhruva Interactive d) Daffodil Software

D) 1 and 2.

5. Reliance Infocomm announced a tie-up with which of the following SMS services in January 2005?
A) 7333 (Rediff) B) 7827 (Star)
Answers : 1. D) 2. B) 3. D)4. D) 5. C)

C) 8888 (Indiatimes) D) All of the above

Answer to last months poser: D) Mumbai Winner of the last month's poser (through a lucky draw is): Gautam Arora Winner will receive the prize by courier.
Answers to the Monthly Poser should be sent to dadp.newsletter@relianceinfo.com mentioning Monthly Poser - February 2005 as the subject with the senders location stated. The winner will be decided on the basis of a lucky draw and walk away with a prize from DADP.

You can contribute ideas and information to R-evolution at the following e-mail address: dadp.newsletter@relianceinfo.com. Please note that contributions may be edited for clarity, style or length.

Editorial Team : S P Narayanan, Saurabh Chakrabarti, Siddarth Arora, Amit Chandra, Suresh Dabbara, Nitin Saksena, Vikram Vishwanath, Lakshman S Aiyar, Vijayam Raghunathan Design By: Jaydeep Gholap Published by the DADP and Corporate Communications Teams, Reliance Infocomm, DAKC, Navi Mumbai

R-evolution

www.dadp.com

You might also like