How Gliffy is managing the risk of re-writing their product in HTML5

This is a guest blog post by Chris Kolhardt, CEO and Founder of Gliffy, a tool that makes it easy to create, share, and collaborate on a wide range of diagrams. In this post Chris shares the process, risks, and rewards of migrating away from the outdated technology that powers the editor in Gliffy Confluence Plugin, a web based diagramming tool that makes it easy to insert UML, wireframes, network diagrams, flow charts, and more right into your Confluence pages.

How many times have you looked at a code base and dreamt about how much better life would be if you could just start over from scratch and re-write that sucker? On the surface, a re-write sounds like the optimal solution to making your life easier and solving all sorts of problems. We find ourselves thinking this all the time, specifically:

Re-writing software from scratch isn’t as awesome as it sounds

The truth is, re-writing a large code-base is super risky. Joel On Software has a great write up about why you should never re-write code. Major highlights include:

Flash helped make Gliffy successful, but has no future

Ok, so re-writing software is super risky and fraught with danger, but what if the platform your product is based on might not be around in 5 years? This is the problem that Gliffy faces today. Back in 2005, we felt that the best technology available to us for creating a feature rich diagram editor in a web browser was OpenLaszlo, which is a XML based markup language that compiles into Flash byte code. By leveraging the rich drawing capabilities Flash offered, we were first to market with a web based diagramming product that was feature comparable and just as interactive as any comparable PC or OS X native diagramming product. This resulted in Gliffy becoming a profitable company without any outside financing, almost immediately.

You want to be first to market, right?

Yes, and no  Being first to market can be a mixed blessing mostly because of the dynamics inherent in the world of tech.  While Flash was good to us in 2005, there’s no way we could have foreseen the wave of change that came with iOS devices. So here we are, 7 years later, in a world where:

For sure, Flash isn’t keeping up with open standards. We could easily write a whole series of blog posts about all the hassles, bugs, and, quite frankly, the pain we’ve been through trying to make our Flash-based product work as it should, but that would be way too depressing. Rather, we want to focus on the road ahead, which for us, is about “creating great HTML5 tools for the future.”

If that last part sounds familiar, it is because that was a comment Steve Jobs made to Adobe during the “Flash Wars” of 2010“. So here’s what we are up to…

HTML5 to the rescue! But how given the risks of a re-write?

We decided that re-writing Gliffy in HTML5 was mission critical. To help deal with the risks associated with a from scratch re-write, we put together and have executed on the following plan:

1. Build a rock star team

Starting about 18 months ago, we begin building up our client side developer team with some of the best Javascript developers in the industry. Given the tight market for JS developers right now, this is a pretty hard thing to do. We designed a hiring process that is a well oiled tallant machine that has helped us recruit and retain the best. It also helps that Gliffy is a fun place to work. 

2. Speed up development time

OpenLaszlo, the language Gliffy was first written with, compiles to Flash byte code. Even on the best laptops money can buy, we were seeing up to 30 second compile times between making code changes. By moving to Javascript / HTML5, a slow compilation step is no longer needed, and the code/test cycle is down to 5 seconds or less.

3. Phase in HTML5 features to our users to reduce risk

There are too many risks associated with shipping a full blown HTML5 editor all at once to our paying customers. In addition to the risks related to total re-writes as highlighted above, HTML5 doesn’t work at all in many of the web browsers currently supported by Atlassian and frequently used by our customers.    In order to best serve our customers AND get us onto a new technology stack, we decided a phased approach was best.  We’ve accomplished this by breaking up our HTML5 efforts into two distinct development phases, and the Gliffy Flash powered editor will remain available and supported until Atlassian ends support for web browsers that don’t support HTML5.

Why should you care about HTML5?

Here’s a quick video showing how HTML5 Gliffy diagrams will immediately save you time.

http://www.youtube.com/watch?feature=player_embedded&v=H6FYXI1VsDI

Get HTML5 Diagrams in Confluence today!

Install or upgrade Gliffy in Confluence instantly using the Universal Plugin Manager, or download version 4.2 of the Gliffy Confluence Plugin from from the Atlassian Marketplace.

Exit mobile version