SlideShare uma empresa Scribd logo
1 de 72
Coding the UI:
Lessons Learned from
ebookers and Orbitz


Mark Meeker                 AjaxWorld
Architect, UI Engineering   San Jose, California
Orbitz Worldwide            October 21, 2008
UI




Dozens of apps, hundreds of VMs,
     thousands of services.
CSS                        JavaScript

CSS 2.1



                   JSP
XHTML 1.0                             JSP 2.0
            (page templating)




                webapp
            (controller layer)
“As far as the customer is
concerned, the interface is
      the product.”

                   - Jef Raskin
“Browsers are the most
hostile software development
  environments possible.”

              - Douglas Crockford
1,971
Revisions to 1 .css file since Oct. 2006

2.9 edits per day (if working weekends)
2001 - Orbitz.com

2002 - OrbitzForBusiness.com



2005 - CheapTickets.com

2006 - mobile.orbitz.com




2007 - updates.orbitz.com

2008 - ebookers.com
Experience
Single JSP files measuring in thousands of lines
Massive amounts of repeated markup
561 files with <html> tag
Minimal re-use
66 tables on one page
“Good judgement is the
result of experience …
Experience is the result
of bad judgement.”
                —Fred Brooks
Fresh start?
               http://flickr.com/photos/jeremybrooks/833157523/
Wishlist
 Internationalization
 Universality
 Maintain High Quality Code
 Promote Code Re-Use
 Consistent Experience




                              http://flickr.com/photos/litandmore/2664900676/
Internationalization
                 http://www.flickr.com/photos/nickjacksonza/256651959/
6:50pm
versus
 18:50
14/11/07
 versus
11/14/07
miles
   versus
kilometers
3,000+
Labels, strings, paragraphs of text.
Traveler
    vs.
 Traveller
    vs.
Passengers
1,500+
  Images
Images
Remove text as much as possible
Consider cultural differences in images choices
English
French
Japanese
Translation
 Small words can expand 200-300%
 Rule of thumb: 40%
 Watch for wrapping issues (or lack thereof)
 Consider during design comp stage
Universality
Follow Web Standards
Follow Web Standards
P.O.S.H.
  plain old semantic HTML
Constant balancing act
Reduces display defects
  Reset Styles
Validate CSS
Reminder that it is an evolving code base
IE6 Support


 <!--[if IE 6]>
 <style type=quot;text/cssquot; media=quot;allquot;>
          @import url(/style/layout/layoutIE6Fix.css);
 </style>
 <![endif]-->
Firefox 3, OSX
IE 5.2, OSX
Amazon Kindle
Progressive Enhancement
 Content is KING!
 Start with semantic markup
 Get working functionality with HTML only
 Enhance display with CSS
 Enhance behavior with JavaScript
Separation of Layers
No in-line styles or in-line JavaScript
If it only works with JavaScript, create it with JavaScript
Graded Browser Support
http://developer.yahoo.com/yui/articles/gbs/
Varying levels of support
Isn’t required to be identical
Not all or nothing
Graded Browser Support
A-Grade
  White-list (well-known, measurable market share)
  Tested by QA Team
C-Grade
  Blacklist (incapable browsers, call drivers)
X-Grade
  Everyone else
Maintain High Quality
                  http://www.flickr.com/photos/harvypascua/46114061
High Quality
 Validation
 Build time tests (automated)
   static code analysis
   CSS validation
   JSP compile
 Constant developer vigilance
 Sometimes constraints are good
Constraints
Custom tags for some HTML elements
  anchors, images, form elements
Only allow subset of attributes
  no: onclick, id
  required: various content
Able to enforce all inputs have labels
Free CSS and JS support
Free shared functionality
Debug Tools
Logging
Runtime in-application debugging
  Expose data to testers
  Debug various types of modules
  Content
  Error message placement
File Structure
 Developer first
 Build for deploy later
   move files around
   combine them
   reformat them
   strip comments
CSS Files
Split between multiple files
  Typography
  Color
  Layout
  Modules
  Nav
Each declaration on its own line
Promote Re-Use (DRY)
                 http://flickr.com/photos/kingdesmond/477389196
Composite View
Separates “layout” of page from content
Allows to plug in different modules into page
Used in Apache Tiles
Leverage in-house framework
Try and gain as much re-use of JSP code
Layout

                Header



         Rail       Body



                Footer
Module
Page Definition
header.jsp --> Header

results.jsp --> Body

sortbar.jsp --> Rail

footer.jsp --> Footer
Page Composition


             B/E    Page
  Browser            Def
            Magic
DRY
Avoid targeting IDs for CSS or JS
Custom attribute for JavaScript Data
Separation of Layers
Helper code for small “controls”
  with the CSS to go with them
Take advantage of lazy developers
Consistent Experience
                 http://www.flickr.com/photos/kiad/491754035/
Consistent Experience
Make learning how to use the site easier for users.
Reduce the number of patterns.
Stick with the ones that work best.
Meet users expectations on...
  messaging
  error placements
  interfaces
Consistent Experience
  Review the site for common patterns
  Introduce a Pattern Library
  Build common “controls”
Follow the 80/20 Rule
“Simple things should
    be simple and
complex things should
    be possible.”
               —Alan Kay
80/20 Rule
Make it easy to do the the common task for
80% of your users
Make it possible to do everything for the
other 20% that need to
Hide/Reveal
Micro-content
80/20 Rule
Patterns:
  Hide Reveal
  Tabs Pattern
  Pulling in content via Ajax
  “Micro-content” bubbles
What’s Next?
          http://flickr.com/photos/reinvented/179863733/
Questions?
Slides:
    http://markmeeker.com/events/ajaxworld2008
Email:
  mark@markmeeker.com
Blog:
   http://markmeeker.com
Orbitz Jobs:
    http://www.orbitz.com/startmycareer

Mais conteúdo relacionado

Mais procurados

Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best PracticesHolger Bartel
 
Doing More with LESS for CSS
Doing More with LESS for CSSDoing More with LESS for CSS
Doing More with LESS for CSSTodd Anglin
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web developmentAlberto Apellidos
 
HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015dmethvin
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013dmethvin
 
Client responsive design
Client   responsive designClient   responsive design
Client responsive designshmulik-tal
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8rsnarayanan
 
jQuery Conference Toronto
jQuery Conference TorontojQuery Conference Toronto
jQuery Conference Torontodmethvin
 
Bootstrap training basics tutorial | Bootstrap Essentials
Bootstrap training basics tutorial | Bootstrap EssentialsBootstrap training basics tutorial | Bootstrap Essentials
Bootstrap training basics tutorial | Bootstrap EssentialsQA TrainingHub
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can buildMonika Piotrowicz
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?Chris Mills
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술Jeongkyu Shin
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationMarakana Inc.
 

Mais procurados (20)

Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
lecture5
lecture5lecture5
lecture5
 
Doing More with LESS for CSS
Doing More with LESS for CSSDoing More with LESS for CSS
Doing More with LESS for CSS
 
ActiveDOM
ActiveDOMActiveDOM
ActiveDOM
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015
 
Webpack
Webpack Webpack
Webpack
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
Client responsive design
Client   responsive designClient   responsive design
Client responsive design
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8
 
Webmonkey
WebmonkeyWebmonkey
Webmonkey
 
Speed Index, explained!
Speed Index, explained!Speed Index, explained!
Speed Index, explained!
 
jQuery Conference Toronto
jQuery Conference TorontojQuery Conference Toronto
jQuery Conference Toronto
 
Bootstrap training basics tutorial | Bootstrap Essentials
Bootstrap training basics tutorial | Bootstrap EssentialsBootstrap training basics tutorial | Bootstrap Essentials
Bootstrap training basics tutorial | Bootstrap Essentials
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can build
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?
 
Ic Efaces Glass Fish Ted Goddard
Ic Efaces Glass Fish Ted GoddardIc Efaces Glass Fish Ted Goddard
Ic Efaces Glass Fish Ted Goddard
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovation
 

Destaque

Presentacio info
Presentacio infoPresentacio info
Presentacio infoolices65
 
I wish i had known at 22
I wish i had known at 22I wish i had known at 22
I wish i had known at 22Ruth Arteaga
 
Publizitate agentziak
Publizitate agentziakPublizitate agentziak
Publizitate agentziakAsier Lemuria
 
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueTask Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueSam Hennessy
 
An Introduction to Clean Code Developer
An Introduction to Clean Code DeveloperAn Introduction to Clean Code Developer
An Introduction to Clean Code DeveloperThomas Mentzel
 
Open Data - Toronto Tennis Courts Surface Material
Open Data - Toronto Tennis Courts Surface MaterialOpen Data - Toronto Tennis Courts Surface Material
Open Data - Toronto Tennis Courts Surface Materialsorayawalker
 
Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006hpduiker
 
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRack
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRackWebinar - Minimise your security risk with Hybrid Cloud and OVH vRack
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRackOVHcloud
 
Poster BSides Latam 2016
Poster BSides Latam 2016Poster BSides Latam 2016
Poster BSides Latam 2016Anchises Moraes
 
Softchoice - Microsoft Office 365 - Discussing legal concerns and informatio...
Softchoice  - Microsoft Office 365 - Discussing legal concerns and informatio...Softchoice  - Microsoft Office 365 - Discussing legal concerns and informatio...
Softchoice - Microsoft Office 365 - Discussing legal concerns and informatio...Softchoice Corporation
 
Habakiri advent calendar 2015 総まとめ!
Habakiri advent calendar 2015 総まとめ!Habakiri advent calendar 2015 総まとめ!
Habakiri advent calendar 2015 総まとめ!タカシ キタジマ
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pactandrejusb
 
7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experienceshay.shmeltzer
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
熊本地震支援サイトを30分で立ち上げ即日運用開始した話
熊本地震支援サイトを30分で立ち上げ即日運用開始した話熊本地震支援サイトを30分で立ち上げ即日運用開始した話
熊本地震支援サイトを30分で立ち上げ即日運用開始した話Cherry Pie Web
 

Destaque (20)

Presentacio info
Presentacio infoPresentacio info
Presentacio info
 
I wish i had known at 22
I wish i had known at 22I wish i had known at 22
I wish i had known at 22
 
Manual metodologia para_trabalhos_mariuma
Manual metodologia para_trabalhos_mariumaManual metodologia para_trabalhos_mariuma
Manual metodologia para_trabalhos_mariuma
 
CPD powerpoint
CPD powerpointCPD powerpoint
CPD powerpoint
 
The unbook
The unbookThe unbook
The unbook
 
Publizitate agentziak
Publizitate agentziakPublizitate agentziak
Publizitate agentziak
 
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueTask Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
 
An Introduction to Clean Code Developer
An Introduction to Clean Code DeveloperAn Introduction to Clean Code Developer
An Introduction to Clean Code Developer
 
Open Data - Toronto Tennis Courts Surface Material
Open Data - Toronto Tennis Courts Surface MaterialOpen Data - Toronto Tennis Courts Surface Material
Open Data - Toronto Tennis Courts Surface Material
 
8 марта 2016
8 марта 20168 марта 2016
8 марта 2016
 
Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006
 
з 8 березня
з 8 березняз 8 березня
з 8 березня
 
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRack
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRackWebinar - Minimise your security risk with Hybrid Cloud and OVH vRack
Webinar - Minimise your security risk with Hybrid Cloud and OVH vRack
 
Poster BSides Latam 2016
Poster BSides Latam 2016Poster BSides Latam 2016
Poster BSides Latam 2016
 
Softchoice - Microsoft Office 365 - Discussing legal concerns and informatio...
Softchoice  - Microsoft Office 365 - Discussing legal concerns and informatio...Softchoice  - Microsoft Office 365 - Discussing legal concerns and informatio...
Softchoice - Microsoft Office 365 - Discussing legal concerns and informatio...
 
Habakiri advent calendar 2015 総まとめ!
Habakiri advent calendar 2015 総まとめ!Habakiri advent calendar 2015 総まとめ!
Habakiri advent calendar 2015 総まとめ!
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
 
7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
熊本地震支援サイトを30分で立ち上げ即日運用開始した話
熊本地震支援サイトを30分で立ち上げ即日運用開始した話熊本地震支援サイトを30分で立ち上げ即日運用開始した話
熊本地震支援サイトを30分で立ち上げ即日運用開始した話
 

Semelhante a Coding the UI

Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
Seven Steps To Better JavaScript
Seven Steps To Better JavaScriptSeven Steps To Better JavaScript
Seven Steps To Better JavaScriptDen Odell
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizationsChris Love
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application developmentzonathen
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmapukdpe
 
Technology Trends
Technology TrendsTechnology Trends
Technology TrendsHenry Jacob
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Neoito — NativeScript Best Coding Practices
Neoito — NativeScript Best Coding PracticesNeoito — NativeScript Best Coding Practices
Neoito — NativeScript Best Coding PracticesNeoito
 
JavaScript For People Who Don't Code
JavaScript For People Who Don't CodeJavaScript For People Who Don't Code
JavaScript For People Who Don't CodeChristopher Schmitt
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
JavaScript - Chapter 3 - Introduction
 JavaScript - Chapter 3 - Introduction JavaScript - Chapter 3 - Introduction
JavaScript - Chapter 3 - IntroductionWebStackAcademy
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Webnewcircle
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Codemotion
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web AppsTimothy Fisher
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatiasapientindia
 

Semelhante a Coding the UI (20)

Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Seven Steps To Better JavaScript
Seven Steps To Better JavaScriptSeven Steps To Better JavaScript
Seven Steps To Better JavaScript
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Technology Trends
Technology TrendsTechnology Trends
Technology Trends
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Jquery
JqueryJquery
Jquery
 
Sexy React Stack
Sexy React StackSexy React Stack
Sexy React Stack
 
Neoito — NativeScript Best Coding Practices
Neoito — NativeScript Best Coding PracticesNeoito — NativeScript Best Coding Practices
Neoito — NativeScript Best Coding Practices
 
JavaScript For People Who Don't Code
JavaScript For People Who Don't CodeJavaScript For People Who Don't Code
JavaScript For People Who Don't Code
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
JavaScript - Chapter 3 - Introduction
 JavaScript - Chapter 3 - Introduction JavaScript - Chapter 3 - Introduction
JavaScript - Chapter 3 - Introduction
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Web
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
 

Mais de Mark Meeker

Simplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style GuideSimplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style GuideMark Meeker
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser SupportMark Meeker
 
Open and Accessible UI
Open and Accessible UIOpen and Accessible UI
Open and Accessible UIMark Meeker
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and AccessibiityMark Meeker
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyMark Meeker
 
Introduction to Front End Engineering
Introduction to Front End EngineeringIntroduction to Front End Engineering
Introduction to Front End EngineeringMark Meeker
 
Microformats: The What, Where, Why and How
Microformats: The What, Where, Why and HowMicroformats: The What, Where, Why and How
Microformats: The What, Where, Why and HowMark Meeker
 

Mais de Mark Meeker (8)

Simplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style GuideSimplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style Guide
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser Support
 
Flourish2011
Flourish2011Flourish2011
Flourish2011
 
Open and Accessible UI
Open and Accessible UIOpen and Accessible UI
Open and Accessible UI
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and Accessibiity
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
Introduction to Front End Engineering
Introduction to Front End EngineeringIntroduction to Front End Engineering
Introduction to Front End Engineering
 
Microformats: The What, Where, Why and How
Microformats: The What, Where, Why and HowMicroformats: The What, Where, Why and How
Microformats: The What, Where, Why and How
 

Último

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
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
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Último (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
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.
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

Coding the UI