SlideShare a Scribd company logo
1 of 62
Download to read offline
Nov. 18 2010 - S. Fermigier & B. Jalon, Nuxeo




                            Mobile ECM Apps
                             with Nuxeo EP
                                   An experience report




Monday, November 22, 2010
Outline

                   • Why?
                   • How?
                   • Experience reports
                   • Future work

Monday, November 22, 2010
1. Towards content-enabled
                   enterprise mobile apps



Monday, November 22, 2010
Gartner: mobile apps and
                       tablets are HOT




         Source: http://blogs.techrepublic.com.com/10things/?p=1871
Monday, November 22, 2010
Gartner again
                                      (but emphasis is mine)

                   •        Enterprise apps will need to be designed for the
                            tablet;

                   •        Delivering these apps gets complicated due to the
                            selection of platforms;

                   •        Marketing will drive a lot of projects to utilize tablets,
                            but these devices can be used for inspections,
                            surveys, image capture, documentation
                            and training.

                   •        The PC era is over.Think of mobile design points.


Monday, November 22, 2010
Technical limitations
                   • Limited screen size
                   • No keyboard, touch interface not a mouse either
                   • Limited computing power
                   • Limited network availability and bandwidth
                   • Limited content types
                   • Platforms proliferation!
                   • Etc.
Monday, November 22, 2010
New opportunities

                   • Just use your finger! (ex: Zosh)
                   • Geolocation
                   • Camera
                    • Ex: Barcode scanning
                   • Other sensors?

Monday, November 22, 2010
Embrace the constraints!
                   • Well defined (but per-platform) UI
                            guidelines
                   • New standard to the rescue: HTML5
                    • Mobile-specific enhancements to CSS
                    • Local storage (file and DB)
                    • Offline mode
Monday, November 22, 2010
2. Technological landscape
                            Mobile apps or mobile web?




Monday, November 22, 2010
Web Apps
                   • Multi-platform
                     • Depending on HTML5 support by your
                            platform vendor
                   • Easy deployment
                   • But: UI won’t look and feel “native”
                     • Users will know they are in a browser
                   • Limited access to device APIs
Monday, November 22, 2010
vs. Native Apps
                   • Optimized for a single platform capabilities
                        •     Optimal user experience

                        •     Access to sensors and specific API

                   • You can try to make money on the App
                            Store (not applicable here)
                   • But: Need platform-specific training, longer
                            development time

Monday, November 22, 2010
A wide range of options
                     Web Apps        Native Apps
           • Pure HTML (with ad-   • Cross-platforms, “web
                  hoc CSS)           oriented”, frameworks
           • HTML enhanced with • Cross-platforms,
                  jQuery             “native oriented”,
                                     frameworks
           • One Page or SOFEA
                  web apps         • Native apps
Monday, November 22, 2010
Pure HTML

                   • Classical web application made of pages,
                            with a bit of CSS to make them more
                            readable on a tiny screen
                   • Good enough for mobile web sites
                   • For any kind of web applications, we can do
                            better for a very tiny price



Monday, November 22, 2010
Example: mobile
                               Wikipedia




Monday, November 22, 2010
“Enhanced” HTML
                   •        HTML content delivered with AJAX requests
                            using “link hijacking” techniques (using usually a
                            bit of jQuery love)

                   •        Various CSS and JS tricks to emulate native UI

                   •        Libraries: iUI, jQTouch, jQuery Mobile

                        •     iUI: already mature, full-featured

                        •     jQuery Mobile: recent project, focus on
                              portability


Monday, November 22, 2010
One page Web apps
                   • Applications built using the SOFEA paradigm
                            (Service-Oriented Front-End Architecture)
                   • Web assets are loaded only once, then all
                            interaction with server takes place as web
                            services (usually JSON RPC)
                   • (Too?) Many frameworks, still immature:
                            GWT, Sencha Touch, SproutCore Mobile,
                            Dojo, etc.


Monday, November 22, 2010
Example:
                            mobile gmail




Monday, November 22, 2010
• Embeds your web app into a custom-built
                            web browser
                        • Removes URL and bottom tab bars
                        • Extends JS API with platform-specific API
                   • Easiest transition from web app to native
                     • But you still get a web-like UI
                   • Open source community project
Monday, November 22, 2010
• Initially similar to PhoneGap
                   • Then refocussed on providing a JS-based
                            API to native UI and platform APIs
                   • 2 supported platforms: iOS and Android,
                            BlackBerry coming up someday
                   • Open source startup, raised 9 M$ of VC
                            money last week


Monday, November 22, 2010
Native Apps
                   •        Develop native APIs using vendor
                        •     iOS: Objective-C / Cocoa Touch

                        •     Android: “Java”

                        •     BlackBerry: another Java (without “”)

                        •     Symbian: C++

                        •     Etc.

                   •        Main problem: to many platforms, too little time :(


Monday, November 22, 2010
3. 1st experience report



Monday, November 22, 2010
Exercise: write a content-
                     browsing app for DM
                  • Target platform = iPhone
                  • Browse content on a DM server
                  • Show content and metadata
                  • Full text search
                  • Recently updated documents (“timeline”)
                  • Store contextual data on the iPhone
Monday, November 22, 2010
Initial design




Monday, November 22, 2010
3 technologies

                   • Native iPhone app (Objective-C, Cocoa
                            Touch)
                   • Web app using jQuery-Mobile
                   • Portable app using Appcelerator Titanium
                            Mobile



Monday, November 22, 2010
Objective-C: the results

                   • Took 2 days to learn the basics of Objective-
                            C, Cocoa Touch, XCode
                   • Took about 3 days for a very basic prototype
                   • Additional complexity of supporting CMIS
                   • Unstable, now abandoned
                   • Code still there: hg.nuxeo.org/mobile/iphone

Monday, November 22, 2010
DEMO



Monday, November 22, 2010
Objective-C: the Good

                   • Learning a new language is intellectually
                            stimulating :)
                   • This is good old UNIX, you can use open
                            source libraries in C if you need
                   • Small ecosystem of open source libraries
                            around iOS



Monday, November 22, 2010
Objective-C: the Bad

                   • Learning a new language takes time, learning
                            a new IDE even more, and you don’t want to
                            switch from two IDEs too often
                   • Objective-C feels like I’m back in 1990
                            (explicit pointer and memory management)
                   • Only for iOS, as you would guess

Monday, November 22, 2010
jQuery Mobile: the results

                   • Took 1/2 a day to get a basic demo
                            (browsing, search) running
                   • Didn’t implement everything that I expected
                            (see Benjamin’s upcoming demo for a similar
                            approach, using iUI)




Monday, November 22, 2010
DEMO



Monday, November 22, 2010
jQuery Mobile: the Good

                   • Very easy to do on the server
                   • Fast turnaround thanks to WebEngine
                   • Easiest deployment option (you don’t need
                            to deploy)




Monday, November 22, 2010
jQuery Mobile: the Bad
                   •        The forward/back buttons are in the way, but you
                            have to use them after looking at a piece of
                            content

                   •        No easy way to develop a tab bar as I had designed

                   •        Not sure it will scale up to more sophisticated
                            applications

                   •        Might use PhoneGap to address some of these
                            points



Monday, November 22, 2010
Appcelerator: the results
                   • Took about 1 day to learn how to use the
                            platform
                   • Took about 3 days to create a reasonably
                            good looking, alpha-quality app
                   • 90% of the time spent on front-end, 10% on
                            back end (JSON REST API with WebEngine)
                   • Will probably take 2 or 3 more days to
                            make it App Store ready

Monday, November 22, 2010
DEMO



Monday, November 22, 2010
Monday, November 22, 2010
Appcelerator: the Good
                   • JavaScript much easier to learn than
                            Objective-C
                   • Specially when you already know
                            JavaScript ;) (or even Java)
                   • Productivity 2x to 5x higher that with
                            native Cocoa-Touch
                   • Multi-platform promise seems to work
Monday, November 22, 2010
Appcelerator: the bad
                   • “IDE” is quirky and unstable
                   • And not really an IDE actually!
                   • No debugger
                   • Another layer of indirection
                   • Apple doesn’t want you to use it (resolved!)
                   • As with native apps, provisioning is a PITA
Monday, November 22, 2010
Conclusion of the
                              experiment


Monday, November 22, 2010
Native (Obj-C)

                   • Not worth of your time, unless you:
                    • Are (or have) a dedicated iOS developer
                    • Want to compete on design to make $$
                            on the App store
                        • Want to be the first to leverage newly
                            introduced iOS features


Monday, November 22, 2010
Mobile HTML
                        • The fastest way to get a simple application
                            up and running
                        • The most multi-platform approach
                        • Doesn’t provide users with a 100% native
                            look and specially feel
                        • Doesn’t give you access to all the local
                            features of the device
                        • Can be complemented with PhoneGap
Monday, November 22, 2010
Appcelerator
                        • Gives you native look and feel and
                            platform access, with an original but
                            familiar API, at the price of slightly longer
                            development time than HTML
                        • Supports 2 major platforms (iOS and
                            Android), and soon Blackberry
                        • Not 100% bug-free, will always lag behind
                            native platform

Monday, November 22, 2010
4. 2nd experience report
                            Benjamin Jalon




Monday, November 22, 2010
Demonstration



                            43




Monday, November 22, 2010
Game rules
           • 2 weeks available
           • A real job during the day
           • A family life
           • => 1 free hour per day
           • No iUI knowledge
           • JavaScript Newbie
           • Goal: Create a web application for Mobile
                                                         44




Monday, November 22, 2010
The Result


                            45




Monday, November 22, 2010
And on other devices




                              46




Monday, November 22, 2010
iUI
           • iUI
                • JavaScript / CSS framework
                • Extends of HTML standard
                • Override links and forms with AJAX
                • Update the page with smooth transition

           • Don’t need to be a web designer
           • Don’t need to be a JavaScript ninja
                                                           47




Monday, November 22, 2010
In the beginning: HTML
       • CSS and JavaScript references: let’s rock !
       <html>
         <head>
           <title>Nuxeo DM</title>
           <link rel="stylesheet" type="text/css" href="/nuxeo/iui/iui.css"/>
           <link rel="stylesheet" type="text/css" href="/nuxeo/iui/t/default/default-theme.css"/>
           <script src="/nuxeo/iui/iui.js"></script>
         </head>
         <body>
           <div id="toolBar" class="toolbar">
              <h1 id="pageTitle"></h1>
              <a id="backButton" class="button" href="#"></a>               Toolbar definition
              <a id="help" class="button" href="#about">?</a>
           </div>
           <ul id="home" title="Home" selected="true">
              <li><a href="${basePath}/mobile/navigation/root">Navigation</a></li>
                                                                            Content definition
              <li><a href="${basePath}/mobile/search">Saved Search</a></li>
              <li><a href="${basePath}/mobile/workflow">Tasks</a></li>
           </ul>
         </body>

                                                                                                    48




Monday, November 22, 2010
Page definition / simple navigation

       • Create a new item under the body
       • Title argument is used into the toolbar
           <div id="test" title="Test">
              HELLO
           </div>




       • An item with href value is #idPage, where idPage is
         the id of the root of your page
            <div id="main" title="Main Page">
               <a href=”#test”>Navigate to Test Page</a>
            </div>

                                                               49




Monday, November 22, 2010
Having a page as iPhone rendering

       • For a list with links <ul><li><a>
       • For grouped information
           <div id="pageId" title="Details"   class="panel">
              <h1>Sub-Title1</h1>
              <fieldset>
                <div class="row">
                  <label>label1</label>
                  <span>value1</span>
                </div>
                <div class="row">
                  <label>label2</label>
                  <span>value2</span>
                </div>
                etc...
              </fieldset>
              <h1>Sub-Title2</h1>
              <fieldset>
                <div class="row">
                  <label>label2</label>
                 etc...
                                                               50




Monday, November 22, 2010
Other linking
       • linking to resources not in the DOM
                        <a href="nuxeo/mobile/navigation/root">Navigation</a>


       • resource is added at the end of the body, the last
         page declared is displayed
       • linking to the next page
         <li><a href="nuxeo/mobile/navigation/page" target="_replace">Next Documents...</a></li>


       • parent of the item is replaced by the result of the
         request
                                                                                                   51




Monday, November 22, 2010
Conclusion
           •      First connexion needs:
                •       15KB for CSS

                •       7KB for images

                •       50KB for scripts

                •       And document.... 2KB

                •       For others pages between 210Bytes and 5KB

           •      We can do better
                •       Compacting JavaScripts

                •       Refactoring the nx.js script
                                                                    52




Monday, November 22, 2010
Conclusion
           • iUI development is really powerful and easy to
             understand but means many treatments are client
             side
           • With WebEngine, the modification/deployment/test
             cycle is really fast
           • We can create over this web application an hybrid
             Application
                • Using the camera library, manipulate downloaded files,
                  etc...
                                                                          53




Monday, November 22, 2010
Just one more thing...


                                54




Monday, November 22, 2010
WebEngine Mobile project
                            • Automatic redirection to Mobile App
                            • Repository Navigation
                            • Document Modification
                            • File download
                            • Push your geolocation into your docs
                            • Reuse your faceted search
                            • Accept/Deny your tasks
                            • Delete a document
                                                                     55




Monday, November 22, 2010
WebEngine Mobile project




                                  56




Monday, November 22, 2010
WebEngine Mobile project


                            0$




                                  56




Monday, November 22, 2010
WebEngine Mobile project


                                                        0$
                            Google code: https://code.google.com/p/nuxeo-webengine-mobile/
                               Soon released and delivered through Nuxeo Marketplace




                                                                                             56




Monday, November 22, 2010
5. Future Work



Monday, November 22, 2010
Generic document
                                browsing App
                   •        New web mobile browsing module will be
                            finished in December and put on the Nuxeo
                            Marketplace
                   •        Companion iOS App to be submitted on the
                            App Store simultaneously (same for Android)
                   •        Work on advanced native App will continue
                            to provide better disconnected mode
                            experience


Monday, November 22, 2010
Business-specific apps
                   • We’re ready to work with our customers
                            and partners on business-specific apps
                   • Choice between web app and native app is
                            up to the customer, and will depend on
                            features, devices used, etc.
                   • Will leverage our business API (Content
                            Automation) + develop a specific
                            framework to ease development


Monday, November 22, 2010
More info


                   • Watch http://blogs.nuxeo.com/



Monday, November 22, 2010

More Related Content

What's hot

From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...Paul Withers
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyESUG
 
GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010Wesley Hales
 
Drupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuDrupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuRené Lasseron
 
Discover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this productDiscover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this productBertrand Dunogier
 
Javantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornJavantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornMiroslav Resetar
 
2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar seriesOpen Mainframe Project
 
Basics About Git & GitHub
Basics About Git & GitHubBasics About Git & GitHub
Basics About Git & GitHubRaiful Hasan
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xGeertjan Wielenga
 
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 Chocolatey - Software Automation for Windows (and sneak peak of Central Mana... Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...Rob Reynolds
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesChanghwan Yi
 
Kitware: Qt and Scientific Computing
Kitware: Qt and Scientific ComputingKitware: Qt and Scientific Computing
Kitware: Qt and Scientific Computingaccount inactive
 
Lib X Bailey Back Access2008
Lib X Bailey Back Access2008Lib X Bailey Back Access2008
Lib X Bailey Back Access2008guestd9aa5
 
Discover Nuxeo Studio
Discover Nuxeo StudioDiscover Nuxeo Studio
Discover Nuxeo StudioNuxeo
 
Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipseglynnormington
 

What's hot (20)

From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010
 
Drupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuDrupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of Tartu
 
Javantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter LehtoJavantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter Lehto
 
Discover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this productDiscover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this product
 
Mini-Training: Node.js
Mini-Training: Node.jsMini-Training: Node.js
Mini-Training: Node.js
 
Javantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornJavantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript Nashorn
 
2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series
 
Basics About Git & GitHub
Basics About Git & GitHubBasics About Git & GitHub
Basics About Git & GitHub
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 Chocolatey - Software Automation for Windows (and sneak peak of Central Mana... Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
Kitware: Qt and Scientific Computing
Kitware: Qt and Scientific ComputingKitware: Qt and Scientific Computing
Kitware: Qt and Scientific Computing
 
Lib X Bailey Back Access2008
Lib X Bailey Back Access2008Lib X Bailey Back Access2008
Lib X Bailey Back Access2008
 
HTML5 and Sencha Touch
HTML5 and Sencha TouchHTML5 and Sencha Touch
HTML5 and Sencha Touch
 
Discover Nuxeo Studio
Discover Nuxeo StudioDiscover Nuxeo Studio
Discover Nuxeo Studio
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipse
 
JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
 

Viewers also liked

FrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsFrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsDavid Nuescheler
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreStefane Fermigier
 
Nuxeo World Session: Semantic Technologies - Update on Recent Research
Nuxeo World Session: Semantic Technologies - Update on Recent ResearchNuxeo World Session: Semantic Technologies - Update on Recent Research
Nuxeo World Session: Semantic Technologies - Update on Recent ResearchNuxeo
 
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011Stefane Fermigier
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Eclipse Apogee and Nuxeo RCP
Eclipse Apogee and Nuxeo RCPEclipse Apogee and Nuxeo RCP
Eclipse Apogee and Nuxeo RCPStefane Fermigier
 
Le Marché du Logiciel Libre en France en 2010
Le Marché du Logiciel Libre en France en 2010Le Marché du Logiciel Libre en France en 2010
Le Marché du Logiciel Libre en France en 2010Stefane Fermigier
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011Stefane Fermigier
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
A Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesA Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesStefane Fermigier
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Stefane Fermigier
 

Viewers also liked (14)

FrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsFrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management Standards
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libre
 
Open Cloud Computing @ GTLL
Open Cloud Computing @ GTLLOpen Cloud Computing @ GTLL
Open Cloud Computing @ GTLL
 
Nuxeo World Session: Semantic Technologies - Update on Recent Research
Nuxeo World Session: Semantic Technologies - Update on Recent ResearchNuxeo World Session: Semantic Technologies - Update on Recent Research
Nuxeo World Session: Semantic Technologies - Update on Recent Research
 
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Eclipse Apogee and Nuxeo RCP
Eclipse Apogee and Nuxeo RCPEclipse Apogee and Nuxeo RCP
Eclipse Apogee and Nuxeo RCP
 
Nuxeo at 10
Nuxeo at 10Nuxeo at 10
Nuxeo at 10
 
Le Marché du Logiciel Libre en France en 2010
Le Marché du Logiciel Libre en France en 2010Le Marché du Logiciel Libre en France en 2010
Le Marché du Logiciel Libre en France en 2010
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
A Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesA Quick Tour of JVM Languages
A Quick Tour of JVM Languages
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Cours ECM à l'EPITA
Cours ECM à l'EPITACours ECM à l'EPITA
Cours ECM à l'EPITA
 

Similar to Nuxeo World Session: Mobile ECM Apps with Nuxeo EP

Building Apps with PhoneGap
Building Apps with PhoneGap Building Apps with PhoneGap
Building Apps with PhoneGap alunny
 
Webinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EPWebinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EPNuxeo
 
Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010Kevin Griffin
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentsaritasingh19866
 
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
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceEastBanc Tachnologies
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstartAlessio Ricco
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownApppli
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Indiginox
 

Similar to Nuxeo World Session: Mobile ECM Apps with Nuxeo EP (20)

Building Apps with PhoneGap
Building Apps with PhoneGap Building Apps with PhoneGap
Building Apps with PhoneGap
 
Webinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EPWebinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EP
 
Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
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...
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 Conference
 
Android
Android Android
Android
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Android Presentation [Final]
Android Presentation [Final]Android Presentation [Final]
Android Presentation [Final]
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Maxime Thomas - eZBK
Maxime Thomas - eZBKMaxime Thomas - eZBK
Maxime Thomas - eZBK
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low Down
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 

More from Nuxeo

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesNuxeo
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureNuxeo
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicNuxeo
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoNuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportNuxeo
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM ContinuumNuxeo
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021Nuxeo
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteNuxeo
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoNuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationNuxeo
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Nuxeo
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionNuxeo
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Nuxeo
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMNuxeo
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...Nuxeo
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondNuxeo
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMNuxeo
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesNuxeo
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsNuxeo
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceNuxeo
 

More from Nuxeo (20)

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage Companies
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain Future
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a Pandemic
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and Nuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to Support
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM Continuum
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Nuxeo World Session: Mobile ECM Apps with Nuxeo EP

  • 1. Nov. 18 2010 - S. Fermigier & B. Jalon, Nuxeo Mobile ECM Apps with Nuxeo EP An experience report Monday, November 22, 2010
  • 2. Outline • Why? • How? • Experience reports • Future work Monday, November 22, 2010
  • 3. 1. Towards content-enabled enterprise mobile apps Monday, November 22, 2010
  • 4. Gartner: mobile apps and tablets are HOT Source: http://blogs.techrepublic.com.com/10things/?p=1871 Monday, November 22, 2010
  • 5. Gartner again (but emphasis is mine) • Enterprise apps will need to be designed for the tablet; • Delivering these apps gets complicated due to the selection of platforms; • Marketing will drive a lot of projects to utilize tablets, but these devices can be used for inspections, surveys, image capture, documentation and training. • The PC era is over.Think of mobile design points. Monday, November 22, 2010
  • 6. Technical limitations • Limited screen size • No keyboard, touch interface not a mouse either • Limited computing power • Limited network availability and bandwidth • Limited content types • Platforms proliferation! • Etc. Monday, November 22, 2010
  • 7. New opportunities • Just use your finger! (ex: Zosh) • Geolocation • Camera • Ex: Barcode scanning • Other sensors? Monday, November 22, 2010
  • 8. Embrace the constraints! • Well defined (but per-platform) UI guidelines • New standard to the rescue: HTML5 • Mobile-specific enhancements to CSS • Local storage (file and DB) • Offline mode Monday, November 22, 2010
  • 9. 2. Technological landscape Mobile apps or mobile web? Monday, November 22, 2010
  • 10. Web Apps • Multi-platform • Depending on HTML5 support by your platform vendor • Easy deployment • But: UI won’t look and feel “native” • Users will know they are in a browser • Limited access to device APIs Monday, November 22, 2010
  • 11. vs. Native Apps • Optimized for a single platform capabilities • Optimal user experience • Access to sensors and specific API • You can try to make money on the App Store (not applicable here) • But: Need platform-specific training, longer development time Monday, November 22, 2010
  • 12. A wide range of options Web Apps Native Apps • Pure HTML (with ad- • Cross-platforms, “web hoc CSS) oriented”, frameworks • HTML enhanced with • Cross-platforms, jQuery “native oriented”, frameworks • One Page or SOFEA web apps • Native apps Monday, November 22, 2010
  • 13. Pure HTML • Classical web application made of pages, with a bit of CSS to make them more readable on a tiny screen • Good enough for mobile web sites • For any kind of web applications, we can do better for a very tiny price Monday, November 22, 2010
  • 14. Example: mobile Wikipedia Monday, November 22, 2010
  • 15. “Enhanced” HTML • HTML content delivered with AJAX requests using “link hijacking” techniques (using usually a bit of jQuery love) • Various CSS and JS tricks to emulate native UI • Libraries: iUI, jQTouch, jQuery Mobile • iUI: already mature, full-featured • jQuery Mobile: recent project, focus on portability Monday, November 22, 2010
  • 16. One page Web apps • Applications built using the SOFEA paradigm (Service-Oriented Front-End Architecture) • Web assets are loaded only once, then all interaction with server takes place as web services (usually JSON RPC) • (Too?) Many frameworks, still immature: GWT, Sencha Touch, SproutCore Mobile, Dojo, etc. Monday, November 22, 2010
  • 17. Example: mobile gmail Monday, November 22, 2010
  • 18. • Embeds your web app into a custom-built web browser • Removes URL and bottom tab bars • Extends JS API with platform-specific API • Easiest transition from web app to native • But you still get a web-like UI • Open source community project Monday, November 22, 2010
  • 19. • Initially similar to PhoneGap • Then refocussed on providing a JS-based API to native UI and platform APIs • 2 supported platforms: iOS and Android, BlackBerry coming up someday • Open source startup, raised 9 M$ of VC money last week Monday, November 22, 2010
  • 20. Native Apps • Develop native APIs using vendor • iOS: Objective-C / Cocoa Touch • Android: “Java” • BlackBerry: another Java (without “”) • Symbian: C++ • Etc. • Main problem: to many platforms, too little time :( Monday, November 22, 2010
  • 21. 3. 1st experience report Monday, November 22, 2010
  • 22. Exercise: write a content- browsing app for DM • Target platform = iPhone • Browse content on a DM server • Show content and metadata • Full text search • Recently updated documents (“timeline”) • Store contextual data on the iPhone Monday, November 22, 2010
  • 24. 3 technologies • Native iPhone app (Objective-C, Cocoa Touch) • Web app using jQuery-Mobile • Portable app using Appcelerator Titanium Mobile Monday, November 22, 2010
  • 25. Objective-C: the results • Took 2 days to learn the basics of Objective- C, Cocoa Touch, XCode • Took about 3 days for a very basic prototype • Additional complexity of supporting CMIS • Unstable, now abandoned • Code still there: hg.nuxeo.org/mobile/iphone Monday, November 22, 2010
  • 27. Objective-C: the Good • Learning a new language is intellectually stimulating :) • This is good old UNIX, you can use open source libraries in C if you need • Small ecosystem of open source libraries around iOS Monday, November 22, 2010
  • 28. Objective-C: the Bad • Learning a new language takes time, learning a new IDE even more, and you don’t want to switch from two IDEs too often • Objective-C feels like I’m back in 1990 (explicit pointer and memory management) • Only for iOS, as you would guess Monday, November 22, 2010
  • 29. jQuery Mobile: the results • Took 1/2 a day to get a basic demo (browsing, search) running • Didn’t implement everything that I expected (see Benjamin’s upcoming demo for a similar approach, using iUI) Monday, November 22, 2010
  • 31. jQuery Mobile: the Good • Very easy to do on the server • Fast turnaround thanks to WebEngine • Easiest deployment option (you don’t need to deploy) Monday, November 22, 2010
  • 32. jQuery Mobile: the Bad • The forward/back buttons are in the way, but you have to use them after looking at a piece of content • No easy way to develop a tab bar as I had designed • Not sure it will scale up to more sophisticated applications • Might use PhoneGap to address some of these points Monday, November 22, 2010
  • 33. Appcelerator: the results • Took about 1 day to learn how to use the platform • Took about 3 days to create a reasonably good looking, alpha-quality app • 90% of the time spent on front-end, 10% on back end (JSON REST API with WebEngine) • Will probably take 2 or 3 more days to make it App Store ready Monday, November 22, 2010
  • 36. Appcelerator: the Good • JavaScript much easier to learn than Objective-C • Specially when you already know JavaScript ;) (or even Java) • Productivity 2x to 5x higher that with native Cocoa-Touch • Multi-platform promise seems to work Monday, November 22, 2010
  • 37. Appcelerator: the bad • “IDE” is quirky and unstable • And not really an IDE actually! • No debugger • Another layer of indirection • Apple doesn’t want you to use it (resolved!) • As with native apps, provisioning is a PITA Monday, November 22, 2010
  • 38. Conclusion of the experiment Monday, November 22, 2010
  • 39. Native (Obj-C) • Not worth of your time, unless you: • Are (or have) a dedicated iOS developer • Want to compete on design to make $$ on the App store • Want to be the first to leverage newly introduced iOS features Monday, November 22, 2010
  • 40. Mobile HTML • The fastest way to get a simple application up and running • The most multi-platform approach • Doesn’t provide users with a 100% native look and specially feel • Doesn’t give you access to all the local features of the device • Can be complemented with PhoneGap Monday, November 22, 2010
  • 41. Appcelerator • Gives you native look and feel and platform access, with an original but familiar API, at the price of slightly longer development time than HTML • Supports 2 major platforms (iOS and Android), and soon Blackberry • Not 100% bug-free, will always lag behind native platform Monday, November 22, 2010
  • 42. 4. 2nd experience report Benjamin Jalon Monday, November 22, 2010
  • 43. Demonstration 43 Monday, November 22, 2010
  • 44. Game rules • 2 weeks available • A real job during the day • A family life • => 1 free hour per day • No iUI knowledge • JavaScript Newbie • Goal: Create a web application for Mobile 44 Monday, November 22, 2010
  • 45. The Result 45 Monday, November 22, 2010
  • 46. And on other devices 46 Monday, November 22, 2010
  • 47. iUI • iUI • JavaScript / CSS framework • Extends of HTML standard • Override links and forms with AJAX • Update the page with smooth transition • Don’t need to be a web designer • Don’t need to be a JavaScript ninja 47 Monday, November 22, 2010
  • 48. In the beginning: HTML • CSS and JavaScript references: let’s rock ! <html> <head> <title>Nuxeo DM</title> <link rel="stylesheet" type="text/css" href="/nuxeo/iui/iui.css"/> <link rel="stylesheet" type="text/css" href="/nuxeo/iui/t/default/default-theme.css"/> <script src="/nuxeo/iui/iui.js"></script> </head> <body> <div id="toolBar" class="toolbar"> <h1 id="pageTitle"></h1> <a id="backButton" class="button" href="#"></a> Toolbar definition <a id="help" class="button" href="#about">?</a> </div> <ul id="home" title="Home" selected="true"> <li><a href="${basePath}/mobile/navigation/root">Navigation</a></li> Content definition <li><a href="${basePath}/mobile/search">Saved Search</a></li> <li><a href="${basePath}/mobile/workflow">Tasks</a></li> </ul> </body> 48 Monday, November 22, 2010
  • 49. Page definition / simple navigation • Create a new item under the body • Title argument is used into the toolbar <div id="test" title="Test"> HELLO </div> • An item with href value is #idPage, where idPage is the id of the root of your page <div id="main" title="Main Page"> <a href=”#test”>Navigate to Test Page</a> </div> 49 Monday, November 22, 2010
  • 50. Having a page as iPhone rendering • For a list with links <ul><li><a> • For grouped information <div id="pageId" title="Details" class="panel"> <h1>Sub-Title1</h1> <fieldset> <div class="row"> <label>label1</label> <span>value1</span> </div> <div class="row"> <label>label2</label> <span>value2</span> </div> etc... </fieldset> <h1>Sub-Title2</h1> <fieldset> <div class="row"> <label>label2</label> etc... 50 Monday, November 22, 2010
  • 51. Other linking • linking to resources not in the DOM <a href="nuxeo/mobile/navigation/root">Navigation</a> • resource is added at the end of the body, the last page declared is displayed • linking to the next page <li><a href="nuxeo/mobile/navigation/page" target="_replace">Next Documents...</a></li> • parent of the item is replaced by the result of the request 51 Monday, November 22, 2010
  • 52. Conclusion • First connexion needs: • 15KB for CSS • 7KB for images • 50KB for scripts • And document.... 2KB • For others pages between 210Bytes and 5KB • We can do better • Compacting JavaScripts • Refactoring the nx.js script 52 Monday, November 22, 2010
  • 53. Conclusion • iUI development is really powerful and easy to understand but means many treatments are client side • With WebEngine, the modification/deployment/test cycle is really fast • We can create over this web application an hybrid Application • Using the camera library, manipulate downloaded files, etc... 53 Monday, November 22, 2010
  • 54. Just one more thing... 54 Monday, November 22, 2010
  • 55. WebEngine Mobile project • Automatic redirection to Mobile App • Repository Navigation • Document Modification • File download • Push your geolocation into your docs • Reuse your faceted search • Accept/Deny your tasks • Delete a document 55 Monday, November 22, 2010
  • 56. WebEngine Mobile project 56 Monday, November 22, 2010
  • 57. WebEngine Mobile project 0$ 56 Monday, November 22, 2010
  • 58. WebEngine Mobile project 0$ Google code: https://code.google.com/p/nuxeo-webengine-mobile/ Soon released and delivered through Nuxeo Marketplace 56 Monday, November 22, 2010
  • 59. 5. Future Work Monday, November 22, 2010
  • 60. Generic document browsing App • New web mobile browsing module will be finished in December and put on the Nuxeo Marketplace • Companion iOS App to be submitted on the App Store simultaneously (same for Android) • Work on advanced native App will continue to provide better disconnected mode experience Monday, November 22, 2010
  • 61. Business-specific apps • We’re ready to work with our customers and partners on business-specific apps • Choice between web app and native app is up to the customer, and will depend on features, devices used, etc. • Will leverage our business API (Content Automation) + develop a specific framework to ease development Monday, November 22, 2010
  • 62. More info • Watch http://blogs.nuxeo.com/ Monday, November 22, 2010