DotSpots is launching today. A dot is a “distributed object of thought”, which is like a mini blog post containing rich media, which can be connected to any paragraph in the news. Dots can be authored on the dotspots.com website or via the Firefox extension. They can also developed and polished by teams of collaborators. The secret sauce is distribution: DotSpots will distribute dots to similar paragraphs in articles across the web. There is a video and sign up link on today’s TechCrunch article about DotSpots.
The Firefox extension is central to DotSpots — it really provides the best way to view and create dots in the context of other pages. The web client is also important and shares a lot of the same features. Of course, the website cannot provide the same benefits as the extension on third party web pages.
The technology is something special. All the major pieces, including the Firefox extension, website and backend, were written in Java. Google Web Toolkit (GWT) actually compiles our client Java code into compressed JavaScript. This is a great development model. For one thing, strict type checking definitely helps on a project of this size. It’s also great to be able to stay in the same language on the server. The Eclipse debugger helps out quite a bit, stepping through Java in the server as well as both clients. To communicate with Mozilla components, DotSpots CTO Matt Mastracci developed GWT bindings for XPCOM, which we’ll be open sourcing at some point.
For those who know me as a long time Mozilla contributor, be assured I’m putting that knowledge to good use. And, given the transitional state of the news industry today, it’s an exciting time to be working at Web 2.0 news startup. It will be interesting to watch how the industry progresses.
Congratulations! So that’s what the “dot” is all about. Did you code your extension in GWT? I’m interested to hear more about the GWT XPCOM bindings and where else you think those might be useful.
Yes, the extension GWT including a lot of the same code the website uses.
I’m sure there will be many other cases where a Firefox extension should be an advanced version of what’s capable on a web app. Using GWT and the GWT XPCOM bindings could be a good choice there.