Archive

Archive for May 19, 2012

IE9, not as bad as i thought

May 19, 2012 Comments off
One size fits all is a dangerous game

One size fits all is a dangerous game

Im playing around with the IE9 driver for Smart Mobile Studio right now. Like most people I’ve sort of dreaded this task, since IE have so many peculiarities associated with it – but you know what? It’s actually not as bad as I thought it would be. I know IE has a bad rap around the world for being the worst browser ever, but starting with IE 8 things have improved considerably.

I actually got most smart apps and demos running on IE9 now (having changed very little). The driver system got a new function, “getEffectCaps” which returns a bitmask for the current browser capabilities, which means that things like the “form sliding” will just be skipped if the driver finds that these effects are not supported.

What IE9 (or indeed, any browser) support boils down to – is basically:

  • CSS pre and post fixing
  • The use of special effects

Our javascript is universal to begin with and will run on pretty much everything (I even tested it on Playstation, works like a charm). So the challenge is pushed into the outer rim of the VJL, the classes and methods that use CSS transformations and “special effects”, rather than the core of the product itself.

The dark side of special effects

Effects is sort of a double-edged sword. You want to use it to show off the product and what it can do, but the more you use it – the more you bind the RTL to these effects, which means larger and more time-consuming updates for very little gain (for the end-user). I think it’s important that the VJL provides a solid foundation for the user – but effects should not come at the expense of the customer. Instead of drowning the customer with effects that, when it really count, wont make the customer’s code any better (it will just look better but make things more complex), I like to do things the old fashion way. By old fashion I mean steady and robust. I would rather have a system that can take a punch than a “Barbie doll” that looks good but is useless in real-world scenarios.

So, in short: I will make sure the foundation classes for special effects are up to date, but I wont add everything under the sun just to please a small group of people. Instead, I’m more interested in making the VJL as lightweight as possible and to make each visual control as feature rich as it can be.

I can hardly wait until I can add the delegate system. It’s going to be the frosting on the cake 🙂