Thursday, August 17, 2006

FeedJournal Database Decisions

Chris Pirillo has something to say about the Made In Express Contest. Considering he is one of the judges in the contest, I am definitely listening. This is his verdict about my own entry, FeedJournal:

Still has a long way to go, but I'd say that sample output is quite nifty. The only thing that keeps me from installing and recommending the app wholeheartedly is the need to install SQL Server 2005 Express Edition first - which I'm not going to do on my desktop. Suggestion: push forward with this one, but rely on something else for feed information storage (sorry, but installing SQL is overkill for users like myself).

Considering his overall harsh judgment of the projects I consider this pretty favorable, and indeed he goes on to mention FeedJournal as one of his four favorite entries. However, let's consider his criticism for a moment. The SQL Server 2005 Express Edition is a required component in the contest as long as you want to have a database. FeedJournal definitely needs one. Here is a section from the contest rules:

Submitted Projects must compile successfully in Visual Studio 2005 Express Editions (any edition), and use SQL Server 2005 (any edition) for any database storage or data access code.

Of course Mr Pirillo is spot on in his criticism, and the database issue does not come as any surprise to me. The fact is that the required runtime for SQL Server Express Edition is 55MB, 10 times larger than the setup files for the actual FeedJournal application! I already touched upon this in a previous blog entry where I considered using SQL Server Everywhere Edition.

The good news is that there is already a solution to the problem! FeedJournal is using a database wrapper class, making it trivial to switch database engines. Since the start of the development I have been secretly working on a separate configuration using the open-source System.Data.SQLite database. Compared with SQL Server's 55MB runtime, SQLite weighs in at a mere 400kb using a single DLL file. w00t!! Sure, SQLite offers less design time support from inside Visual Studio, but it is a small price to pay in comparison.

FeedJournal versions using SQLite are fully functional and has been running in my personal test environment all the time. These will be released for beta testing in a few weeks time, most likely after the contest ends in order to abide by the rules.

No comments:

Post a Comment