Progressing and enhancing

Post on 06-May-2015

2.642 views 1 download

description

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.

Transcript of Progressing and enhancing

Progressing and enhancing.

Chris&an HeilmannSWDC, Stockholm, Sweden, June 2010

Our job as web developers is to create working solutions.

End users should not have to care what technology we used.

All they should get is an interface that works and helps them reach their goal.

They need and want to fulfil a task - not marvel at our craftsmanship.

The main problem is that we love marvelling at our craftsmanship.

The main problem is that we love marvelling at our craftsmanship.

We tend to get terribly excited about things in our little world.

And play with them to push the envelope.

We measure our successes by how much we achieve in our own world...

...rather than how many end users we made happy.

This also leads to an amazing amount of truisms floating around.

“Everybody has

JavaScript - only

freaks turn it off.”

“People e

xpect drag and

drop in

terfaces

these d

ays!”

“The iPad means the

end of web design as we

know it.”

“This can be done

easily with jQuery”

And also totally wrong statements.

“My favourite part of HTML5 is geo location!”

“The most powerful part

of CSS3 is transitions

and animations.”

To console ourselves to see that we are right, we have statistics.

But three out of five people know that 76.3% of statistics are made up on the spot.

Let me tell you what happens when you give out truisms like that.

Every time you say things like that...

This dog will disapprove... ...and these will not get fed.

The biggest fallacy in our ways is to pick a pet technology...

...and then do frigging everything in it!

Lightbox in pure CSS!

Things that look like

bad Windows 95

screensavers in Canvas

and Javascript!

Now with free 100% memory use!

Even if we don’t use the technology - we call it a CSS3 or HTML5 solution.

We arrived at:

DHTML5

With thanks to Scott Schiller

It is ironic that we don’t plan for non-JS environments but for IE6 fallbacks!

With the fallback being expression() and IE filters.

Which did almost everything WebKit extensions do now.

But without style and on much slower hardware.

expression() and filters are evil and have to die!

The main problem is our approach.

We have to emancipate ourselves from the idea of the interface as the starting point.

If we build the simplest solution first we can enhance it to whatever we want.

Including mobile!

A lot of “using newest technology” is a lame excuse for not architecting our solutions.

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)

For now, your only chance to build good web apps is progressive enhancement.

Both these solutions started the same way.

Getting data from a web service on the server and rendering out HTML for CSS and JS to access.

If you want to build things for the web you will need to use all these technologies.

Otherwise you are reliant on software vendors - and that is a bad idea.

We did this for IE6 and that is why there are so many bad web applications out there.

It seems to be impossible to get rid of IE6 because of that - but I have a solution!

The Amelie approach to the IE6 problem.

Despite of what I said earlier, there is one filter we can use to solve one of our problems.

No filter

Slight filter

Applied randomly every few seconds with a slight blur this can be effective.

If we build the simplest solution first we can enhance it to whatever we want.

We leave this in our code for a few months.

Maybe persuade Google to add it to AdSense!

When people complain, we say that our code is bug free - it is a mystery.

Then we get some “experts” to tell the press that it might be software fatigue.

=

That way we turn IE6 from a technical problem to a health and safety issue!

And corporate HR carries more clout than corporate IT!

If we all work together, we can win this!http://icant.co.uk/ie6-amelie/

Christian Heilmann http://wait-till-i.com http://developer-evangelism.com http://twitter.com/codepo8

Thanks!