| 2004 JavaOne SM Conference | BOF 2796 1 JAVAONE 2004 Joe Bowbeer Software Designer UIEvolution, Inc. Cris Cook Graphic Designer UIEvolution, Inc.

Slides:



Advertisements
Similar presentations
INFORMATION SYSTEMS APPLIED MULTIMEDIA HIGHER This presentation will probably involve audience discussion, which will create action items. Use PowerPoint.
Advertisements

MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Learning Through a Mobile Device David McDyre Dr Averil Meehan Dr Stephen Wright.
Formal Language, chapter 4, slide 1Copyright © 2007 by Adam Webber Chapter Four: DFA Applications.
Mr Greenhalgh S4 Computing Int 1 Things you could do with knowing before the Exam…
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.
Multimedia Network Communications Subject:T0934 / Multimedia Programming Foundation Session:13 Tahun:2009 Versi:1/0.
Introduction User Patterns September 4 th, User Patterns in Software Safe Exploration Instant Gratification Satisficing Changes in Midstream Deferred.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
Writing Your First MIDlet Running JAVA on a Cell Phone Jon A. Batcheller January 27, 2004.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
. Website and file organization. How websites work.
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
© 2009 Research In Motion Limited Data structures and memory management on mobile devices.
PDA Programming Using J2ME Presenter :涂俊凱 Date : 2003/4/8.
Developing J2ME Applications Mobile and Wireless Networks.
Cosc 4730 Phone Programming in Java An Introduction.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
Detecting Changes  ItemStateListener interface – detect changes in internal state of an Item  new selection made in a ChoiceGroup  adjusted value of.
SM3121 Software Technology Mark Green School of Creative Media.
© 2009 Research In Motion Limited Introduction to developing applications for mobile devices.
Development of mobile applications using PhoneGap and HTML 5
The Internet & The World Wide Web Notes
Web Design Basic Concepts.
SD Splash Page Splash page brings your brand and message to the screen with a digital flyer and guide to your materials. Feature: Colorful User Interface.
Chapter 15 Designing Effective Output
J2ME Java for Mobile Environments Based on J2ME In A Nutshell, by Kim Topley, O’Reilly & Associates Inc., 2002, and Tetris by Alexei Patinov.
© Paradigm Publishing, Inc. 5-1 Chapter 5 Application Software Chapter 5 Application Software.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
1 SEG3120 Analysis and Design for User Interfaces Flash Anis Zarrad Parallel Simulations and Distributed Systems (PARADISE) Research Laboratory SITE, University.
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
Chapter 13-Tools for the World Wide Web. Overview Web servers. Web browsers. Web page makers and site builders. Plug-ins and delivery vehicles. Beyond.
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
Indo-US Workshop, June23-25, 2003 Building Digital Libraries for Communities using Kepler Framework M. Zubair Old Dominion University.
Nobody’s Unpredictable Ipsos Portals. © 2009 Ipsos Agenda 2 Knowledge Manager Archway Summary Portal Definition & Benefits.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Spong Bluetooth game Developed by: Erik Matzols Fredrik Lindberg.
Martin Schmidt / The Silent Revolution Mobile Java.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 13 lcdui and OXO Rob Pooley
Web software. Two types of web software Browser software – used to search for and view websites. Web development software – used to create webpages/websites.
Other Popular Java Technologies Internationalization in Java Graphics Programming in Java Security Programming in Java Collections and Data Structures.
Multimedia and the Web.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
 Network  A _____ of computers that can _________ w/ each other  Examples of hardware  ______________ & communication lines  Internet  Hardware.
Application Software System Software.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Virtual Navigation of Multimedia Maps A versatile map generator and viewer Virtual Navigation of Multimedia Maps A versatile map generator and viewer Robert.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
Introduction to HTML Simple facts yet crucial to beginning of study in fundamentals of web page design!
Chapter – 8 Software Tools.
Confidential & Proprietary Information of Digital Focus J2ME and the IVY Platform.
Virtual Navigation of Multimedia Maps A versatile map generator and viewer Virtual Navigation of Multimedia Maps A versatile map generator and viewer Robert.
Learning Aim C.  Once the website is complete, you should test it using the test plan you created at the design stage.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Varnish Cache and its usage in the real world Ivan Chepurnyi Owner EcomDev BV.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Chapter 10 Multimedia and the Web.
Java- I/O, SMS etc N Amanquah.
Java N Amanquah.
Chapter 2: System Structures
Introducing the World Wide Web
Handling Data Using Databases
Mobile Web Sites & Mobile Applications
Presentation transcript:

| 2004 JavaOne SM Conference | BOF JAVAONE 2004 Joe Bowbeer Software Designer UIEvolution, Inc. Cris Cook Graphic Designer UIEvolution, Inc.

java.sun.com/javaone/sf | 2004 JavaOne SM Conference | BOF Pervasive J2ME™ in Practice Joe Bowbeer Software Designer UIEvolution, Inc. Cris Cook Graphic Designer UIEvolution, Inc. A Cookbook for Developers and Designers

| 2004 JavaOne SM Conference | BOF Delivering on J2ME ™ Learn from two different perspectives: Programmer's and Designer's Practical aspects & Design considerations

| 2004 JavaOne SM Conference | BOF Agenda Programmer's perspective APIs (and more APIs) Constraints Bugs Designer's perspective Deconstructing mobile design From PC to mobile From Browser to mobile From Flash to mobile Q & A

| 2004 JavaOne SM Conference | BOF Programmer's Perspective APIs and more APIs Constraints Bugs

| 2004 JavaOne SM Conference | BOF API Fragmentation Configuration: ─CLDC Profiles: ─DoJa-1.5oe, DoJa-2.0, DoJa-3.0, DoJa-3.5 ─MIDP-1.0, Motorola, Nokia, Sprint, Vodafone,... ─MIDP-2.0 (CDC & Personal Profiles not shown...) One configuration, a multitude of profiles

| 2004 JavaOne SM Conference | BOF DoJa Connect to original host only 30KB application code 100KB scratchpad (“scratchpad:///0;pos=nn”) JAM not JAD GIF not PNG MLD not MIDI SoftKey not Command No drawArc or fillArc No clipRect (DoJa-1.5oe) DoJa Profile requires special treatment

| 2004 JavaOne SM Conference | BOF MIDP Missing in MIDP-1.0 ─Sound, Video ─Full screen ─browse(url), call(telno), send(sms) MIDP-2.0 and JTWI do consolidate Unresolved: ─Detecting presence of optional APIs ─Detecting support for platform requests Evolution of MIDP

| 2004 JavaOne SM Conference | BOF API Fragmentation void browseTo(String url) throws Exception{ //#sprint{ System.setExitURI(url); notifyDestroyed(); //#sprint} //#midp2{ if (platformRequest(url)) { notifyDestroyed(); } //#midp2} } Strategy: Conditional Compilation

| 2004 JavaOne SM Conference | BOF API Fragmentation Preprocessors Strategy: Conditional Compilation

| 2004 JavaOne SM Conference | BOF Constraints Lower bounds: ─200KB heap ─30KB code ─20KB record store ─12KB network request ─120x120 screen ─Slow processor Most constrained: DoJa and Nokia Series 40 Varied and sometimes incompatible

| 2004 JavaOne SM Conference | BOF Constraints Lowest common denominator? Load code and content OTA Strategies

| 2004 JavaOne SM Conference | BOF Bugs Detecting end of input stream Font metrics Graphics clipping Record stores A select few – from a large collection

| 2004 JavaOne SM Conference | BOF Bug: InputStream End Test byte[] readFromStream(InputStream in) throws IOException { byte[] buf = new byte[100]; ByteArrayOutputStream out = new ByteArrayOutputStream(); int n; // while ((n = in.read(buf)) != -1) { while ((n = in.read(buf)) > 0) { // FIXED out.write(buf, 0, n)); return out.toByteArray(); } EOF (-1) is never returned

| 2004 JavaOne SM Conference | BOF Bug: Inaccurate Font Metrics g.drawString(“Qwerty”, x, y, g.TOP | g.LEFT); Precise control of text layout is tricky

| 2004 JavaOne SM Conference | BOF Bug: Clipping Problems protected void paint(Graphics g) { int w = getWidth(); int h = getHeight(); g.setColor(0xFF0000); g.translate(-w/2, -h/2); g.fillRect(w/2, h/2, w, h); g.setColor(0x0000FF); g.clipRect(w - w/4, h - h/4, w/2, h/2); g.fillArc(w - w/4, h - h/4, w/2, h/2, 0, 360); } Graphics translate vs. clipRect

| 2004 JavaOne SM Conference | BOF Bug: Clipping Problems g.fillArc(w/4, h/4, w/2, h/2, 0, 360); Strategy: Don't use g.translate

| 2004 JavaOne SM Conference | BOF Bug: Record Stores Complex DB-style API Many bugs in MIDP-1.0 RI Wide range in limits and performance Easy to corrupt No way to read or write a partial record RMS is complex and fragile

| 2004 JavaOne SM Conference | BOF Bug: Record Store Corruption void replace(String name, byte[] data) throws RecordStoreException { try { RecordStore.deleteRecordStore(name); } catch (RecordStoreNotFoundException ex) { } RecordStore rs = RecordStore.openRecordStore(name, true); boolean done = false; try { rs.addRecord(data, 0, data.length); done = true; } finally { rs.closeRecordStore(); if (!done) RecordStore.deleteRecordStore(name); } Strategy: Never modify, completely replace

| 2004 JavaOne SM Conference | BOF Unusual Features Absolute URL in JAD: ─MIDlet-Jar-URL: Gateway transformations ─Accept: */* ─Cache-Control: No-Transform Paintable canvas overlaps command labels Or bugs?

| 2004 JavaOne SM Conference | BOF Overlapping Command Labels

| 2004 JavaOne SM Conference | BOF Agenda Programmer's perspective APIs (and more APIs) Constraints Bugs Designer's perspective What is mobile design? From PC to mobile From Browser to mobile From Flash to mobile Q & A

| 2004 JavaOne SM Conference | BOF Explore Solutions for Wireless J2ME Applications from the Designers Perspective UI Design Challenges and Solution

| 2004 JavaOne SM Conference | BOF UI Design Challenges and Solution for J2ME Deconstructing mobile design PC to Mobile: ESPN Bottomline Web to Mobile: Movies.com Flash to Mobile: ESPN Baseball Gamecast

| 2004 JavaOne SM Conference | BOF Deconstructing Mobile Design Size Limitations Everywhere -Screens -File Sizes -Heap Customer Considerations -Existing Brand Continuity -Features -What do users expect? Mobile User Interface Model -Input Controls -Usage Patterns -Feedback / Responsiveness -Cost UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF PC Application to Mobile: ESPN Bottomline UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF PC Application to Mobile: ESPN Bottomline UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF PC Application: ESPN Bottomline Considerations -Real-time Sports News Ticker -Large amount of data displayed -Links to ESPN Website for further information. -Desktop Application has ”Always On” Experience UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Mobile: ESPN Bottomline UI Controls and Focus: Auto-scroll UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Mobile: ESPN Bottomline The Translation: Passive to Active UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Mobile: ESPN Bottomline UI Controls and Focus UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Mobile: ESPN Bottomline Dynamic Screen Layout UI Design Challenges and Solution for J2ME Standard Phone Small (Sanyo 8100) Wide (RIM Blackberry)

| 2004 JavaOne SM Conference | BOF Mobile: ESPN Bottomline Application State Persistence UI Design Challenges and Solution for J2ME End Application Locked… Restart Application  Return to Locked Game!

| 2004 JavaOne SM Conference | BOF Web to Mobile: Movies.com UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Web to Wireless: Movies.com UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Web to Mobile: Movies.com Considerations -Website holds large amount of data -Many paths to find information -User customization features for ZIP code& Favorite theater UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Web to Mobile: Movies.com Consistent Branding and custom UI elements UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF ZIP Search Navigate Web to Mobile: Movies.com Top Level Accessibility UI Design Challenges and Solution for J2ME What’s New?

| 2004 JavaOne SM Conference | BOF Web to Mobile: Movies.com Quick Access to ZIP codes… UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Web to Mobile: Movies.com UI Design Challenges and Solution for J2ME Favorite Theaters My Movies

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast Considerations -Connected application with real time information -Large Immersive Data application -Progress, stats, scores and player information all on one screen poses interesting layout problems UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast Dividing the Information UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF FLASH to Mobile: ESPN Baseball Gamecast Mobile Specific Feature: User alerts UI Design Challenges and Solution for J2ME

| 2004 JavaOne SM Conference | BOF Summary Some of the items we think about when designing these applications: Determine which controls make sense for the application and for mobile. Dividing the data and decision process into usable pieces for mobile. Focus on features that make sense to the mobile experience.

| 2004 JavaOne SM Conference | BOF For More Information

| 2004 JavaOne SM Conference | BOF Q&A Pervasive J2ME™ in Practice 49

java.sun.com/javaone/sf | 2004 JavaOne SM Conference | BOF Pervasive J2ME™ in Practice Joe Bowbeer Software Designer UIEvolution, Inc. Cris Cook Graphic Designer UIEvolution, Inc. A Cookbook for Developers and Designers