Monday, November 05, 2007

Deconstructing “Spark”

First up – Thank you, Heidi (Adobe) for the envelope of stickers! :)

With about 20% development of "Evolv" complete, I thought I'd build the "Application Family Tree" for "Spark" (or "Evolv" as it is now called!). It isn't a very big tree – just 3 major and one minor version. The whole idea of Deconstruction was fun!

What started off with a simple utility of type out my Blog entry for a really old version of my site, evolved to become a full-fledged application. Man! It is mind-blowing!

Spark V1.0 was built with very simple logic and just had a single function. Originally developed using Flash MX (ver 6.0) and good ol' VB 6.0, the code was pretty basic. It was the day of the Dial-up and being on the internet was expensive. So I needed something that could get my journal up and about. The answer was to have an offline application that could help me save my files with the necessities of the time. It was also the era where we needed that "&myVar=" in the text file to make it load into Flash. I developed a cheeky trick, wherein, VB would step in and make sure that it adds the variable at the beginning of the blabber and save the file. Simple thing worked out to be handy. Inspired by the success of the trick, I decided to make the rest of the site a bit more dynamic and applied the trick to all pages. So, depending on the section you are updating, you need to select the variable that needs to be added. Funny!

When MX 2004 was released, I took that leap. I decided to port existing functionality into MX 2004. Even though, initially, I wasn't too happy about using the V2 components, I decided to use them. But, things didn't end there. The major step was to make it an online application. We finally had cable internet at home and that changed everything! It was also a big jump, since, I had to upgrade almost everything – VB 6.0 to ASP.NET.. yeah! That was a leap! The whole technology upgrade made me add more things too. The original Journal Editor could now use Style Sheets and send out emailers. This has to be Version 2.0!

Spark V3.0 was a big step forward, once again. More features were added. Spark was rebuilt using AS 2.0 – Classes, objects et all. One of my clients asked me to add in some way to view Query results from his MS Access database. That became a good feature to have. I extended the feature to query SQL Server and MySQL databases also.

Spark 3.01 stuck to the same lines as 3.0. I make a few tweaks, did a lot of code cleanups and added one feature – File Upload. I broke my head literally at this feature and got a work around, since, Flash MX 2004 didn't have the feature. JavaScript came in handy here. The feature was buggy, but did its thing! As long as people who used it were happy having it, it didn't matter. Even though it was a minor version, it was the most memorable!

Spark didn't get to see Flash 8.0. I was kinda busy and didn't have the time to put in for an upgrade. I just spruced up the File Upload and used the FileReference class and functionality. No version change.. just a small tweak!

Now, almost 6 months later, the new version is under development. The change of product name was necessary – to something that truly reflects what the product does. "Evolv" (yeah no "e" at the end) is packed with features. It is being programmed as a whole plug n'play engine. You could just plugin the features you need and leave out the rest. The AS 3.0 and ASP.NET combination works really well and gives it the power and flexibility.

The whole deconstruction episode was really interesting and reflective. There are a couple of things I wouldn't have done and some I would. More on Evolv..soon!

No comments: