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

Size: px
Start display at page:

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

Transcription

1 TAMZ 1

2 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu Ostrava-Poruba Phone: Web: 2

3 Course Requirements During the semester: Implementation (10 points) programming of certain assignments in labs, one point for each completed assignment Presentation (5 to 10 points) presentation of pre-selected topic from subject area in labs, minutes. Project (10 to 25 points) implementation of chosen project in JavaME for a mobile device + its defense. Required to complete the course! After the end of the semester: Final exam (20 to 55 points) 3

4 Java Community Process References Java 2 Platform, Micro Edition (JavaME) Sun Developer Network Core J2ME Technology and MIDP J. W. Muchow, 2002, ISBN Developing with J2ME, Second Edition J. Knudsen, 2003, ISBN Wireless J2ME Platform Programming V. Piroumian, 2002, ISBN

5 What is a Mobile Device? A pocket-sized computing device, typically with: a small visual display screen for user output a miniature keyboard or touch screen for user input. Examples: Mobile & cordless phones, pagers PDAs & smartphones Navigation devices (e.g. PNA) Cameras Portable media players Handheld game consoles (e.g. PSP) Tablets, netbooks, UMPCs... 5

6 Limitations of Mobile Devices Small lower-resolution display (sometimes even grayscale/bw) Limited input options (phone/software keyboard) Lower operating memory & internal storage space (the latter partly solved by external memory cards) Limited CPU power + no or limited GPU Limited instruction set (e.g. no floating point arithmetics, no SSE, vector-processing instructions) Network connectivity issues Smaller library of system functions Power considerations... 6

7 Mobile Operating Systems Vendor-specific firmware (generic) EPOC/Symbian OS (Nokia, SonyEricsson,...) Windows-based: Windows Mobile/CE, Windows embedded WP7, Windows RT (8) PalmOS WebOS Linux-based: Android Firefox OS, Maemo, MeeGo, Qt Extended (formerly Qtopia), Openmoko, Tizen, Sailfish OS Debian (ARM), ios Samsung BADA 7

8 Mobile Frameworks JavaME Java 2 Micro Edition Flash Lite commercial HTML5-based frameworks jquery Mobile Sencha Touch PhoneGAP 3 rd party frameworks (of varying quality) for Java-based: Eve (formerly Ewe) J2ME Polish HAXE,... 8

9 Programming languages Java (SE, ME, EE) C/C++ - native libraries, e.g. Android NDK C# - Windows 8, WP7 (Silverlight, XNA) Objective C ios HTML + Javascript + CSS Python Exotic choices: LUA, Lazarus (Pascal), Shell script, PHP, 9

10 Mobile Platforms Comparison.NET CF Java ME Pocket PC 1.0: WM : WM IBM J9,... Windows Mobile Yes Android Monodroid preview-only Java-based, emulators, convertors Symbian OS NO Generic Firmware Yes (problems!) Yes Symbian SDK NO NO PC SDK & emulator Flash Lite (commercial) Windows Mobile 5+ HTC-only? > 03/2006 Flash MX Android SDK NO Yes NO SDK Additional platforms not included in comparison: ios iphone, ipad, ipod - MacOS development only Windows Phone 7 XNA or Silverlight development only Various Vendor-specific frameworks for specific devices 10

11 New platforms changed everything! Device fragmentation Platform fragmetation Vendors try to keep customer by vendor lock-in Applications sold by vendors directly through their AppStore/Marketplace/Market/... 4 dominant platforms in 2012 Android ios Blackberry (US) / Symbian (EU) Windows (Mobile+WP7+Windows RT) Dumb phones still use JavaME (MIDP 3.0 too little too late). 11

12 Why is platform fragmentation bad? Different environment Different APIs Different programming languages (Java, JavaME, Objective C, Silverlight, ) Different SDKs, specific OS needed for SDK and development (Windows, MacOS) The code needs to be written several times We may use Native libraries (usually in C/C++) Android/JavaME basic common parts in Java, GUI/API calls separately HTML 5 for simple applications PhoneGap Platform-independent SDKs 12

13 Best description of current situation Source: 13

14 Java ME 14

15 Why still use JavaME? Basic ideas similar to other platforms, we can demonstrate the basic concepts here before moving to Android Easy-to understand platform with well-defined standards (jcp.org) Still the main choice for dumb phones Basic notions will help when moving to Android Development Per-app revenues still better than Android (150% based on 08/2011 data, but ios has 200%). Source: Mobile Marketing Watch SDK for all 3 major platforms (Windows, MacOS, Linux), Netbeans (or Eclipse) development 15

16 History Java started small, aimed at television set top boxes and other interactive devices. Of course, once it got aimed toward web browsers and applets, the brakes were off. As a result, the platform got all kinds of amazing features like Swing, Java 2D, Java 3D, JDBC, EJB, and so on. With each new API, the size of the platform got bigger and bigger and bigger. So did the runtime footprint. These days, it is not uncommon to see Java virtual machines with a gigabyte or more of heap space. Whether it is called featuritis, bloat, or customer responsiveness, the fact remains that the Java 1 platform was big, and the standard Java 2 platform is huge. 16

17 Java Editions In 1995 the first version of Java, now known as Java Platform Standard Edition (JavaSE), was released. Since that time its landscape has changed significantly. Standard Edition (JavaSE) Designed to run on desktop and workstation computers. Enterprise Edition (JavaEE) This edition is aimed at server-based applications. Contains buit-in support for Servlets, JSP and XML. Micro Edition (JavaME) Designed for devices with limited memory, display and processing power. 17

18 Java Editions Java 2 Enterprise Edition (JavaEE) Java 2 Standard Edition (JavaSE) CDC MIDP CLDC Java Virtual Machine KVM Java 2 Micro Edition (JavaME) 18

19 Generic JavaME Architecture Native Applications Application Profile Application management software (AMS) Configuration Libraries Java Virtual Machine Host Operating System 19

20 Handling Security Any device running a Java application needs protection from malicious code that may access system information or resources. Advanced security model provided by the JavaSE is too memoryconsuming to be included in CLDC devices. The security model, which is provided in the CLDC devices, is the so called sandbox model. In the sandbox model, the applications are run in a closed environment in which the application can only access not secure-sensitive resources. Regardless of the JVM, this type of low-level security is implemented using class file verification. 20

21 Class File Verification Verifying the integrity of class files is not a trivial operation. To spread the work load on a mobile device, verification is done in two steps. 0. Pre-verification A software program is run to insert additional attributes into the class file. This information reduces the amount of time and memory necessary when the JVM carries out step 2 of verification. 1. In-device verification Once a device loads a pre-verified class file, the in-device verifier runs through each instruction. There are several checks done to validate the code. 21

22 Configurations and Profiles Capabilities of devices within the JavaME may vary greatly. A PDA may have a much larger display than a pager. One Java platform will most definitely not fit all. In order to accommodate a broad range of consumer electronics and embedded devices JavaME introduces two new concepts: configurations and profiles. Profile Configuration Libraries Java Virtual Machine 22

23 Configuration A configuration defines a Java platform for a broad range of devices. A configuration is closely tied to a JVM. In fact, a configuration defines the Java language features and the core Java libraries of the JVM for that particular configuration. The dividing line as to what a configuration applies is for the most part based on memory, network connectivity and processing power available on a device. Configuration provides the lowest common denominator for a group of devices. Currently, there are two configurations defined: Connected Limited Device Configuration (CLDC) Connected Device Configuration (CDC) 23

24 CDC versus CLDC CDC is a subset of JavaSE, plus some extra classes. CLDC is a subset of CDC. JavaSE CDC CLCD 24

25 Connected Device Configuration This configuration is designed for devices with more memory, faster processors and greater network bandwidth It is appropriate, at least in the near term, for home automation and automotive navigation, entertainment and telemetry systems. A programming model closer to JavaSE simplifies porting existing desktop clients for enterprise systems to mobile devices that support CDC. CDC is used for example in Multimedia Home Platform (MHP) in DVB set-top boxes 25

26 Connected Limited Device Configuration This configuration is intended for devices with intermittent network connections, small processors and limited memory. Expected targets included two-way pagers, mobile phones and entry-level PDAs. However, in practice, the functionality delivered by CLDC and the associated profiles and optional packages is very close to that of CDC. As a consequence it is used today on most high-end mobile phones, or smartphones, which are replacing PDAs in the marketplace. 26

27 Java Language Differences There are three main areas that distinguish the Java Language for CLDC to those defined in the Java Language Specification. Floating Point Math The CLDC 1.0 implementation of the Java language does not support floats. CLDC 1.1 specifies such support. But MIDP 2.0 only requires CLDC 1.0. Finalization The CLDC does not support the finalize() method because an overhead and processor requirements are too steep. Error Handling The JVM supports a limited set of error handling exceptions due a significant demand on the system's device-dependent. 27

28 JavaME Java Virtual Machines C virtual machine (CVM) classic Java virtual machine used with CDC 32b microprocessor at least 2MB of RAM & 2.5 MB of ROM Kilobyte virtual machine (KVM) used with CLDC 16b/32b (slow) microprocessor limited math, string, and I/O functions lacks some features of classic JVM only a small subset of JavaSE core libraries at least 32kB of RAM & 128kB of ROM 28

29 Java Virtual Machine Differences The Java virtual machine supporting CLDC (KVM) differs from the Java Virtual Machine specification Floating Point Math The implementation of the JVM for CLDC 1.0 lacks support for floating point numbers. Java Native Interface To reduce the potential of corruption to system level information support for invoking native methods was eliminated. Custom Class Loader There are tight controls on a class loader it cannot be replaced, overridden or modified. The loader itself is device-dependent. continued 29

30 Java Virtual Machine Differences continued Reflection Reflection is not available on a JVM supporting the CLDC. Thread Groups The JVM does not support the ThreadGroup class. Finalization The JVM lacks support for finalization. Weak References The JVM does not support weak references to objects. 30

31 Profile A profile supplements a configuration to provide capabilities for a specific family of devices or specific industry segment application need. For example, a configuration provides a generic Java API for battery powered, limited display and processing capability systems, while a profile provides a supplemental Java API specific to cellular telephones, which is a member of this larger group of devices. A profile must supplement a configuration. A profile will not work without the configuration and virtual machine providing the core classes/api and runtime environment. 31

32 Profiles CDC profiles Foundation profile basic CDC profile Game Profile developing game applications Personal Profile complex UI components FP Personal Basis Profile simple UI components (single window) RMI Profile Remote Method Invocation support classes CLDC profiles Mobile Information Device Profile local storage, UI, network PDA Profile better displays, larger memory compared to MIDP KJava Sun-specific API for Palm OS Information Module Profile subset of MIDP

33 Mobile Information Device Profile The Mobile Information Device Profile (MIDP) is a key element of the Java 2 Platform, Micro Edition (JavaME). When combined with the Connected Limited Device Configuration (CLDC), MIDP provides a standard Java runtime environment for today's most popular mobile information devices, such as cell phones and mainstream personal digital assistants. The profile can be characterized by the following features: rich user interface capabilities, extensive connectivity, multimedia and game functionality, over-the-air-provisioning, end-to-end security. 33

34 Information Module Profile The IMP is a strict subset of the MIDP 1.0 specification. The primary difference is that IMP removes MIDP's display and input mechanisms. Instead, IMP devices must provide their own implementation-specific classes to handle any interaction with the user they need. 34

35 How are Configurations and Profiles Defined? Excerpt from JavaME FAQ: Configurations and Profiles are defined by open industry working groups utilizing Sun s Java Community Process Program. In this way industries can decide for themselves what elements are necessary to provide a complete solution targeted at their industry. For more information on the Sun Community Process Program, see: 35

36 MIDP Optional Packages Once again the basic library was insufficient for some applications (remember the JavaSE history), which resulted in the development of several new packages: PDA Optional Package more PDA-specific APIs, e.g. PIM Bluetooth API Bluetooth communication (SDK problem) Wireless Messaging API SMS (MMS) capabilities Location API location tracking SIP API for JavaME VoIP communication,session initiation Presence & IM API JavaME version of JAIN, IM & presence support based on SIP Mobile Media API audio/video controls, streaming media JavaME Web Services API Web Services-related XML classes Security and Trust API Interaction with security smart card Mobile 3D Graphics API 3D graphics, mainly for games... 36

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

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 699 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz

More information

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

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms. TAMZ I (Design of Applications for Mobile Devices I) Lecture 1 Introducing Mobile Platforms http://goo.gl/pze5o Contact Information Office: EA-409 Address: Dept. of Computer Science, FEECS VSB-TU Ostrava

More information

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

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere

More information

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

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing

More information

CM0256 Pervasive Computing

CM0256 Pervasive Computing CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale t.r.goodale@cs.cardiff.ac.uk Lecture Outline In this lecture we: J2ME applications Palm. Device Limitations Limited Power

More information

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

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines

More information

Device Technologies I J2ME & WinCE

Device Technologies I J2ME & WinCE Device Technologies I J2ME & WinCE Patrick J. Stockreisser p.j.stockreisser@cs.cardiff.ac.uk Lecture Outline In the lecture we will: Look at considerations needed to run applications on mobile or pervasive

More information

Overview of Java 2 Platform, Micro Edition (J2ME )

Overview of Java 2 Platform, Micro Edition (J2ME ) CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed

More information

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

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

Mobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material

Mobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material Mobile Programming 1 Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material Web Services/Sites, like Foursquare where location, device camera, etc and local processing make

More information

Mobile Game Programming. Just that facts.

Mobile Game Programming. Just that facts. Mobile Game Programming Just that facts. First. a story. August, 2008: Ethan Nicholas, a Java engineer at Sun Microsystems (married, two kids) is desperate for money, and has heard that people can make

More information

Mobile Game Programming

Mobile Game Programming Mobile Game Programming Just that facts. guest instructor: Matt Meyer Introduction I Mobile Devices (Primary Purpose): Gaming Devices: Nintendo DS, PSP. Music Devices: ZUNE, IPod. Cellphone Devices: Nokia,

More information

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010 Mobile Computing Juha-Matti Liukkonen, Nov 17, 2010 1 Contents Mobile Computing revolution Structural impact of device evolution A look into Mobile Linux 2 Mobile Computing revolution 3 Pocketable power

More information

ProvideX On Handhelds

ProvideX On Handhelds 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

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

Java 2 Platform, Micro Edition

Java 2 Platform, Micro Edition Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME

More information

Requirements and Issues of V**s for Mobile Terminals

Requirements and Issues of V**s for Mobile Terminals Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT

More information

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma Mobile Middleware Course Mobile Platforms and Middleware Sasu Tarkoma Role of Software and Algorithms Software has an increasingly important role in mobile devices Increase in device capabilities Interaction

More information

Software Development for Mobile Devices

Software Development for Mobile Devices Software Development for Mobile Devices Operating System Diversity Many Operating Systems Google Android Apple ios Microsoft Windows Phone Nokia Symbian Linux RIM BlackBerry OS HP/Palm WebOS BREW Differences

More information

Minne menet, Mobiili-Java?

Minne menet, Mobiili-Java? Minne menet, Mobiili-Java? Java Platform, Micro Edition Status and Future Directions Antero Taivalsaari Sun Microsystems, Inc. December 2005 Growth Continues (2005 vs. 2003) 1 Billion Installed Base as

More information

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems Goal of this Session Demonstrate

More information

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.

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 markets and development environments Petri Vesikivi (Erkki Rämö) How many of us own a car 800M Fixed Telephone 1.3B TV 1.5B Credit card 1.3B Mobile phone? PC? How many of us own a car 800M Fixed

More information

Nokia for developers. Alexey Kokin. Developer Relations

Nokia for developers. Alexey Kokin. Developer Relations Nokia for developers Alexey Kokin Developer Relations alexey.kokin@nokia.com Agenda Nokia Platforms and changes due to MSFT deal WP7 Symbian Meego S40 Qt update Ovi Store update 2 Strategy shift in brief

More information

Petr Suchomel Architect, NetBeans Mobility

Petr Suchomel Architect, NetBeans Mobility NetBeans 6.0 A Fresh Look into Java Development Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda The NetBeans IDE, Platform, Community What's new in NetBeans 6.0 Quick look over NetBeans

More information

What's New In Mobile & Embedded Java? A Technology Update

What's New In Mobile & Embedded Java? A Technology Update What's New In Mobile & Embedded Java? A Technology Update Terrence Barr Senior Technologist, Mobile & Embedded terrence.barr@oracle.com Safe Harbor Statements The following is intended

More information

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices Zohar Sivan IBM Research Laboratory in Haifa IBM Labs in Haifa MMAPI Objectives Provide a standards-based Java multimedia framework for

More information

HTML5 Mobile App Development

HTML5 Mobile App Development HTML5 Mobile App Development Carl Stehle Appception, Inc. carl@appception.com 650.938.8046 April, 2013 Market Mobile App Market August 2010: Research2guidance: 1.7B (2009), 2.2B (1 st half 2010) April

More information

Application Development for Mobile and Ubiquitous Computing

Application Development for Mobile and Ubiquitous Computing Department of Computer Science Institute for System Architecture, Chair for Computer Networks lication Development for Mobile and Ubiquitous Computing 9. Cross-Platform Development Dr. Ing. Thomas Springer

More information

The Java Mobile and Embedded Platform: Now and the Future

The Java Mobile and Embedded Platform: Now and the Future The Java Mobile and Embedded Platform: Now and the Future 1 Copyright 2011, Oracle and/or its affiliates. All rights Java Spotlight Podcast http://www.javaspotlight.org @javaspotlight 2 Copyright 2011,

More information

Broad Objectives/Outcomes of the course

Broad Objectives/Outcomes of the course Broad Objectives/Outcomes of the course Course Aims: Introduces the basic concepts and principles in mobile computing. The major techniques involved, and networks & systems issues for the design and implementation

More information

Introduction to Mobile Application and Development

Introduction to Mobile Application and Development Introduction to Mobile Application and Development Mobile Phones A mobile phone (also called mobile, cellular telephone, cell phone, or hand phone is an electronic device used to make 1. Calls across a

More information

Developing Mobile Applications

Developing Mobile Applications Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random

More information

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

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol) Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks

More information

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I)

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I) Extreme Java G22.3033-007 Session 3 - Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1

More information

MOBILE COMPUTING Unit V

MOBILE COMPUTING Unit V MOBILE COMPUTING Unit V 1 UNIT V MOBILE PLATFORMS AND APPLICATIONS Mobile Device Operating Systems Special Constrains & Requirements Commercial Mobile Operating Systems Software Development Kit: ios, Android,

More information

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less

More information

Supported Devices, OS, and Browsers

Supported Devices, OS, and Browsers Kony Visualizer Supported Devices, OS, and Browsers Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Review of Mobile Web Application Frameworks

Review of Mobile Web Application Frameworks Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,

More information

PennBench: A Benchmark Suite for Embedded Java

PennBench: A Benchmark Suite for Embedded Java WWC5 Austin, TX. Nov. 2002 PennBench: A Benchmark Suite for Embedded Java G. Chen, M. Kandemir, N. Vijaykrishnan, And M. J. Irwin Penn State University http://www.cse.psu.edu/~mdl Outline Introduction

More information

Mobile Cross Platform Development. Igor Markov

Mobile Cross Platform Development. Igor Markov Mobile Cross Platform Development Igor Markov How many smartphone platforms are there? 2 Some popular ones: Android Bada Blackberry ios RIM Symbian Windows Mobile WP7 J2ME (not smartphone in fact) Maemo/MeeGo

More information

Mobile Development June 2015, TEIATH, Greece

Mobile Development June 2015, TEIATH, Greece Mobile Development June 2015, TEIATH, Greece Presentation Overview 1. Introduction 2. Mobile Application Development 3. Cordova / Phonegap 4. Development Framework 5. Examples 1. INTRODUCTION Introduction

More information

Bluetooth Scatternet Application. Sun Code for Freedom

Bluetooth Scatternet Application. Sun Code for Freedom Bluetooth Scatternet Application Sun Code for Freedom Submitted for Code For Freedom Contest 2009 By Ravi D Suvarna Ananth V Sandeep Jain Index Topic Page No. 1. Introduction ---------------------------------------------

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE ARCHITECTURE OF ANDROID IN SMART PHONES RAVNEET KAUR T. BAGGA 1,

More information

RTOS, Linux & Virtualization Wind River Systems, Inc.

RTOS, Linux & Virtualization Wind River Systems, Inc. taeyong.kim@windriver.com RTOS, Linux & Virtualization 2008 Wind River Systems, Inc. Simple Board Simple Code 2 2008 Wind River Systems, Inc. start: /* disable interrupts in CPU and switch to SVC32 mode

More information

Chapter 1: Introduction to Computers and Java

Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO Open Source Software in mobile devices Timofey Turenko timofey.turenko@nokia.com Nokia Research Center, Office of CTO Agenda What is OSS? How did OSS come into mobile? OSS platforms for mobile devices

More information

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

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

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ 1 Operating System and Software Computer Operating System An operating

More information

Copyright

Copyright Copyright NataliaS@portnov.com 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community Sun Microsystems 1 Platform Scalability and

More information

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

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level Kay Glahn Consultant Mobile Service Architecture, Vodafone http://www.vodafone.com Erkki Rysä Technologist Nokia Corporation http://www.nokia.com

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

Mobile Platforms and Application Development. Prof. Sasu Tarkoma

Mobile Platforms and Application Development. Prof. Sasu Tarkoma Mobile Platforms and Application Development Prof. Sasu Tarkoma Introduction Mobile software is a growing area Ten billion downloads from Apple AppStore Development processes, tools, APIs are crucial for

More information

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18 Why Android? Android Overview Dr. Siddharth Kaza Dr. Josh Dehlinger A lot of students have them 2010 survey by University of CO 1 : 22% of college students have Android phone (26% Blackberry, 40% iphone)

More information

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University Garyounis University Press Journal of Science and Its Applications Vol. 3, No. 1, pp 83-93, April 2009 83 Mobile Application Design and Development With the use m.khlaif Computer Science Dept Garyounis

More information

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

Technology in Action. Chapter 8 Mobile Computing: Keeping Your Data on Hand. Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall Technology in Action Chapter 8 Mobile Computing: Keeping Your Data on Hand 1 Mobile Computing: Is It Right for You? Advantages Convenience Boost productivity Communicate with others anywhere Access to

More information

Mobile Technologies. Types of Apps

Mobile Technologies. Types of Apps Mobile Technologies Types of Apps What is mobile? Devices and their capabilities It s about people Fundamentally, mobile refers to the user, and not the device or the application. Barbara Ballard, Designing

More information

How ercp stacks up against Android and other Mobile Rich Client Platforms. Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC

How ercp stacks up against Android and other Mobile Rich Client Platforms. Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC How ercp stacks up against Android and other Mobile Rich Client Platforms Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC Copyright IBM Corp., 2007-2008; any source code made available

More information

Introduction to JAVA Programming Language

Introduction to JAVA Programming Language Introduction to JAVA Programming Language Lecture 2 Based on Slides of Dr. Norazah Yusof 1 Origins of the Java Language Patrick Naughton and Jonathan Payne at Sun Microsystems developed a Web browser that

More information

Mobile development initiation

Mobile development initiation Mobile development initiation Outline Mobile development: o Why? o How? o New issues Android ios 2 Mobile growth ¼ Internet access Sales of smartphones and tablets increase o + 70% tab Community 3 Why

More information

Operating System Concepts Rab Nawaz Khan Jadoon

Operating System Concepts Rab Nawaz Khan Jadoon Operating System Concepts Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System Operating System It is a system

More information

Ethical Hacking and Countermeasures: Secure Network Operating Systems and Infrastructures, Second Edition

Ethical Hacking and Countermeasures: Secure Network Operating Systems and Infrastructures, Second Edition Ethical Hacking and Countermeasures: Secure Network Operating Systems and Infrastructures, Second Edition Chapter 7 Hacking Mobile Phones, PDAs, and Handheld Devices Objectives After completing this chapter,

More information

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices Pablo Cesar pcesar@tml.hut.fi http://www.tml.hut.fi/~pcesar Part I DVB-HTML Part II MIDP 2.0 Part III Outline Graphics Systems in Embedded

More information

Programming The Mobile Web Ebooks Free

Programming The Mobile Web Ebooks Free Programming The Mobile Web Ebooks Free With the second edition of this popular book, youâ ll learn how to build HTML5 and CSS3-based apps that access geolocation, accelerometer, multi-touch screens, offline

More information

Technology in Action. Chapter Topics. Participation Question. Chapter 8 Summary Questions. Participation Question 8/17/11

Technology in Action. Chapter Topics. Participation Question. Chapter 8 Summary Questions. Participation Question 8/17/11 Technology in Action Chapter 8 Digital Lifestyle: Managing Digital Data and Devices 1 2 Chapter Topics Changes that have brought us a digital lifestyle The impact of a digital lifestyle Cell phones and

More information

Extending Enterprise Applications to Mobile - Key Considerations. Zensar Technologies Sep 2011

Extending Enterprise Applications to Mobile - Key Considerations. Zensar Technologies Sep 2011 Extending Enterprise Applications to Mobile - Key Considerations Zensar Technologies Sep 2011 AGENDA Section 1: Trends & Adoption across industry Section 2: Enterprise Mobile Application Development --

More information

Mobile Internet Devices and the Cloud

Mobile Internet Devices and the Cloud Mobile Internet Devices and the Cloud What Is a Smartphone? Mobile Operating Systems for Smartphones 1. iphone 2. Google (Android) 3. Blackberry 4. Windows Mobile 5. Ubuntu Mobile Internet Device (MID)

More information

Enterprise Architecture Building a Mobile Vision. David Hunt DCH Technology Services Gill Windall University of Greenwich

Enterprise Architecture Building a Mobile Vision. David Hunt DCH Technology Services Gill Windall University of Greenwich Enterprise Architecture Building a Mobile Vision David Hunt DCH Technology Services Gill Windall University of Greenwich What is Enterprise Architecture? Definition Enterprise Architecture is the practice

More information

Making The Future Java

Making The Future Java Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information

More information

Selected Topics in Computer Engineering ENC-360

Selected Topics in Computer Engineering ENC-360 Selected Topics in Computer Engineering ENC-360 Dr. Feda AlShahwan Computer Section Electronic Engineering Department College of Technological Studies Public Authority for Applied Education and Training

More information

CROSS PLATFORM APPLICATION DEVELOPMENT WITH COMPATIBLE GUI SOLUTIONS

CROSS PLATFORM APPLICATION DEVELOPMENT WITH COMPATIBLE GUI SOLUTIONS wwwijecsin International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 6 June, 2013 Page No 1961-1966 CROSS PLATFORM APPLICATION DEVELOPMENT WITH COMPATIBLE GUI SOLUTIONS NithiyananthamC,

More information

Embedded Software: Its Growing Influence on the Hardware world

Embedded Software: Its Growing Influence on the Hardware world Embedded Software: Its Growing Influence on the Hardware world ISA Vision Summit 2009, Bangalore 16 th FEB 09 V. R. Venkatesh Head, Product Engineering Services, Wipro Technologies. Wipro in Product Engineering

More information

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role

More information

CS5015 Object-oriented Software Development. Lecture: Overview of Java Platform. A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8

CS5015 Object-oriented Software Development. Lecture: Overview of Java Platform. A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8 CS5015 Object-oriented Software Development Lecture: Overview of Java Platform A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8 Java Programming Language Java is an object-oriented programming

More information

Scott Weiss & Richard Martin April, 2003

Scott Weiss & Richard Martin April, 2003 Scott Weiss & Richard Martin April, 2003 Usable Products Company, 2003 About the Course Scott Weiss Author, Handheld Usability (John Wiley & Sons) Principal, Usable Products Company Course History: You

More information

PTViewerME: Immersive Panoramas for PDA and Smartphone

PTViewerME: Immersive Panoramas for PDA and Smartphone PTViewerME: Immersive Panoramas for PDA and Smartphone Helmut Dersch FH Furtwangen der@fh-furtwangen.de May 20, 2004 Abstract We have ported PTViewer, a Java-based spherical panorama viewer, to J2ME, Sun

More information

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

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin INTRODUCTION We can divide the parts that make up a computer into three broad categories or subsystem: the central processing unit (CPU), the main memory, and the input/output subsystem. The next three

More information

Copyright

Copyright Copyright NataliaS@portnov.com 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide

More information

Wireless Services in Faculty Information System

Wireless Services in Faculty Information System Wireless Services in Faculty Information System Sava Mikalački, Žarko Bodroški, and Srđan Škrbić Faculty of Science, Trg Dositeja Obradovića 3 21000 Novi Sad, Serbia sava.mikalacki@dmi.uns.ac.rs {shkrba,

More information

Android Overview. Francesco Mercaldo, PhD

Android Overview. Francesco Mercaldo, PhD Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what

More information

Lecture 1 Introduction Pervasive & Mobile Computing MIT 6.883

Lecture 1 Introduction Pervasive & Mobile Computing MIT 6.883 Lecture 1 Introduction Pervasive & Mobile Computing MIT 6.883 Larry Rudolph (MIT) 1 Pervasive Computing MIT 6.883 Spring 2007 Larry Rudolph Course Structure Overview Class is hands-on but also lectures

More information

CTIS 487: Lecture Notes 1

CTIS 487: Lecture Notes 1 CTIS 487: Lecture Notes 1 Mobile phones got their name due to the fact that they allow users to make phone calls while being mobile. The communication architecture was dominated by base stations communicating

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

CSC 170 Introduction to Computers and Their Applications. Computers

CSC 170 Introduction to Computers and Their Applications. Computers CSC 170 Introduction to Computers and Their Applications Lecture #4 Digital Devices Computers At its core, a computer is a multipurpose device that accepts input, processes data, stores data, and produces

More information

Mobile Device Manual for 3G DVRs

Mobile Device Manual for 3G DVRs Mobile Device Manual for 3G DVRs The 3G DVR can be monitored with APPS for supported mobile device operating systems. Please refer to the table below for your specific mobile device application. Please

More information

Java Embedded on ARM

Java Embedded on ARM Java Embedded on ARM The Embedded Market Evolving Rapidly Internet of Things 2.3B Internet Users Cloud for Embedded Devices Med-Large Embedded Multi-function Devices Enterprise Data and Applications Up

More information

Simon Jackson Mike Bow Dan North Pete Hemery

Simon Jackson Mike Bow Dan North Pete Hemery Simon Jackson Mike Bow Dan North Pete Hemery [google] define: mobile computing Mobile computing is "taking a computer and all necessary files and software out into the field. Not a very good definition!

More information

Mobile Business & Mobile Applications

Mobile Business & Mobile Applications Mobile Business & Mobile Applications Communication Industry Q3 2010 30 Million Customers Communication Industry 2009 20 Million Downloads of Songs > 60% via customer assistant Became The largest Music

More information

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless

More information

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

SCADA systems development on mobile device platform Java Client/Server model and localization enhancement SCADA systems development on mobile device platform Java Client/Server model and localization enhancement ONDŘEJ KREJCAR, JINDŘICH ČERNOHORSKÝ Department Measurement and Control VSB Technical University

More information

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

The Handheld Graphics. Market. Size, needs, and opportunities. Jon Peddie Research The Handheld Graphics Market Size, needs, and opportunities Founded in 2001 - our 24th year Focus and emphasis on Digital Technology, Multi Media, and Graphics Consulting and market research - Advisor

More information

MOBILE DEVELOPER GUIDANCE

MOBILE DEVELOPER GUIDANCE MOBILE DEVELOPER GUIDANCE powered by SUMMARY: If you have unlimited time and money, build native apps for all mobile platforms. If you have anything less, important decisions must be made that can have

More information

Mobile Application Development Concept

Mobile Application Development Concept Mobile Application Development Concept Aryo Pinandito, ST, M.MT Delivering Mobile Content It isn't just about choosing native apps or choosing the mobile web it's also about looking at who your customers

More information

Determining the Best Approach

Determining the Best Approach 2 Determining the Best Approach The remaining chapters of this book cover the capabilities of the BlackBerry application platform and then dig into each application development option in detail. Before

More information

Pdf Books Mobile Programming

Pdf Books Mobile Programming Pdf Books Free PDF ebook Download: Pdf Books Download or Read Online ebook pdf books mobile programming in PDF Format From The Best User Guide Database read on desktop/laptop computers and mobile phones.

More information

T Mobile Systems Programming (5 cr)

T Mobile Systems Programming (5 cr) T-110.5130 Mobile Systems Programming (5 cr) Practical issues and course arrangements 17 th January 2012 M.Sc. Olli Mäkinen, course assistant Agenda Course basics Mobile platforms Group assignments and

More information

IJRDTM Kailash ISBN No Vol.17 Issue

IJRDTM Kailash ISBN No Vol.17 Issue ABSTRACT ANDROID OPERATING SYSTEM : A CASE STUDY by Pankaj Research Associate, GGSIP University Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

More information

Lecture 3 MOBILE PLATFORM SECURITY

Lecture 3 MOBILE PLATFORM SECURITY Lecture 3 MOBILE PLATFORM SECURITY You will be learning: What techniques are used in mobile software platform security? What techniques are used in mobile hardware platform security? Is there a common

More information