At the heart of Cogenz
Published by Niall Cook July 18th, 2006 in Cogenz, TechnologyAt the heart of Cogenz, there’s a Microsoft core. With some corporations this is often a plus. With most of the Web 2.0 aficionados, it’s usually Ruby on Rails and LAMP that come first.
Being practical about our choice, though, here’s how we tacked some of the technical challenges that we had.
Friendly URLs
With Apache, friendly URLs are a given. Mod rewrite has been around for a long time and a ton of applications have put it to good use. Not so with IIS, although .NET offers some limited URL rewriting capabilities. In order to achieve apache-like functionality, we’ve integrated the application with a third-party module, called ISAPI_Rewrite.
As with most third-party integrations, the devil is in the detail. It took more than a week to configure it, once the integration was done. The result – short and descriptive URLs on the Microsoft platform, such as http://beta.cogenz.net/tag/all/distribution.
Update: Just after posting this, I came across Brendon Wilson’s notes from the 2006 Startup School at Stanford. Joshua Schachter, the creator of del.icio.us, says:
Make URLs readible [sic], albeit to technical users; it’s prime real estate, so why is it full of .php and session IDs?
Email Subscriptions
One of Cogenz’s advantages is its support for flexible email subscriptions. If you can subscribe to a page via RSS, you can subscribe to it via email as well. Users can configure each email subscription to be instantaneous (on update), daily, or weekly. From the user’s perspective, adding and managing subscriptions is simple and straight-forward.
On the application level, however, we’re talking about thousands (and possibly even millions) of subscriptions. Using anything but an enterprise-class system means that the system will hit a productivity wall just when the network effect of hundreds and thousands of users kicks in.
Enter Notification Services. A new feature of SQL Server 2005, Notification Services allow millions of personalized emails to be sent. In addition to the sheer scalability in terms of matching millions events to millions of subscriptions, they also provide standard functionality like queue management, time zones, multi-language, scheduled subscriptions, fall behind, retry logic, etc.
Next up: server infrastructure.

1my52qx7l8a311yz