Projects at Work

I've primarly made posts about my projects and my site here, so it's about time that I outline what I'm working on at work. The primary reason I haven't done so before is I wanted to wait till there was some tangeable result that people can play arround with. Though I'll make due with demo videos and explanations right now.


First up is our major project, the one which I was hired to work on, Kommonwealth (Feel free to look at the demo video).

Kommonwealth is a website builder aimed at designers. Nowadays you have two extremes when it comes to building plain websites. Dreamweaver like programs, and web builders.

On one extreme you have tools like Dreamweaver. They give you full control and flexibility because you are basically writing the entire markup and style yourself. The problem of course there is that code is shoved into your face, a designer who cannot understand the syntax has trouble adapting to the syntax and doing their work.

Now on the other extreme we have current web builders like Squarespace, and other web builders. Most of them work based on pre-build templates or have very limited control over the structure and style of the site. You end up getting to a point where if you want any more control you have to ditch the system's ui almost entirely and write custom css. For a professional designer that's a problem because as I see from most of the sites that the designers I work with the mockups they come out with are very nice, and very tough to express with the limited control that web builders give you. Additionally most web builders try to build in the CMS and when you use the tool, you are almost completely stuck with it. You can't integrate other tools, and sometimes you can't even export your site. I'm also not a fan of Squarespaces' pricing model.

Kommonwealth was started to provide a tool that provides designers with a useful tool that sits in the middle ground. It doesn't shove a pile of markup, code, and syntax in your face, you get a useful WYSIWYG like ui you can edit and see what it'll look like lieve. But it doesn't go and completely abstract the entire structure of a website away from you trying to hold your hand.

ie: You don't get a ui trying to shove you into making pages with a "basic page template", "page template with right hand sidebar", etc... and giving you options on where to put the header on the page. Instead you get structure very similar to the actual html. You get a hierarchy of small components like "Container" (ie a <div> you can nest more components inside of), "Text / HTML" (A div with a block of WYSIWYG editable text inside), "Image" (A image you can place in the page), and so on with other basic components like video embedding, and moving up to more complex widget like components such as Accordions, Carousels, Event calendars, and so on (heck, I think I'm going to make it easy to embed disqus comments into a website in v3). The big point is that none of these components have any real style to them at all. The tab jit basically lays out the basic list of tabs, separate components inside, and adds the basic JavaScript needed to make it work as a tabset. The actual style that is applied to it is completely controlled by you.

As an extra bonus to widgets that let you painlessly embed special functionality Kommonwealth also uses a template system where you can create a template page using the ui you use to create a single page and place "placeholder" components in it, and create separate pages using that template with different content put inside that placeholder, as well as share components between pages (ie: Make a site wide menu). In other words you can use Kommonwealth to design the style of your entire site in a single template, then create separate pages of the site with content without needing to re-do the design or lose flexibility.

If you want to see what kind of site is possible with Kommonwealth you can take a look at Eckhart Tolle's Website, the main site was exported by Kommonwealth v2.

The other big factor is control over your own content. Kommonwealth has two different ways to make use of it. You can either export your website and host it yourself or host it inside Kommonwealth (we will probably never make you pay for sites that you use Kommonwealth to create then export and upload to your own server). Sites exported as static html (we may or may not come up with some way to export non-static sites, dunno) can even be dropped into tools like Dreamweaver. So if you want to leave, you're free to export your site and edit it by hand.


Kommonwealth itself is NOT a CMS. Kommonwealth's focus is the design of a site, that's another important distinction. While other web builders integrate a CMS system into their web builder and you're stuck with their tools. Kommonwealth is the opposite. We hope to make it possible to write a WordPress theme using Kommonwealth and then export it as a skin you can install into WordPress.

As for the plan for hosting a Kommonwealth site you can create separate pages on a site with content, but ideally Kommonwealth will become much like a distributed web site builder. Kommonwealth will allow you to design a site, and tie in many external services using components. Like integration with external Blogs allowing you to edit a blog elsewhere like on Blogger or, and display it on your Kommonwealth site. Embedding disqus comments into pages. Displaying a Twitter feed. Displaying a photo gallery generated from your account on external photo sites like Flikr. And so on... So rather than trying to become your one stop for CMS, site design, etc... like most web builders try to the idea is to try to tie many different services together, each one which focuses on doing the best it can on it's target task.

The History

I was first hired at Redwerks to work on Kommonwealth. My primary project for about 6 months was writing Kommonwealth v2 from scratch under another developer (he added a small piece of code or two but I basically wrote the entire thing and came up with how to solve the development issues, he made technical decisions on what to do).

After about 6 months of work we had a beta of Kommonwealth v2 which we were using internally to build some websites. I had also learned a great deal more about JavaScript, and other technologies, and CommonJS and my own involvement in server-side js had started. And the other developer had left the project. However it became apparent that many of the development decisions we made during the project had lead to a inefficient system that was extremely slow to render pages (this is why we export static sites instead of hosting them inside v2) and had a number of limitations to it which could not be fixed without redoing the entire thing.

So, we started development on Kommonwealth v3 learning from our mistakes and from what we had grown to understand about the project we were trying to do.

My Voice Site

Second up we're also working on another project partnered with another company, My Voice Site.

My Voice Site is a system that allows you to create "voice sites". Well, a better explanation is this. You know how when you call up a company, rather than someone just picking up the phone you usually end up at a spoken menu that lets you interact with it using your phone. You might be able to leave messages, check up on something in the system, or get your call forwarded to somewhere else such as a call center.

These things usually require programmers or someone very technically competent to setup and configure the system. The purpose of My Voice Site is to allow any company, even small companies, to go online, create their own voice site, and then publish it allowing people to phone it up.

There is some other companies competing in this business. However all the other projects are too programmer oriented, have some sort of efficiency issue or indirectly cause you extra unnecessary costs, or have an unintuitive interface.

  • redwerks
  • kommonwealth
  • myvoicesite