SlideShare ist ein Scribd-Unternehmen logo
1 von 91
Downloaden Sie, um offline zu lesen
Going mobile - tips, tricks
 and tools for building...
            ....
   mobile web-apps.
          Joshua May
/whois notjosh

• Joshua May
• Web developer
• Tinkererer
So, how’s mobile
  these days?
Short answer

• Better
• Faster
• Stronger
Less short answer

• More handsets
• More capable networks
• More powerful devices
Exhibit A
(predictably)
A dream come true

• Standard
• Capable
• Emulator exists
Let’s take a look..
Looks good, no?
But then..
“Standard” no more!
Exhibit B
The dream..



          +
The dream..



          +
And suddenly, reality
    checks in..
A world of problems
      awaits..
Let’s start with the
      obvious
No mouse
Small screen
(often) num-pad input
And then less obvious
   (but more painful reality)
100s of devices
100s of firmware
   revisions
• Resolutions
• Fonts
• Capabilities
• Orientation
:(
Put in familiar terms..
versus
                              many many MANY
Nokia’s webkit
                                  versions
Openwave                             on
Opera mini & mobile           many many MANY
Pocket IE                          devices
Docomo      (..& more!)       (and resolutions)
IE6 isn’t so bad after all
        now, is it?
It only gets worse..
Semantic HTML
(using lists properly, text-replacement with images, etc)
No.
<p>
Maybe sometimes.
<head>
<style type=”text/css”
....
</style>
</head>
If you’re lucky
<link rel=quot;stylesheetquot;
type=quot;text/cssquot;
href=quot;mystyle.cssquot; />
Wait, what?
    (no)
What about these guys?
What are you saying, Josh?
COMPLEX LAYOUTS
   ARE HARD.
Taken for granted

• “Our site needs to display an image at
  100% width”
• “It needs to look the same portrait and
  landscape”
• “That’s not the font the designer gave you.
  It’s not even the right size!”
(bet that sounds familiar)
It’s a new frontier

• Finding usage statistics isn’t easy
• Finding best practices isn’t easy
• Finding good references/examples isn’t easy
  •   Even “big brand” sites are (often) very bland and static, to cater for
      lowest common denominator.
o noes!!
RF L!
WU
What’s WURFL?
• Wireless
  Universal
  Resource
  File
  L ....?
• AKA: giant XML file of many devices, their
  sizes and capabilities
• Best of all: IT’S MAINTAINED
• Oh...... AND IT’S FREE (without license).
<device user_agent=quot;Nokia7110/1.0 (05quot;
         fall_back=quot;nokia_7110_ver1quot;
         id=quot;nokia_7110_ver2quot;>
  <group id=quot;uiquot;>
    <capability name=quot;table_supportquot;
value=quot;truequot; />
  </group>
 </device>
WTFL?
I still don’t get it..

• Pseduodocode O’clock:
 if (device_has_capability(‘images’)):
     <img src=”....” />
 endif
WALL

• On top of that, there’s the WALL
• Wireless
  Abstraction
  Library
  L ........?!?!
WTFWALL
• Wraps capabilities and whatnot into
  functions

             echo b(‘bold text’);

• (is bold, if you can) or..
              echo hr();
• (might look like ‘<br>-------<br>’ on some
  devices)
Other Tools

• Most related tools are associated with
  images
  • Creating thumbnails at different
    resolutions, etc
How do we know to
serve mobile content?
Option A: Don’t
Rely on CSS
Option B: Assume
m.example.com
example.mobi
Option C: Guess
WURFL+User-Agent
Testing. Sounds hard.
Hire a slave (or 15)
Make sure they’re
   teenagers
Emulators exist
(but they suck)
Solution? Buy a bucket
of handsets and get busy
• iPhone (closed source) SDK rules
 • iPhoney (open source) is part of the way
• Android..well..you know about Android
• Fennec is still ridiculously pre-alpha
• Symbian sucks. But it’s open source now,
  potential?
• Beyond that, you’re pretty screwed
Where does that leave us?
(feels like 1996* again)

          *maybe
KISS,
Lowest Common
  Denominator
Of course, the obvious

• Reduce requests
 • (mobile has MASSIVE latency)
• Small image sizes
• Cache what you can
• ..etc
Passwords suck
OpenID?
Consider context
Contact manger? Give
 me phone numbers
Airline? Give me flight
      information
Business? Don’t give me
 an email contact form!
And then, the inevitable
Tomorrow’s new device
  will ruin your site
Lots of fish, big
barrel..hope you
 brought bullets
Adapt to the changing
        game
mobiForge. Your online
    community and
resource. Make friends.
Whew, that’ll do!
Questions?


• notjosh.com/blog
• twitter.com/notjosh

Weitere ähnliche Inhalte

Ähnlich wie Going mobile - tip, tricks and tools for building mobile web-apps

Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
Adam Keys
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
davyjones
 
The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)
Chris Wilson
 

Ähnlich wie Going mobile - tip, tricks and tools for building mobile web-apps (20)

Commercialization Challenges Of Mobile Software Development In A Fragmented M...
Commercialization Challenges Of Mobile Software Development In A Fragmented M...Commercialization Challenges Of Mobile Software Development In A Fragmented M...
Commercialization Challenges Of Mobile Software Development In A Fragmented M...
 
Developing The Web
Developing The WebDeveloping The Web
Developing The Web
 
Usability Testing
Usability TestingUsability Testing
Usability Testing
 
Securing Rails
Securing RailsSecuring Rails
Securing Rails
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
SEO and Accessibility
SEO and AccessibilitySEO and Accessibility
SEO and Accessibility
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)
 
Silverlight won't save your user experience - you will!
Silverlight won't save your user experience - you will!Silverlight won't save your user experience - you will!
Silverlight won't save your user experience - you will!
 
Building a game engine with jQuery
Building a game engine with jQueryBuilding a game engine with jQuery
Building a game engine with jQuery
 
Mobile UX Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX Challenges
 
Mobile ux sot a and challenges
Mobile ux sot a and challengesMobile ux sot a and challenges
Mobile ux sot a and challenges
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
Performance as UX with Justin Howlett
Performance as UX with Justin HowlettPerformance as UX with Justin Howlett
Performance as UX with Justin Howlett
 
Datatium - using data as a material for contextually responsive design.
Datatium - using data as a material for contextually responsive design.Datatium - using data as a material for contextually responsive design.
Datatium - using data as a material for contextually responsive design.
 
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 Browser is Dead, Long Live the Web! (Jonathan Stark)
 The Browser is Dead, Long Live the Web! (Jonathan Stark) The Browser is Dead, Long Live the Web! (Jonathan Stark)
The Browser is Dead, Long Live the Web! (Jonathan Stark)
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Going mobile - tip, tricks and tools for building mobile web-apps