Doing Local Right
11th June 2007
“Doing Local Right” was the title of my talk at this year’s @media Europe. Patrick had asked me if I could put together a case study, and I jumped at the chance to share some of the work of my former colleagues at the Lawrence Journal-World newspaper in Lawrence, Kansas. I had the privilege of working at the newspaper for a year in late 2003-2004.
I started the talk by introducing two semi-related problems. The first is that the local search offerings from the big Internet companies are pretty poor—it’s difficult to tell how comprehensive or accurate their business listings are, and they lack any sense of the flavour that real local knowledge can provide.
Meanwhile, the newspaper industry is stuck in a self-declared state of crisis, with classified advertising decimated by free online listings and the bulk of their stories (taken from the same wire services as every other paper) quickly becoming a commodity.
Newspapers and local websites are a perfect match. Newspapers have the reporters, the relationships and the resources to provide better coverage of their local areas than anyone else could even dream of. That’s exactly what the team at the Lawrence Journal-World have spent the past five years doing.
I only had 25 minutes for the talk, so I concentrated on www.lawrence.com, www.ljworld.com and www.ljworld.com/marketplace. Lawrence.com is my favourite of the three: it’s the local entertainment site that every city in the world needs, but very few actually have. I covered the following features:
- A comprehensive events calendar (with editorially selected "best bets")
- Blogs by local residents
- Movie listings for local cinemas (with links to the reviews by both newspaper staff and members of the public)
- Detailed event coverage, including additional dates, weather forecasts for outdoor events in the next few days and an SMS/e-mail reminder service
- Gig listings that incorporate MP3 downloads (“if you go, you might hear”) from the 1,000+ MP3s of local bands hosted by the site
- Drink specials, which also appear on relevant event and venue pages
- The local band and music database, browseable by band, musician, genre and more
- The local restaurant listings, including kitchen hours (and hence the infamous restaurants open right now)
- The downloads page, which combines data from all over the site to present MP3s for download that are by bands which are playing gigs in the next week (“see ’em live at the Bottleneck”)
The point I was trying to make (one which I’ve seen Adrian Holovaty make many times) is that if you take good care of your data you can slice and dice it in dozens of unexpected ways.
Next up was LJWorld.com, which the team re-launched last month. The new site continues the trend of user comments on pretty much everything, and I demonstrated the funky new multimedia page which again illustrates the value of rich data models. The election results coverage and “Minors in possession” special report also got a mention.
The final site I talked about was Marketplace, the brand new business directory listing over 4,000 local companies. It can provide a map of all the chiropractors in town, along with their opening hours and contact details. Individual business listings can include events, photos, coupons, even video ads. Business owners can claim their listings and add more information to them; one restaurant uploaded photos of their entire menu.
I concluded with a few points on how you can go around building sites like this, including the “wouldn’t it be cool if...” development process and the importance of cheap labour (interns!) to reliably populating your database. I also threw in a plug for Django; the automatic admin interface was developed especially to support the fast pace of development at the Journal-World.
I finished up with a plug for the blogs of some of the current team, all well worth a look.
- Jeff Croft (congrats on the new gig!)
- James Bennett
- Jacob Kaplan-Moss
- Matt Croydon
- Nathan Borror
- Christian Metts
Full download (PDF) available from slideshare.
More recent articles
- Prompt injection explained, November 2023 edition - 27th November 2023
- I'm on the Newsroom Robots podcast, with thoughts on the OpenAI board - 25th November 2023
- Weeknotes: DevDay, GitHub Universe, OpenAI chaos - 22nd November 2023
- Deciphering clues in a news article to understand how it was reported - 22nd November 2023
- Exploring GPTs: ChatGPT in a trench coat? - 15th November 2023
- Financial sustainability for open source projects at GitHub Universe - 10th November 2023
- ospeak: a CLI tool for speaking text in the terminal via OpenAI - 7th November 2023
- DALL-E 3, GPT4All, PMTiles, sqlite-migrate, datasette-edit-schema - 30th October 2023
- Now add a walrus: Prompt engineering in DALL-E 3 - 26th October 2023
- Execute Jina embeddings with a CLI using llm-embed-jina - 26th October 2023