SlideShare une entreprise Scribd logo
1  sur  44
Building Mobile Apps with
HTML, CSS, and JavaScript
        Jonathan Stark
Background
Huge & Growing

• 5B cell phone subscriptions
• Smart phone share at 15%
• 56% of public Wi‑Fi connections were from
  mobile devices
Mobile Apps
Architecture Options
Architecture Options

• Native apps
• Web apps
• SMS apps
Architecture Options

• Native apps - Fragmentation
• Web apps - Sandboxing
• SMS apps - Discoverability
Architecture Options


The approach that is best for you depends
    on your goals and target market.
Native vs Web
Considerations
                Native   Web   Depends
Cosmetics        X
Functionality    X
Development                      X
Testing                  X
Distribution             X
Payment                          X
Support                  X
Web Apps Win

• Cheapest to produce
• Most standardized
• Easiest to distribute
jQTouch

• jQuery plugin
• Created by @DavidKaneda
• Native CSS3 Animations
• and tons more...
Hybrid Apps

PhoneGap gives developers the
     best of both worlds.
PhoneGap

• Open source
• Created by @Nitobi
• Native app wrapper
• Multiple platforms
http://wiki.phonegap.com/Roadmap
Considerations
                Native   Web   Depends
Cosmetics        X
Functionality    X
Development                      X
Testing                  X
Distribution             X
Payment                          X
Support                  X
Considerations
                Native   Web+PG   Depends
Cosmetics        X
Functionality                       X
Development                X
Testing                    X
Distribution               X
Payment                    X
Support                    X
Conclusion


"If you can build your app with HTML, CSS,
    and JavaScript, you probably should."
             - Jonathan Stark
Interface Guidelines
Mobile ≠ Desktop
• Tiny screen
• Battery powered
• Spotty connection
• Small pipe
• Expensive data
• Distracted user
Mobile Use-Cases

• I’m here
• I’m bored
• I’m micro-tasking
Mobile Use-Cases

• I’m here
 • Where should I go for dinner?
 • How do I get to my hotel?
 • Have my friends been here?
Mobile Use-Cases

• I’m bored
 • Gaming
 • Facebook
 • YouTube
 • News
Mobile Use-Cases

• I’m micro-tasking
 • Checking email
 • Updating todos/calendar
 • Transferring money
What’s On Your
Home Screen?
Tapworthy Apps...

• Focus on mobile context
• Optimize for micro-tasking
• Use sensors to enhance local context
• Do one thing and do it well

                                         credit: @globalmoxie
credit: @globalmoxie
Be Finger Friendly

• Chunky targets
• Generous spacing
• Avoid scrolling
• Controls at the bottom

                           credit: @globalmoxie
CSS3 Transforms,
 Transitions, &
  Animations
demo
Advanced Styling
  with CSS3
demo
Building Offline Web
 Apps with HTML5
Offline Web Apps

• Web Storage
• Web SQL Database
• Application Cache
Web Storage


• localStorage
• sessionStorage
demo
Web SQL Database

• SQLite
• JavaScript API
• Transactions
demo
Application Cache

• A simple text document
• Hosted on your web server
• Lists static resources
demo
Building Native Web
Apps with PhoneGap
demo
More Info

• http://jonathanstark.com/books
• http://jonathanstark.com/contact
• http://jonathanstark.com/wdx2

Contenu connexe

Plus de Jonathan Stark

Ditching Hourly for Independent Firms
Ditching Hourly for Independent FirmsDitching Hourly for Independent Firms
Ditching Hourly for Independent FirmsJonathan Stark
 
How To Get More Leads And Increase Your Fees - Jonathan Stark
How To Get More Leads And Increase Your Fees - Jonathan StarkHow To Get More Leads And Increase Your Fees - Jonathan Stark
How To Get More Leads And Increase Your Fees - Jonathan StarkJonathan Stark
 
Make More Money Without Working More Hours
Make More Money Without Working More HoursMake More Money Without Working More Hours
Make More Money Without Working More HoursJonathan Stark
 
How To Write Proposals That Close Without Lowering Your Prices
How To Write Proposals That Close Without Lowering Your PricesHow To Write Proposals That Close Without Lowering Your Prices
How To Write Proposals That Close Without Lowering Your PricesJonathan Stark
 
How To Write Better Proposals
How To Write Better ProposalsHow To Write Better Proposals
How To Write Better ProposalsJonathan Stark
 
How To Increase Your Income Without Hiring Junior Developers
How To Increase Your Income Without Hiring Junior DevelopersHow To Increase Your Income Without Hiring Junior Developers
How To Increase Your Income Without Hiring Junior DevelopersJonathan Stark
 
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile Era
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile EraThinking Outside The Little Black Box: Interaction Design in The Post-Mobile Era
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile EraJonathan Stark
 
The Path to Value Pricing
The Path to Value PricingThe Path to Value Pricing
The Path to Value PricingJonathan Stark
 
The Revolution Will Not Be Televised: Managing Content and Experience in the ...
The Revolution Will Not Be Televised: Managing Content and Experience in the ...The Revolution Will Not Be Televised: Managing Content and Experience in the ...
The Revolution Will Not Be Televised: Managing Content and Experience in the ...Jonathan Stark
 
The Browser is Dead, Long Live the Web!
The Browser is Dead, Long Live the Web!The Browser is Dead, Long Live the Web!
The Browser is Dead, Long Live the Web!Jonathan Stark
 
The Revolution Will Not Be Televised
The Revolution Will Not Be TelevisedThe Revolution Will Not Be Televised
The Revolution Will Not Be TelevisedJonathan Stark
 
Principles of Mobile Interface Design
Principles of Mobile Interface DesignPrinciples of Mobile Interface Design
Principles of Mobile Interface DesignJonathan Stark
 
Free Coffee, Bad Apples, and the Future of Currency
Free Coffee, Bad Apples, and the Future of CurrencyFree Coffee, Bad Apples, and the Future of Currency
Free Coffee, Bad Apples, and the Future of CurrencyJonathan Stark
 
Enterprise Mobile: The Prosumer Impact On Business
Enterprise Mobile: The Prosumer Impact On BusinessEnterprise Mobile: The Prosumer Impact On Business
Enterprise Mobile: The Prosumer Impact On BusinessJonathan Stark
 
Mobile Apps and the Enterprise
Mobile Apps and the EnterpriseMobile Apps and the Enterprise
Mobile Apps and the EnterpriseJonathan Stark
 
Building Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptBuilding Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptJonathan Stark
 

Plus de Jonathan Stark (20)

Ditching Hourly for Independent Firms
Ditching Hourly for Independent FirmsDitching Hourly for Independent Firms
Ditching Hourly for Independent Firms
 
How To Get More Leads And Increase Your Fees - Jonathan Stark
How To Get More Leads And Increase Your Fees - Jonathan StarkHow To Get More Leads And Increase Your Fees - Jonathan Stark
How To Get More Leads And Increase Your Fees - Jonathan Stark
 
Make More Money Without Working More Hours
Make More Money Without Working More HoursMake More Money Without Working More Hours
Make More Money Without Working More Hours
 
The Hourly Trap
The Hourly TrapThe Hourly Trap
The Hourly Trap
 
How To Write Proposals That Close Without Lowering Your Prices
How To Write Proposals That Close Without Lowering Your PricesHow To Write Proposals That Close Without Lowering Your Prices
How To Write Proposals That Close Without Lowering Your Prices
 
How To Write Better Proposals
How To Write Better ProposalsHow To Write Better Proposals
How To Write Better Proposals
 
How To Increase Your Income Without Hiring Junior Developers
How To Increase Your Income Without Hiring Junior DevelopersHow To Increase Your Income Without Hiring Junior Developers
How To Increase Your Income Without Hiring Junior Developers
 
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile Era
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile EraThinking Outside The Little Black Box: Interaction Design in The Post-Mobile Era
Thinking Outside The Little Black Box: Interaction Design in The Post-Mobile Era
 
The Path to Value Pricing
The Path to Value PricingThe Path to Value Pricing
The Path to Value Pricing
 
Pigeonhole Yourself
Pigeonhole YourselfPigeonhole Yourself
Pigeonhole Yourself
 
The Revolution Will Not Be Televised: Managing Content and Experience in the ...
The Revolution Will Not Be Televised: Managing Content and Experience in the ...The Revolution Will Not Be Televised: Managing Content and Experience in the ...
The Revolution Will Not Be Televised: Managing Content and Experience in the ...
 
The Browser is Dead, Long Live the Web!
The Browser is Dead, Long Live the Web!The Browser is Dead, Long Live the Web!
The Browser is Dead, Long Live the Web!
 
The Revolution Will Not Be Televised
The Revolution Will Not Be TelevisedThe Revolution Will Not Be Televised
The Revolution Will Not Be Televised
 
Principles of Mobile Interface Design
Principles of Mobile Interface DesignPrinciples of Mobile Interface Design
Principles of Mobile Interface Design
 
Free Coffee, Bad Apples, and the Future of Currency
Free Coffee, Bad Apples, and the Future of CurrencyFree Coffee, Bad Apples, and the Future of Currency
Free Coffee, Bad Apples, and the Future of Currency
 
Three Things First
Three Things FirstThree Things First
Three Things First
 
Everyone Connected
Everyone ConnectedEveryone Connected
Everyone Connected
 
Enterprise Mobile: The Prosumer Impact On Business
Enterprise Mobile: The Prosumer Impact On BusinessEnterprise Mobile: The Prosumer Impact On Business
Enterprise Mobile: The Prosumer Impact On Business
 
Mobile Apps and the Enterprise
Mobile Apps and the EnterpriseMobile Apps and the Enterprise
Mobile Apps and the Enterprise
 
Building Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptBuilding Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScript
 

Dernier

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Workshop: Building Native Apps with HTML, CSS, and JavaScript

Notes de l'éditeur

  1. Hi I’m Jonathan Stark. I’m a software consultant from Providence RI. I do mobile app strategy, design, and development.
  2. Preaching to the choir, but I want to start with the big picture. Mobile is huge and its growth is accelerating: - Cell phone subscriptions hit 5 billion in July 2010 (up from 720 million in 2000) - 15% of phones sold in 2009 were smart phones (17% in 2010Q1 - almost 50% increase over 2009Q1). - Mobile broadband subscriptions (3G or better) at 360 million in 2009. Ericsson predicts 3.4B by 2015 and 50B connected devices by 2020. - At this rate mobile broadband subscriptions will overtake wired broadband in a year or two. - 56% of public Wi‑Fi connections in 2009 were from mobile devices.
  3. Unless you’re a telco or a handset manufacturer, your entry point into the mobile space is apps. One of the first decisions you’ll face is “Which architecture option?”
  4. There are three types of mobile apps that I think will remain relevant for a long time: - Native apps (e.g. WebEx, SalesForce) - Web apps (e.g. Gmail, Google Calendar) - SMS apps (e.g. Google SMS, Twitter, Aardvark)
  5. We could debate the pros and cons of each approach all day long. Ultimately, each has a glaring achilles heel.
  6. Should all boats be made of fiberglass? The right one for you depends on your situation: - Selling iPhone cases in U.S.? Native app - Selling office supplies in North America? Web app - Providing banking services in rural China? SMS app
  7. I want to drill down on a native vs web for a second because I know that there is a lot of confusion there.
  8. Web apps can run 100% offline.
  9. I typically work with corporate clients who are trying to reach a really broad market with their apps. They want to be on iPhone, Android, and Blackberry at least. - Platform is easy to learn, most orgs have web talent in house already. - Web is a proven, stabile platform that works reasonably well across the widest range of devices. - Host your app and email out the links. - No approval process, no multiple app stores, no delay on bug fixes.
  10. There are a number of javascript libraries that make building mobile web apps a lot easier. iUI was the first, but my lib of choice is jQTouch.
  11. Actually, you don’t have to really pick between native and web. Single code base that can be deployed as a standalone web app AND deployed with addition functionality through the various app stores.
  12. Cross platform mobile framework for building native mobile applications with html, css, and javascript.
  13. PhoneGap support matrix
  14. I think this is the most pragmatic approach. If nothing else, it’s the most flexible. And the way things are growing at this point, flexibility is of the utmost importance.
  15. Interface guidelines for mobile devices
  16. Email, SMS, Browser, Todos, News, Banking, Twitter, Kilo, Camera, Notes
  17. Email, SMS, Browser, Todos, News, Banking, Twitter, Kilo, Camera, Notes
  18. My good friend and fellow author Josh Clark has a book out called Tapworthy. Josh spends a lot of time reviewing app designs and interviewing developers and has compiled a list of qualities that great apps share.
  19. Wenger Giant: Holds Guinness world record for most multifunctional pen knife. Made for company’s 100th anniversary to include every gadget ever included in a Swiss Army knife. 87 tools, 141 functions. Cigar cutter, laser pointer, golf reamer. Bit of humor and whimsy, but as a knife, it’s a failure. Heavy physical load, heavy cognitive load Mobile interface: Clarity should trump density, less is more
  20. Josh brings up many great points in Tapworthy, but the one that caught me most by surprise was the notion of putting controls on the bottom and content on the top, because this is the exact reverse of what we typically see in web programming.
  21. - Transforms - Translate - Scale - Skew - Rotate - Origin - Transitions - Property - Duration - Timing - Delay - Animations - Name - Duration - Timing - Iteration Count - Direction - Keyframes - Events
  22. - Gradients - Rounded corners - Text shadow - Box shadow - Box reflect - Border image