Community Call to Action: NOT Northwind
I'm just sick of Northwind. Sick to death of the Northwind Database. You know, this is the Products, Categories, Suppliers, yada yada yada sample database that you've been seeing in Microsoft demos since the beginning of time. (FYI, the beginning of time was about 1997. ;) )
Why do we use it? Because it's there. Because it's easy, it exists, and it takes two seconds to install. It's full of good sample data that has international characters. It has a few views and a few sprocs and it's wholly harmless.
Now, some folks don't like Microsoft's (often) focus on "Database Driven Development," and I'm basically Switzerland at this point. Consider me neutral because I've done it both ways, both Domain Driven and Database Driven. With an ORM and without. I'm not 100% convinced either way and I like to have choice.
Plus, when I'm showing some technology that is talking to a Database or to POCO (Plain Ol' CLR Objects) I still need good sample data to pull from. Thus, the Northwind Virus continues.
And I hate it with the heat of a thousand suns.
There are others I could use, like AdventureWorks and its variants and specifically the AdventureWorksLT example is pretty lightweight, but still it doesn't quite turn me on.
I suspect, though, that if we (the community) took a few weeks, did some Skype conference calls, assigned some tasks, brainstormed and did it, we could come up with NotNorthwind. The Lazy Web, the Web of Clay Shirkey, .NET Flash Mobs included, could create a sample database, (we can argue about whether to start in the middle or in the db in the first meeting) as well as some good examples of things like NHibernate, LINQ to SQL or Whatever,
- Complex enough to be called Real World but simple enough that someone could "get it" in 5-10 minutes
- In a familiar Domain Space that makes sense to folks all over the world
- Has a decent amount of sample data with strings that are more than just [a-z|A-Z|0-9]
- Have a single .SQL file that one can run and immediately get a working database
- Sample Code for any of a number of Database access patterns, ORMs, whatever. This might require a few subtle versions.
I'm making http://www.codeplex.com/notnorthwind and I want:
- A Project Manager (probably best if it's not me)
- Modelers, Sample Code Writers
- Sample Data Creators
- Documentation Person
- Release Manager
Who's with me? Leave a comment with your CodePlex Username, Skype Username, your TimeZone offset, and your level of interest and let's do a Skype call to kick this off and be rid of Northwind. Also, if you think this is a stupid idea, why?
Oh, by the way, if you're at TechEd US this next week, be sure to say Hi if you see me, and let's talk about this project, because most of my demos at TechEd 2008 are <gulp> Northwindian in their heritage.