Archive for March, 2007

My First WebApp

There are lots of technologies that I have been investigating recently, with the intent of building something useful. However, it’s hard to figure out if my plan makes sense without trying. So I am going to build a very simple application.

The specification looks like:

The application shall allow the user to send email notes to themselves

I often email short notes to myself as reminders or to capture short pieces of information. The number of steps involved in doing this is too many. I have to address the email, set a subject, navigate one of many email clients and then send. I want to IM myself and have it turn up as email.

My design for building this is a little bit more complex than it really needs to be. This is because the application is an excuse to try building a platform.

There are four pieces:

  1. Taskbar applet to send mail
  2. Web application to send mail
  3. Web service to receieve send mail request
  4. Application service to send mail

The task bar applet is the easy part (see QSystemTrayIcon). That will be built, initially for Windows, using Qt. If I’m enthusiastic, it may support RTF and HTML email as well as unicode text.

The web application, likely to be built last, will use django. I’m considering Ruby on Rails, but given I already know python and django provides sufficient functionality, it is my likely choice.

The web service will be built using the same web framework as the web application. I am trying to reduce the number of technologies a little bit.

The aims of the web service:

  • Provide a publically accessible API.
  • To allow for a flexible URL mapping scheme
  • To provide a REST style API.
  • To easily provide different data formats (XML, JSON).

The application service will be built using Haskell. It will be kept as an internal process. It will likely be built using a web service as well, but using JSON as the transport. I am choosing Haskell mainly to explore options.

After my recent foray into Lisp, I am confident I could build the application service using Lisp, but would prefer to use Haskell. This is partially to avoid paying license fees to Allegro, but mostly as I prefer having the type system of Haskell available. The architecture will allow me to swap back-ends if needed.

That is the plan. Progress and learnings should trickle in over the coming months.

Note: This is an exercise in playing with technology. There is no plan for providing this as a production level service.

Executive’s Web 2.0 Survey

McKinsey recently conducted a survey (free reg required) of business’s use and intended use of Web 2.0 technologies.

Of interest:

  • 80% of respondants are using or planning to use Web Services
  • Asia-Pacific ranked second (69%) to India (80%) for increasing Web 2.0 investment over the next three years
  • RSS is more popular in North America (25%) than in other regions (20% or less)
  • Majority indicated with hindsight should have invested more on internal capabilities for Web 2.0 technology, but started at the right time
  • 75% of respondants use Web 2.0 technolgies for internal collaboration

It would be interesting to see how the Web Services sector was divided on the different technologies using that name. Especially how WSDL based services and REST based services are split based on type of firm and size of firm.

The uptake of corporate use of Wikis and other Web 2.0 technologies is an interesting trend and bodes well for companies such as Atlassain.

Court of the Crimson King

Robert Fripp has long inhabited my music collection. I inherited an old LP and then was hooked. His collaborations with Brian Eno have produced some beautiful music that I’d rank amongst my favorites.

Recent collaborations are even more interesting. Robert has been involved with a little corporation in Redmond to produce the sounds for their new operating system, Vista.

Robert Scoble managed to film the experience for Channel 9. Worth a watch, if only for the first part where Fripp plays the guitar.