SlideShare a Scribd company logo
1 of 47
Download to read offline
AD111 Developing Mobile Apps
Rapidly for WebKit Browsers
Using XPages
Niklas Heidloff, Senior Software Engineer, IBM
Steve Castledine, Advisory Software Engineer, IBM




              © 2011 IBM Corporation
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   2
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   3
OpenNTF Projects
●   http://mobilecontrols.openntf.org
●   http://mobiledocuments.openntf.org




                                         © 2011 IBM Corporation   4
Goals of the OpenNTF Project
●   Identify which out of the box app dev functionality for mobile apps IBM®
    Lotus® Domino® could support in future releases
●   Demonstrate how to use the Lotus Domino XPages app dev platform today to
    build mobile apps with standard web development skills without having to
    write native/device specific code
●   Demonstrate how to build mobile apps for Android™, iPhone® and
    Blackberry® using XPages




                                                 © 2011 IBM Corporation   5
Technical Goals
●   Enable developers to develop mobile apps via XPages (rapid application
    development, access to Lotus Domino services, etc.)
●   Enable developers to build mobile apps that look & feel like native apps to
    achieve the best user experience
●   Enable developers to build sophisticated mobiles apps accessing native
    services and supporting offline
●   Enable developers to build mobile apps via XPages easily, e.g. via reusable
    controls




                                                  © 2011 IBM Corporation   6
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   7
Native Look & Feel
●   Many iPhone apps use the typical iPhone style
●   Android has it's own style but few apps use it
●   Blackberry doesn't seem to have it's own style
●   Not all apps use these styles, but many of the most popular apps, esp. for
    iPhone


●   Most Android and iPhone apps use nice page transitions
●   This is not only nice to have, but required to get the necessary user
    acceptance. Mobile users have high expectations since they know it from
    other apps
●   Technically this means one HTML/XSP page with lot's of hide/show and Ajax




                                                     © 2011 IBM Corporation   8
iPhone Style




               © 2011 IBM Corporation   9
Android Style




                © 2011 IBM Corporation   10
OpenNTF Project uses Dojo
●   Dojo 1.5 (dojox/mobile) provides a framework to build web apps that look and
    feel like native apps
     ─   Page transitions
     ─   Loading indications
     ─   Typical styles for iPhone and Android


●   The project leverages Dojo 1.5
●   Custom styles can be used
●   Reusable controls are provided to assemble custom apps
●   A live version of this app is available under http://i.openntf.org




                                                    © 2011 IBM Corporation   11
Loading of new Content
●   View control loads new
    entries automatically when
    scrolling down
●   Progress indicators for view
    and document loading




                                   © 2011 IBM Corporation   12
Creation of new Documents
●   Project shows how to create new
    documents (via Ajax)




                                      © 2011 IBM Corporation   13
Bookmarks
●   Pages including pages with documents
    can be bookmarked
     ─   e.g. http://i.openntf.org/niklas/
         MobileControls1.0.0.nsf/
         m.xsp#document&unid=E58F1FE324BBC241
         8625771A001C5263




                                                © 2011 IBM Corporation   14
Navigation
●   Browser and device navigation buttons are
    supported




                                                © 2011 IBM Corporation   15
Sticky Scrollbars
●   W hen navigating back to the view the scrollbars are sticky




                                                  © 2011 IBM Corporation   16
Custom Styles
●   Custom styles can be used




                                © 2011 IBM Corporation   17
Reusable Controls
●   Reusable XPages
    Controls are provided
    to assemble custom
    apps




                            © 2011 IBM Corporation   18
Sample App: Mobile Notes Documents
●   Access Notes documents on mobile devices (e.g. when commuting to work)




                                              © 2011 IBM Corporation   19
Sample App: Mobile Notes Documents




                               © 2011 IBM Corporation   20
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   21
Access Native Services - Scenarios
●   Sub scenarios
     ─   Local contacts
     ─   Camera
     ─   GPS/geolocation
     ─   Accelerometer
     ─   Gestures (e.g. shake, orientation change)
     ─   Local filesystem
     ─   Media (e.g. pick photo)




                                                     © 2011 IBM Corporation   22
Sample Scenario:
Take Picture and upload to Domino




                                    © 2011 IBM Corporation   23
Access Native Services
●   Most of this functionality is not in W ebKit and not in HTML5 or any other
    standard or proposal yet
●   PhoneGap provides JavaScript APIs to use this functionality
●   PhoneGap is a native app and as such needs to be deployed to mobile
    devices
●   The XPages Mobile Controls project provides a sample how to use PhoneGap
●   PhoneGap works on Android, iPhone and Blackberry




                                                  © 2011 IBM Corporation   24
JavaScript to access Camera




                              © 2011 IBM Corporation   25
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   26
Offline and cached Data
●   HTML5 will support caching of resources and provide local storage
    capabilities
●   Some W ebKit based browsers support today also SQL storage of data


●   Sample:
    Same blog
    application as
    previously taken
    offline




                                                © 2011 IBM Corporation   27
Offline Implementation
●   Usage of manifest file to cache resources
●   Usage of 'localSession' to cache data
     ─ SQL would also be possible but not supported on all W ebKit devices

●   Offline detection via JavaScript
●   The synchronization and offline mechanism is limited at this point:
     ─   The synchronization is hardcoded to the last 10 view entries and documents
     ─   The data is updated automatically when online
     ─   The content of documents is stored locally but without pictures and other
         embedded objects
     ─   Comments can be read but no new comments can be created offline




                                                      © 2011 IBM Corporation   28
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   29
Controls, Controls, Controls
●   Reused and packaged as XPages controls from various open source projects
     ─   Dojo 1.5
     ─   Wink tookit 1.0
     ─   cubiq.org




                                              © 2011 IBM Corporation   30
Login Control
●   Another part of the project is the login
    control for mobile devices
●   This is not an XPages control but
    leverages IBM Lotus iNotes® Ultralite
    code




                                               © 2011 IBM Corporation   31
Image Carousel
●   From Dojo
●   Switch between images via the icons on
    the left and right hand side




                                             © 2011 IBM Corporation   32
Image Viewer
●   From Dojo Mobile
●   Flip between images and zoom in/out




                                          © 2011 IBM Corporation   33
Slide In Menu
●   From cubiq.org




                     © 2011 IBM Corporation   34
Pop Up Menu
●   From W ink toolkit




                         © 2011 IBM Corporation   35
Spinning Wheel
●   From cubiq.org




                     © 2011 IBM Corporation   36
Date Picker Control
●   From W ink toolkit




                         © 2011 IBM Corporation   37
Modal Dialog Control
●   From W ink toolkit




                         © 2011 IBM Corporation   38
Static Line Items
●   From Dojo




                    © 2011 IBM Corporation   39
Agenda
●   Overview

●   Mobile apps with native look and feel

●   Mobile apps accessing native services

●   Mobile apps caching data and supporting offline

●   Controls, controls, controls

●   W hat's next?




                                                  © 2011 IBM Corporation   40
What's next?
●   Dojo is adding new features that could be consumed by XPages Mobile
    Controls
     ─   Bottom navigator
     ─   Flipping views
     ─   Footers and headers optionally fix
     ─   Splitted screen for iPad


●   Evaluating whether to provide the mobile controls
    as out of the box controls




                                                 © 2011 IBM Corporation   41
Q&A




      © 2011 IBM Corporation   42
Related Sessions
●   AD116 - XPages Extension Library: Making Application Development Even
    Easier
●   BP207 - Apps, Apps, and More Apps: Meet the Very Best Open Source Apps
    from OpenNTF
●   AD106 - IBM Lotus Domino App Dev: All Things Considered | Pete Janzen
●   AD113 - Show Your XPages in Style!
●   AD114 - There and Back Again: Strategies for Re-factoring Notes Applications
    to XPages




                                                © 2011 IBM Corporation   43
Appendix – Resources – Open Source Projects
●   XPages Mobile Controls Project:
     ─   http://mobilecontrols.openntf.org
●   XPages Mobile Documents Project:
     ─ http://mobiledocuments.openntf.org

●   PhoneGap:
     ─   http://www.phonegap.com
●   Dojo:
     ─   http://www.dojotoolkit.org
●   W ink Tookit:
     ─   http://www.winktoolkit.org
●   Cubiq.org:
     ─   http://cubiq.org




                                             © 2011 IBM Corporation   44
Appendix – Resources – Live Demos
●   OpenNTF blog:
     ─   http://i.openntf.org
●   Dojo blog including offline:
     ─   http://208.85.188.19/niklas/MobileControls200.nsf/m.xsp
●   Controls on xpages.info/demos
     ─   http://208.85.190.65/demos/DemoMobileControls.nsf/StartHere.xsp




                                                       © 2011 IBM Corporation   45
Appendix – Resources – HTML5
●   Resources:
     ─   http://www.w3.org/TR/html5/offline.html
●   Local storage:
     ─   http://dev.w3.org/html5/webstorage
●   SQL storage:
     ─   http://www.w3.org/TR/offline-webapps




                                                   © 2011 IBM Corporation   46
Legal Disclaimer
   © IBM Corporation 2011. All Rights Reserv ed.

 The inf ormation contained in this publication is prov ided f or inf ormational purposes only. While ef f orts were made to v erif y the completeness and accuracy of the inf ormation contained in this publication, it is prov ided AS IS
 without warranty of any kind, express or implied. In addition, this inf ormation is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible f or any
 damages arising out of the use of , or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall hav e the ef f ect of , creating any warranties or representations f rom
 IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement gov erning the use of IBM sof tware.

 Ref erences in this presentation to IBM products, programs, or serv ices do not imply that they will be av ailable in all countries in which IBM operates. Product release dates and/or capabilities ref erenced in this presentation may
 change at any time at IBM’s sole discretion based on market opportunities or other f actors, and are not intended to be a commitment to f uture product or f eature av ailability in any way. Nothing contained in these materials is
 intended to, nor shall hav e the ef f ect of , stating or imply ing that any activ ities undertaken by y ou will result in any specif ic sales, rev enue growth or other results.

 IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries,
 or both. Uny te is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

 Android is a trademark of Google Inc.

 iPhone is a trademark of Apple Inc.

 The Trademark Blackberry is owned by Research In Motion Limited




                                                                                                                                               © 2011 IBM Corporation                 47

More Related Content

What's hot

OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13Niklas Heidloff
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11Niklas Heidloff
 
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM ConnectionsSocial Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM ConnectionsNiklas Heidloff
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndreas Jakl
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Ryan Baxter
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 
DominoPoint June 2012 OpenNTF
DominoPoint June 2012 OpenNTFDominoPoint June 2012 OpenNTF
DominoPoint June 2012 OpenNTFNiklas Heidloff
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
OpenNTF and XPages January 2012
OpenNTF and XPages January 2012OpenNTF and XPages January 2012
OpenNTF and XPages January 2012Niklas Heidloff
 
e-Business - Mobile development trends
e-Business - Mobile development trendse-Business - Mobile development trends
e-Business - Mobile development trendsVladimir Kotov
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
OpenNTF - DNUG November 2013
OpenNTF - DNUG November 2013OpenNTF - DNUG November 2013
OpenNTF - DNUG November 2013Niklas Heidloff
 
Java API for Social Media
Java API for Social MediaJava API for Social Media
Java API for Social MediaWerner Keil
 
Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsDroidcon Berlin
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile AppMobio Solutions
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dominique Boutin
 

What's hot (20)

OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11
 
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM ConnectionsSocial Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
DominoPoint June 2012 OpenNTF
DominoPoint June 2012 OpenNTFDominoPoint June 2012 OpenNTF
DominoPoint June 2012 OpenNTF
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
OpenNTF and XPages January 2012
OpenNTF and XPages January 2012OpenNTF and XPages January 2012
OpenNTF and XPages January 2012
 
e-Business - Mobile development trends
e-Business - Mobile development trendse-Business - Mobile development trends
e-Business - Mobile development trends
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
OpenNTF - DNUG November 2013
OpenNTF - DNUG November 2013OpenNTF - DNUG November 2013
OpenNTF - DNUG November 2013
 
Java API for Social Media
Java API for Social MediaJava API for Social Media
Java API for Social Media
 
DaliCore
DaliCoreDaliCore
DaliCore
 
Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_apps
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 

Viewers also liked

これからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れこれからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れMitsuru Katoh
 
Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015Yoshito Tabuchi
 
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションCROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションMasahiro Tanaka
 
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Jun Hosokawa
 
Vietnam Mobile Apps Report Q3 2015
Vietnam Mobile Apps Report Q3 2015Vietnam Mobile Apps Report Q3 2015
Vietnam Mobile Apps Report Q3 2015Appota Group
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方dena_study
 
Pollution And Human Health
Pollution And Human HealthPollution And Human Health
Pollution And Human HealthMike Slater
 

Viewers also liked (8)

これからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れこれからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れ
 
Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015
 
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションCROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッション
 
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
 
Vietnam Mobile Apps Report Q3 2015
Vietnam Mobile Apps Report Q3 2015Vietnam Mobile Apps Report Q3 2015
Vietnam Mobile Apps Report Q3 2015
 
Business PowerPoint Template
Business PowerPoint Template Business PowerPoint Template
Business PowerPoint Template
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 
Pollution And Human Health
Pollution And Human HealthPollution And Human Health
Pollution And Human Health
 

Similar to Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Using XPages

Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsAyushman Jain
 
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...Niklas Heidloff
 
AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easierpdhannan
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Bala Subra
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...Paul Della-Nebbia
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12UGIF
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 
What’s new for Developers in IBM Domino & Domino Designer 9.0.1
What’s new for Developers in IBM Domino & Domino Designer 9.0.1What’s new for Developers in IBM Domino & Domino Designer 9.0.1
What’s new for Developers in IBM Domino & Domino Designer 9.0.1IBM Connections Developers
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...Mobiloitte
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Howard Greenberg
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy: A Collaborative Recipe...
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy:  A Collaborative Recipe...IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy:  A Collaborative Recipe...
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy: A Collaborative Recipe...William Holmes
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxPoooi2
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsJohn Head
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...John Head
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensJoseph Labrecque
 

Similar to Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Using XPages (20)

Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applications
 
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...
BP207 Lotusphere 2011 - Apps, Apps, and More Apps: Meet the Very Best Open So...
 
AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easier
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
What’s new for Developers in IBM Domino & Domino Designer 9.0.1
What’s new for Developers in IBM Domino & Domino Designer 9.0.1What’s new for Developers in IBM Domino & Domino Designer 9.0.1
What’s new for Developers in IBM Domino & Domino Designer 9.0.1
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy: A Collaborative Recipe...
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy:  A Collaborative Recipe...IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy:  A Collaborative Recipe...
IBM Lotusphere 2011 AD306 - IBM Lotus Sametime Proxy: A Collaborative Recipe...
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile Controls
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small Screens
 

More from Niklas Heidloff

Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with QuarkusNiklas Heidloff
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaNiklas Heidloff
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesNiklas Heidloff
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaNiklas Heidloff
 
Serverless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudServerless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudNiklas Heidloff
 
Development of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsDevelopment of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsNiklas Heidloff
 
Developing Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskNiklas Heidloff
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk Niklas Heidloff
 
Visual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowNiklas Heidloff
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScriptNiklas Heidloff
 
Building Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskBuilding Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskNiklas Heidloff
 
IBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryIBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryNiklas Heidloff
 
Cognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersCognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersNiklas Heidloff
 
IBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsIBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsNiklas Heidloff
 
Rapid Application Development with Docker
Rapid Application Development with DockerRapid Application Development with Docker
Rapid Application Development with DockerNiklas Heidloff
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixNiklas Heidloff
 
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerRapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerNiklas Heidloff
 

More from Niklas Heidloff (20)

Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 Minutes
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with Java
 
Blue Cloud Mirror
Blue Cloud MirrorBlue Cloud Mirror
Blue Cloud Mirror
 
IBM at JavaLand
IBM at JavaLandIBM at JavaLand
IBM at JavaLand
 
Serverless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudServerless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM Cloud
 
Development of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsDevelopment of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning Skills
 
Developing Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhisk
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
 
Visual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlow
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScript
 
Building Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskBuilding Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhisk
 
IBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryIBM Bluemix Continuous Delivery
IBM Bluemix Continuous Delivery
 
Cognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersCognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix Developers
 
IBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsIBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive Cars
 
Rapid Application Development with Docker
Rapid Application Development with DockerRapid Application Development with Docker
Rapid Application Development with Docker
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM Bluemix
 
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerRapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
 

Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Using XPages

  • 1. AD111 Developing Mobile Apps Rapidly for WebKit Browsers Using XPages Niklas Heidloff, Senior Software Engineer, IBM Steve Castledine, Advisory Software Engineer, IBM © 2011 IBM Corporation
  • 2. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 2
  • 3. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 3
  • 4. OpenNTF Projects ● http://mobilecontrols.openntf.org ● http://mobiledocuments.openntf.org © 2011 IBM Corporation 4
  • 5. Goals of the OpenNTF Project ● Identify which out of the box app dev functionality for mobile apps IBM® Lotus® Domino® could support in future releases ● Demonstrate how to use the Lotus Domino XPages app dev platform today to build mobile apps with standard web development skills without having to write native/device specific code ● Demonstrate how to build mobile apps for Android™, iPhone® and Blackberry® using XPages © 2011 IBM Corporation 5
  • 6. Technical Goals ● Enable developers to develop mobile apps via XPages (rapid application development, access to Lotus Domino services, etc.) ● Enable developers to build mobile apps that look & feel like native apps to achieve the best user experience ● Enable developers to build sophisticated mobiles apps accessing native services and supporting offline ● Enable developers to build mobile apps via XPages easily, e.g. via reusable controls © 2011 IBM Corporation 6
  • 7. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 7
  • 8. Native Look & Feel ● Many iPhone apps use the typical iPhone style ● Android has it's own style but few apps use it ● Blackberry doesn't seem to have it's own style ● Not all apps use these styles, but many of the most popular apps, esp. for iPhone ● Most Android and iPhone apps use nice page transitions ● This is not only nice to have, but required to get the necessary user acceptance. Mobile users have high expectations since they know it from other apps ● Technically this means one HTML/XSP page with lot's of hide/show and Ajax © 2011 IBM Corporation 8
  • 9. iPhone Style © 2011 IBM Corporation 9
  • 10. Android Style © 2011 IBM Corporation 10
  • 11. OpenNTF Project uses Dojo ● Dojo 1.5 (dojox/mobile) provides a framework to build web apps that look and feel like native apps ─ Page transitions ─ Loading indications ─ Typical styles for iPhone and Android ● The project leverages Dojo 1.5 ● Custom styles can be used ● Reusable controls are provided to assemble custom apps ● A live version of this app is available under http://i.openntf.org © 2011 IBM Corporation 11
  • 12. Loading of new Content ● View control loads new entries automatically when scrolling down ● Progress indicators for view and document loading © 2011 IBM Corporation 12
  • 13. Creation of new Documents ● Project shows how to create new documents (via Ajax) © 2011 IBM Corporation 13
  • 14. Bookmarks ● Pages including pages with documents can be bookmarked ─ e.g. http://i.openntf.org/niklas/ MobileControls1.0.0.nsf/ m.xsp#document&unid=E58F1FE324BBC241 8625771A001C5263 © 2011 IBM Corporation 14
  • 15. Navigation ● Browser and device navigation buttons are supported © 2011 IBM Corporation 15
  • 16. Sticky Scrollbars ● W hen navigating back to the view the scrollbars are sticky © 2011 IBM Corporation 16
  • 17. Custom Styles ● Custom styles can be used © 2011 IBM Corporation 17
  • 18. Reusable Controls ● Reusable XPages Controls are provided to assemble custom apps © 2011 IBM Corporation 18
  • 19. Sample App: Mobile Notes Documents ● Access Notes documents on mobile devices (e.g. when commuting to work) © 2011 IBM Corporation 19
  • 20. Sample App: Mobile Notes Documents © 2011 IBM Corporation 20
  • 21. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 21
  • 22. Access Native Services - Scenarios ● Sub scenarios ─ Local contacts ─ Camera ─ GPS/geolocation ─ Accelerometer ─ Gestures (e.g. shake, orientation change) ─ Local filesystem ─ Media (e.g. pick photo) © 2011 IBM Corporation 22
  • 23. Sample Scenario: Take Picture and upload to Domino © 2011 IBM Corporation 23
  • 24. Access Native Services ● Most of this functionality is not in W ebKit and not in HTML5 or any other standard or proposal yet ● PhoneGap provides JavaScript APIs to use this functionality ● PhoneGap is a native app and as such needs to be deployed to mobile devices ● The XPages Mobile Controls project provides a sample how to use PhoneGap ● PhoneGap works on Android, iPhone and Blackberry © 2011 IBM Corporation 24
  • 25. JavaScript to access Camera © 2011 IBM Corporation 25
  • 26. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 26
  • 27. Offline and cached Data ● HTML5 will support caching of resources and provide local storage capabilities ● Some W ebKit based browsers support today also SQL storage of data ● Sample: Same blog application as previously taken offline © 2011 IBM Corporation 27
  • 28. Offline Implementation ● Usage of manifest file to cache resources ● Usage of 'localSession' to cache data ─ SQL would also be possible but not supported on all W ebKit devices ● Offline detection via JavaScript ● The synchronization and offline mechanism is limited at this point: ─ The synchronization is hardcoded to the last 10 view entries and documents ─ The data is updated automatically when online ─ The content of documents is stored locally but without pictures and other embedded objects ─ Comments can be read but no new comments can be created offline © 2011 IBM Corporation 28
  • 29. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 29
  • 30. Controls, Controls, Controls ● Reused and packaged as XPages controls from various open source projects ─ Dojo 1.5 ─ Wink tookit 1.0 ─ cubiq.org © 2011 IBM Corporation 30
  • 31. Login Control ● Another part of the project is the login control for mobile devices ● This is not an XPages control but leverages IBM Lotus iNotes® Ultralite code © 2011 IBM Corporation 31
  • 32. Image Carousel ● From Dojo ● Switch between images via the icons on the left and right hand side © 2011 IBM Corporation 32
  • 33. Image Viewer ● From Dojo Mobile ● Flip between images and zoom in/out © 2011 IBM Corporation 33
  • 34. Slide In Menu ● From cubiq.org © 2011 IBM Corporation 34
  • 35. Pop Up Menu ● From W ink toolkit © 2011 IBM Corporation 35
  • 36. Spinning Wheel ● From cubiq.org © 2011 IBM Corporation 36
  • 37. Date Picker Control ● From W ink toolkit © 2011 IBM Corporation 37
  • 38. Modal Dialog Control ● From W ink toolkit © 2011 IBM Corporation 38
  • 39. Static Line Items ● From Dojo © 2011 IBM Corporation 39
  • 40. Agenda ● Overview ● Mobile apps with native look and feel ● Mobile apps accessing native services ● Mobile apps caching data and supporting offline ● Controls, controls, controls ● W hat's next? © 2011 IBM Corporation 40
  • 41. What's next? ● Dojo is adding new features that could be consumed by XPages Mobile Controls ─ Bottom navigator ─ Flipping views ─ Footers and headers optionally fix ─ Splitted screen for iPad ● Evaluating whether to provide the mobile controls as out of the box controls © 2011 IBM Corporation 41
  • 42. Q&A © 2011 IBM Corporation 42
  • 43. Related Sessions ● AD116 - XPages Extension Library: Making Application Development Even Easier ● BP207 - Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF ● AD106 - IBM Lotus Domino App Dev: All Things Considered | Pete Janzen ● AD113 - Show Your XPages in Style! ● AD114 - There and Back Again: Strategies for Re-factoring Notes Applications to XPages © 2011 IBM Corporation 43
  • 44. Appendix – Resources – Open Source Projects ● XPages Mobile Controls Project: ─ http://mobilecontrols.openntf.org ● XPages Mobile Documents Project: ─ http://mobiledocuments.openntf.org ● PhoneGap: ─ http://www.phonegap.com ● Dojo: ─ http://www.dojotoolkit.org ● W ink Tookit: ─ http://www.winktoolkit.org ● Cubiq.org: ─ http://cubiq.org © 2011 IBM Corporation 44
  • 45. Appendix – Resources – Live Demos ● OpenNTF blog: ─ http://i.openntf.org ● Dojo blog including offline: ─ http://208.85.188.19/niklas/MobileControls200.nsf/m.xsp ● Controls on xpages.info/demos ─ http://208.85.190.65/demos/DemoMobileControls.nsf/StartHere.xsp © 2011 IBM Corporation 45
  • 46. Appendix – Resources – HTML5 ● Resources: ─ http://www.w3.org/TR/html5/offline.html ● Local storage: ─ http://dev.w3.org/html5/webstorage ● SQL storage: ─ http://www.w3.org/TR/offline-webapps © 2011 IBM Corporation 46
  • 47. Legal Disclaimer © IBM Corporation 2011. All Rights Reserv ed. The inf ormation contained in this publication is prov ided f or inf ormational purposes only. While ef f orts were made to v erif y the completeness and accuracy of the inf ormation contained in this publication, it is prov ided AS IS without warranty of any kind, express or implied. In addition, this inf ormation is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible f or any damages arising out of the use of , or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall hav e the ef f ect of , creating any warranties or representations f rom IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement gov erning the use of IBM sof tware. Ref erences in this presentation to IBM products, programs, or serv ices do not imply that they will be av ailable in all countries in which IBM operates. Product release dates and/or capabilities ref erenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other f actors, and are not intended to be a commitment to f uture product or f eature av ailability in any way. Nothing contained in these materials is intended to, nor shall hav e the ef f ect of , stating or imply ing that any activ ities undertaken by y ou will result in any specif ic sales, rev enue growth or other results. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Uny te is a trademark of WebDialogs, Inc., in the United States, other countries, or both. Android is a trademark of Google Inc. iPhone is a trademark of Apple Inc. The Trademark Blackberry is owned by Research In Motion Limited © 2011 IBM Corporation 47