SlideShare uma empresa Scribd logo
1 de 106
Twiggy!
let’s get our widget on
Who am I?
 Elliott Kember
 Rails developer

 @elliottkember

 Web Developer,
  Mobile Noob.
Who are you?
Get this party started
Get this party started

• Valid HTML wrapper
Get this party started

• Valid HTML wrapper
• Doctype - I used HTML 4.01 Strict
Get this party started

• Valid HTML wrapper
• Doctype - I used HTML 4.01 Strict
• Validate your code!
Get this party started

• Valid HTML wrapper
• Doctype - I used HTML 4.01 Strict
• Validate your code!
• Should work fine in Firefox
Get this party started

• Valid HTML wrapper
• Doctype - I used HTML 4.01 Strict
• Validate your code!
•                                             nal
  Should work ne in Firefox
                                         ptio
                                      to
                                    o  is n
                                  shit
                            his
                          T
HTML
If you don’t use

you’re just being silly
jQuery in 2 minutes
jQuery in 2 minutes
•   $() is your selector function
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);

•   $(‘.home’);
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);

•   $(‘.home’);

•   $(‘div#home’);
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);

•   $(‘.home’);

•   $(‘div#home’);

•   $(‘div ul#home’);
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);

•   $(‘.home’);

•   $(‘div#home’);

•   $(‘div ul#home’);

•   $(‘div ul#home’).hide(); $(‘div ul#home’).show();
jQuery in 2 minutes
•   $() is your selector function

•   CSS selectors

•   $(‘#home’);

•   $(‘.home’);

•   $(‘div#home’);

•   $(‘div ul#home’);

•   $(‘div ul#home’).hide(); $(‘div ul#home’).show();

•   $(‘div ul#home li a’).click(function(){
      alert(‘you clicked it!’); // specify whatever you want to happen here!
    }
jQuery plugins
jQuery plugins
• http://plugins.jquery.com/
jQuery plugins
• http://plugins.jquery.com/
• Loaded locally, size isn’t a huge problem
jQuery plugins
• http://plugins.jquery.com/
• Loaded locally, size isn’t a huge problem
• Widget engine is fast enough to cope
jQuery plugins
• http://plugins.jquery.com/
• Loaded locally, size isn’t a huge problem
• Widget engine is fast enough to cope
• We used a Twitter Search JSON plugin
Add your plugins
Add your plugins
Create panels
Create panels
Create panels
Create panels
Create panels




• Div, form, class, ID, comments, etc.
Hiding things
Hiding things

• Use Javascript techniques
Hiding things

• Use Javascript techniques
• Be clever with your # and .
Hiding things

• Use Javascript techniques
• Be clever with your # and .
  • $(‘.panel’).hide(); $(‘.panel#home’).show();
Hiding things

• Use Javascript techniques
• Be clever with your # and .
  • $(‘.panel’).hide(); $(‘.panel#home’).show();
  • $(‘.asset’).hide(); $(‘.asset.home’).show();
Hiding things

• Use Javascript techniques
• Be clever with your # and .
  • $(‘.panel’).hide(); $(‘.panel#home’).show();
  • $(‘.asset’).hide(); $(‘.asset.home’).show();
  • $(‘#menu li’).hide(); $(‘#menu li.home’).show();
Some Javascript
Some Javascript

       •   Set up functions for your stuff
Some Javascript

       •   Set up functions for your stuff

       •   $(‘document’).ready();
Some Javascript

       •   Set up functions for your stuff

       •   $(‘document’).ready();

       •   Be clear and simple
CSS
CSS

 • Normal CSS, CSS3 rules
CSS

 • Normal CSS, CSS3 rules
 • border-radius
CSS

 • Normal CSS, CSS3 rules
 • border-radius
 • Hover effects are
   important
XML cong
XML cong




•   be careful with the difference between values and attributes!
Deploy / test
Deploy / test


•   Open application.xml file directly in Opera
Deploy / test


•   Open application.xml file directly in Opera

•   use the Widget Emulator
Deploy / test


•   Open application.xml file directly in Opera

•   use the Widget Emulator

•   zip -r widget.wgt * and USB to phone
Boring!
Searching Twitter!
Searching Twitter!

• Plugins are awesome
Searching Twitter!

• Plugins are awesome
• tweet.seaofclouds.cm
Searching Twitter!

• Plugins are awesome
• tweet.seaofclouds.cm
• <label for=quot;searchquot;>
   What are you looking for?
 </label>
With a little bit of this
With a little bit of this
And a little bit of that
And a little bit of that
And the emulator...
And the emulator...

• Opera Widget Emulator
And the emulator...

• Opera Widget Emulator
• Vodafone have their own one too
And the emulator...

• Opera Widget Emulator
• Vodafone have their own one too
• Runs like a widget
And the emulator...

• Opera Widget Emulator
• Vodafone have their own one too
• Runs like a widget
• Contains your widget
Hooray!
Some tips:
Some tips:

• Auto-focus input fields
Some tips:

• Auto-focus input fields
• Hover effects are important.
Some tips:

• Auto-focus input fields
• Hover effects are important.
• Test the phone with your typeface
Some tips:

• Auto-focus input fields
• Hover effects are important.
• Test the phone with your typeface
• Make hit areas small!
Small?
The mouse cursor snaps to the
edges of the action bounding box
Small!
                The mouse cursor snaps to the
                edges of the action bounding box


So make the action bounding box
smaller than the button.
Remember:
Remember:
• Don’t resize images with HTML
Remember:
• Don’t resize images with HTML
• use CSS sprites
Remember:
• Don’t resize images with HTML
• use CSS sprites
• Phone keyboard is upside-down
Remember:
• Don’t resize images with HTML
• use CSS sprites
• Phone keyboard is upside-down
• It’s going to be slow
Remember:
• Don’t resize images with HTML
• use CSS sprites
• Phone keyboard is upside-down
• It’s going to be slow
• Dodgy network connections
Remember:
• Don’t resize images with HTML
• use CSS sprites
• Phone keyboard is upside-down
• It’s going to be slow
• Dodgy network connections
• Don’t expect it to “just work”
Dear Betavine
Dear Betavine

• Documentation
Dear Betavine

• Documentation
• Bandwidth restrictions
Dear Betavine

• Documentation
• Bandwidth restrictions
• Resizing images
Dear Betavine

• Documentation
• Bandwidth restrictions
• Resizing images
• Publicity
Question time!
I bet you thought
    that was it
You now have
an iPhone web app
You now have
an iPhone web app
       And a
     PhoneGap
    iPhone app
      (maybe)
PhoneGap
     iPhone app
       (maybe)
And an Adobe AIR app
And an Adobe AIR app

And an Opera Widget
And an Opera Widget

and a dashboard widget
and a dashboard widget

    And a website.
This is the most
important thing
and you’re kind of
  doing it wrong
These are not widgets:
   These are apps.
You’re on our turf,
and we want to help.
Thanks!
Thanks!

• elliott.kember@gmail.com
Thanks!

• elliott.kember@gmail.com
• twitter: @elliottkember
Thanks!

• elliott.kember@gmail.com
• twitter: @elliottkember
• www.elliottkember.com

Mais conteĂşdo relacionado

Destaque

Making your site mobile-friendly - Ignite Manchester 01.03.2010
Making your site mobile-friendly - Ignite Manchester 01.03.2010Making your site mobile-friendly - Ignite Manchester 01.03.2010
Making your site mobile-friendly - Ignite Manchester 01.03.2010
Patrick Lauke
 
Twiggy
TwiggyTwiggy
Twiggy
uapder
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group Introduction
Andrew Chalkley
 
1960s fashion
1960s fashion1960s fashion
1960s fashion
Emanuel
 

Destaque (20)

Making your site mobile-friendly - Ignite Manchester 01.03.2010
Making your site mobile-friendly - Ignite Manchester 01.03.2010Making your site mobile-friendly - Ignite Manchester 01.03.2010
Making your site mobile-friendly - Ignite Manchester 01.03.2010
 
What's Next: How Mobile is Changing Design
What's Next: How Mobile is Changing DesignWhat's Next: How Mobile is Changing Design
What's Next: How Mobile is Changing Design
 
"Designing for the Mobile Web" by Michael Dick (December 2010)
"Designing for the Mobile Web" by Michael Dick (December 2010)"Designing for the Mobile Web" by Michael Dick (December 2010)
"Designing for the Mobile Web" by Michael Dick (December 2010)
 
age of reason
age of reasonage of reason
age of reason
 
Twiggy
TwiggyTwiggy
Twiggy
 
Twiggy Presentation
Twiggy PresentationTwiggy Presentation
Twiggy Presentation
 
From Click To Tap
From Click To TapFrom Click To Tap
From Click To Tap
 
Pimp your site with jQuery!
Pimp your site with jQuery!Pimp your site with jQuery!
Pimp your site with jQuery!
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group Introduction
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人
 
Shopping in AR_presentazione
Shopping in AR_presentazioneShopping in AR_presentazione
Shopping in AR_presentazione
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotation
 
Augmented Reality Shopping
 Augmented Reality Shopping Augmented Reality Shopping
Augmented Reality Shopping
 
Mobile Web Design - The Basics
Mobile Web Design - The BasicsMobile Web Design - The Basics
Mobile Web Design - The Basics
 
Twiggy
TwiggyTwiggy
Twiggy
 
1960s fashion
1960s fashion1960s fashion
1960s fashion
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Semelhante a Twiggy - let's get our widget on!

jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
Philipp Bosch
 
Tweakers Anonymous
Tweakers AnonymousTweakers Anonymous
Tweakers Anonymous
John Anderson
 

Semelhante a Twiggy - let's get our widget on! (20)

Efficient JavaScript Development
Efficient JavaScript DevelopmentEfficient JavaScript Development
Efficient JavaScript Development
 
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
 
Plone Interactivity
Plone InteractivityPlone Interactivity
Plone Interactivity
 
Beyond the Standards
Beyond the StandardsBeyond the Standards
Beyond the Standards
 
NSClient++ Workshop: 02 Web
NSClient++ Workshop: 02 WebNSClient++ Workshop: 02 Web
NSClient++ Workshop: 02 Web
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 
WDE08 BULLETPROOF A to Z
WDE08 BULLETPROOF A to ZWDE08 BULLETPROOF A to Z
WDE08 BULLETPROOF A to Z
 
PNGHack 1.0 Presentation
PNGHack 1.0 PresentationPNGHack 1.0 Presentation
PNGHack 1.0 Presentation
 
Översättning av django-program
Översättning av django-programÖversättning av django-program
Översättning av django-program
 
Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up
 
Reward & Punishment
Reward & PunishmentReward & Punishment
Reward & Punishment
 
Tweakers Anonymous
Tweakers AnonymousTweakers Anonymous
Tweakers Anonymous
 
How Not To Code Flex Applications
How Not To Code Flex ApplicationsHow Not To Code Flex Applications
How Not To Code Flex Applications
 
High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)
 
Topsy Turvy Design
Topsy Turvy DesignTopsy Turvy Design
Topsy Turvy Design
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Twiggy - let's get our widget on!

Notas do Editor

  1. use HTML use Javascript uses jQuery? make websites employ people who do?
  2. Make a real web page tell you why later
  3. Make a real web page tell you why later
  4. Make a real web page tell you why later
  5. Make a real web page tell you why later
  6. Make a real web page tell you why later
  7. If you don&#x2019;t use jQuery you&#x2019;re being silly fast, effective, saves you time
  8. Bind() Live() Timers Calendars Twitter JSON AJAX Graphs - Flot Form validation Slides and fades and animations are awesome Some will not work. Be careful of memory leaks
  9. Bind() Live() Timers Calendars Twitter JSON AJAX Graphs - Flot Form validation Slides and fades and animations are awesome Some will not work. Be careful of memory leaks
  10. Bind() Live() Timers Calendars Twitter JSON AJAX Graphs - Flot Form validation Slides and fades and animations are awesome Some will not work. Be careful of memory leaks
  11. Bind() Live() Timers Calendars Twitter JSON AJAX Graphs - Flot Form validation Slides and fades and animations are awesome Some will not work. Be careful of memory leaks
  12. Autofocus because NOBODY LIKES THE MOUSE Hover helps you know you&#x2019;re on a button Italic broken in twiggy Clever hit areas trick
  13. Autofocus because NOBODY LIKES THE MOUSE Hover helps you know you&#x2019;re on a button Italic broken in twiggy Clever hit areas trick
  14. Autofocus because NOBODY LIKES THE MOUSE Hover helps you know you&#x2019;re on a button Italic broken in twiggy Clever hit areas trick
  15. Autofocus because NOBODY LIKES THE MOUSE Hover helps you know you&#x2019;re on a button Italic broken in twiggy Clever hit areas trick
  16. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone
  17. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone
  18. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone
  19. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone
  20. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone
  21. Resizing images is OS function CSS sprites are good for later on PC keyboard numpad Slow cpu and network Test it on a phone