SlideShare a Scribd company logo
1 of 39
Armedia
Drupal and PhoneGap
Building Mobile Apps
Armedia
 www.armedia.com




      Jim Nasr, CEO

      e: jnasr@armedia.com

      t: @jnarm

      o: (678) 337-1010 x110
I
“in$brief...”
          The mobile landscape is convoluted. Lots of service providers. Lots of development
          options. Blurred lines of distinction between web content and mobile apps

          PhoneGap is a rich, multi-platform mobile development platform that allows
          developers that uses web technologies to develop one source code baseline* and
          deploy to many mobile Operating Systems

          Use of PhoneGap with Drupal has little development impact on Drupal--mainly
          requires site building skills and configurations

          Integrating PhoneGap with Drupal for Armedia client, The Well Project, was the
          implementation of a mobile first (only) strategy focusing on broad reach to a large
          global community of users

          When building mobile, understand key best practices and lessons learned for what
          works in mobile--pay close attention to usability, testing, code sustainability and
          deployment



* For anything non-trivial, there may well be some additional native coding required for each deployed mobile OS platform
II
SoLoMO
                                      Social. Local. Mobile.




Source: John Doerr, Kleiner Perkins
The$Mobile$Landscape
Mobile$Development$Approaches$



                    Native

                    Web App (HTML 5)

                    Hybrid
What$Approach$is$Best?*



Performance apps = native                      Two Questions First!
Cross-platform apps = hybrid                   1. What is the purpose of the
                                               App?
Transactional apps = native/hybrid
                                               2. What are the realistic
Offline features = hybrid/native                deployment platforms?
Simple, content apps = web apps                (consider users, constraints)

Mobile ready web content =
responsive design, mobile themes
(e.g. OMEGA)

* Not gospel, but based on solid evidence...
Cross@Platform$Mobile$Tools$
Hybrid$Mobile$and$Content$Management


      Content
      Authors


                                                   Website(s)
                                       Web
                       Content       Server(s)
                      Repository


     Document/Asset
     Managers




                       Hybrid                     Android
                        API                       Store(s)




       Mobile                          Packaged
       Developers      Native            Apps
                        SDK
                                                   iOS
                                                   Store(s)

                                   Outside
                                   Firewall
                       HTML5
                      Code base
III
What$is$PhoneGap?
                    Development Platform to Create
                    Native Mobile Apps Using Web
                    Technologies

                    JavaScript Library

                    Native Library for Most Mobile
                    Platforms

                    Compilation Helpers

                    Not a UI Framework

                    Needs Compilation per Platform
Why$PhoneGap?

                Multi-Platform

                Open Source

                Standards Adoption

                HTML5/CSS/JS

                Rich Developer Community

                Free

                Native Plug-ins to Add Custom
                Native Code (where needed)
Mobile$Drupal$Website


                           Responsive Design (Omega, Zen,
                           Adaptive themes)

                           Mobile Frameworks

                           HTML cache.manifest
 BUT...

 Need to be online

 Limited native features
PhoneGap:$Little$Impact$on$Drupal!


      Content
      Authors


                                                                Website(s)
                                                    Web
                       Content                    Server(s)
                      Repository

                                Configure Modules
     Document/Asset             Setup Views
     Managers                   Setup Services End-Points




                       Hybrid                                  Android
                        API                                    Store(s)




       Mobile                                       Packaged
       Developers      Native                         Apps
                        SDK
                                                                iOS
                                                                Store(s)

                                                Outside
                                                Firewall
                       HTML5
                      Code base
Drupal$Mobile$App$Generator$(MAG)

                                      Drupal Project to Assist in
                                      Creating Multi-Platform Mobile
                                      Apps

                                      MAG Exports a Website to HTML
                                      so PhoneGap can Compile it into
                                      Native Mobile Apps
Instructions
                                      Useful as a Starting Point
 •   Build a site
 •   Add a mobile theme
 •
 •
     Install MAG
     Select a menu, export the site
                                      http://drupal.org/project/mag
 •   Copy it to PhoneGap
 •   PhoneGap mobile app is Ready!
Drupal$8$|$Mobile
                    Mobile-friendly Drupal

                    Web Services for Native App
                    Integration

                    All Core Themes are Responsive

                    Full HTML5 Support

                    Mobile Administration

                    Front-end Performance
                    Improvements

                    http://drupal.org/documentation/
                    mobile
IV
The$Well$Project$Mobile

                 Non-Profit Leader in Advocacy for
                 Women with HIV

                 Global Subscribership; over 70%
                 Non-US

                 Large Existing Web Presence

                 Content in Documentum and
                 WordPress

                 Transition to Drupal for WCM

                 Mobile First Strategy
The$Well$Project$Approach

                 Clarify Vision

                 Identify Specific Mobile Purpose

                 Prioritize Scope

                 Roadmap

                 Content First!

                 Mobile Only!

                 Sustainable Development

                 Hit the Date! (International HIV &
                 AIDS Conference)
UX$Design$|$Mobile$Wireframes$



                 UX and Development Team

                 Low Fidelity (mock-ups)

                 Client Approval

                 Mid Fidelity with Annotations
Technical$Design

                         Focus on iOS (4&5) and
              Drupal
                         Android (2.2, 2.3 and 4.0)

                         Write Once, Deploy Many

                         Use Sencha Touch as UI
             WordPress
                         Framework

                         Integrate with Drupal and
                         WordPress for Content
A$View$into$Drupal

                     Custom Content Module
                     to Model TWP Articles

                     View and Datasource
                     Drupal Modules to
                     Generate JSON

                     Use of Number of Drupal
                     Plugins
                                 Drupal Plugins
                                 ctools
                                 Google Analytics
                                 Views PHP      
                                 Token
                                 Patauto      
                                 Wysiwig  
                                 IMCE    
                                 IMCE Wysiwyg bridge   
                                 Views
                                 Views Datasource
Application$Architecture
Physical$Architecture
Physical$Architecture$Scaling
Extending$PhoneGap$and$Drupal

                 Leveraged Sencha Touch
                 Framework to Accelerate UI
                 Development

                 Several Custom PhoneGap
                 Services, including: Articles, Blog,
                 Search, Social, Storage

                 Caching Layer to Improve Drupal
                 API Performance

                 Number of Drupal and PhoneGap
                 Plugins Considered
V
Put user first

      Simplify, focus functionality

      Design for touch

      Use the screen real estate

      Develop in Agile sprints

      Think Screen Resolution

      Think Bandwidth


DOs
Design apps as websites

         Build universal apps

         Design fixed layout apps

         Design apps that require
         instruction

         Make it hard find navigation

         Introduce confusing/
         conflicting gestures



DON’Ts
Testing$Your$App
  PhoneGap emulator has lots of limitations

  Unit test on the actual device (not just the
  emulator)

  Test for different devices, operating systems
  and screen resolutions

  Do thorough pre-store submission checklist
  review

  Test the installation process, upgrades
  workflow, application load

  Test for response to external events (app
  notifications, Skype calls, etc)
Learned...the$hard$way!
   Prototype/wireframe quickly, cheaply
   using simple mobile presentation
   templates (Powerpoint or Keynote)

   Learn xcode (you will need to build, and
   develop native containers)

   Use animation to show immediate app
   responsiveness

   Swipe instead of tap

   The finger is not accurate...size tap targets
   appropriately!
Learned...the$hard$way$(too)!

  Test, usability test, retest - don’t leave it
  to the developer!!

  Really plan for how you would demo the
  app remotely. It’s not easy

  Manage the content with discipline. Use
  workflow, automate renditions

  There are lots of tricks and patience in
  play to get your app actually approved
  on the (Apple) store - Buffer in extra
  time!
Project$Lessons$Learned

  Complete UI design before you begin
  coding: images, colors, font sizes, active/
  passive state, etc.

  Don’t forget mobile app metadata!

  PhoneGap is powerful but not flawless;
  Sign-up for support: submit ticket before
  sinking lots of developer time

  Test PhoneGap compilation thoroughly;
  understand limitations early

  Allow extra time for Apple approval!
VI
About$Armedia

  Formed in 2002, Headquartered in Atlanta

  95 Employees based in Atlanta, Washington DC and Huntsville

  Core focus on Enterprise Content Management (ECM)
  solutions, Mobile Technologies

  Vendor agnostic. Rich experience implementing most leading,
  large scale content technologies

  Depth of experience in delivery for US Federal and Commercial
  Sector
Armedia
 www.armedia.com




      Jim Nasr, CEO

      e: jnasr@armedia.com

      t: @jnarm

      o: (678) 337-1010 x110
Questions?

More Related Content

What's hot

Social Savvy Business
Social Savvy BusinessSocial Savvy Business
Social Savvy BusinessPaul Hampton
 
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middlewareinvestorrelation
 
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...Alfresco Software
 
Alfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS MigrationAlfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS MigrationAlfresco Software
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteBrian Huff
 
Basis soft expro
Basis soft exproBasis soft expro
Basis soft exproMJ Ferdous
 
Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Agora Group
 
WCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoWCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoAlfresco Software
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 Worldoslc
 
Hello SharePoint 2007!!!
Hello SharePoint 2007!!!Hello SharePoint 2007!!!
Hello SharePoint 2007!!!Marwan Tarek
 
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012WSO2
 
Alfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware TechnologiesAlfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware Technologiesasimzaman
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Servicesukdpe
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Brian Huff
 
WebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case StudiesWebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case StudiesBrian Huff
 
Application platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapApplication platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapBizTalk360
 
Competitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixCompetitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixDavid Castro
 

What's hot (20)

Alfresco mobile
Alfresco mobileAlfresco mobile
Alfresco mobile
 
Social Savvy Business
Social Savvy BusinessSocial Savvy Business
Social Savvy Business
 
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
 
Zia: Agency Modernization
Zia: Agency ModernizationZia: Agency Modernization
Zia: Agency Modernization
 
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...
 
Alfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS MigrationAlfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS Migration
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized Website
 
Basis soft expro
Basis soft exproBasis soft expro
Basis soft expro
 
Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012
 
WCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoWCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and Alfresco
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 World
 
Hello SharePoint 2007!!!
Hello SharePoint 2007!!!Hello SharePoint 2007!!!
Hello SharePoint 2007!!!
 
Sp fest 2012 sp2010 on the cloud
Sp fest 2012   sp2010 on the cloudSp fest 2012   sp2010 on the cloud
Sp fest 2012 sp2010 on the cloud
 
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
 
Alfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware TechnologiesAlfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware Technologies
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Services
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
WebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case StudiesWebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case Studies
 
Application platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapApplication platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmap
 
Competitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixCompetitive Analysis w SWOT Matrix
Competitive Analysis w SWOT Matrix
 

Similar to Building Mobile Apps with Drupal and PhoneGap

Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework동수 장
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyDMI
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile DrupalTwinbit
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterBrian Huff
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridappsstrider1981
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterpriseBryce Curtis
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Building Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapBuilding Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapSimon MacDonald
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapWorklight
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxssuserd27db6
 
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
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Blisstering Drupal Mobile and m2Serve
Blisstering Drupal Mobile and m2ServeBlisstering Drupal Mobile and m2Serve
Blisstering Drupal Mobile and m2ServeBlisstering Solutions
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
Building & Managing The Lifecycle of Mobile Apps For The Enterprise
Building & Managing The Lifecycle of Mobile Apps For The EnterpriseBuilding & Managing The Lifecycle of Mobile Apps For The Enterprise
Building & Managing The Lifecycle of Mobile Apps For The EnterpriseApperian
 

Similar to Building Mobile Apps with Drupal and PhoneGap (20)

Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and Why
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile Drupal
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridapps
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Building Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapBuilding Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGap
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
 
Magic xpa total mobility experience
Magic xpa  total mobility experienceMagic xpa  total mobility experience
Magic xpa total mobility experience
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptx
 
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
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Blisstering Drupal Mobile and m2Serve
Blisstering Drupal Mobile and m2ServeBlisstering Drupal Mobile and m2Serve
Blisstering Drupal Mobile and m2Serve
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Building & Managing The Lifecycle of Mobile Apps For The Enterprise
Building & Managing The Lifecycle of Mobile Apps For The EnterpriseBuilding & Managing The Lifecycle of Mobile Apps For The Enterprise
Building & Managing The Lifecycle of Mobile Apps For The Enterprise
 

More from DrupalcampAtlanta2012

More from DrupalcampAtlanta2012 (9)

Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
 
Designing for Content Management Systems
Designing for Content Management SystemsDesigning for Content Management Systems
Designing for Content Management Systems
 
Advanced theming
Advanced themingAdvanced theming
Advanced theming
 
What to do when things go wrong with Drupal
What to do when things go wrong with DrupalWhat to do when things go wrong with Drupal
What to do when things go wrong with Drupal
 
Getting started with Drush
Getting started with DrushGetting started with Drush
Getting started with Drush
 
Talking to Web Services
Talking to Web ServicesTalking to Web Services
Talking to Web Services
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
 
Drupal Rules!
Drupal Rules!Drupal Rules!
Drupal Rules!
 
Dig into the omega theme
Dig into the omega themeDig into the omega theme
Dig into the omega theme
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.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
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Building Mobile Apps with Drupal and PhoneGap

  • 2. Armedia www.armedia.com Jim Nasr, CEO e: jnasr@armedia.com t: @jnarm o: (678) 337-1010 x110
  • 3. I
  • 4. “in$brief...” The mobile landscape is convoluted. Lots of service providers. Lots of development options. Blurred lines of distinction between web content and mobile apps PhoneGap is a rich, multi-platform mobile development platform that allows developers that uses web technologies to develop one source code baseline* and deploy to many mobile Operating Systems Use of PhoneGap with Drupal has little development impact on Drupal--mainly requires site building skills and configurations Integrating PhoneGap with Drupal for Armedia client, The Well Project, was the implementation of a mobile first (only) strategy focusing on broad reach to a large global community of users When building mobile, understand key best practices and lessons learned for what works in mobile--pay close attention to usability, testing, code sustainability and deployment * For anything non-trivial, there may well be some additional native coding required for each deployed mobile OS platform
  • 5. II
  • 6. SoLoMO Social. Local. Mobile. Source: John Doerr, Kleiner Perkins
  • 8. Mobile$Development$Approaches$ Native Web App (HTML 5) Hybrid
  • 9. What$Approach$is$Best?* Performance apps = native Two Questions First! Cross-platform apps = hybrid 1. What is the purpose of the App? Transactional apps = native/hybrid 2. What are the realistic Offline features = hybrid/native deployment platforms? Simple, content apps = web apps (consider users, constraints) Mobile ready web content = responsive design, mobile themes (e.g. OMEGA) * Not gospel, but based on solid evidence...
  • 11. Hybrid$Mobile$and$Content$Management Content Authors Website(s) Web Content Server(s) Repository Document/Asset Managers Hybrid Android API Store(s) Mobile Packaged Developers Native Apps SDK iOS Store(s) Outside Firewall HTML5 Code base
  • 12. III
  • 13. What$is$PhoneGap? Development Platform to Create Native Mobile Apps Using Web Technologies JavaScript Library Native Library for Most Mobile Platforms Compilation Helpers Not a UI Framework Needs Compilation per Platform
  • 14. Why$PhoneGap? Multi-Platform Open Source Standards Adoption HTML5/CSS/JS Rich Developer Community Free Native Plug-ins to Add Custom Native Code (where needed)
  • 15. Mobile$Drupal$Website Responsive Design (Omega, Zen, Adaptive themes) Mobile Frameworks HTML cache.manifest BUT... Need to be online Limited native features
  • 16. PhoneGap:$Little$Impact$on$Drupal! Content Authors Website(s) Web Content Server(s) Repository Configure Modules Document/Asset Setup Views Managers Setup Services End-Points Hybrid Android API Store(s) Mobile Packaged Developers Native Apps SDK iOS Store(s) Outside Firewall HTML5 Code base
  • 17. Drupal$Mobile$App$Generator$(MAG) Drupal Project to Assist in Creating Multi-Platform Mobile Apps MAG Exports a Website to HTML so PhoneGap can Compile it into Native Mobile Apps Instructions Useful as a Starting Point • Build a site • Add a mobile theme • • Install MAG Select a menu, export the site http://drupal.org/project/mag • Copy it to PhoneGap • PhoneGap mobile app is Ready!
  • 18. Drupal$8$|$Mobile Mobile-friendly Drupal Web Services for Native App Integration All Core Themes are Responsive Full HTML5 Support Mobile Administration Front-end Performance Improvements http://drupal.org/documentation/ mobile
  • 19. IV
  • 20. The$Well$Project$Mobile Non-Profit Leader in Advocacy for Women with HIV Global Subscribership; over 70% Non-US Large Existing Web Presence Content in Documentum and WordPress Transition to Drupal for WCM Mobile First Strategy
  • 21. The$Well$Project$Approach Clarify Vision Identify Specific Mobile Purpose Prioritize Scope Roadmap Content First! Mobile Only! Sustainable Development Hit the Date! (International HIV & AIDS Conference)
  • 22. UX$Design$|$Mobile$Wireframes$ UX and Development Team Low Fidelity (mock-ups) Client Approval Mid Fidelity with Annotations
  • 23. Technical$Design Focus on iOS (4&5) and Drupal Android (2.2, 2.3 and 4.0) Write Once, Deploy Many Use Sencha Touch as UI WordPress Framework Integrate with Drupal and WordPress for Content
  • 24. A$View$into$Drupal Custom Content Module to Model TWP Articles View and Datasource Drupal Modules to Generate JSON Use of Number of Drupal Plugins Drupal Plugins ctools Google Analytics Views PHP       Token Patauto       Wysiwig   IMCE     IMCE Wysiwyg bridge    Views Views Datasource
  • 28. Extending$PhoneGap$and$Drupal Leveraged Sencha Touch Framework to Accelerate UI Development Several Custom PhoneGap Services, including: Articles, Blog, Search, Social, Storage Caching Layer to Improve Drupal API Performance Number of Drupal and PhoneGap Plugins Considered
  • 29. V
  • 30. Put user first Simplify, focus functionality Design for touch Use the screen real estate Develop in Agile sprints Think Screen Resolution Think Bandwidth DOs
  • 31. Design apps as websites Build universal apps Design fixed layout apps Design apps that require instruction Make it hard find navigation Introduce confusing/ conflicting gestures DON’Ts
  • 32. Testing$Your$App PhoneGap emulator has lots of limitations Unit test on the actual device (not just the emulator) Test for different devices, operating systems and screen resolutions Do thorough pre-store submission checklist review Test the installation process, upgrades workflow, application load Test for response to external events (app notifications, Skype calls, etc)
  • 33. Learned...the$hard$way! Prototype/wireframe quickly, cheaply using simple mobile presentation templates (Powerpoint or Keynote) Learn xcode (you will need to build, and develop native containers) Use animation to show immediate app responsiveness Swipe instead of tap The finger is not accurate...size tap targets appropriately!
  • 34. Learned...the$hard$way$(too)! Test, usability test, retest - don’t leave it to the developer!! Really plan for how you would demo the app remotely. It’s not easy Manage the content with discipline. Use workflow, automate renditions There are lots of tricks and patience in play to get your app actually approved on the (Apple) store - Buffer in extra time!
  • 35. Project$Lessons$Learned Complete UI design before you begin coding: images, colors, font sizes, active/ passive state, etc. Don’t forget mobile app metadata! PhoneGap is powerful but not flawless; Sign-up for support: submit ticket before sinking lots of developer time Test PhoneGap compilation thoroughly; understand limitations early Allow extra time for Apple approval!
  • 36. VI
  • 37. About$Armedia Formed in 2002, Headquartered in Atlanta 95 Employees based in Atlanta, Washington DC and Huntsville Core focus on Enterprise Content Management (ECM) solutions, Mobile Technologies Vendor agnostic. Rich experience implementing most leading, large scale content technologies Depth of experience in delivery for US Federal and Commercial Sector
  • 38. Armedia www.armedia.com Jim Nasr, CEO e: jnasr@armedia.com t: @jnarm o: (678) 337-1010 x110