SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Mobile Development
      with HTML5



                      Hunter Loftis
                     @hunterloftis
              hunter@skookum.com
Hunter Loftis
• Director of Technology at Skookum DW
• JavaScript nerd
• (2001) Print illustration
• (2003) Flash animation
• (2004) Web design & development
• (2006) Web apps
• (2012) Mobile apps
grain of salt:


I’m not a mobile expert.
 I’m a JavaScript expert.
Status4: Golf
          gtggolf.com
  Realtime, distributed team
scoring on iPhone, Android, and
          Blackberry.
Mobile HTML5
  Open-Source
          github.com

        /madrobby/zepto
/hunterloftis/backbone.viewmodel
So?
Today, we’ll discuss and distill the
   lessons learned from these
    experiences into practical
  guidelines for building mobile
          HTML5 apps.
Before you jump in
   ask yourself three questions:
Can I build this natively?
• You know (or have time to learn) the
  language and APIs.
• You can target a single platform.
• You have the resources to support and
  maintain per-platform code bases.
• Your audience will commit to your app.
Why mobile HTML5?

• You are a front-end web expert (or team).
• Support for many current & future devices.
• Faster, cheaper dev cycles.
• Daily platform improvements for free.
• You accept the 50% performance penalty.
Mobile web, or hybrid?

• web: URLs, browser security model, and
  immediate deploys/updates
• hybrid: app stores, device security model,
  and gated deploys/updates
• you can do both, but it’s harder than you
  think.
Starting the app
    The easy parts
Quick Start
    https://github.com/skookum/mobilehtml5

         http://hunterloftis.com/mobile/

(demos are intentionally un-factored and verbose;
   apply proper engineering to real projects)
Install Stuff
• iPhone Simulators (xcode)
• Android SDK & debugging bridge:
• adb logcat browser:V *:S
1. Run offline


 2. Present this page
           as an app.
  3. Show icons and
     startup screens



 4. Prompt to install
to the home screen.
5 Minutes In
You have a container, now you
need content and functionality.
Building the app
    A survival guide
Do touch yourself.
ontouchstart, ontouchmove, ontouchend,
             ontouchcancel

          (soon in zepto.js)
Ignore standards and
    accessibility.
Debug on real devices.
iOS: settings > safari > developer > debug console:on
          Android: browser > “about:debug”
Forget jQuery.
Avoid frameworks.
Use alert().
And confirm() and prompt(). Seriously.
Learn microlibs
microjs.com, zepto.js, add2home, lawnchair, okay.js
Aim low.
Never use your iPhone.
Ignore feature
  detection.
     (usually)
Use specific forms.
       email, tel, url, date, number, range*
placeholder, autofocus, autocorrect, autocapitalize
Limit DOM updates.
Never animate with
    JavaScript.
Animate with CSS3
     (but only on iOS)
Assume you’re offline.
Store data locally
session storage, local storage, websql, indexed, lawnchair
Keep it async.
A RESTful JSON API over HTTPS is cool and full of
                  acronyms.
Embrace geolocation
 navigator.geolocation.getCurrentPosition()
   navigator.geolocation.watchPosition();
Protect your state.
Turn yourself off.
Link to phones & maps
       “maps.google.com/*”
       “tel: (704) 123-4567”
      “sms: (704) 234-5678”
And have fun!
•   Qs? @hunterloftis or hunter@skookum.com

•   slideshare.net/HunterLoftis/mobile-html5-v2

•   github.com/Skookum/mobilehtml5

•   github.com/hunterloftis/backbone.viewmodel

•   http://hunterloftis.com/mobile/

•   “Safari Web Content Guide”

•   http://microjs.com/

•   http://zeptojs.com/

Weitere ähnliche Inhalte

Was ist angesagt?

How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapMobiDev
 
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?Guilhem Ensuque
 
VDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform AppsVDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform AppsGuilhem Ensuque
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap InsightsMonaca
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioGuilhem Ensuque
 
Building an app-like experience (without the app)
Building an app-like experience (without the app)Building an app-like experience (without the app)
Building an app-like experience (without the app)chaefele
 
The Flashy Side of Adobe Edge
The Flashy Side of Adobe EdgeThe Flashy Side of Adobe Edge
The Flashy Side of Adobe EdgeJoseph Labrecque
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPTVineet Kumar
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssKevin Whinnery
 
Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101Milan Korsos
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapGautam Chaudhary
 
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境Yoichiro Sakurai
 
Abilità Informatiche - Lezione 01 introduzione al corso
Abilità Informatiche - Lezione 01   introduzione al corsoAbilità Informatiche - Lezione 01   introduzione al corso
Abilità Informatiche - Lezione 01 introduzione al corsoUniversity of Catania
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile DevicesJens Arps
 
Core java tutorials
Core java  tutorialsCore java  tutorials
Core java tutorialsTIB Academy
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap
 

Was ist angesagt? (20)

How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGap
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
 
Phonegap 2.x
Phonegap 2.xPhonegap 2.x
Phonegap 2.x
 
VDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform AppsVDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform Apps
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
Building an app-like experience (without the app)
Building an app-like experience (without the app)Building an app-like experience (without the app)
Building an app-like experience (without the app)
 
The Flashy Side of Adobe Edge
The Flashy Side of Adobe EdgeThe Flashy Side of Adobe Edge
The Flashy Side of Adobe Edge
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPT
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's Ass
 
Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with Phonegap
 
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
 
Abilità Informatiche - Lezione 01 introduzione al corso
Abilità Informatiche - Lezione 01   introduzione al corsoAbilità Informatiche - Lezione 01   introduzione al corso
Abilità Informatiche - Lezione 01 introduzione al corso
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile Devices
 
Core java tutorials
Core java  tutorialsCore java  tutorials
Core java tutorials
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 

Andere mochten auch

N E W S T U D Y O F G I T A N O V 12 D R
N E W  S T U D Y  O F  G I T A  N O V 12   D RN E W  S T U D Y  O F  G I T A  N O V 12   D R
N E W S T U D Y O F G I T A N O V 12 D Rshriniwaskashalikar
 
N E W S T U D Y O F G I T A N O V 4 D R
N E W  S T U D Y  O F  G I T A  N O V 4  D RN E W  S T U D Y  O F  G I T A  N O V 4  D R
N E W S T U D Y O F G I T A N O V 4 D Rshriniwaskashalikar
 
N A M A S M A R A N A N D S T R E S S D R
N A M A S M A R A N  A N D  S T R E S S  D RN A M A S M A R A N  A N D  S T R E S S  D R
N A M A S M A R A N A N D S T R E S S D Rshriniwaskashalikar
 
What Is 2010love
What Is 2010loveWhat Is 2010love
What Is 2010lovelsuter
 
Presentation 2010
Presentation 2010Presentation 2010
Presentation 2010worklight
 
Force
ForceForce
ForceUKM
 
Diabetes Discussion Dr. Shriniwas Kashalikar
Diabetes Discussion Dr. Shriniwas KashalikarDiabetes Discussion Dr. Shriniwas Kashalikar
Diabetes Discussion Dr. Shriniwas Kashalikarshriniwaskashalikar
 
New Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikar
New Study Of Gita Nov 11 Dr. Shriniwas J. KashalikarNew Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikar
New Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikarshriniwaskashalikar
 
世界奇特建築
世界奇特建築世界奇特建築
世界奇特建築Josephine C
 
Learning, Teaching And Superliving Dr. Shriniwas Kashalikar
Learning, Teaching And Superliving Dr. Shriniwas KashalikarLearning, Teaching And Superliving Dr. Shriniwas Kashalikar
Learning, Teaching And Superliving Dr. Shriniwas Kashalikarshriniwaskashalikar
 
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...Flexera
 

Andere mochten auch (15)

N E W S T U D Y O F G I T A N O V 12 D R
N E W  S T U D Y  O F  G I T A  N O V 12   D RN E W  S T U D Y  O F  G I T A  N O V 12   D R
N E W S T U D Y O F G I T A N O V 12 D R
 
N E W S T U D Y O F G I T A N O V 4 D R
N E W  S T U D Y  O F  G I T A  N O V 4  D RN E W  S T U D Y  O F  G I T A  N O V 4  D R
N E W S T U D Y O F G I T A N O V 4 D R
 
N A M A S M A R A N A N D S T R E S S D R
N A M A S M A R A N  A N D  S T R E S S  D RN A M A S M A R A N  A N D  S T R E S S  D R
N A M A S M A R A N A N D S T R E S S D R
 
P R A L H A D S A I D D R
P R A L H A D  S A I D  D RP R A L H A D  S A I D  D R
P R A L H A D S A I D D R
 
What Is 2010love
What Is 2010loveWhat Is 2010love
What Is 2010love
 
Presentation 2010
Presentation 2010Presentation 2010
Presentation 2010
 
SEO, LLC dba Www.Splinternet Marketing.Com Search Engine Rankings 6-28-2011
SEO, LLC dba Www.Splinternet Marketing.Com Search Engine Rankings 6-28-2011SEO, LLC dba Www.Splinternet Marketing.Com Search Engine Rankings 6-28-2011
SEO, LLC dba Www.Splinternet Marketing.Com Search Engine Rankings 6-28-2011
 
Force
ForceForce
Force
 
N I S H K A M A K A R M A D R
N I S H K A M A  K A R M A  D RN I S H K A M A  K A R M A  D R
N I S H K A M A K A R M A D R
 
93 percent-google-for-internet-marketing-services
93 percent-google-for-internet-marketing-services93 percent-google-for-internet-marketing-services
93 percent-google-for-internet-marketing-services
 
Diabetes Discussion Dr. Shriniwas Kashalikar
Diabetes Discussion Dr. Shriniwas KashalikarDiabetes Discussion Dr. Shriniwas Kashalikar
Diabetes Discussion Dr. Shriniwas Kashalikar
 
New Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikar
New Study Of Gita Nov 11 Dr. Shriniwas J. KashalikarNew Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikar
New Study Of Gita Nov 11 Dr. Shriniwas J. Kashalikar
 
世界奇特建築
世界奇特建築世界奇特建築
世界奇特建築
 
Learning, Teaching And Superliving Dr. Shriniwas Kashalikar
Learning, Teaching And Superliving Dr. Shriniwas KashalikarLearning, Teaching And Superliving Dr. Shriniwas Kashalikar
Learning, Teaching And Superliving Dr. Shriniwas Kashalikar
 
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
 

Ähnlich wie Mobile html5 v2

Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发Zhang Xiaoxue
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java ScriptBorey Lim
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Lesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsLesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsPatrik Malmquist
 
Smau milano 2012 arena social media emanuele-bolognesi
Smau milano 2012   arena social media emanuele-bolognesiSmau milano 2012   arena social media emanuele-bolognesi
Smau milano 2012 arena social media emanuele-bolognesiSMAU
 
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
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop toolsLey Liu
 

Ähnlich wie Mobile html5 v2 (20)

Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Introduction to jQueryMobile
Introduction to jQueryMobileIntroduction to jQueryMobile
Introduction to jQueryMobile
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
PhoneGap/Cordova
PhoneGap/CordovaPhoneGap/Cordova
PhoneGap/Cordova
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java Script
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Lesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsLesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid apps
 
Smau milano 2012 arena social media emanuele-bolognesi
Smau milano 2012   arena social media emanuele-bolognesiSmau milano 2012   arena social media emanuele-bolognesi
Smau milano 2012 arena social media emanuele-bolognesi
 
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
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop tools
 

Kürzlich hochgeladen

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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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 ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
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
 
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...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Mobile html5 v2

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. “tap” events are interpreted by the browser and have an inherent delay of ~300ms .. which makes your app feel slow and unresponsive.\n
  21. They don't matter (yet) on phones. It's hard enough to get something working; why design for an audience that doesn't even exist yet? For example:\nUse <div> instead of <a> (try both). You'll notice that on some phones, the <a> will still link after you interrupt it, and you have to prevent all of these defaults happening. Plus, since you'll be listening to the ontouchstart, you won't have a default to interrupt.\n\n
  22. Typical web dev + emulators and simulators + test devices\niOs: settings -> safari -> developer -> debug console: on\nAndroid: type about:debug in the URL bar (for most androids)\nset up the android crazy SDK bridge thing\n
  23. ...or any other cross-browser library. The vast majority of your audience (iOS, Android, Blackberry, Palm) renders via the webkit engine. Mobile devices are still relatively slow. Mobile browsers are still very slow and light on resources like memory. There's no excuse to drop heavy cross-browser libs like jQuery into the mix. (Android: 18%, iOS: 54%, Blackberry: 3%, total: 75% ... other 25% = Java ME & Symbian / old phones )\n\n
  24. They’re big, bloated, difficult to customize, and when you have problems with a control (or several controls) -- functionality, appearance, or compatibility with different devices -- there is very little you can do, and it’s typically a real headache to make significant updates since the frameworks have a high level of complexity.\n\nIf you don’t believe me, try the “kitchen sink” demo of jQuery mobile, Sencha touch, etc on a blackberry, an iPhone, and an old Android... and see what happens.\n\nNote: I haven’t tried the latest frameworks in several months, and I’m hopeful for progress.\n
  25. - rendered with native controls so they don’t make an impact on your app’s footprint\n- rendered and interacted with faster\n- feel native, consistent\n
  26. \n
  27. These days, most developers working with web apps aim high and gracefully degrade. We have turned to the "make it work on real browsers... safari... chrome... firefox... and then shim it for IE... workflow." We've gotten used to aiming for a great experience and providing fallbacks for anything that can't support it. Unfortunately, the mobile browser landscape is closer to 2006 than 2012. The majority of Android users are on the Android versions from 2010. Only 1% are on the latest OS. Hundreds of devices exist with different form factors, operating systems, browsers, CPUs, GPUs ... the way to stay sane is to aim low and progressively enhance for selected platforms (like iOS 5).\n\n
  28. If you're constantly testing with your iPhone, you'll be misled into the idea that things are working better than they really are. The iPhone set the golden standard for a mobile web browser, and it's still unchallenged. The latest version of Android with Chrome has edged closer, but it still falls short. Test with an Android on 2.2 to get the real picture. You can pick them up basically for free.\n
  29. Design your app offline first, then add network capability\ncache.manifest\nJS on app load to check and refresh cache if required\nMake it easy to disable offline caching (adds an extra layer of testing complexity)\n\n
  30. Controls the type of keyboard/interface that is presented\nCan get super annoying to have autocorrecting login for example\nProvides convenient characters (@ for email, / for url, etc)\n
  31. Repainting elements, adding, removing elements = super expensive operations on a phone.\n
  32. It’s incredibly slow on most phones, while CSS3 animations are GPU-accelerated on iOS.\n
  33. GPU accelerated on iOS. Not all Androids have GPUs or browser-based acceleration, so turn it off for everything else.\n
  34. Design your app offline first, then add network capability\ncache.manifest\nJS on app load to check and refresh cache if required\nMake it easy to disable offline caching (adds an extra layer of testing complexity)\n\n
  35. 5MB limit\n
  36. \n
  37. \n
  38. \n
  39. The first time we field-tested GTG, we (developers) were all confident that it worked, because we had been testing it on our iPhones, and doing occasional lab tests on our stock of Androids. 30 minutes into the 4-hour event, half of the phones were dead. All of the dead phones were Androids. Why? Android doesn't disable background processes - even web pages! - when the app is closed - or even when the phone is sleeping in your pocket! - so if you, for example, are polling Ajax (as we were), the phone's battery will just disappear. Later, we discovered that *some* Androids even restore old tabs immediately when the phone is restarted, meaning that until someone specifically turns off their phone, charges it, turns it back on, opens the browser and explicitly closes your tab... their phone will die over and over and over.\n\n
  40. \n
  41. \n
  42. \n