SlideShare uma empresa Scribd logo
1 de 27
Building a Real-Time HTML5 App
       for Mobile Devices
          Tony Abou-Assaleh
      Co-founder & CTO, TitanFile

          taa@titanfile.com
          Twitter: @tony_aa

    Mobile P2P – November 14, 2012
About me …
• PhD in … natural language processing
  – Not mobile
• Ex-Googler .. in ads
  – Not mobile
• Hardcore backend programmer
• Past year - TitanFile: RT SPA
  – HTML5/JS/CSS/Async/Django/…
Agenda
•   Why HTML5?
•   Challenges
•   Design Tips
•   “Real-time” Tips
•   Mobile HTML5 Myths
Why HTML5?
Why HTML5?
•   Cross-platform
•   W3C standard
•   Open source
•   Lots of libraries
•   Transferable skills
•   Cordova = native
•   It’s easy! Just HTML + JS + CSS + Backend
Or so we thought …
Why not HTML5?
•   Not cross-platform
•   Standard-in-progress
•   Open Source – yeah right!
•   Lots of libraries that don’t work
•   Cordova Native
•   It’s NOT just HTML + JS + CSS + Backend
So why HTML5?
So why HTML5?
• Gets you to give a talk at mobile P2P
• Still easier than native
• Transferable skills
Challenges
Website Web App
•   Single Page App
•   Background Data Sync
•   Asynchronous Processing
•   Responsiveness
•   Design
Web App     Mobile App
•   Usage Patterns
•   Touch Events
•   Drag-and-drop
•   Scrolling
•   Pixel Ratio
Web iPad Android PlayBook BB10
Design Tips
Design Tips
•   Start with design, not prototype
•   Images, not button
•   Avoid text links
•   No modal dialogues
•   Use CSS media queries
•   Provide hi-res images as needed
“Real-Time” Tips
“Real-Time” Tips - Tools
• Use Font-end Framework
  – Backbone/Marionette/Relational
• Use Back-end Framework
  – Django/Tornado/Celery
• Use WebSocket Wrapper
  – Socket.io or SockJS
• Use a CSS Framework
  – Bootstrap
• Write your own!
“Real-Time” Tips - Data
• Server push-events
• Asynchronous Processing
• Incremental Loading
“Real-Time” Tips – Front-end
•   Only render visible DOM
•   No anchor tags
•   No HTML5 drag-and-drop
•   Use native scrolling
Mobile HTML5 Myths
Myth 1: HTML5 is Cross-Platform
Myth 2: HTML5 is Slow
• Not if …
  – Load data incrementally
  – Only render what’s visible
  – User global event listeners
  – User WebKit CSS transforms
• Hardware Acceleration
Myth 3: Not as effective as Native
Summary
• Developing HTML5 mobile apps is …
  – Easier than native
  – Cheaper than native
  – Tricky
  – Fun!

Mais conteúdo relacionado

Mais procurados

Branding Essentials for Developers presentation at TEC2012
Branding Essentials for Developers presentation at TEC2012Branding Essentials for Developers presentation at TEC2012
Branding Essentials for Developers presentation at TEC2012Sentri
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Nickolay Ninarski
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureHsuan Fu Lien
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Untangling - fall2017 - week5
Untangling - fall2017 - week5Untangling - fall2017 - week5
Untangling - fall2017 - week5Derek Jacoby
 
How HTML5 missed its graduation - #TrondheimDC
How HTML5 missed its graduation - #TrondheimDCHow HTML5 missed its graduation - #TrondheimDC
How HTML5 missed its graduation - #TrondheimDCChristian Heilmann
 
HTML5 – the good, the bad, and the fun
HTML5 – the good, the bad, and the funHTML5 – the good, the bad, and the fun
HTML5 – the good, the bad, and the funSarah Dutkiewicz
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson
 
Working connected to create offline - Trondheim Developer Conference 2014
Working connected to create offline - Trondheim Developer Conference 2014Working connected to create offline - Trondheim Developer Conference 2014
Working connected to create offline - Trondheim Developer Conference 2014Christian Heilmann
 
Breaking into front end development (
Breaking into front end development (Breaking into front end development (
Breaking into front end development (Sarah Hudson
 
WordPress Blogs 101
WordPress Blogs 101WordPress Blogs 101
WordPress Blogs 101Tom McGee
 
Begin with Genesis
Begin with GenesisBegin with Genesis
Begin with GenesisTara Claeys
 
Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012Tris Hussey
 
Core Data in RubyMotion #inspect
Core Data in RubyMotion #inspectCore Data in RubyMotion #inspect
Core Data in RubyMotion #inspectLori Olson
 

Mais procurados (19)

Branding Essentials for Developers presentation at TEC2012
Branding Essentials for Developers presentation at TEC2012Branding Essentials for Developers presentation at TEC2012
Branding Essentials for Developers presentation at TEC2012
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)
 
GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Untangling - fall2017 - week5
Untangling - fall2017 - week5Untangling - fall2017 - week5
Untangling - fall2017 - week5
 
How HTML5 missed its graduation - #TrondheimDC
How HTML5 missed its graduation - #TrondheimDCHow HTML5 missed its graduation - #TrondheimDC
How HTML5 missed its graduation - #TrondheimDC
 
Beyond the 5 minute install
Beyond the 5 minute installBeyond the 5 minute install
Beyond the 5 minute install
 
Web Designing
Web DesigningWeb Designing
Web Designing
 
HTML5 – the good, the bad, and the fun
HTML5 – the good, the bad, and the funHTML5 – the good, the bad, and the fun
HTML5 – the good, the bad, and the fun
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev Conf
 
Working connected to create offline - Trondheim Developer Conference 2014
Working connected to create offline - Trondheim Developer Conference 2014Working connected to create offline - Trondheim Developer Conference 2014
Working connected to create offline - Trondheim Developer Conference 2014
 
Breaking into front end development (
Breaking into front end development (Breaking into front end development (
Breaking into front end development (
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 
Standardizing WordPress Workflow
Standardizing WordPress WorkflowStandardizing WordPress Workflow
Standardizing WordPress Workflow
 
WordPress Blogs 101
WordPress Blogs 101WordPress Blogs 101
WordPress Blogs 101
 
Begin with Genesis
Begin with GenesisBegin with Genesis
Begin with Genesis
 
Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012
 
Core Data in RubyMotion #inspect
Core Data in RubyMotion #inspectCore Data in RubyMotion #inspect
Core Data in RubyMotion #inspect
 

Destaque

The Real-time Police Force: Publishing Analytic Information to the Field with...
The Real-time Police Force: Publishing Analytic Information to the Field with...The Real-time Police Force: Publishing Analytic Information to the Field with...
The Real-time Police Force: Publishing Analytic Information to the Field with...Azavea
 
Tajinder Presentation6
Tajinder Presentation6Tajinder Presentation6
Tajinder Presentation6Tajinder Singh
 
Crime Time
Crime TimeCrime Time
Crime Timesbillia
 
Mapping The Fear of Crime
Mapping The Fear of CrimeMapping The Fear of Crime
Mapping The Fear of Crimechippy
 
International Study on Women’s Personal Security and Public Transport – Phase...
International Study on Women’s Personal Security and Public Transport – Phase...International Study on Women’s Personal Security and Public Transport – Phase...
International Study on Women’s Personal Security and Public Transport – Phase...WRI Ross Center for Sustainable Cities
 
3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-SigitHendy Irawan
 
Crime Analysis & Prediction System
Crime Analysis & Prediction SystemCrime Analysis & Prediction System
Crime Analysis & Prediction SystemBigDataCloud
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptwebhostingguy
 

Destaque (9)

The Real-time Police Force: Publishing Analytic Information to the Field with...
The Real-time Police Force: Publishing Analytic Information to the Field with...The Real-time Police Force: Publishing Analytic Information to the Field with...
The Real-time Police Force: Publishing Analytic Information to the Field with...
 
Tajinder Presentation6
Tajinder Presentation6Tajinder Presentation6
Tajinder Presentation6
 
Crime Time
Crime TimeCrime Time
Crime Time
 
Mapping The Fear of Crime
Mapping The Fear of CrimeMapping The Fear of Crime
Mapping The Fear of Crime
 
International Study on Women’s Personal Security and Public Transport – Phase...
International Study on Women’s Personal Security and Public Transport – Phase...International Study on Women’s Personal Security and Public Transport – Phase...
International Study on Women’s Personal Security and Public Transport – Phase...
 
3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit
 
Crime Analysis & Prediction System
Crime Analysis & Prediction SystemCrime Analysis & Prediction System
Crime Analysis & Prediction System
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.ppt
 
Dns ppt
Dns pptDns ppt
Dns ppt
 

Semelhante a Building a real time html5 app for mobile devices

Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentSenthil Kumar Kaliathan
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_phpJeanho Chu
 
RPA on Azure with .Net
RPA on Azure with .NetRPA on Azure with .Net
RPA on Azure with .NetMarco Parenzan
 
Notes From Velocity Conference Europe
Notes From Velocity Conference EuropeNotes From Velocity Conference Europe
Notes From Velocity Conference EuropeSiriusWay
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Rapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebRapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebPINT Inc
 
Greenfield Java 2013
Greenfield Java 2013Greenfield Java 2013
Greenfield Java 2013Will Iverson
 
BBC News: Responsive Web Design and Mustard
BBC News: Responsive Web Design and MustardBBC News: Responsive Web Design and Mustard
BBC News: Responsive Web Design and MustardKaelig Deloumeau-Prigent
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the blockMarian Borca
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...Tieturi Oy
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapJosh Jeffryes
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of FrontendJimit Shah
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_phpJeanho Chu
 
Going mobile with RichFaces
Going mobile with RichFacesGoing mobile with RichFaces
Going mobile with RichFacesLukáš Fryč
 

Semelhante a Building a real time html5 app for mobile devices (20)

Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
RPA on Azure with .Net
RPA on Azure with .NetRPA on Azure with .Net
RPA on Azure with .Net
 
Notes From Velocity Conference Europe
Notes From Velocity Conference EuropeNotes From Velocity Conference Europe
Notes From Velocity Conference Europe
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Rapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebRapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The Web
 
Greenfield Java 2013
Greenfield Java 2013Greenfield Java 2013
Greenfield Java 2013
 
BBC News: Responsive Web Design and Mustard
BBC News: Responsive Web Design and MustardBBC News: Responsive Web Design and Mustard
BBC News: Responsive Web Design and Mustard
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the block
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Week01 jan19
Week01 jan19Week01 jan19
Week01 jan19
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of Frontend
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
Going mobile with RichFaces
Going mobile with RichFacesGoing mobile with RichFaces
Going mobile with RichFaces
 

Último

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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
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
 
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!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Building a real time html5 app for mobile devices

  • 1. Building a Real-Time HTML5 App for Mobile Devices Tony Abou-Assaleh Co-founder & CTO, TitanFile taa@titanfile.com Twitter: @tony_aa Mobile P2P – November 14, 2012
  • 2. About me … • PhD in … natural language processing – Not mobile • Ex-Googler .. in ads – Not mobile • Hardcore backend programmer • Past year - TitanFile: RT SPA – HTML5/JS/CSS/Async/Django/…
  • 3. Agenda • Why HTML5? • Challenges • Design Tips • “Real-time” Tips • Mobile HTML5 Myths
  • 5. Why HTML5? • Cross-platform • W3C standard • Open source • Lots of libraries • Transferable skills • Cordova = native • It’s easy! Just HTML + JS + CSS + Backend
  • 6. Or so we thought …
  • 7. Why not HTML5? • Not cross-platform • Standard-in-progress • Open Source – yeah right! • Lots of libraries that don’t work • Cordova Native • It’s NOT just HTML + JS + CSS + Backend
  • 9. So why HTML5? • Gets you to give a talk at mobile P2P • Still easier than native • Transferable skills
  • 11.
  • 12.
  • 13. Website Web App • Single Page App • Background Data Sync • Asynchronous Processing • Responsiveness • Design
  • 14. Web App Mobile App • Usage Patterns • Touch Events • Drag-and-drop • Scrolling • Pixel Ratio
  • 15. Web iPad Android PlayBook BB10
  • 17. Design Tips • Start with design, not prototype • Images, not button • Avoid text links • No modal dialogues • Use CSS media queries • Provide hi-res images as needed
  • 19. “Real-Time” Tips - Tools • Use Font-end Framework – Backbone/Marionette/Relational • Use Back-end Framework – Django/Tornado/Celery • Use WebSocket Wrapper – Socket.io or SockJS • Use a CSS Framework – Bootstrap • Write your own!
  • 20. “Real-Time” Tips - Data • Server push-events • Asynchronous Processing • Incremental Loading
  • 21. “Real-Time” Tips – Front-end • Only render visible DOM • No anchor tags • No HTML5 drag-and-drop • Use native scrolling
  • 23.
  • 24. Myth 1: HTML5 is Cross-Platform
  • 25. Myth 2: HTML5 is Slow • Not if … – Load data incrementally – Only render what’s visible – User global event listeners – User WebKit CSS transforms • Hardware Acceleration
  • 26. Myth 3: Not as effective as Native
  • 27. Summary • Developing HTML5 mobile apps is … – Easier than native – Cheaper than native – Tricky – Fun!

Notas do Editor

  1. Read .. AND WRITE Java Byte CodeCompile C to Assembly, by handDream in regular expressions
  2. Mobilehtml5.org