Web Design

I’m Probably Getting Ready to Dump Firefox

Anyone who knows me knows that I have long been a big supporter of Firefox.  Back in the day, Firefox was the breath of fresh air in the otherwise olfactory-oppressing wasteland of an IE-dominated interwebs.  Firefox was fast, innovative, and, best of all, let you add stuff on to it.

Add cool stuff.  Like Pay-Pal plugins.  Like RSS readers.  Like Firebug.

It was the bees’ knees, and looked like it was going to gobble up all the stragglers that IE left in its “who cares about the experience” attitude toward the internet.

But then Chrome came along.  It was sleek.  It was fast.  And best of all, it brought some fresher-than-Firefox ideas to browsing.

Better, fresher ideas.  Like tabs-on-top.  Like better architecture for faster…everything.  Like not-having-to-upgrade-every-2.5-seconds.

So I’ve been using Chrome alot lately.  Sure, it’s different.  But what I’ve found is that it’s better.  Sure, it doesn’t have Firebug (which is probably the only reason whatsoever that I continue to use Firefox).  But every version gets better.  And faster.  And awesomer.

And Firefox?  Perhaps its my groaning, Vista-laden PC, but Firefox hates everything.  It’s slow, it freezes, it crashes…and very few of the plugins that I depend on for Firefox to be awesome can keep up with the More >

HTML5 Web SQL: Versions

As mentioned in my last post about Web SQL databases, each Web SQL database consists of a unique name and version.  Each database, however, can only have a single version at any given time, so there’s no possibility of older and newer versions running concurrently.  To quote the spec, this is provided to “…allow authors to manage schema changes incrementally and non-destructively, and without running the risk of old code (e.g. in another browser window) trying to write to a database with incorrect assumptions.”   In other words, instead of trying to manage the hassle of temporarily offloading data, rebuilding the data structure from scratch, and then reloading data when code changes, versioning allows for the detection of the client’s current db version, with the option of programmatically upgrading them to a different (read “new’) version of the database schema.  Of course, you could conceivably also use this to detect old versions and point to different code entirely, but that would be a lot of code to manage…

My idea on this is to use the versioning as a way to push incremental database schema changes in a systematic way.  For example, you could easily define a complex series of schema More >