Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Progressing and enhancing

My talk at the Scandinavian Developer Conference 2010 about following the wrong principles and getting too excited about shiny demos rather than building things that work and proving our technologies as professional tools.

  • Login to see the comments

Progressing and enhancing

  1. 1. Progressing and enhancing. Chris&an Heilmann SWDC, Stockholm, Sweden, June 2010
  2. 2. Our job as web developers is to create working solutions.
  3. 3. End users should not have to care what technology we used.
  4. 4. All they should get is an interface that works and helps them reach their goal.
  5. 5. They need and want to fulfil a task - not marvel at our craftsmanship.
  6. 6. The main problem is that we love marvelling at our craftsmanship.
  7. 7. We tend to get terribly excited about things in our little world.
  8. 8. And play with them to push the envelope.
  9. 9. We measure our successes by how much we achieve in our own world...
  10. 10. ...rather than how many end users we made happy.
  11. 11. This also leads to an amazing amount of truisms floating around.
  12. 12. “Ev ery Java bod Scr yh frea ipt as ks t - on urn ly it of f.”
  13. 13. d n !” g a s ra day d e t es ec h p ex es t le ac op rf P e “ in te d r op
  14. 14. ns t he m ea e i Pa d a sw “ T he de si gn fw eb en d o ow i t.” kn
  15. 15. “Th easi is c an b ly w e do ith ne jQu ery”
  16. 16. And also totally wrong statements.
  17. 17. “My favou HTM rite p art of L5 is locati geo on!”
  18. 18. erfu lp art ost pow “T he m sitions S3 is t ran of CS tion s.” and an ima
  19. 19. To console ourselves to see that we are right, we have statistics.
  20. 20. But three out of five people know that 76.3% of statistics are made up on the spot.
  21. 21. Let me tell you what happens when you give out truisms like that.
  22. 22. Every time you say things like that... This dog will disapprove... ...and these will not get fed.
  23. 23. The biggest fallacy in our ways is to pick a pet technology...
  24. 24. ...and then do frigging everything in it!
  25. 25. Ligh tbox in pu re CS S!
  26. 26. look like hin gs that T ows 95 ba dW ind Can vas nsa vers in s cree scr ipt! and Java Now with fr ee 100% me mory use!
  27. 27. Even if we don’t use the technology - we call it a CSS3 or HTML5 solution.
  28. 28. We arrived at: DHTML5 With thanks to Scott Schiller
  29. 29. It is ironic that we don’t plan for non- JS environments but for IE6 fallbacks!
  30. 30. With the fallback being expression() and IE filters.
  31. 31. Which did almost everything WebKit extensions do now.
  32. 32. But without style and on much slower hardware.
  33. 33. expression() and filters are evil and have to die!
  34. 34. The main problem is our approach.
  35. 35. We have to emancipate ourselves from the idea of the interface as the starting point.
  36. 36. If we build the simplest solution first we can enhance it to whatever we want.
  37. 37. Including mobile!
  38. 38. A lot of “using newest technology” is a lame excuse for not architecting our solutions.
  39. 39. There are real issues HTML5 and CSS3 need to solve: ★ Security ★ Hardware Access (Camera, Location, 3D accelleration) ★ Native rich controls ★ Layout ★ Internationalisation ★ Accessibility ★ Rich Media (video, audio)
  40. 40. For now, your only chance to build good web apps is progressive enhancement.
  41. 41. Demo time!
  42. 42. Demo time!
  43. 43.
  44. 44. Both these solutions started the same way.
  45. 45. Getting data from a web service on the server and rendering out HTML for CSS and JS to access.
  46. 46. If you want to build things for the web you will need to use all these technologies.
  47. 47. Otherwise you are reliant on software vendors - and that is a bad idea.
  48. 48. We did this for IE6 and that is why there are so many bad web applications out there.
  49. 49. It seems to be impossible to get rid of IE6 because of that - but I have a solution!
  50. 50. The Amelie approach to the IE6 problem.
  51. 51. Despite of what I said earlier, there is one filter we can use to solve one of our problems.
  52. 52. One of the most pointless IE filters ever created is blur(). ms532979%28VS.85%29.aspx
  53. 53. No filter Slight filter
  54. 54. Applied randomly every few seconds with a slight blur this can be effective.
  55. 55. If we build the simplest solution first we can enhance it to whatever we want.
  56. 56.
  57. 57. We leave this in our code for a few months.
  58. 58. Maybe persuade Google to add it to AdSense!
  59. 59. When people complain, we say that our code is bug free - it is a mystery.
  60. 60. Then we get some “experts” to tell the press that it might be software fatigue.
  61. 61. =
  62. 62. That way we turn IE6 from a technical problem to a health and safety issue!
  63. 63. And corporate HR carries more clout than corporate IT!
  64. 64. If we all work together, we can win this!
  65. 65. Christian Heilmann Thanks!