SlideShare a Scribd company logo
1 of 32
Twitter hashtag:


#des4mo
The good news

 Good mobile web development only requires
  understanding of XHTML / CSS, and best practices in
  Web Standards-based design as they’ve been
  highlighted in the last handful of years
 Mobile web sites are easier than ever before to build.



           …not as good..?
 Easier said than done.
On with the Semanticity…
Semantic Markup

 General definition:
    “The meaning of the element or property in relation to the
     content which it describes”

 Mine:
    “Content in context”
    or… “XHTML elements used correctly.”

 Specifically:
    XHTML has structure-creating elements and attributes that
     enrich content.
Enriched how?

 Markup structure enriches content through assigned:
      Intonation
      Pauses
      Rhythm, timing
      Punctuation
      facial expressions and body language
       …. very likely half your message.
   
And Markup is..?

Text annotation describing how its content is to be structured, laid out, or
                              formatted.

            In our case, HTML: Hypertext Markup Language



           <tag attribute=quot;valuequot;>Loremipsum.</tag>
Semantic vs…well, bad
Bad HTML

 PRESENTATIONAL:
      “this is red,”
  
      “this is Arial and is aligned center.”
  
     Inflexible, poor longevity, little reuse.
     Worst offenders are tools that hide markup from author.

 DELIBERATE:
     were created specifically for presentation
     elements have no semantic meaning
     Elements: <center>, <font>, <frame>, <iframe>
     Attributes: align, face and size, width, height
Bad HTML

<center>
<font face=quot;arialquot; size=quot;4quot;>Acme Inc.</font>
<font color=quot;redquot; size=quot;1quot;>Pseudo-reliable products</font>
</center>




     PRESENTATIONAL with DELIBERATE elements
Bad HTML

<table border=quot;1quot; cellspacing=quot;5quot; cellpadding=quot;5quot;>
<tr>
<td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td>
<td width=quot;150quot;>Item 1</td>
</tr>
<tr>
<td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td>
<td width=quot;150quot;>Item 2</td>
</tr>
<tr>
<td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td>
<td width=quot;150quot;>Item 3</td>
</tr>
</table>
Bad HTML

                   <table> != layout format

 PROBLEM: presentation embedded in markup
      Development more difficult
       Cumbersome and difficult to support – let alone maintain
   
      Restricts adaptability. Not optimum for repurposing for multiple
       devices.
      Increased file size
      AT BEST, using tables for layout will result in poor performance and
       rendering results out of left field.

 SOLUTION: flexibility and lower document size achieved through
  CSS-based layout. Separate the layers.
Semantic HTML

 DESCRIPTIVE:
    Doesn’t insist what you (browsers, actually) should do
     with it; only says what it is.
    Open-ended, large-scale publishing enabled.
    Flexible and reusable.

          <h1>Acme Inc.</h1>
          <p>Pseudo-reliable products</p>

 Expresses on behalf of the document’s content.
Semantic HTML

  <ul class=quot;menuquot;>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  </ul>
Semantic HTML

<table>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
<tr>
<td class=quot;productquot;>Jet Pack</td>
<td class=quot;pricequot;>$199</td>
</tr>
<tr>
<td class=quot;productquot;>Rope</td>
<td class=quot;pricequot;>$19</td>
</tr>
</table>
Semantic HTML

                 <table> == tabular data

 CHALLENGE: even for tabular data, tables are not guaranteed
  to work well or render accurately on some mobile browsers,
  especially with smaller screens.

 ACCEPTABLE ALTERNATE: Definition lists, <dl>, can be used
  to express relationships between data values.
Semantic HTML

 <dl>
 <dt>Jet Pack</dt>
 <dd>$199</dd>
 <dt>Rope</dt>
 <dd>$19</dd>
 </dl>
Semantic HTML

 ABUSED: elements possess semantic meaning, but
  used incorrectly because of their default browser
  rendering.

 <blockquote>Loremipsum dolor sit</blockquote>


    <blockquote> != indent this
    <h1> != big and bold
    <table> != let’s create some visual columns
Think different: structurally

 Don’t think on how the content looks, it doesn’t
  matter… yet.

 Not yet a layout, only a structure of content blocks
  with related meaning.

 Describe your content by assigning the most precise
  HTML building block.

 Once structurally sound, it’s ready to be told how to
  appear. Bring in your style layer.
Variety found in…

       Devices

     XHTML Basic

     XHTML-MP

      CSS or no

       Colors

      Tables…
Let’s put that aside; more pressing concerns…
Constraints

 Connection speed

Bandwidth allotment

    Battery life

       CPU

     Memory
Consider…

 ASSUMPTIONS:
   users in a mobile context are more keen on the
    information they want to view now.
   browsing behavior more likely to be
    Information-seeking.
   expect an unobstructed view through well-structured
    content.
Consider…

 THEREFORE:
   Presentation is secondary
   Content and functionality are primary
We owe it to them.

Enable sites and its compelling content
       and features to reach them
      faster and still be compelling.
What’s the good news again?
The good news

 Good mobile web development only requires
  understanding of XHTML / CSS, and best practices
  in Web Standards-based as they’ve been
  highlighted in the last handful of years

 Mobile web sites are easier than every before to
  build.

 And let me add: 5+ years worth of knowledge and
  resources everywhere at your disposal begging to
  help you.
The good news

Stick to these practices and the amount of worry
diminishes about testing across every possible
                   rendering.

   Design and Develop with confidence
Semantics & the Mobile Web

More Related Content

What's hot

Intro 1 sept_14_2010
Intro 1 sept_14_2010Intro 1 sept_14_2010
Intro 1 sept_14_2010Andrey L
 
HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.Beqa Chacha
 
Using HTML5 and CSS3 today
Using HTML5 and CSS3 todayUsing HTML5 and CSS3 today
Using HTML5 and CSS3 todaythebeebs
 
How to update HTML files
How to update HTML filesHow to update HTML files
How to update HTML filesJadeMagnet
 
Web publishing and XHTML
Web publishing and XHTMLWeb publishing and XHTML
Web publishing and XHTMLbjornh
 
Website designing company in delhi
Website designing company in delhiWebsite designing company in delhi
Website designing company in delhiCss Founder
 
Xhtml Part1
Xhtml Part1Xhtml Part1
Xhtml Part1nleesite
 
YL Intro html
YL Intro htmlYL Intro html
YL Intro htmldilom1986
 
Onpage SEO Essentials
Onpage SEO EssentialsOnpage SEO Essentials
Onpage SEO EssentialsSEOBANK
 
How an html file is structured
How an html file is structuredHow an html file is structured
How an html file is structuredcrmolloy
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Hamlet Batista
 
Technical SEO Terms for Advanced SEO
Technical SEO Terms for Advanced SEOTechnical SEO Terms for Advanced SEO
Technical SEO Terms for Advanced SEOsaraswati88
 
Jade & Javascript templating
Jade & Javascript templatingJade & Javascript templating
Jade & Javascript templatingwearefractal
 

What's hot (19)

Intro 1 sept_14_2010
Intro 1 sept_14_2010Intro 1 sept_14_2010
Intro 1 sept_14_2010
 
HTML to FTP
HTML to FTPHTML to FTP
HTML to FTP
 
HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.
 
Learning HTML
Learning HTMLLearning HTML
Learning HTML
 
Using HTML5 and CSS3 today
Using HTML5 and CSS3 todayUsing HTML5 and CSS3 today
Using HTML5 and CSS3 today
 
How To Write Beautiful Code
How To Write Beautiful CodeHow To Write Beautiful Code
How To Write Beautiful Code
 
How to update HTML files
How to update HTML filesHow to update HTML files
How to update HTML files
 
Web publishing and XHTML
Web publishing and XHTMLWeb publishing and XHTML
Web publishing and XHTML
 
Website designing company in delhi
Website designing company in delhiWebsite designing company in delhi
Website designing company in delhi
 
CSS
CSSCSS
CSS
 
Xhtml Part1
Xhtml Part1Xhtml Part1
Xhtml Part1
 
Enigma codes
Enigma codesEnigma codes
Enigma codes
 
Basic HTML
Basic HTMLBasic HTML
Basic HTML
 
YL Intro html
YL Intro htmlYL Intro html
YL Intro html
 
Onpage SEO Essentials
Onpage SEO EssentialsOnpage SEO Essentials
Onpage SEO Essentials
 
How an html file is structured
How an html file is structuredHow an html file is structured
How an html file is structured
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
 
Technical SEO Terms for Advanced SEO
Technical SEO Terms for Advanced SEOTechnical SEO Terms for Advanced SEO
Technical SEO Terms for Advanced SEO
 
Jade & Javascript templating
Jade & Javascript templatingJade & Javascript templating
Jade & Javascript templating
 

Viewers also liked

Kerry Taylor - Semantics & sensors
Kerry Taylor - Semantics & sensorsKerry Taylor - Semantics & sensors
Kerry Taylor - Semantics & sensorsWeb Directions
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitudeWith Company
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Viewers also liked (6)

Kerry Taylor - Semantics & sensors
Kerry Taylor - Semantics & sensorsKerry Taylor - Semantics & sensors
Kerry Taylor - Semantics & sensors
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitude
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similar to Semantics & the Mobile Web

Michael(tm) Smith ED09 presentation
Michael(tm) Smith ED09 presentationMichael(tm) Smith ED09 presentation
Michael(tm) Smith ED09 presentationMichael(tm) Smith
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09pemaquid
 
Introduction to Web Design
Introduction to Web DesignIntroduction to Web Design
Introduction to Web Designwebhostingguy
 
HTML5 - One spec to rule them all
HTML5 - One spec to rule them allHTML5 - One spec to rule them all
HTML5 - One spec to rule them allStu King
 
Microformats HTML to API
Microformats HTML to APIMicroformats HTML to API
Microformats HTML to APIelliando dias
 
Lecture 1 - Comm Lab: Web @ ITP
Lecture 1 - Comm Lab: Web @ ITPLecture 1 - Comm Lab: Web @ ITP
Lecture 1 - Comm Lab: Web @ ITPyucefmerhi
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet ApplicationsSubramanyan Murali
 
Block2 Session2 Presentation
Block2 Session2 PresentationBlock2 Session2 Presentation
Block2 Session2 PresentationMichael Gwyther
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from AustinLisa Adkins
 
Web design 2 - Basic HTML 2010
Web design 2 - Basic HTML 2010Web design 2 - Basic HTML 2010
Web design 2 - Basic HTML 2010Matthew Mobbs
 
introduction to web technology
introduction to web technologyintroduction to web technology
introduction to web technologyvikram singh
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web developmentEstelle Weyl
 
HTML Advanced
HTML AdvancedHTML Advanced
HTML Advancedc525600
 
Web designing using html
Web designing using htmlWeb designing using html
Web designing using htmljulicris021488
 

Similar to Semantics & the Mobile Web (20)

Michael(tm) Smith ED09 presentation
Michael(tm) Smith ED09 presentationMichael(tm) Smith ED09 presentation
Michael(tm) Smith ED09 presentation
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09
 
Introduction to Web Design
Introduction to Web DesignIntroduction to Web Design
Introduction to Web Design
 
HTML5 - One spec to rule them all
HTML5 - One spec to rule them allHTML5 - One spec to rule them all
HTML5 - One spec to rule them all
 
Microformats HTML to API
Microformats HTML to APIMicroformats HTML to API
Microformats HTML to API
 
(SEO) Search Engine Optimization
(SEO) Search Engine Optimization(SEO) Search Engine Optimization
(SEO) Search Engine Optimization
 
Lecture 1 - Comm Lab: Web @ ITP
Lecture 1 - Comm Lab: Web @ ITPLecture 1 - Comm Lab: Web @ ITP
Lecture 1 - Comm Lab: Web @ ITP
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet Applications
 
Block2 Session2 Presentation
Block2 Session2 PresentationBlock2 Session2 Presentation
Block2 Session2 Presentation
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from Austin
 
Creating a Webpage
Creating a WebpageCreating a Webpage
Creating a Webpage
 
Web design 2 - Basic HTML 2010
Web design 2 - Basic HTML 2010Web design 2 - Basic HTML 2010
Web design 2 - Basic HTML 2010
 
introduction to web technology
introduction to web technologyintroduction to web technology
introduction to web technology
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web development
 
HTML Advanced
HTML AdvancedHTML Advanced
HTML Advanced
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
 
Html Expression Web
Html Expression WebHtml Expression Web
Html Expression Web
 
Html
HtmlHtml
Html
 
Web designing using html
Web designing using htmlWeb designing using html
Web designing using html
 
Introducing YUI
Introducing YUIIntroducing YUI
Introducing YUI
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Semantics & the Mobile Web

  • 1.
  • 3. The good news  Good mobile web development only requires understanding of XHTML / CSS, and best practices in Web Standards-based design as they’ve been highlighted in the last handful of years  Mobile web sites are easier than ever before to build. …not as good..?  Easier said than done.
  • 4. On with the Semanticity…
  • 5. Semantic Markup  General definition:  “The meaning of the element or property in relation to the content which it describes”  Mine:  “Content in context”  or… “XHTML elements used correctly.”  Specifically:  XHTML has structure-creating elements and attributes that enrich content.
  • 6. Enriched how?  Markup structure enriches content through assigned:  Intonation  Pauses  Rhythm, timing  Punctuation  facial expressions and body language …. very likely half your message. 
  • 7. And Markup is..? Text annotation describing how its content is to be structured, laid out, or formatted. In our case, HTML: Hypertext Markup Language <tag attribute=quot;valuequot;>Loremipsum.</tag>
  • 9. Bad HTML  PRESENTATIONAL: “this is red,”  “this is Arial and is aligned center.”   Inflexible, poor longevity, little reuse.  Worst offenders are tools that hide markup from author.  DELIBERATE:  were created specifically for presentation  elements have no semantic meaning  Elements: <center>, <font>, <frame>, <iframe>  Attributes: align, face and size, width, height
  • 10. Bad HTML <center> <font face=quot;arialquot; size=quot;4quot;>Acme Inc.</font> <font color=quot;redquot; size=quot;1quot;>Pseudo-reliable products</font> </center>  PRESENTATIONAL with DELIBERATE elements
  • 11. Bad HTML <table border=quot;1quot; cellspacing=quot;5quot; cellpadding=quot;5quot;> <tr> <td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td> <td width=quot;150quot;>Item 1</td> </tr> <tr> <td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td> <td width=quot;150quot;>Item 2</td> </tr> <tr> <td width=quot;10quot;><imgsrc=quot;bullet.gifquot; /></td> <td width=quot;150quot;>Item 3</td> </tr> </table>
  • 12. Bad HTML <table> != layout format  PROBLEM: presentation embedded in markup  Development more difficult Cumbersome and difficult to support – let alone maintain   Restricts adaptability. Not optimum for repurposing for multiple devices.  Increased file size  AT BEST, using tables for layout will result in poor performance and rendering results out of left field.  SOLUTION: flexibility and lower document size achieved through CSS-based layout. Separate the layers.
  • 13. Semantic HTML  DESCRIPTIVE:  Doesn’t insist what you (browsers, actually) should do with it; only says what it is.  Open-ended, large-scale publishing enabled.  Flexible and reusable. <h1>Acme Inc.</h1> <p>Pseudo-reliable products</p>  Expresses on behalf of the document’s content.
  • 14. Semantic HTML <ul class=quot;menuquot;> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul>
  • 15. Semantic HTML <table> <tr> <th>Product</th> <th>Price</th> </tr> <tr> <td class=quot;productquot;>Jet Pack</td> <td class=quot;pricequot;>$199</td> </tr> <tr> <td class=quot;productquot;>Rope</td> <td class=quot;pricequot;>$19</td> </tr> </table>
  • 16. Semantic HTML <table> == tabular data  CHALLENGE: even for tabular data, tables are not guaranteed to work well or render accurately on some mobile browsers, especially with smaller screens.  ACCEPTABLE ALTERNATE: Definition lists, <dl>, can be used to express relationships between data values.
  • 17. Semantic HTML <dl> <dt>Jet Pack</dt> <dd>$199</dd> <dt>Rope</dt> <dd>$19</dd> </dl>
  • 18. Semantic HTML  ABUSED: elements possess semantic meaning, but used incorrectly because of their default browser rendering. <blockquote>Loremipsum dolor sit</blockquote>  <blockquote> != indent this  <h1> != big and bold  <table> != let’s create some visual columns
  • 19.
  • 20. Think different: structurally  Don’t think on how the content looks, it doesn’t matter… yet.  Not yet a layout, only a structure of content blocks with related meaning.  Describe your content by assigning the most precise HTML building block.  Once structurally sound, it’s ready to be told how to appear. Bring in your style layer.
  • 21.
  • 22.
  • 23. Variety found in… Devices XHTML Basic XHTML-MP CSS or no Colors Tables…
  • 24. Let’s put that aside; more pressing concerns…
  • 25. Constraints Connection speed Bandwidth allotment Battery life CPU Memory
  • 26. Consider…  ASSUMPTIONS:  users in a mobile context are more keen on the information they want to view now.  browsing behavior more likely to be Information-seeking.  expect an unobstructed view through well-structured content.
  • 27. Consider…  THEREFORE:  Presentation is secondary  Content and functionality are primary
  • 28. We owe it to them. Enable sites and its compelling content and features to reach them faster and still be compelling.
  • 29. What’s the good news again?
  • 30. The good news  Good mobile web development only requires understanding of XHTML / CSS, and best practices in Web Standards-based as they’ve been highlighted in the last handful of years  Mobile web sites are easier than every before to build.  And let me add: 5+ years worth of knowledge and resources everywhere at your disposal begging to help you.
  • 31. The good news Stick to these practices and the amount of worry diminishes about testing across every possible rendering. Design and Develop with confidence