YouTube player with draggable playback controls in Java ME

I was always wondering, if streaming a YouTube video would work on Nokia Devices with Java ME. I was pleased to find out that it did! And it did, very well, over a 3G connection on the stunning screen of Nokia PureView 808.

The idea is pretty simple. All you need is a Canvas with a YouTube logo, a Video Window for displaying the stream and playback controls for starting, stopping fast forwarding or rewinding the video. The cursor is draggable so that it offers the same user experience as the standard YouTube player.

This wiki article, explains how.

 

Quick start in game development for Series 40 full touch

Series 40 full touch and Nokia SDK for java 2.0 introduce great improvement in application capability for low-price range devices. There are enough materials that explain new things as 3D, sensors, touch UI, etc… Mostly the documents are for experienced developers hungry for new application features. What about newbies in Series 40?  We are going to fill the gap with the wiki article series “Quick start in game development for Series 40”.

Why games? I think nowadays for individuals it is hard to compete with business applications on the market by several reason. One of the reasons is – devices are sold with preinstalled good application collection for every-day users’ needs. There is no much room for improvement for third-party developers. Not the same situation is in game world.  Express yourself! Game development is more art than business app development.  Game development requires more than just programming and UI design skills. It might start from making a story, making characters and end-up living creatures in your world. That is rather exiting opportunity. Considering growing low-price device market available by Nokia you can get even some profit for your game or at least recognition. Target your game to Nokia Store!

So, how do I start? Please go to the wiki and follow the step-by-step instructions.  So far there are two articles in the series starting from creating game application skeleton to adding touch support in it. I hope to keep my pace and release more articles in near future on regular basis. What will be next in the series:

  • Path-finding and collision detection algorithms
  • Main menu implementation
  • Supporting devices with different capabilities. That is actual question for SVG graphics and screen geometry because touch screen supporting is not conflicting in code implementation with key-only devices as Nokia 110.
  • Advertising your game with social networks, like sending game scores via Facebook  (honestly I have only vague idea how to implement it. Let’s see how it goes. But definitely that feature is in great demand)

Caution!  The articles are focused on technical problems only – bring there your imagination and art :)

Please comment.

Regards,
Igor

 

Introduction to Series 40 full touch for developers

Car Race 3D Exercise App running on the Nokia Asha 311We’re kicking of the webinar series for the new Series 40 Touch phones tomorrow! The first session will walk you through the new Java ME APIs introduced in the Developer Platform 2.0.

The packed agenda covers all the important topics that you will need to know about when you’re moving your Java ME apps to the new touch UI:

  •  Introduction
    • Platforms & Versions
  • New features for developers
    • UI
    • LWUIT
    • Text Input
    • Touch Input
    • Sensors
    • Location & Maps
  • App Compatibility
  • Publishing & Monetization
  • Resources
     

The recording of the first webinar session is online for viewing. The downloadable version of the slides is slightly extended, featuring some more details than in the 1h webinar. 

You can download the full source code of all the apps shown during the presentation – the blue text box in the top right corner or the slide always refers to the full example being demonstrated.

JavaME-Touch-Examples-v2.0.0.zip

As a special bonus, the example package and the downloadable slides also include a few exercises (+ the corresponding solutions), so that you can put your new knowledge about the APIs into use right away! The excercises are both based on 3D graphics:

  • In Monkey Touch 3D you’ll add drag & pinch support to view the 3D model of a monkey, and add orientation support to dynamically switch the app between landscape & portrait mode, depending on the physical orientation of the phone.
  • Car Race 3D let’s you extend an endless 3D racing game with support for controlling the car using acceleration sensors, instead of physical keys (which would no longer be availble on the new touch phones)
     

Registration

In different webinars during the following days we’ll also look at the design aspect and the IDEs (both the new Nokia IDE for Java ME as well as NetBeans). Every session is held two times, so that you can join no matter which time zone you live in.

Register for the webinars now!

Payment and ticketing with Nokia 603 and 808 PureView

Nokia 603 with Symbian Belle Feature Pack 1 and Nokia 808 Pureview are ready for implementing Payment and Ticketing solutions! In this post I will go into the details on Secure NFC implementation and how developers can get started in development of secure NFC applications on Nokia Symbian devices.

Support for SIM based NFC architecture using SWP protocol

Secure storage and provisioning of sensitive information (i.e. Credit Card details, values, PINs etc) needed to perform secure transactions with mobile devices is handled by the UICC/SIM card. Nokia HW/SW provides a channel for both external NFC infrastructure (POS readers, transit terminals, OTA provisioning) as well as on-device UI applications (wallets) to be able to securely exchange data over SWP protocol with the secure applications stored (and managed) on the SIM card.

Card Emulation mode

The Symbian NFC component has now added support for Card Emulation mode and it works interchangeably to peer-2-peer mode and reader mode when NFC radio is active. In card emulation mode all communication with the NFC radio is routed directly to the SIM card via the SWP protocol. The communication is usually in the form of ADPU packets follwoing the ISO 14443 standard (Smart Cards)

Typical architecture

In a typical use case the MNO will issue to the customer a UICC enabled SIM card. Additionally it could offer the customer a contactless payment or ticketing service (in partnership with a local Bank, loyalty or transportation service).

Subject to service agreement with the customer, the operator or service provider will issue the related payment or transportation cardlet to the user’s SIM card using a provisioning service provider or TSM (Trusted Service Manager). TSM’s role is to manage the secure provisioning & management of payment and ticketing services to end users. Usually this provisioning is done using OTA (Over-the-air) deployment (using BIP – bearer independent protocol).

The provisioning of these services may also include a dedicated Wallet application that is installed on the customers device which can then manage all (or some) the cards stored on the customer’s SIM card and is actually what the customer sees and uses to perform transactions with contactless/NFC infrastructure.

Low Battery mode

In payment and ticketing use cases it is important to offer customers NFC/contactless services in cases when the phone battery runs out (i.e. to be able to use transportation or to pay for services). To satisfy requirements Nokia has implemented an operator variant customizable Low Battery mode which will enable to make a few transactions with the card emulation mode in cases where the device will shut down due to low battery.

Devices supporting Card Emulation

Nokia 603 with Symbian Belle Feature Pack 1 and Nokia 808 Pureview

Note: at the time of writing the Nokia 603 has received MasterCard Paypass certification

Development environment:

Development of Card Emulation solutions differs a bit from regular mobile application development as it requires more infrastructure capabilities. One might say that the wallet development is the easy part, the more challenging part is to have the right e-2-e infrastructure. Usually the solutions on mobile devices have 2 parts,

- the Wallet UI application (managing user’s cards and for listening, preparing cards for transactions). For the Wallet UI application the Development environment is Java ME

- the "card" applications (cardlets, applets) running on the SIM card. For the "Card" applications the development environment depends on the SIM manufacturer (usually JavaCard technology)

Recommended Development Setup 

Related APIs 

The Contactless Communications API defines support to exchaning information between contactless targets

The Security and Trust Services API for J2ME defines support for smart card communication, generation of digital signatures, and low-level cryptography operations.

Nokia extensions to the JSR257 API

  • FakePower off API

API for receiving notifications about the low battery mode state (i.e. to alert the user) 

  • Branding API

API for registering post transaction events. (i.e. play video, show bitmap, launch application)

Examples

Nokia made available an example application demonstrating a typical wallet application supporting contactless transactions using all the necessary APIs and available as source code. (The project is available to Nokia Developer Launchpad/PRO members only)

Avaliability 

The mentioned enablers for building NFC enabled payment & ticketing solutions on Nokia Symbian devices are available to Nokia Developer Launchpad and PRO members only.