Posts Tagged ‘web’

My Thoughts On Steve Jobs’ Thoughts On Flash

Thursday, April 29th, 2010

Steve Jobs just released an open letter to the mobile community explaining why Apple refuses to put Flash on any of its mobile devices.

It’s an informative read. But if anything stands out, it’s this: we’re at a technology crossroads and Flash as a rich internet application delivery medium is facing extinction (whether proponents of the technology want to acknowledge it or not).

The reason is pretty clear, Flash was a great stop-gap measure for a web without native rich media support. But now that native web technologies have matured some, Flash will begin to lose relevance. In fact, there’s really only one way Flash will survive as a viable option going forward: go open source. Please note, I’m not talking about Flash development tools here, I’m talking about the Flash browser plugin.

You don’t buy it? Remember back when we used to encode all our videos in RealVideo, Windows Media and QuickTime? Remember how, when Flash came out with video support, encoding video in triplicate disappeared over night? It’s the same today with HTML5. Now, instead of relying on a battery-life guzzling, proprietary technology to deliver video on mobile platforms, we’ve got an open, lightweight, battery-life friendly option in HTML5. And with the mobile web exploding, the timing couldn’t have been better.

Open standards are the wave of the future, and unless Adobe opens Flash, they’re going to go the way of RealVideo.

Come Work With Me!

Monday, June 9th, 2008

Are you a front-end code ninja? Do you eat HTML, CSS and JavaScript for breakfast? Are you a fanatic for best practices? Are the terms Unobtrusive JavaScript, Web Standards and graceful degradability common in your vocabulary? If so, you might be the person I’m looking for.

Nurun is on the hunt for a Senior front-end web developer to work along side me on some really cool projects for some really cool clients. If you think you’ve got the chops, send us your resume!

The C in CSS Stands for Cascade

Thursday, April 10th, 2008

People have a propensity to see a one-to-one relationship between an element and its look. In other words, they see an element as being styled much like if you were to paint something with a paint brush, a one-off job. At least that’s the way things were circa the early 1990′s with font tags and inline styling attributes such as bgcolor. This meant a lot of work to style a page, and once it was done, it was on to the next page and a whole lot more work. Of course work isn’t a bad thing, and nobody can fault you for working hard. But working needlessly? That’s another story.

In 1994 Håkon Wium Lie and Bert Bos collaborated on Cascading Style Sheets. The idea was that styles could inherit or cascade from one another. This marked a fundamental shift in the way an HTML document could be styled. It was now possible to affect the look of all of the elements of a certain type in a page and throughout a site with just one rule.

p {
    color: red;
}

This rule for example would colour the text in all paragraph elements red. If, however, you wanted one particular paragraph’s text to be coloured blue, you could assign it an ID and target it specifically.

p#intro {
    color: blue;
}

Here the text of the paragraph element with the ID intro will be coloured blue. Note however that all paragraphs are coloured red and only one is blue. The latter is originally red as well but is then overridden by a more specific rule and becomes blue. Hence the cascade. Taking advantage of this sort of broad stroke styling allows for very easy maintenance and updating of a site.

It’s therefore tragic when an old school one-to-one mentality is applied using CSS. Take for example this bit of code:

p#welcome {
    color: black;
    font-size: 115%;
}

p#about {
    color: black;
    font-size: 115%;
}

p#sale {
    color: red;
    font-size: 115%;
}

p#contact {
    color: black;
    font-size: 115%;
}

Here we have four style rules that do pretty much the same thing. The only difference is that the paragraph with the ID sale is coloured red. This CSS would be much more efficient if it took advantage of the cascade.

p {
    color: black;
    font-size: 115%;
}

p#sale {
    color: red;
}

Note how the sale paragraph doesn’t have a font-size rule. That’s because it inherits its font size from the basic rule that applies to all paragraphs. This makes maintenance much easier.

So remember: leverage the cascade, it will make life a lot easier for you when maintaining (and even debugging) a site.