SlideShare a Scribd company logo
Finding harmony in web
development




               Chris Heilmann - London Web Meetup, February 2011
You are in a strange
place.
To the west is a
rock, to the east is
a hard place, to the
north is the Devil
and the south is the
Deep Blue Sea.
Command:_
A world of mixed
messages
A world of constant
disagreement and overly
quick and harsh responses.
Let’s take a current hot
topic...
http://twitter.com/#!/codepo8
             vs.
 http://twitter.com/codepo8
Erase and rewind.
Basic Hypertext model:
Document            Document           Document
 Text text                             Text text
                    Text text
 text link                             text link
                    text text   load
 text text   load                      text text
                    link text
 text link                             text link
                    link text
   text                                  text
Frames!
100% Flash Sites
AJAX!
Fragments vs. documents.
Load on demand vs.
massive documents.
Application state vs.
fragments.
Breaking stuff...
★ Back   button
★ Browser   history
★ Bookmarks

★ Deep   links / Crawlability
Actions are applicable in a
certain environment.
Web sites
★ Back   button
★ Browser   history
★ Bookmarks

★ Deep   links / Crawlability
Web applications
★ Back   button
★ Browser   history
★ Bookmarks

★ Deep   links / Crawlability
               https://heatmap.mozillalabs.com/mozmetrics/
You miss all SEO benefits!




             http://www.flickr.com/photos/artonice/4599768501/
Standards to the rescue...




http://www.w3.org/TR/html5/author/history.html
Scripts to the rescue...
Finding harmony in web development
Web Site

              Identity crisis...




Application
Religious debates
Saving the long web!
2.42
         8.6 3.25
 ttp://17
h
Broken
links are
broken
promises
7216
5041
Web vs. Contracts
Finding harmony in web development
Corporate
shortsightedness?
2005-2010


          101
http://icant.co.uk/csstablegallery
67
http://icant.co.uk/csstablegallery/tables/2.php
Show love to your links,
but don’t kid yourself and
others - there is no “long
web”.
Web vs. Realtime Web
http://packrati.us
https://github.com/anantn/slurp
Links and resources are
great, but knowing people
and having a network gets
you somewhere!
Best practices are
timeless!
The holy trinity according
to the book of Zeldman.

           Behaviour
          (JavaScript)

        Presentation
           (CSS)

    Structure (HTML)
The reality according to
people you ask these days.

                 JavaScript
                  libraries,
             polyfills, templating
             languages and “real
         languages” translated to JS.

    CSS - created with a meta language as
          it lacks variables and stuff.
            Some HTML Placeholder stuff
Of course depending on
what they do...
                      jQuery!


               CSS OMFG!!!! CSS3
            Transition and Animation
            and Shadows and fonts!
                OMG OMG OMG!


   clean HTML from Expression Engine or Wordpress.
We tend to define tech by
how we use it rather than
what it is meant to do.
This yields a plethora of
different definitions.
What is HTML?
★   JavaScript’s bitch (empty elements, links
    pointing nowhere, content to show and
    hide)
★   A static database (microformats, semantics
    of awesome)
★   The thing Google loves
★   The end result of using real languages on
    the server.
★   Outdated
What is CSS?
★   Something to style and animate with - really
    the thing that makes the web interesting.
★   Something to simulate layouts with and
    hope they work.
★   Not good enough - it needs variables and
    constants and mixins and all the other cool
    thing real languages have.
★   Broken
What is JavaScript?
★   The predecessor to jQuery.
★   Dangerous - use noscript.
★   Awesome, use it with node.js to see why it
    rocks.
★   Too hard to learn.
★   Broken. Time to use LUA/Python/Ruby/
    Coffescript instead.
★   The thing Crockford understands.
Time for a more flexible
approach it seems.
Agile and small one-size-
fits-all solutions are the
future.
jQuery.com - 2006
There’s a plugin for that!
Lots of small, very clever
solutions adding up...




           http://www.flickr.com/photos/wheatfields/3026491551/
Is modularity extra
complexity?
shrtr = btr!
B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]
=='x'?'FF2':/a/[-1]=='a'?'FF':'v'=='v'?'IE':/
a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/
^function (/.test([].sort)?'Op':'Unknown';




“Clearly	
  code	
  quality	
  is	
  not	
  
important	
  to	
  you,	
  or	
  you	
  would	
  not	
  
be	
  demanding	
  your	
  right	
  to	
  write	
  
incompetent	
  crap.”
                                   Douglas	
  Crockford
<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>blah</title>
</head>
<body>
<p>I'm the content</p>
</body>
</html>
http://html5boilerplate.com/
http://initializr.com/
Web content is a mix of
different technologies to
make them work and
display correctly...
Showing them off
separately paints a wrong
image!
Getting it out the door as
quickly as possible -
reiterate and fix later.




              http://www.flickr.com/photos/artonice/4599768501/
Abstracting problems into
new languages and
preprocessing.
Unknown overheads:
★ Portability.
★ Training of all involved.
★ Explanation of abstraction layers for
  maintainers.
★ Performance impact (can the client/
  server handle it?).
★ Impact on UX/PM.
Another	
  flaw	
  in	
  the	
  human	
  
character	
  is	
  that	
  everybody	
  
wants	
  to	
  build	
  and	
  nobody	
  
wants	
  to	
  do	
  maintenance.

               Kurt	
  Vonnegut,	
  Hocus	
  Pocus
The community knows
best.




              http://tools.ietf.org/html/rfc2795
“If	
  you	
  animate	
  things,	
  do	
  it	
  
in	
  CSS!	
  CSS	
  transitions	
  and	
  
animations	
  are	
  are	
  faster	
  as	
  
they	
  are	
  hardware	
  accelerated	
  
and	
  people	
  don’t	
  need	
  to	
  
learn	
  JavaScript!”
“Using	
  a	
  Mac	
  is	
  the	
  best	
  thing	
  
you	
  can	
  do	
  right	
  now,	
  but	
  be	
  
careful	
  as	
  everything	
  is	
  faster	
  
and	
  looks	
  much	
  smoother	
  
there!	
  Test	
  in	
  a	
  VM,	
  too!”
“Chrome	
  is	
  currently	
  the	
  
fastest	
  browser	
  -­‐	
  no	
  point	
  in	
  
using	
  any	
  other	
  if	
  you	
  want	
  to	
  
build	
  things	
  fast.”
https://developers.facebook.com/blog/post/460
On	
  desktops,	
  using	
  CSS	
  
      transitions	
  for	
  motion	
  or	
  CSS	
  
      keyframes	
  for	
  animations	
  were	
  
      slower	
  than	
  simply	
  using	
  
      JavaScript	
  for	
  these	
  tasks.	
  
      Worse,	
  they	
  often	
  generated	
  
      noisy	
  framerates,	
  so	
  they	
  are	
  not	
  
      a	
  good	
  solution	
  for	
  games	
  in	
  
      desktop	
  browsers.


https://developers.facebook.com/blog/post/460
Finding harmony in web development
Sentiment vs. research




         http://twitter.com/tomcopy/statuses/36378510465433600
Bring on the hyperboles!
Finding harmony in web development
SEO techniques - anything
to stand out.
(...)
Finding harmony in web development
Are we really that broken
as a media that experts
need to resort to tricks to
lure us to content?
Finding harmony in web development
All this sensationalism
doesn’t get us anywhere...
So many theories, so many
prophecies. What we need
now is a change of ideas!
I am worried about the
internet right now.
From read/write web to
consumption media.
Net neutrality? Censorship
and government control?
I am worried about lock-in
to certain systems.
Formal education vs.
needs of the market.
We believe that the web is
more cared for than
owned.
We are the people who
make the web work - we
should have fun doing it!
First up: Chill the f*ck out!
Stop yourself from
spouting truisms and do
some reflection.
Encouraging discussion
and explaining your POV is
a great way towards
finding solutions.
Finding harmony in web development
Finding harmony in web development
Context is king!
There is no such thing as a
perfect web product that
meets all needs of the web
audience.
Explaining the context of a
product makes sure
people don’t measure it
with the wrong values...
...or implement it where it
doesn’t fit.
Let’s move from
showcases to case studies.
We have inspiration
overload and a lack of real
implementations.
The main market we work
for needs to get a push to
move on.
Let’s focus on the future
and apply something I call
“web euthanasia”.
Redirect old and outdated
tutorials to new and
maintained resources!
Offer a basic, working
experience for legacy
browsers - not more, not
less.
Simulating new tech with
old platforms means we
also need to test with
them - wasting time!
Let’s take ownership of
the web our jobs are
dependent on!
http://jsconfeu.blip.tv/file/4234500/
Question authority
Our job is to make the
web of tomorrow better
than the web of today.
This means we need to let
go of some old ideas and
be flexible.
It also means to
concentrate on our
outcome, not our ego.
So instead of creating a lot
of soon-to-be outdated
“look what I did” posts,
let’s collaborate.
Forrst



         http://forrst.com/
Forrst



         http://jsfiddle.net/
http://jsbin.com/
https://github.com/
Go where people are who
build for the web, but
aren’t where we normally
go (conferences, meetups)
http://stackoverflow.com/
http://www.quora.com/
Everyone of you has
something to contribute.
Tell others, work together
and build *real* products!
Thanks!
Chris Heilmann
@codepo8
#mozilla
#html5/freenet

More Related Content

What's hot (20)

PDF
Do The Work
Lori Olson
 
PDF
So…What Do I Make? (Dan Mall)
Future Insights
 
PDF
All the small things… - Awwwards 2016
Christian Heilmann
 
PDF
Responsive webdesign
Bart De Waele
 
PDF
Hacking For Innovation Delhi
Christian Heilmann
 
PDF
Why HTML5 is getting on my nerves…
Avenga Germany GmbH
 
PDF
Shifting Gears
Christian Heilmann
 
PDF
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?
Andy Davies
 
PDF
10 Web Performance Lessons For the 21st Century
Mateusz Kwasniewski
 
PDF
The Death of Lorem Ipsum & Pixel Perfect Content
Dave Olsen
 
PDF
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies
 
ZIP
2011 07 Living without your Linemen—OSCON
terry chay
 
PDF
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
KEY
[2010]我有一个梦想
Twinsen Liang
 
PDF
Speed is Essential for a Great Web Experience
Andy Davies
 
PDF
Are Today's Good Practices… Tomorrow's Performance Anti-Patterns
Andy Davies
 
PDF
How you can become an Accessibility Superhero
robzonenet
 
PDF
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
Dave Olsen
 
PDF
Business of Front-end Web Development
Rachel Andrew
 
PDF
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 
Do The Work
Lori Olson
 
So…What Do I Make? (Dan Mall)
Future Insights
 
All the small things… - Awwwards 2016
Christian Heilmann
 
Responsive webdesign
Bart De Waele
 
Hacking For Innovation Delhi
Christian Heilmann
 
Why HTML5 is getting on my nerves…
Avenga Germany GmbH
 
Shifting Gears
Christian Heilmann
 
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?
Andy Davies
 
10 Web Performance Lessons For the 21st Century
Mateusz Kwasniewski
 
The Death of Lorem Ipsum & Pixel Perfect Content
Dave Olsen
 
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies
 
2011 07 Living without your Linemen—OSCON
terry chay
 
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
[2010]我有一个梦想
Twinsen Liang
 
Speed is Essential for a Great Web Experience
Andy Davies
 
Are Today's Good Practices… Tomorrow's Performance Anti-Patterns
Andy Davies
 
How you can become an Accessibility Superhero
robzonenet
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
Dave Olsen
 
Business of Front-end Web Development
Rachel Andrew
 
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 

Similar to Finding harmony in web development (20)

PDF
Rapid Evolution of Web Dev? aka Talking About The Web
PINT Inc
 
PDF
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
jward5519
 
PPT
Decoding the Web
newcircle
 
PDF
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
Marco Cedaro
 
PDF
Building a better web with free, open technologies
Christian Heilmann
 
PDF
HTML5 - Moving from hacks to solutions
Christian Heilmann
 
PDF
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
Marco Cedaro
 
PDF
Web Development for UX Designers
Ashlimarie
 
PDF
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
PPT
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Chris Wilson
 
PDF
The prestige of being a web developer (no notes)
Christian Heilmann
 
PDF
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
PDF
HTML5 Technical Executive Summary
Gilad Khen
 
PDF
Professional web development with libraries
Christian Heilmann
 
KEY
Introduction to HTML5/CSS3 In Drupal 7
Mediacurrent
 
PDF
Rubbing the Sankara Stones the wrong way - From the Front 2014
Christian Heilmann
 
KEY
HTML CSS & Javascript
David Lindkvist
 
PPT
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
PPTX
Toronto HTML5 User Group Meet Up #2 – Application Development with HTML 5
Nathaniel Bagnell
 
PDF
Front Porch Keynote 2014
amboy00
 
Rapid Evolution of Web Dev? aka Talking About The Web
PINT Inc
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
jward5519
 
Decoding the Web
newcircle
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
Marco Cedaro
 
Building a better web with free, open technologies
Christian Heilmann
 
HTML5 - Moving from hacks to solutions
Christian Heilmann
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
Marco Cedaro
 
Web Development for UX Designers
Ashlimarie
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Chris Wilson
 
The prestige of being a web developer (no notes)
Christian Heilmann
 
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5 Technical Executive Summary
Gilad Khen
 
Professional web development with libraries
Christian Heilmann
 
Introduction to HTML5/CSS3 In Drupal 7
Mediacurrent
 
Rubbing the Sankara Stones the wrong way - From the Front 2014
Christian Heilmann
 
HTML CSS & Javascript
David Lindkvist
 
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
Toronto HTML5 User Group Meet Up #2 – Application Development with HTML 5
Nathaniel Bagnell
 
Front Porch Keynote 2014
amboy00
 
Ad

More from Christian Heilmann (20)

PPTX
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
PDF
Hinting at a better web
Christian Heilmann
 
PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
PDF
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
PDF
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
PDF
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Five ways to be a happier JavaScript developer
Christian Heilmann
 
PDF
Taking the P out of PWA
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
You learned JavaScript - now what?
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
PPTX
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
PDF
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
PDF
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
PDF
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
PDF
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
Hinting at a better web
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Five ways to be a happier JavaScript developer
Christian Heilmann
 
Taking the P out of PWA
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
You learned JavaScript - now what?
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Ad

Recently uploaded (20)

PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 

Finding harmony in web development