Notes from livecoding the ONA11 website

This is a quick post I’ve been meaning to do about the work we did this year on the ONA11 conference website.

Background: last year, I was late on getting a conference pass and ended up volunteering for an entire day in the student newsroom. ONA’s student newsroom produces stories, video, and other coverage related to the conference. I had so much fun that I volunteered to do it again this year. I planned to work on it over the summer, but 90% of the work ended up being done in the last week.

The goals for the website varied depending on the context:

  • Before the conference, the focus was convincing journalists to purchase tickets and attend.
  • During the conference, there are two audiences: those who are physically at the sessions and those who want to participate virtually. The former probably want a backchannel for conversation and capturing the highlights, whereas the latter probably want to participate in realtime as much as they can.
  • After the conference, everyone wants to access a historical archive of the content presented in sessions, either to catch those they missed or find the link they heard referenced.

With this in mind, we worked on making the website dynamically reflect these needs. It was helpful, although somewhat distracting from the experience, that I was working on the website during the entire conference.

What worked this time:

  • Session pages as a custom post type. This gave us a structured database of all sessions and allowed us to easily build a session listing, etc.
  • Using Posts 2 Posts to associate posts and presenters with session pages. Our realtime curation crew could easily publish content from the WordPress admin, associate it with a session, and have it automatically pulled into the session page. Furthermore, every presenter had a dedicated profile page and their information could automatically be pulled into other contexts on the website.
  • Auto-showing the livestream player on an individual session page based on timestamp. Every session was associated with a track and I had a bit of logic to pull in the correct livestream based on current time, session start, and session end.
  • Showing the session updates in reverse chronological order during the event (because the user is most likely refreshing the page and wants the most recent updates at the top) and then flipping to chronological order 15 minutes after the event.
  • Leveraging the Zoninator on the homepage for featured stories and events. Editorial loved that they could have full control over which stories were highlighted. WordPress normally lists headlines in reverse chronological order, and developers hack this with “featured” categories, etc.
  • Post formats presented content exactly as it was intended to be presented. I was particularly proud of my gallery implementation, even if there weren’t the visuals to go with it.

Next time I’d like to:

  • Get started earlier so these features are actually fleshed out before the day of.
  • Build an interface for posting updates from the session page so it’s brain dead simple to update (no associating with session post, choosing post type, writing a title if you don’t need to, etc.)
  • Allow for “featured” session updates a la NY Times Editors’ Picks for commenting.
  • Guest session update submissions with a moderation queue.
  • Live update the session page so it’s essentially liveblogging with rich media.
  • Show the bylines/avatars for people covering the event, so you know how well it’s going to be covered (e.g. one person versus five people participating)
  • On the all sessions page, show the number of updates an event has, whether it’s currently live/being livestreamed, etc.
  • Order content on the single session page based when it was published (e.g. you can assume everything 30 minutes after the session is coverage of it, whereas during the event is realtime updates on it).

Lastly, I have one more idea I’d like to pitch: a way of indicating who you want to meet at the conference. Every attendee that registers get access to a page on the website listing every other attendee. Then, they can go through and indicate whom they want to meet at the conference. It’s a double win; you get to notify who you want to meet that you want to meet them, and you get to see in advance who wants to meet you.

For archival purposes, I’ve captured a gallery of screengrabs from the website too.

What I’d like to talk about at WordCamp Portland

In the spirit of being prepared, here are a few things I’d like to talk about at WordCamp Portland:

WordPress Multisite – In a nutshell, how it works and why it will make your life infinitely more manageable. If we have a group of people who quickly get their heads around the basics, I’d also love to share tips and tricks for pimping a multisite instance. For instance, using plugins like Restrict Multisite Plugins and customizing your admin bar to give easy access to the network admin for super admins. (People I should bump in to: Emma McCreary, Kayleen)

Test-driven Development – WordPress doesn’t do it, and I’m terrible at it. I should find a mentor with fountains of knowledge. (People I should bump in to: Michael Fields, Than Taintor, Toby McKes)

WordPress for Publishers – More and more newsrooms are using WordPress for all parts of their workflow. From experience, I know that journalists tend tolerate crappy technology. I’d love to hear from users about their current frustrations and pain points. (People I should bump into: Joe BoydstonToby McKes)

Dogfooding It – We love WordPress and sell to our clients, but a lot of us developers don’t actually use it on a regular basis. Why? How should we fix this? (People I should harass to no end: Nacin)

If you see me there on Friday, Saturday or Sunday, say hello! I look like this but with much shorter hair.

BCNI Philly: Advanced WordPress development

Andrew Nacin and Marc Lavallee led a 2 pm session on advanced WordPress development. It was mostly a free-form conversation about the use of WordPress in newsrooms. Continue reading “BCNI Philly: Advanced WordPress development”

BCNI Philly: Creating thriving communities where your readers are happy

Andrew Spittle and Andrew Nacin led a 1 pm session on lessons to be learned from developing software. Both worked on their college newspapers. Spittle now works for WordPress.com, a service offered by Automattic, and Nacin works on WordPress.org, an open-source software project. Two different types of communities involved: centralized and decentralized. Continue reading “BCNI Philly: Creating thriving communities where your readers are happy”

Status

Window seat on Amtrak 651 Keystone Service to Philadelphia for my third BarCamp NewsInnovation Philly tomorrow. Stoked to hang out with Andrew, Andrew, Marc, Sean, Greg, and everyone else. Michelle arrives tomorrow night after her Yelp event. We’re staying at the Penn View Hotel, and then will enjoy a tourist day on Sunday.

WordCamp and journalism conferences

When you speak at a journalism conference I want to hear about what the top idea in your mind is. I want to hear about what experiments you are trying, how you are measuring them, and how they are affecting your success.

WordCamp and journalism conferences. Ideas, action, measurement, and iteration, all for the win.