jueves, 19 de diciembre de 2013

Nokia Asha Web App Tools 3.0 (18 Dec 4pmUTC)

This webinar has introduced the Nokia Asha web apps and the new features introduced at the Nokia Asha Web App Tools 3.0.

First the Nokia Asha Web Apps are web-based application built-on HTML, Java Script, CSS, MWL, etc. Those apps are independent from the mobile device but requires to have a connected mobile device in order
to get access to them.

There are some difference from the Java Apps considering that those apps are better when we require most intensive graphics and multimedia.

Here an image that compares both apps from the webinar presentation:

As we can see those differences can make us choose better considering the nature of our planned apps.

Therefore the version 3.0 of the Nokia Asha Web app Tools arrives with the following new features:

Nokia Notification. First, we must understand that a notification is a message that is sent from the application notification service to the web app running on the phone. In order to send those messages to our web app we need to log into the Nokia API Developer Consoler that is located at https://account.nnapi.ovi.com/ .

Where we can define services that will enable us to send notifications. First we can use the push notification example that is defined in the Nokia Web App Tools that uses the "com.example" service register . Then deploy the application therefore open the generated URL using the Nokia SDK 1.1 Emulator using File>Open URL the Web is loaded and then using the Nokia API Developer Console we can send the notifications:

Control of Image Quality. It is done within the img tag using the attribute data-img-quality. Therefore it enables us to control the image quality within the webapp. The following ImageQualitySample example can be added to the workspace of Nokia Web App Tools IDE.

Localisation. It enables us to localize the text of ourWeb App. It is done within the Web App Project where you can localize the text employed within the app.


Geolocation. It enable our Web Apps to gain the current location of the mobile device. It is obtained using the cell data and the following method:

And it can be seen in the emulator as follows:

It also adds several examples of Nokia Notification, Image Quality, Localisation and Geolocation.

For me this is the first time that I've seen how to implement web apps for this new Nokia platform and it has provided me with some ideas that I can land in a new app in the future.

Webinar presentation

sábado, 14 de diciembre de 2013

Using Social Share APIs in Nokia Asha SDK 1.1 (21Nov 4pmUTC)

This webinar has introduced the Social Share API. It enables us to share content with social media like facebook, twitter, google+, etc. This API is a convenient overlay to JSR-211 conceived to enable the users to perform simple social sharing of content.

For the developers it provides a built-in feature of Share API through content handler (JSR-211) and the arguments that it supports are url, text and id for fastlane integration. The mime types that can be registered are:
- image/* or specific image types
- audio/* or specific audio types
- video/* or specific video types - text/plain type

The Share API has limitation on destinations but there is no limit on size or types. Therefore it enable us to share content from the midlet or by calling the midlet outside from the fastlane that requires a previous registry of the app.

Oauth 2.0 based authentication support enable us to get access to server resources on behalf of the resource owner. It secures the open authorization protocol. The authentication process is handled by calling the Nokia browser. Such a invocations is performed through the Content Handler Browser. The process returns the access token that enable the MIDlet app to use that access token further for every share operation.

Use unicode base emoticons in content sharing. Emoji is a japanese term which represents a picture. It commonly expresses an idea as a visual icon in messaging Standard Unicode. Now it has been added to the API and it can be employed when the user want to send a message.

Webinar presentation

Developing Healthcare Apps for Nokia Asha (5Dec 4pmUTC)

This webinar has presented, from my point of view, one of the most promising fields of mobile apps
development. The healthcare apps are becoming a very successful tool that enables access to health surveillance and medical tracking for individuals that are physically distant from the doctor's office. However through the mobile device it becomes easy to receive medical service.

Also considering the current increment in healthcare cost, the perspective shows that using of mobile devices as a healthcare provider extension is a mean that could reduce the costs. It also could provide a home healthcare that could be personalized and most accurate that the current main stream medical system generalized templates for everyone.

The roles in this scenario are:
- Doctors that wants to support professional activities using technology that enable them to provide distant medical service.
- Patients that wants cutting edge means for receive better and cost effective treatment.
- Healthy people that wants to stay healthy for years.

The current M-Health market apps belongs to the following types:
- Informational/tutorial: this kind of apps provide information about how to keep you healthy.
- Doctor assistants. Provide suggestion according to the received queries in order to minimize the search effort and maximize the doctor's decision making.
- Vital signs/ medication trackers: This kind of apps make measurements of vital signs like hearth beat and provide medication management through tracking of the schedule and medicine dosage.
- Mobile diagnostics: It works as a mean of contact with the doctor that enables the patient to get in touch and a tele-diagnosis can be provided.

Some existing apps from Nokia Asha are:

- StepCounter published by Psiirtola is a step counter for the Asha phones platform.  It is a little application that counts your daily steps. In addition, it shows the result from yesterday and all time high. This pedometer is based on accelerometers and does not use mobile data connection. Works also when the screen is off.

PGA Blood Sugar Converter published by NMA Runs on touch enabled Java Mobiles. It has been optimized for the Asha mobile devices, including Asha 501. This app converts the blood sugar level from mg/dL to mmoL. It displays a danger level gauge to indicate level of danger for particular blood sugar level. It is a very useful app for nurses and doctors.

- Blood Pressure Diary published by E-WeREST MD it is a blood pressure tracking and analysis tool that works with blood pressure measurement records. It provides statistics of these measurements and enable us to classify them. This project is currently supported by Open Innovations Association FRUCT from Russia and Finland.

Another important characteristic of this kind of apps is the connectivity with medical devices and sensors as the blood pressure monitor. It opens a wide field of possibilities also considering the current boom of open hardware gadgets based on arduino and other hardware platforms. One example of such a connectivity is provided at the Nokia developer wiki (here).

Webinar presentation.

jueves, 12 de diciembre de 2013

VoIP Calls using Nokia Asha SDK 1.1 (27Nov 4pmUTC)

On this webinar is discussed theVoice over IP (VOIP) use within the new Nokia Asha SDK 1.1. As is already knwo the VOIP capatilbity uses the Internet Protocol (IP) to send and receive the voice converted into packets over an IP network.  In order to implement such a functionality the Nokia Asha Platform uses the Session Initiation Protocol (SIP) protocol.

In the Nokia Asha Platform the VOIP platform details are the following:
• Protocols: SIP, RTP/RTCP, STUN
• Supports WiFi internet access
• Call features: Mobile Originating and Mobile Terminating calls
• Hold/Retrieve
• Multi call support (one active, one held, one waiting)
• Call forwarding
• DTMF support

As in almost everything there is a set of capabilities and limitations, the supported capabilities are:
• One media stream (audio) only is supported
• Speech codecs: AMR-WB/NB, G.711 u-law/a-law, G.729, G.726, GSM-EFR/FR.
• Echo cancelation & Dynamic jitter buffer
• Secure call support (SIP TLS + SRTP)
• Network Aaddress Translation /Firewall travelsal: STUN support, NAT keep alive, symmetric signaling/media
• Quality of Service: Media/Signalling QoS marking with Differentiated Service Fields, Bandwidth negotiation, RTP CP Extended Report VoIP metrics
• IPv4 and IPv6 in signaling.
• E.164 numbers

However, the platform has also some restrictions or limitations that are described here:
• Multicast streams are not supported.
• Changing the port number/media type/transport during a session is not supported in the
• Session establishment through two proxies.
• Successful session with proxy failure
• Session through a SIP ALG.
• Offer & Answer: A port number of zero is used to reject offered media for MT sessions.

There are two ways to use the VOIP within Nokia Asha. One is natively and other is through Java as integrated within an application.

Webinar presentation

Location services for Asha using geo2tag (20Nov 4pmUTC)

On this webinar has been introduced the use of open source Geo2Tag platform for the Nokia Asha phones. It is a platform that enable geo-tagging (geo-coding platform) that works as a high performance database to filtrate tags using a space and temporal criteria. It can be used over HERE maps.

The tag is composed by time, coordinates and data. The channels act like classifiers of group of tags, something like a category of tags. For instance, a channel could store the tags for historic places or also for current car accidents. Therefore according to the device capabilities the channels could be or not available.

The filtration is performed using time, radius and figures (2D or 3D). However geo2tag currently support only outdoor filtration.

Geo2Tag LBS Platform is available for download and installation, for more instructions about how to get it please take a look here. However there is a server available for trial purposes here.

The architecture shows that each client using Geo2Tag requires a set of libraries to use it. There is a specific library for Nokia Asha phones.

In order to use the Geo2Tag library is required to have a HERE key which is available at the HERE developer website.

The implementation requires the following layout:
- Map widget implementation
- Implementation of Geo2Tag requests
- Getting coordinates on device

The required libraries for enable Geo2Tag at Nokia Asha are:

Nokia HERE are (./plugins/maps_api/lib)
- maps-core.jar
- maps-components.jar - Infobubles,  For Touchable buttons and so on
- maps-gesture.jar – Add Gesture API support
- maps-kml.jar – JSR#172 is required for KLM data
- places.jar – Geocoding and reverse geocoding
- routing.jar – Routing services

Geo2Tag For Asha:
- j2megeo.jar (sources: https://github.com/geo2tag/jgeo2me)

The Geo2Tag requests are
- doLoginRequest : to manage the access
- doSetDbRequest : to manage the DB request
- doFilterCircleRequest : tio filter using a determinated area
- doWriteTag : to write a tag

There is also a possibility to locate a phone position using the cell position data, please take a look here.

This webinar show that we can employ within our Asha apps maps and use our own channels and tags to provide to the user a specific information. For example if we want to show in a map where my friends or game partners are located we can gather the data from our friends mobile devices and then add it has tags to our channel. Finally display them within our application's map as a globes emerging from a certain place in the map. The globe then contains information about our friend, for example their username, photo, etc.
Webinar presentation
Webinar video

domingo, 8 de diciembre de 2013

UI clinic Nokia Asha UI (13Nov 4pmUTC)

This webinar has been created to focalize the details of the user interface of two apps: Jumping Man and Sky Sudoku. These apps have been submited by developers that also attends other webinars. Therefore such apps has been analyzed in the webinar considering their graphics and user interface design.

Jumping Man.

Jumping man is a game where a man is running and the user must make him jump through different obstacles that appears while he is running.

The application has been analyzed by the specialist Jan Krebber and then discussed at the webinar.

The first topic was the application's navigation map. Then the specialist started to explain several hints to improve the application.

From the point of view of the Nokia's guideline to publish apps it has been suggested that this app needs to avoid the use of a graphic return button because there is an already existing hardware back button. So the suggestion is to use the hardware back key instead of pause, back and exit software buttons.

Also it has been remarked the need to avoid the use of long names that usually appears truncated in the application list. It has been suggested to use short names because a long name makes the apps look very unprofessional. It was also suggested to use square launcher icons but rounded icons for the application list. Those and more icon settings are described in the icons' guideline published here.
For more details about graphics good practices you can find a lot of resources here.

There was also suggested to use a vertical canvas orientation to avoid orientation errors.Another suggestion was to make bigger buttons using an standard space touch area of 7mm x 7mm minimum between them in order to make them easy to touch using the fingers. Also the use of touch down feedback to the user, in other words, to change color of the surface of a button when it is touched in order to make evident the touch action.

About the game playability it was suggested to make the touch-action faster. Also to avoid adding adds while the user is playing but its good to show them when the game is paused. Pay attention where the buttons are placed because in the case of this game the jump button hides the incoming obstacles and make hard to avoid them.

When the game starts put the sound off by default in order to avoid undesirable noise when it is started. If you use web-page links in the game you have to keep the links working and avoid broken links because it makes look the entire app incomplete.

The game idea is simple and good however those remarks can improve the game user experience.

Sky Sudoku

This is a game is based in the well known sudoku. In this case the remarks started at the splash screen use, because it is irrelevant and then it has been suggested to remove it. Another important remark is to avoid usin
g abbreviations and brackets in the menu options and dialogs however in the case of this game it looks like something has failed with the app localization resources. So maybe the hint here is to verify that the app works with all the features before publish it.

About the gaming experience it has been suggested to not use a bold typeface font has an indicator instead use a background color. Avoid highlighting places where the user cannot effect because it makes the game playability confuse. Also it must be considered that
the game canvas is prone to select undesirable boxes and replace numbers by accident. The check state must have a uncheck state. At the help section it must be available a description of all the available features and possible values. If dialogs are used they must be clear. It has been proposed to use TextBoxes instead of lcdui Alerts.

The recommendations provided are:
  • Use the hardware exit key to exit the game.
  • Reduce level hierarchy and the quantity of settings in order to reduce undesirable complexity.
  • Remove option menus from the game canvas to gain screen real state.
  • Simplify the game canvas restructuring it in a simple manner and changing the interaction.
  • Reduce the options.
  • Direct people from the game to the game developer homepage.
  • Propose to acquire more game levels and sell batches of them a small prices.

There are lcdui and lwuit guidelines that are very useful when you're deciding how to design your app. Nokia also provide us with stencils for Inkscape and Adobe illustrator that enable us to create and edit graphics.

Webinar presentation

Intro to Nokia Asha SDK 1.1 (30Oct 4pmUTC)

This time the webinar presents an overview of the Nokia Asha SDK version 1.1. It is an update of the current version, it is still a beta version of such a platform. It arrives with a bunch of new features and improvements.

In order to start using this new API we need to download the updated SDK and Nokia IDE in this location. Then install it and use it.

This SDK introduces the two brand new VOIP and Share APIs. Those APIS enable us to develop apps using VOIP and easily sharing content through social networks.  In relation with those APIs there are the WLAN and VOIP simulator that enables us to test our midlets using WLAN over VOIP.

The Social Sharing APIs belongs to Content Handler API JSR-211 enabling us to easily share something using the share content handler. This SDK provides us with Share APIs, a sample midlet, Oauth 2.0 (to manage login and sessions) and emoji support.

This SDK updates:

  • Image Scaling API enabling the auto orientation setting. 
  • Notifications API enabling 5 ungrouped notification per midlet.
  • Mobile internationalization API JSR-238 supportin new languages and locale.
  • Adds also the system property: microedition.platform that unveils the platform version, for this new SDK the version is Nokia_Asha_1_1.

In general this new SDK expands the potential of the midlets because it adds functionality that enable us to enrich them, for example sharing content directly from our midlet, adding emojis to the user message exchanges, easily login into the facebook, twitter, etc account within our app in order to share content, or making VOIP calls between other possibilities.

Webinar presentation