This is part 4 of the series; part 3 is here.
I mentioned in part 2 of this series that I started developing the education product by creating a hardcoded HTML version of the web site using Dreamweaver. Then, after getting a rough feel for the user experience, I converted the initial data into XML and wrote a simple semantic database for storing and manipulating the content. Now that I'm back from Russia, I'm working on a version of the web site whose content is extracted dynamically from the database.
Once again, I'm keeping things simple and using JSP on Tomcat for the initial prototype. Since most of the content is dynamic, the JSPs themselves are very simple and mostly just turn around and call database APIs. I'm putting almost no time at all into the look and feel of the web site, because the purpose of this iteration is to figure out the main use cases and make sure the database APIs can handle them.
The first iteration of the dynamic web site is only read-only, which means that it allows you to navigate through the existing content that was read in from the handcoded XML, but not to add or modify content. I'll probably have this part done by the end of the week.
Next week I'm going to start on a writeable version of the web site which will allow users to add and modify content. To avoid having to enter the same content again and again, I'll also add a simple persistence scheme to save semantic data onto disk.
One of the interesting spin-offs of working on this project are some ideas on how to simplify the fundamental concepts behind the semantic web. I don't want to drift off unnecessarily into R&D mode, but there's a part of me that hopes that I'll need to implement the ideas in order to support some of the features I have in mind.
Part 5 of this series is here.
Graham,
good to see you back at the helm of a startup. I would highly recommend looking into Ruby on Rails (http://www.rubyonrails.org/) instead of JSP. It's perhaps the easiest environment for coding and delivering web apps (and web services) that I've ever used. Here's a link with a comparison between rails and java from Justin Gehtland's blog (http://www.relevancellc.com/blogs/?p=31)
~tim
Posted by: Tim Wolters | Aug 24, 2005 at 09:28 PM
Graham,
Just out of curiousity, could you expand a little more on your use of semantic web technologies in this new application? For example, are you using OWL? Are you using a specific toolkit such as Jena or Redland?
I ask because I've also been bitten with the SemWeb bug, and it's always interesting to see how the technology is being applied to different problem domains.
Best of Luck!
Brian
Posted by: Brian | Aug 26, 2005 at 12:36 PM
Hi Brian,
Right now, I'm using a home-grown in-memory semantic database. It has taken me only a few evenings to implement and allows me to experiment with all kinds of weird and wonderful designs without having to worry about being compliant with this-and-that standard. If, after implementing a larger chunk of my education platform using the database, I find that plain vanilla RDF is enough, then I'll consider migrating to one of the open source projects that you mention.
Cheers,
Graham
Posted by: Graham Glass | Aug 26, 2005 at 01:07 PM
I see! It seems that in addition to sharing in interest in RDF, we also share a mild case of Not Invented Here Syndrome! :)
Frankly, I don't want to be cured!
Regards,
Brian
Posted by: Brian | Aug 26, 2005 at 03:40 PM