Mobile Development Discovery Document



Similar documents
Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Sophos Mobile Control Technical guide

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems

Mobile Device Management and Security Glossary

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT

Overview focus on breadth understanding not depth (that s what the labs are for )

Getting Started with iphone SDK, Android and others: Mobile Application Development Create your Mobile Applications Best Practices Guide

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Considerations for Mobile Application Development

Mobile Software Development Services

History of Mobile Applications

A Review of Different Comparative Studies on Mobile Operating System

1. What are the System Requirements for using the MaaS360 for Exchange ActiveSync solution?

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Location-Based Information Systems

rich mobile applications made easy

2 Selecting Operating System - Symbian OS

Mobile Operating Systems. Week I

Testing Mobile Applications

Mobile Device Manual for 3G DVRs

Mobile Software Application Development. Tutorial. Caesar Ogole. April 2006

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

Develop Once, Deploy Anywhere

Mobile Phones Operating Systems

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Mobile Operating Systems Lesson 07 Symbian OS

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Data Synchronization in Mobile Computing Systems Lesson 06 Synchronization Software HotSync, ActiveSync and Intellisync

Java ME Clients for XML Web Services

Building native mobile apps for Digital Factory

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

IT Research BYTE. Analysis. Packaged Solutions. MEAPs. Native SDK. Customization. Costs. Glossary (continued)

Mobile Device Management Glossary.

Synchronization Center

FINAL YEAR PROJECT PROPOSAL Public Voting System

Technical White Paper BlackBerry Enterprise Server

Introduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )

Important Notice Baracoda products works with all Bluetooth devices accepting both SPP connection and sniff mode.

ICAPRG409A Develop mobile applications

A Comparison of Mobile Peer-to-peer File-sharing Clients

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

UPnP Control Point for Mobile Phones in Residential Networks

GUI/Custom GUI, SIP Stack, Telephony, DB, Sockets, Bluetooth, QT.

Key Benefits of Microsoft Visual Studio 2008

Mobility Solutions in IBM

Write. Once. Deploy. Anywhere. Anatole Wilson. Writing Applications for mobile devices and reducing device fragmentation with NetBeans Mobility Pack

Mobile Device Management

RoadSync. Administrator s Guide. Mobilizing Microsoft Office Life for Businesses & Professionals Around the World

Introduction to Android

Integrating Mobile Devices into the Computer Science Curriculum

NetBeans IDE Field Guide

Introduction to BlackBerry Smartphone Web Development Widgets

Middleware- Driven Mobile Applications

Introduction to IBM Worklight Mobile Platform

Porting VNC to Mobile Platforms

Computer and Set of Robots

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Mobile MasterCard PayPass Testing and Approval Guide. December Version 2.0

2sms SMS API Overview

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

ORACLE ADF MOBILE DATA SHEET

CatDV Pro Workgroup Serve r

Building Applications Using Micro Focus COBOL

Python for Series 60 Platform

LogMeIn Hamachi. Getting Started Guide

Overview of Active Directory Rights Management Services with Windows Server 2008 R2

Project SailFin: Building and Hosting Your Own Communication Server.

Setting Up and Using the Funambol Windows Mobile Sync Client v7.1

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

RhoMobile Suite. Develop applications for the next generation of business mobility

How To Develop A Web Development Software For A Business

Deploying Java Applications

Development of mobile applications for multiple platforms

System Planning, Deployment, and Best Practices Guide

Table of Contents. Help Frequently Asked Questions Troubleshooting Tips Contact Information and Support... 33

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

An Introduction to Android

CROSS PLATFORM FOR MOBILE COMPUTING

01. Introduction of Android

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

"ASM s INTERNATIONAL E-Journal on Ongoing Research in Management and IT"

Kaspersky Security 10 for Mobile Implementation Guide

Oracle Java Micro Edition Software Development Kit

Transcription:

Mobile Development Discovery Document Prepared By: Abdul Wadood, Atifa Nadeem, Naima Khan and Haris Khan

All Rights Reserved No part of this publication may be reproduced, reformatted or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or through any information storage and retrieval system, currently available or developed in the future, without prior written approval of Zigron, Inc. This document is protected by copyright law and international treaties. Confidentiality The information in this document is confidential and may also be privileged. Hence all matter herein may be treated in only the same manner as is the purpose that this document serves specifically. In this regard, please do not disclose the contents of this document to any other individual/ firm, nor take copies. Violation of this notice may be unlawful. Copyright 2006-2008 Zigron, INC.

Table of Contents 1. Introduction... 4 2. Zigron Inc... 4 3. Overview... 4 4. Development Platforms/Technologies... 5 4.1 Java ME (formerly, J2ME)... 5 4.2 BREW... 7 4.3 Windows Mobile... 8 5. Contact Us... 9

1. Introduction Mobile space is the next paradigm of computing and more and more mobile devices are getting the computational power to host native applications. This is a technical discovery document to explore different mobile application development environments and how can one go about it. 2. Zigron Inc Zigron, Inc. is a product development and user experience firm. We are specialized in technologies like J2EE, PHP and Flash in frameworks like Strut, Titles, Spring and Symfony. Zigron Inc also has considerable skill set in mobile web and native applications. Zigron Inc is a design driven firm where our philosophy is to develop stunning and beautiful applications. 3. Overview Mobile application depends heavily on the exact requirements. Our basic assumptions are stated in the section 3. Based on the basic requirement to create a very generic mobile application following are the three approaches in the order of our preference: Considering the basic and generic requirements Java ME is the ideal development platform. We can adopt different approaches within Java ME to reduce the development effort to make the application ready for all possible platforms and devices. Biggest drawback for this approach will be the application performance and security as this app will run on top of JVM. Second approach is to create a custom Mobile Execution Environment. We will need to develop this environment for each platform with minimum interfaces/apis as per our requirements. This will result in more effort to create such MEEs for each platform/handset but application development will be rapid. Users will require downloading our own MEE just like they need to download JVMs. Finally the most stable and secure approach will be to create each application in platform s native language. This will be requiring substantial effort but application s performance will be at its best.

4. Development Platforms/Technologies In this section we have briefly explained how each development platform will be used across different handsets and OS for basic features. 4.1 Java ME (formerly, J2ME) Introduction / Development Approach Java ME Platform represents the only true open solution for building mobile applications for the industry. The technology allows portability of applications between platforms and investments are kept to a minimum through the possibility of reuse. The Java ME technology is based on three elements: o A configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices. o A profile is a set of APIs that support a narrower range of devices. o An optional package is a set of technology-specific APIs. Deployment Approach To be MIDP 2.0-compliant, devices must support OTA provisioning. The easiest way to package MIDlets for wireless installation is to use the J2ME Wireless Toolkit, which incorporates a small provisioning server that emulates a production OTA environment. Available in version 2.0 Beta 2 and later versions of the toolkit, this nice feature enables you to get an idea of whether a server will provision a device with your application successfully without the hassle of setting up and configuring a local web server to act as an OTA server. Some MIDP 2.0 features - like the push registry - are available only to applications downloaded via OTA. If your application uses those features, the built-in OTA server is a critical tool of the development process. Features PUSH The MIDP includes a feature called "PUSH Registry" to push data from server to mobile devices, without the interaction of user. The MIDlet registers a port along with the protocol name in the mobile device. From the server, a message is sent to the specific mobile device using the particular protocol and port where the MIDlet application is registered to listen. After the message is delivered to the mobile device, the AMS calls the MIDlet application. Once the message is delivered to the MIDlet, it is the application's responsibility to process the message accordingly. SMS Integration o The Wireless Messaging API (WMA) is an optional package for J2ME that provides platform-independent access to wireless communication resources like Short Message Service (SMS). WMA can be used on top of CLDC and MIDP. o There are many third party APIs available for SMS integration in Java ME applications. Some examples are Java SMS library from new-phone.com, SMS JDK from NCL Technologies Ltd, jsms from objectxp, etc.

Data Synchronization o Recently released, Sun's Mobile Enterprise Platform (MEP), provides two-way data synchronization with security, device management and off-line access features for enterprises. It can integrate data from a wide range of back end applications. o A third party API, Sync4j is an open source initiative to deliver a complete mobile application platform implementing the SyncML protocol. SyncML defines a standard way to synchronize data and remotely manage devices. Sync4j provides SyncML client APIs (J2SE, J2ME and C++) that you can use to build an application. Devices and Platforms Motorola: MOTOMAGX, Motorola's next-generation Mobile Linux, supports three different application environment Java ME, Web UI and native Linux MOTODEV Studio for Java ME, Motorola's robust toolset for developer innovation currently supports the Java ME application environment on many Motorola handsets and wireless modules Nokia: Nokia phones have an extensive Java ME API set Nokia provides support for the industry s leading open-source Java IDEs: NetBeans and Eclipse. Both IDEs offer robust tools that make it easy to create high-quality Java applications efficiently Blackberry: Many new Blackberry devices support the Java 2 Platform, Micro Edition (J2ME), primarily because Java technology makes developing applications so much easier. Its platformindependence eliminates many porting woes and its automatic garbage collection lets developers concentrate on application logic rather than memory management In addition to Java-based handhelds, RIM offers a BlackBerry Development Environment for J2ME Samsung: Some Samsung handsets give errors for J2ME (user experience). Some users have reported errors like Samsung not suitable for J2ME game developers, slow emulator, Java apps can only be loaded via OTA, giving "Unsupported content error" on Samsung F490 phone LiMO: LiMO application developers will be able to use SDKs to write managed code running in a Java virtual machine, browser apps for WebKit, and native code. S60: It supports Java (J2ME MIDP 2.0 commonly, but varies from phone to phone) applications and Symbian C++ applications.

Wireless Providers 4.2 BREW Verizon Verizon Wireless doesn't offer J2ME support on their phones. Instead, it uses BREW but one can run J2ME applications via BREW-Authored KVM but still it is not that simple T-Mobile Users are able to download J2ME apps (JAD+JAR) if they have an offline app, like a standalone mobile game but if the app requires an internet connection the users will be able to access internet if and only if: o The application was signed with a T-Mobile certificate, or o The user has a $20 "total internet" plan instead of the regular $6 T-Zones one, or o The handset was not bought through T-Mobile In short, if you are aiming for a mass-market consumer application and not just one targeted at business users or tech-savvy users, your hands are pretty much tied. The only way to achieve that goal is to go on-deck with T-Mobile AT&T AT&T appears to be a little less strict than T-Mobile. You can download J2ME applications from anywhere, other applications that want to use socket communication, access to the file system, address book and messaging (SMS/MMS) will probably be blocked Introduction/ Development Approach BREW is a software platform that can download and run small programs for playing games, sending messages, sharing photos, etc. Using BREW, you can easily port your applications between all Qualcomm devices. BREW applications can be written using Java, C, or C++. Unlike the Java ME platform where any developer can upload and execute software on any supported handset, BREW applications must be digitally signed The BREW developer community is fairly small and limited to Qualcomm's boards and web sites. BREW code can only be compressed if you devise your own method or buy a commercial solution. Deployment Approach Compile for the specific BREW version available on the handset. Installer Packaging Options: OTA Features PUSH: Brew compatible mobile phones can get push based sms/email on the Alltel s network SMS Integration: Interfaces like ISMS, ISMSMsg, ISMSNotifier, and ISMSStorage are there to handle SMS integration for BREW applications. Data Synchronization: Open Mobile Alliance for Data Synchronization and Device Management.

Devices and Platforms The BREW platform is pre-integrated into the MSM chip software and includes reference implementations for many other device-specific issues (drivers and UI). All the mobile vendors doesn t provide with MSM chip. So, we have very limited number of mobiles by default for running BREW application. Wireless Providers Every mobile vendor is supposed to provide handset with the support of BREW for different wireless providers. 4.3 Windows Mobile Introduction/ Development Approach Windows Mobile is an operating system for mobile devices, based on Microsoft Win32 API. Devices that run Windows Mobile include Pocket PCs, Smartphones, Portable Media Centers, etc. For application development there are different options available, including: o Writing native code with Visual C++ o o Deployment Approach Writing Managed code that works with the.net Compact Framework Developing an application using Java Me. There is a limitation if you develop an application in Java ME for Windows Mobile platform. Sun doesn't officially support windows mobile devices and Sun hasn't released an official JVM for pocket PC's so you must go to a third party solution if you intend to use Java ME on Windows Mobile platform. Windows Mobile-based Smartphones and Windows Mobile-based Pocket PCs (Phone Edition) can be bootstrapped by means of over-the-air (OTA) Wireless Application Protocol (WAP) push. This method is useful if the mobile operator prefers to bootstrap the device over the air at the point of sale or after purchase. In this method, a provisioning document that uses the format defined in the WAP Provisioning specifications can be pushed to the device over the air through the WAP connectionless non-secure push mechanism over the Mobile Terminated Short Message Service (SMS) bearer. Features PUSH The "Direct Push Technology" from Microsoft uses Exchange ActiveSync to keep data on a Windows Mobile based device synchronized with data on a Microsoft Exchange server. The ActiveSync technology on the device manages the direct push communication with Exchange Server. It establishes an HTTP connection with the server for a specified time, and then goes to sleep while waiting for the server to respond. The server responds with either a status indicating that new items were received or that no new items arrived. The device then sends either a synchronization request or another direct push request. Exchange Server 2003 Service Pack 2 includes a direct push component that augments the Exchange ActiveSync infrastructure that supports synchronization.

SMS Integration.Net Compact Framework provides different DLLs for SMS integrations (Microsoft.WindowsMobile.dll, Microsoft.WindowsMobile.PocketOutlook.dll). Using these DLLs you can integrate SMS Send and Receive functionality as well as SMS filtering support in your mobile application. Data Synchronization Exchange Server 2003 is used to synchronize data using ActiveSync. It uses OTA for Installer Packaging. Devices and Platforms Nokia & Sony Ericsson Net60 is an implementation from Red Filve Labs to bring.net Compact Framework applications unchanged, to Symbian platform (the OS running the Nokia and Sony Ericsson Smartphones). Wireless Providers Most of the carriers have handsets with Windows Mobile. 5. Contact Us If you have any questions or will like to learn more then please feel free to contact us: Haris Khan Email: haris.khan@zigron.com Contact: 412.708.2219