For my sabbatical project, I’m laying foundations for a community website. The project is focused on my hometown, but the idea is to do things in a way that can serve as a model for other towns. So I’m using cheaply- or freely-available infrastructure that can be deployed on commodity hosting services. The Python-based web development framework Django qualifies, with some caveats I’ve mentioned. And Django is particularly well-suited to this project because it distills the experiences of the developers of the top-notch community websites of Lawrence, Kansas. The story of those sites, told here by Rob Curley, is inspirational.
I’m also using Assembla for version control (with Subversion), issue tracking (with Trac), and other collaborative features described by my friend Andy Singleton in this podcast (transcript). It’s downright remarkable to be able to conjure up all this infrastructure instantly and for free. I’m a lone wolf on this project so far, but I hope to recruit collaborators, and I look forward to being able to work with them in this environment.
I have two goals for this project. First, aggregate and normalize existing online resources. Second, show people how and why to create online resources in ways that are easy to aggregate and normalize.
Online event calendars are one obvious target. The newspaper has one, the college has one, the city has one, and there’s also a smattering of local events listed in places like Yahoo Local, Upcoming, and Eventful. So far I’ve welded four such sources into a common calendar, and wow, what a messy job that’s been. The newspaper, the college, and the city offer web calendars only as HTML, which I can and do scrape. In theory the Yahoo/Upcoming and Eventful stuff is easier to work with, but in practice, not so much. Yahoo Local offers no structured outputs. Upcoming does, the events reflected into it from Y Local use hCalendar format, but finding and using tools to parse that stuff always seems to involve more time and effort than I expect. Eventful’s structured outputs are RSS and iCal. If you want details about events, such as location and time, you need to parse the iCal, which is non-trivial but doable. If you just need the basics, though — date, title, link — it’s trivial to get that from the RSS feed.
I’m pretty good at scraping and parsing and merging, but I don’t want to make a career out of it. The idea is to repurpose various silos in ways that are immediately useful, but also lead people to discover better ways to manage their silos — or, ultimately, to discover alternatives to the silos.
An example of a better way to manage a siloed calendar would be to publish it in structured formats as well as HTML. But while that would make things easier for me, I doubt that iCal or RSS have enough mainstream traction to make it a priority for a small-town newspaper, college, or town government. If folks could flip a switch and make the legacy web calendar emit structured output, they might do that. But otherwise — and I’d guess typically — it’s not going to happen.
For event calendars, switching to a hosted service is becoming an attractive alternative. In the major metro areas with big colleges and newspapers, it may make sense to manage event information using in-house IT systems, although combining these systems will require effort and is thus unlikely to occur. But for the many smaller communities like mine, it’s hard to justify a do-it-yourself approach. Services like Upcoming and Eventful aren’t simply free, they’re much more capable than homegrown solutions will ever be. If you’re starting from scratch, the choice would be a no-brainer — if more people realized these services were available, and understood what they can do. If you’re already using a homegrown service, though, it’ll be hard to overcome inertia and make a switch.
How to overcome that inertia? In theory, if I reflect screenscraped events out to Upcoming and/or Eventful, the additional value they’ll have there will encourage gradual migration. If anyone’s done something like that successfully, I’d be interested to hear about it.
On another front, I hope to showcase the few existing local blogs and encourage more local blogging activity. Syndication and tagging make it really easy to federate such activity. But although I know that, and doubtless every reader of this blog knows that, most people still don’t.
I think the best way to show what’s possible will be to leverage services like Flickr and YouTube. There are a lot more folks who are posting photos and videos related to my community than there are folks who are blogging about my community. Using text search and tag search, I can create a virtual community space in which those efforts come together. If that community space gains some traction, will people start to figure out that photos and videos described and tagged in certain simple and obvious ways are, implicitly, contributions to the community space? Might they then begin to realize that other self-motivated activities, like blogging, could also contribute to the community space, as and when they intersect with the public agenda?
I dunno, but I’d really like to see it happen. So, I’m doing the experiment.
There may well be a model here for small college towns to sparkle inside of the web infrastructure into a golden age of community in the eCulture era. Possibly with the parallel universe of second life as a bridge “seeing” the community hotspots via community television as a way to make it all seem strangely familiar and approachable for both young and old. The challenge of any community is developing and maintaining a sense of trust and small college towns may well have a peculiar advantage in community socialization processes. — BL
I just took at quick look at Upcoming and Eventful, and was surprised to find they both failed on a basic point of internationalization. Take a look at events in the UK, and you’ll see the dates displayed in US format!
Jon,
I’ve lived in Keene my whole life and I’d be interested in helping. I am more of a Java guy though, so not sure how much I can. If nothing else, I could provide Subversion help though, and perhaps also assess the content. I assume you have access to my email address via this comment if you want to contact me.
Mark Phippard
http://markphip.blogspot.com/
If only del.icio.us would implement hierarchical tags, there would be lesser need of any implementation
1) The community just needs to maintain a page about the event because del.icio.us doesnot want to allow users to have ‘self’ link !
2) The page can be del.icio.us-ed as “yyyy/mm/dd community”
3) Before another community member wants to organise an event on a particular date, del.icio.us/yyyy/mm/dd+community has to be checked. If there is nothing, then an event can be organised
I have implemented the above (with del.icio.us backend) – Please see http://www.namastenetizen.com/?tag=2007-03-07
If you want it, I have an XSLT stylesheet that transforms iCalendar to XML. I haven’t worked out the best way to get a file into it yet – currently it’s an entity reference in the stylesheet – but I have several options.
The stylesheet is not dependent upon understanding any iCalendar component, just that components are named with strings ending in colons and their data ends at a US-ASCII CR-LF sequence that is NOT followed by a space for line wrapping.
I have run several multi-event files through it with no problems so I know it works and I think it’s able to understand fairly large files.
E-mail me at this address if you want me to send the stylesheet somewhere.
Actually, iCal does get attention from small-town newspapers; we’ve been offering iCal event calendars on lawrence.com for a little while now :) (for an example, there are links to a couple different iCal views in the info box for tonight’s best bet: http://www.lawrence.com/events/2006/dec/31/17838/)
I think, ultimately, there’s no great harm to offering a multiplicity of formats and letting users choose whichever one is most convenient for them; the placement of alternate formats doesn’t have to be obtrusive, just as long as it can be spotted by savvy users who know what they want. That way everybody goes home — or to your event — happy (and with Django it’s fairly straightforward to do; if you want, say, an iCal version of an event calendar, it’s pretty much entirely a matter of pointing at a different template).
Jon,
I live in Hollis NH and I’d be interested in helping in any way I can. I am more of a SW generalist with DB, web content and project management experience; For the past year or so I’ve been working with non-profit communities. I assume you have access to my email address via this comment if you want to contact me.
I can imagine leveraging the experience of helping on this project to spearhead a similar community web site project for the greater Hollis/Nashua NH community.
Don Farrell
Hollis NH
This is an important area of work. In the videotext era of the ’80s, I promoted the ‘information utility’ as a type local development corporation — an approach with excellent tax and capital features but years too early!
I’m reminded of these encouraging words:
“Local initiatives should have substantial content and communities should plan investments and administer services which would reassert the importance of places so people could rise with their communities not in spite of them.” Lockout, ’83 Democracy (winter)
You should seriously look into the growing phenomenon of City Wikis (http://en.wikipedia.org/wiki/City_Wiki). Bloomingpedia (http://www.bloomingpedia.org), for example is a virtual encyclopedia about Bloomington, Indiana that tries to make it so that any person interested in information about Bloomington can go there and only search amongst related information. It also documents a lot of information that is not available on the Internet.
Sigh. Clickable links:
http://en.wikipedia.org/wiki/City_Wiki
http://www.bloomingpedia.org
Would like to know what came of this sabbatical project. I’m looking at Django for a similar purpose.
Thanks,
Richard Dooling