This is part 2 of the series; part 1 is here.
I've been working on my new startup for about 4 weeks now, so I thought it would be fun to write about what I've been up to.
I had the idea for the company years ago, so I'd already figured out a bunch of the basics, such as what the company will do, how it will make money, and how it will differentiate itself.
I decided that the most important thing for me to do in the early days was to get a good idea of how the product will be used in practice and how much effort it would be to create a beta version that could be made available for general use.
The product itself will be web-based and used by children, teachers and parents. In order to get a feel for how the product would function, I started by drawing pictures on paper of how the various screens would look and how the users would perform key functions. For example, how would a teacher create a lesson about Isaac Newton? How would a child learn about physics? After about a week, I felt pretty good about the paper version of the product.
The next step was to convert the paper version to HTML so that I could try out a simple hardcoded version from a browser. I bought Dreamweaver and created HTML versions of the paper screens, including the links between the screens. At this point, there was no backend to the system at all, since the idea was just to get a simple hardcoded HTML version of some common use cases. This phase took about a week, at which point I could run the sample screens from any browser.
I set up Tomcat as a web server on my development computer and got one of my friends to run the sample across the Internet, just to make sure everything was fine. One benefit of this approach is that after just two weeks of work, I could effectively demonstrate a very early version of my product to a potential investor anywhere in the world.
By the end of the second week, I was getting very tired of creating static HTML using DreamWeaver. For example, one of the screens was a lesson about Isaac Newton. Creating a single lesson by hand is not a big deal, but imagine creating twenty lessons using the same approach! At this point, it was natural to take the next step and make the web application dynamic and driven from a backend system. So last week I started on the design of the backend, focusing on the database technology required to power the system. I'm a big fan of the semantic web initiative and it's a natural fit for what I'm up to, so I prototyped some pretty cool stuff for representing knowledge in a flexible way.
The early prototype of the semantic web stuff is now up-and-running, so the last remaining part is to write the code that generates the web front-end dynamically from the database. This will probably take me a few days, at which point I'll be able to run the application that was initially drawn out on paper as a dynamic web-based application. Of course, that's just the beginning, because I punted on a large number of tricky usability and design decisions. But in the early stages it's very important to just prototype the basic stuff, and I don't clutter my mind with things I know I will tackle in later stages.
In about a month I will have a much better idea of how much additional work will be involved to bring the product to market. This in turn will allow me to gauge how much investment I should look for as well as having a pretty slick demo to show to teachers, kids, parents, and potential
Part 3 of this series is here.
hi Graham,
whenever i read story to my daughter, i noticed that she (will be 3 this coming Oct) will be able to listen & focus longer if i make things more interesting. for example, i will sing instead of reading out loud certain words.
wonder if u would incorporate that kind of fun stuff into your prod ?
chiew
Posted by: Chiew Lee | Aug 09, 2005 at 02:26 PM