ProvideX On Handhelds

Similar documents
Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen

Use an OPT="i" on the Dialogue / Window definition to create a window that does not have an Icon in its upper left corner.

IBM Workplace Client Technology, Micro Edition V5.7 delivers tools and run-times for server-managed client devices

Java 2 Platform, Micro Edition

Overview of Java 2 Platform, Micro Edition (J2ME )

Determining the Best Approach

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Nomadic devices Benefits and market outlook

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

CM0256 Pervasive Computing

Device Technologies I J2ME & WinCE

WELCOME Mobile Applications Testing. Copyright

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

Mobile Services for Java-enabled Devices on 3G Wireless Networks. 1 Introduction

SCADA systems development on mobile device platform Java Client/Server model and localization enhancement

Introduction to 9.0. White Paper. Sync and Surf FirstClass Support for Mobile Users. November Powering collaborative online communities.

Chapter 1 Introduction to Computers

EMBEDDED SYSTEMS AND MOBILE SYSTEMS

Software Development for Mobile Devices

Personal Digital Assistant (PDA) Market Opportunities, Strategies, and Forecasts, 2004 to Personal Digital Assistant (PDA)

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

Minne menet, Mobiili-Java?

Mobile Game Programming

Introduction to Computers and Applications

Chapter 1 Introduction to Computers

Internet of Everything Qualcomm Brings M2M to the World

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

Wireless# Guide to Wireless Communications. Objectives

Requirements and Issues of V**s for Mobile Terminals

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

Introduction And Communication Technology (ICT) LECTURE: 2

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

17655: Discussion: The New z/os Interface for the Touch Generation

Brief Intro on Mobile Platforms and Dev. Tools

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

Member: David Heise Account Balance: $29.69

ASIC Design Starts for by Key End Market Applications

Bluetooth. 3.3 Latest Technology in Wireless Network. What is BLUETOOTH: Bluetooth 2/17/2016

Developer s overview of the Android platform

MOBILE COMPUTING Unit V

Opera - Simply The Best Internet Experience. 3Q04 Results. November 12, 2004

Java Embedded on ARM

Introduction to Computers. Joslyn A. Smith

The Handheld Graphics. Market. Size, needs, and opportunities. Jon Peddie Research

Imperative model of computation

Mobile Game Programming. Just that facts.

What is Information Technology. Chapter 1: Computer System. Why use Information Technology? What is Data?

Broad Objectives/Outcomes of the course

Developing Wireless Applications for Multiple Geographies. Christopher Koppe Speedware Corporation

How many of us own. Mobile markets and development environments. Petri Vesikivi (Erkki Rämö) Fixed Telephone 1.3B TV 1.5B Credit card 1.

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms.

Wireless Java-enabled MIDP devices as peers in Grid infrastructure

Information Communications Technology (CE-ICT) 6 th Class

GPS AND MOBILE HANDSETS

Opera - Simply The Best Internet Experience. 4Q04 Results. February 16, 2005

Technology in Action. Chapter 8 Mobile Computing: Keeping Your Data on Hand. Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall

Client Server Technologies

Networking. Prof. Abdul Hameed

APPLICATION PROGRAMMING: MOBILE COMPUTING [ INEA00112W ] Marek Piasecki PhD Mobile Databases (W8/2013)

Welcome to the NYExUG October Meeting

T e l e c o m m u n i c a t i o n s, t h e i n t e r n e t, a n d W i r e l e s s t e c h n o l o g y

U.S. CONSUMER TECHNOLOGY SALES & FORECASTS

VISUAL SUMMARY COMMUNICATION CHANNELS COMMUNICATIONS. Communications and Networks

Operating System Concepts Rab Nawaz Khan Jadoon

Fiber in the backhaul : Powering mobile Broadband

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~

Everyplace Suite: Websphere Transcoding Publisher Technical Overview

Predicting the Next Wave of Semiconductor Growth

Evolution of the mobile graphics world

2013 National HDT Rally

Ultra-Wideband (UWB Technology)

Program for Advance Telecom Services (PATS) Mobile Developer Days

INTRODUCTION TO COMPUTERS AND WINDOWS 10

Chapter. IT Infrastructure: Hardware and Software

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

COMPUTER SKILLS COMP101

BlackBerry BlackBerry 10 OS, version continues to build on the BlackBerry 10 platform for the Z10, Q10 and Z30 devices.

Parts of the Computer System. Parts of the Computer System. Parts of the Computer System. Essential Computer Hardware. Information Processing Cycle

Introduction. State of the Market

Bhopal, , India 3 M.Tech Scholor,Department Of Computer Science, BIST Bhopal. Bhopal, , India

Mobile Phones, Poor Economy to Dampen PDA Market to 2007

Fundamentals of Information Systems, Seventh Edition

Admin Password on the 4G LTE Broadband Router with Voice's display:➊. ➋ Plug the end of the telephone cord that was just removed from the wall jack

Mobile Internet Devices and the Cloud

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin

System Software The McGraw-Hill Companies, Inc. All rights reserved.

Linux-based onboard "gateway server" remotely pilots model airplane. by Telly Cooper (Sep. 12, 2003)

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

10/21/2013. The ubiquity of social media has lead inevitably to the involvement of digital evidence in nearly every segment of Criminal Practice

Glossary 1. ARPU or Average Revenue per User A method of measuring revenue associated with the delivery of mobile commerce services by MNOs.

verus edge: Fully loaded. DIAGNOSTICS, REPAIR, MANAGEMENT AND BEYOND

COPYRIGHTED MATERIAL. Smartphones and Symbian OS. 1.1 Notes on this New Edition

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

Networks and Telecommunication

NETGEAR Trek N300 Travel Router and Range Extender

SMARTPHONE MARKETS AND TECHNOLOGIES

SMARTPHONE OPERATING SYSTEMS

Mobile Device Manual for 3G DVRs

What s Next for Wi-Fi

Transcription:

ProvideX On Handhelds Presented by: Jarett Smith Presentation Overview Landscape of Mobile Computing Wireless Connections to Internet Challenges of Mobile Computing Why We Chose Java 2 Micro Edition Java 2 Micro Edition (J2ME) J2ME Profiles and Configurations J2ME Runtime Environments WebSphere Everyplace Micro Environment (WEME) JavX Products ProvideX WinCELink Object 1

Landscape of Mobile Computing A new and exciting world that has incredible potential We're entering an era where mobile software will fundamentally transform almost everything we do Cell Phone Facts: More then 1 billion cell phones in the world 700 million cell phones were sold last year 171.2 million cell phone subscribers in the US In 2005, Nokia expects to sell more than 25 million smart phones, as well as 40 million mobile devices with MP3 players More powerful than desktop PCs of the late 90s Landscape of Mobile Computing PDA Facts: Over 1 million PocketPC devices shipped in the fourth quarter of 2004 RIM Blackberry subscribers now over 3 million 1 million subscribers added in less than six months ipaq has power equivalent to a three-year-old PC. 2

Landscape of Mobile Computing Convergence of Devices Phones now have the capabilities of PDAs, and PDAs come with built-in phones People are waking up to the power of these devices "Soon, getting a cell phone just to talk to people will be a thing of the past" -Pat Palmer, Midwest Wireless Connecting to the Internet Wireless Everywhere Wide area cellular phone/pager networks Wi-Fi or 802.11 Wireless network for high speed connectivity over a range of a few hundred feet Not ubiquitous like cell phone coverage but many Cities (Chicago, Philadelphia) are building citywide wireless networks Sites like www.wifi411.com list thousands of Wi-Fi hotspots; e.g, a search of Orlando Florida turns up 68 Wi-Fi hotspots Wi-Fi is connecting an increasing assortment of devices, not just laptops and PDAs but also cameras, traffic systems, meter readers, location sensors, cell phones, etc. 3

Connecting to the Internet Wireless Everywhere WiMAX or 802.16 Wireless network providing high speed connectivity with a range that may extend 20 miles Significant advancement recently when Intel announced it will begin worldwide shipments of WiMAX hardware May do for the internet what cell phones did for making telephone calls WiMAX has the potential to become an alternative provider of internet, telephone, and even television service According to the Telecommunications Industry Association (TIA), the WiMAX infrastructure market in the US will be worth $290 million by 2008. Challenges of Mobile Computing Creating mobile software applications has traditionally been very difficult The term "mobile devices" is applied to a wide variety of unrelated machines, including the traditional PDA, smart phones, pagers, GPS units, etc. The market is fragmented to the point that even two devices from the same vendor are often not compatible, let alone devices from different vendors 4

Challenges of Mobile Computing There are many vendors and no dominant player (like Microsoft is to the desktop computing world). A wide variety of hardware and software vendors means standards are not easily agreed upon Wireless Connectivity bandwidth and reliability is extremely variable While some buildings have reliable high speed wireless, many don t Outdoor devices will encounter gaps in wireless coverage and may have to rely on low bandwidth cell phone or pager networks Challenges of Mobile Computing Device Memory and Processing power is constrained and varies tremendously Mobile Devices rely on batteries with limited power; developers must consider power consumption 5

Java 2 Micro Edition (J2ME) Why We Chose J2ME Java Community Process Wide range of hardware and software vendors come together to agree on specifications and standards for new and existing Java APIs Currently Java-based handsets dominate market for mobile applications Several major players in handheld market (Nokia, Ericsson, Motorola, RIM, IBM, etc.) have chosen Java as their preferred development environment Java 2 Micro Edition (J2ME) Why We Chose J2ME Competitors like.net and BREW relative newcomers to field of mobile application development. The.Net Compact Framework (CFW) is only available on devices with Microsoft OS; e.g.,pocketpc or MS Smartphone Fragmentation of mobile market means that porting ProvideX C code to each device is not possible Java is emerging as common platform standard that developers can use to ensure portability across different devices 6

Java 2 Micro Edition (J2ME) Platform for consumer and embedded devices Mobile phones PDAs Set-top devices (interactive television) Automotive Fixed purpose consumer devices (E.G. Camcorders) Network Printers Routers Specifies Profiles Configurations Java 2 Micro Edition (J2ME) Profiles & Configurations J2ME supports vastly different hardware of mobile devices through an abstraction known as a configuration. System of profiles and configurations benefits device manufacturers and application programmers Device Manufacturers. Manufacturers choose a J2ME configuration and profile for their devices, or include a compliant JRE Application Programmers. When writing an application developers can target a J2ME configuration and profile and not a specific device 7

J2ME Configurations Configurations define minimum platform requirements for a group of devices Considerations Processor power Memory available Screen size Current Configurations Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) J2ME Configurations CLDC Qualifiers Minimal Processor power Minimal Memory Network connection Example Mobile Phones RIM Blackberry Palm PDAs Hardware 16 or 32 bit CPU with 128 or 512 KB of memory CDC Qualifiers Faster Processor More Memory Faster Network connection Example Pocket PC PDA TV Set-top devices In-vehicle system Hardware 16 or 32 bit CPU with 128 or 512 KB of memory 8

J2ME Profiles Profiles are higher level APIs that define User interfaces available Access to device hardware Profiles, together with configurations, provide a complete JRE specification for a targeted group of devices Examples CDC Personal Profile CLDC Mobile Information Device Profile (MIDP) J2ME Profiles (CLDC) Mobile Information Device Profile (MIDP) Extends CLDC and provides a complete JRE for limited embedded devices with a network connection and a very basic user interface Mobile Phones Entry level PDAs RIM includes a CDC MIDP JRE Devices require at least Screen size 96x54 32kb of memory for JRE Network Connection Defines core functionality required by devices User Interface (UI) Network connectivity Local file access Application lifecycle control 9

J2ME Profiles (CDC) Foundation Profile Extends CDC and provides a complete JRE for embedded devices with a network connection but no user interface Devices require at least 1024k of ROM 512k of RAM Network Connection Example devices Network Printer Router Residential Gateways J2ME Profiles (CDC) Personal Basis Profile Extends Foundation Profile and provides a complete JRE for embedded devices with a network connection and a very basic User Interface. Example devices Interactive Television Automotive Fixed Consumer devices like a Camcorder 10

J2ME Profiles (CDC) Personal Profile Extends Foundation Profile and provides a complete JRE for embedded devices with a network connection and a full Graphical User Interface Devices require at least 2.5 megs of ROM 1 meg of RAM Network Connection Example devices High-end PDAs like PocketPC Game Consoles Handheld bar code scanners J2ME Runtime Environments We recommend IBM s WebSphere Everyplace Micro Environment (AKA J9) CDC Personal Profile CDC Foundation Profile CLDC MIDP Many devices are shipped with a J2ME runtime environment installed or as a companion CD Search for J2ME Java Virtual Machines on the internet and you ll find dozens of vendors 11

IBM WEME WebSphere Everyplace Micro Environment Production-ready Java runtime environment, tested/certified to meet J2ME specifications Pre-installed on several devices Available from Handango for $5.99 Free evaluation version (no expiration) is available from IBM www-306.ibm.com/software/wireless/weme Several different J2ME configurations and profiles are supported depending on the platform; e.g., CDC Foundation Profile, and Personal Profile for PocketPC and the Sharp Zaurus CLDC Mobile Information Device Profile (MIDP) for palmone Tungsten and PocketPC devices JavX Products JavX is a Java-based version of WindX that requires nothing on the client side but a Java2-compliant Java Virtual Machine (JVM) or a standard Web browser There are three JavX products: JavXSE Java 2 Standard Edition required JavXPP Minimum J2ME CDC Personal Profile required JavXFP Minimum J2ME CDC Foundation Profile required 12

JavXSE Standard desktop version of JavX Requires a Java 2 Standard Edition (J2SE) JRE, available for the following platforms: Apple OS X MS Windows 9x,NT,2000,XP Linux UNIX Supports most ProvideX (Version 6) features Download from http://www.pvx.com/downloads/javx/home.html JavXPP Standard Pocket PC (PDA) version of JavX Requires a Java 2 Micro Edition (J2ME), Connected Device Configuration (CDC) Personal Profile JRE Complete character UI support (fonts, lines and shapes, colors, pictures, etc.) Mnemonics, system functions and variables (e.g., MSE, OBJ, FIN) are supported Supports the following GUI components Buttons: BUTTON, RADIO, CHECK_BOX Text Components: LIST_BOX, MULTI_LINES, DROP_BOX Vertical and Horizontal Scroll Bars Message Box Tool bar ProvideX Menu bar menus (not popup menus) 13

JavXFP The most basic version of JavX Requires the most basic J2ME CDC runtime environment No character or graphical UI Runs as an invisible process Provides support for File IO on client device ProvideX OCX interface to Java Communicating with CE Devices The primary means for a desktop PC to communicate with a Windows CE device is via Remote API (RAPI) RAPI is the term most often used to describe any of the functionality exposed by Microsoft s RAPI.dll The RAPI.dll resides on the desktop and is installed when Microsoft s ActiveSync is installed 14

ProvideX WinCELink Object WinCELink enables ProvideX applications to talk with CE devices while they're connected to the desktop The WinCELink object is a wrapper for PvxRAPI.dll PvxRAPI.dll translates calls from ProvideX into Unicode and passes them to Microsoft s RAPI.dll ProvideX WinCELink Object Using the WinCELink object ProvideX programs can easily manipulate a CE device Determine if a CE device is connected to the desktop and communicate with it Get information about a file or directory; e.g., size, path, contents of a directory, etc. Create, delete, read, and write to files and directories Run a program on a CE device Read the CE device s registry 15

ProvideX WinCELink Object Example The following opens a connection to a WinCE device (PocketPC, Smartphone, etc) 00010 LET WinCELink=NEW("WinCElink") 00020!if device is attached to PC then open 00030 connect: 00040 IF WinCELink'isDeviceOnCradle() THEN { 00050! device is on the cradle try to open 00060 IF WinCELink'openConnection() THEN... ProvideX WinCELink Object Example The following lists the contents of the CE device s root directory 00010 LET WinceLink=NEW("WinCElink") 00020!if device is attached to PC then open 00030 connect: 00040 IF WinceLink'isDeviceOnCradle() THEN { 00050! device is on the cradle try to open 00060 IF WinceLink'openConnection() THEN { 00070 Dir$=WinceLink'getDirectoryListing$( / )... 16

ProvideX WinCELink Object File Functions getdirlisting$ ceremovedirectory cecreatefile cedeletefile cewritefile cegetfilecreationtime$ cecreatedirectory$ cegetspecialfolderpath$ cecopyfile cereadfile cegetfilesize cegetfileattributes$ ProvideX WinCELink Object Device Information Functions isdeviceoncradle waitforconnection cegetmemoryinfo$ cegetprocessorinfo$ cecreateprocess openconnection cegetdeviceosinfo$ cegetbatteryinfo$ iskeyinregistry 17

JavX Configuration Wizard Simplifies the setup and running of JavX on a CE device Collects arguments required by JavX and creates a shortcut that will run JavX in IBM s WEME Personal Profile JRE Creates a JavX directory on a CE device and copies the JavXPDA.jar file to it Copies the shortcut (created in step one) to the specified directory on the CE device Checks the CE device s registry to determine if IBM s WEME JRE is installed. If the JRE is not installed the JRE installer s CAB file is copied to the device and the installer is run Runs JavX on the CE device with the arguments specified JavX Configuration Wizard Meant to serve as a template/example that demonstrates the development possibilities of the PvxRAPI.dll and is not currently a supported product Not for Resale or Distribution 18

End of Presentation THANK YOU! 19

20