Cross Browser Nightmares

This weekend was meant to be all about releasing my new product, Squiggle. However I've ran into quite a lot of issues when testing the new features I wrote. I decided to build the project from Scratch, and make it plug in based, which all went very well and I was happy. Then bought a domain specifically for this project, as I want to put a lot of time and effort into it. I also want it to stand out from all my other projects, as I can use it as a portfolio showcase, implementing all the current technologies I'm working with.

To start off with, HTML5 Canvas is not an easy tool to work with. Especially since, even though it's been around for quite a while now, it hasn't actually been standardized. Internet Explorer doesn't support any of it's features, doesn't even render. But honestly, we were expecting that right? No big shocks there. But then it comes to FireFox. Although it has support for all of canvas's functionality, it doesn't quite have the performance benefits to be a good player in a major application. Chrome is my favorite browser, as many of you may know, and it renders canvas like a dream. Squiggle has absolutely no lag, and is starting to feel like a Desktop application.

The fact Chrome uses Hardware acceleration really helps when you're working with images on a scale like this, and using as much memory as this application does. I managed to make Squiggle not only have undo/redo functionality, but also save this data in extremely complex images, and even save it to my server, and be loaded again exactly as it was left, which also gives it the feel of a desktop application.

You can find amazing examples of canvas examples at Canvas Demos and Chrome Experiments. I actually used some of these applications as influence to create Squiggle in the first place. I wanted to take all these ideas, and put them together into a solid online application that could actually be used for something useful. You can check out the site now at squigglecanvas.com if you want to start testing the early demos.

Also on a final note, I'm going to start writing tutorials on cool new canvas techniques as I learn them, so subscribe to my blog on the Canvas or HTML tags to stay up to date. You can also add me to Facebook, or follow me on Twitter.