This is the first of a series of posts where I’m going to discuss some of the, um… fun that we’ve had while writing Wikid Editor, the text editor that we built for our flagship product Haven (which is still being developed). In this post I’m going to focus solely on the choice in technology.
Here are a few high level requirements for Wikid Editor.
- It had to run inside the browser and it needed to work in all browsers or at least the main ones, Firefox, IE, Safari and Chrome.
- It needed to be able to color text any way we wanted.
- It should be able to color the background of rows.
- It needed to be able to communicate with our servers without reloading the page and preferably be able to receive pushed data from our servers.
- It needed to perform well.
- Cross browser compatibility (Winners: Flex, Silverlight)
- Flex – The crew at Adobe are not flawless but they are tasked with keeping up with browser compatibility not us and not an open source community.
- Silverlight – Kinda in the same boat as Flex, Microsoft is tasked with keeping up with the Jones’ so we don’t have to.
- Flex – While the Flex framework is only a few years old the Flash player has been around for quite a while.
- Silverlight – Silverlight is pretty new. Microsoft has put a ton of work into it so I’m sure that it would work out but it’s the baby of the bunch.
- Flex – We had just finished up a project in Flex so it was fresh on our minds.
- Silverlight – Other than having some C# and ASP.Net under my our belt this Silverlight is not something that we know real well.
- In browser performance
- We didn’t do any testing just some studying up on architecture
So we chose to write the editor in Flex. It was pretty fun and we learned a ton. It took me about 6 weeks of spare time coding to get the highlighting to work but it was slow. Over the course of 6 months I finally learned enough about lexers, regexp and real-time highlighting design that I got a working version that was pretty speedy.
Stay tuned for a more techinical dive next time.