Anyone who has read this occasional column knows that I usually write about a tech product or service company or companies that are doing something I find interesting and that are often “under the radar.” Usually these companies are information tech, although I’ve written a lot about cleantech, too.
I’m breaking from tradition today to talk about a company that most would probably consider belonging to the category of media company, in the vein of newspaper or radio station. Except, that “tradition” and “media company” are more mutually exclusive than ever when applied to media, because there are fewer industry sectors that are undergoing greater change.
In this regard, Texas Tribune, the company I’m covering today, is a timely poster child for the next generation of investigative news reporting. For those that haven’t been following the launch, Texas Tribune debuted officially with a SRO launch party on November 3.
In the words of its CEO and editor-in-chief, Evan Smith, the “Trib” – a non-profit, nonpartisan public media organization – promises “ambitious and aggressive original journalism about the most pressing statewide matters, along with discerning aggregation of the best content from other sources, eleven searchable databases of public information (with more to come), proprietary polling, a massive elected officials directory, 400+ ‘topic pages’ on people, institutions, and concepts at the heart of politics and public policy, and so much more.”
A cross between NPR and the Huffington Post, the Trib is at its core a content and technology company. And, that’s the core of this month’s write-up because the development of the Trib’s website, ground-up content management system (CMS), and related web services is a case study in the amazing kind of design/development available from one of the latest generation of development framework, called Django.
Before you read much further, go back to the Texas Tribune site and browse around for a minute. Consider the layout, image use, navigation, etc.
What you’re seeing was pulled together, from ZERO code to what was launched live on November 3rd in less than 90 days. It wasn’t until the 3rd that I learned my friend Brandon Taylor was a core member of the developer team recruited to help make the vision a reality. And, it’s Brandon that acquainted me with Django. The latest in a line of open source tools (preceding another popular framework, Ruby on RAILS) that get more and more advanced as some of the greatest minds apply themselves to open innovation, Django is an amazing feat of engineering.
Here’s the description on the Django website that gives you an idea of what the creators intended: “Developed four years ago by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly.”
Here are just a few of the things that Django does out-of-the-box, so to speak:
- Although you can use Django without a database, it comes with an object-relational mapper in which you describe your database layout in Python code.
- After a simple one-line command installation of Django, you’ve got a free, and rich, Python API to access your data. The API is created on the fly, no code generation necessary
- Once your models are defined, Django can automatically create a professional, production ready administrative interface — a Web site that lets authenticated users add, change and delete objects
- Django encourages beautiful URL design and doesn’t put any cruft in URLs, like .php or .asp. To design URLs for an app, you create a Python module called a URLconf. A table of contents for your app, it contains a simple mapping between URL patterns and Python callback function
- Other useful features include easy facilities for writing your own reviews and designing your own templates, a caching framework that integrates with memcached or other backends, a syndication framework that makes creating RSS and Atom feeds as easy as writing a small Python class, and a whole lot more.
What this means to a development team is that work that would previously have taken hours takes minutes; similarly, other complex tasks take hours, not days; and, at the edge, days, not weeks or months. Not to say that developing a sophisticated web-based operation is kid’s play. Brandon and the Trib tech team literally worked their fingers off in 18-plus hour days as they raced to hit the launch deadline and simultaneously meet the look-and-feel and function/feature demands required by the Trib’s leadership team.
I remember going to the website the morning that the Trib launched and smiling outwardly as I nav’d around the website, thinking “hey, for a brand new website, this is good – really good.” Clean, fast, intuitive, yet content-rich…it had none of that “newborn baby” feel to it. I should’ve known. Credit a really sharp, dedicated, experienced team and an equally sharp, sophisticated technology framework that was up to the challenge. Congrats to the Trib team.
PS: If you aren’t yet a contributor to the Texas Tribune, I highly encourage your support. Regardless of your political persuasion (left, right, middle, none), if you believe that free speech and a free press are important to keeping its citizenry informed and speaking truth to power, then I encourage you to consider supporting it or any one of the other publicly supported media options, like the Texas Observer, Public Citizen, NPR, PBS, or one of many other options. The people in these organizations are dedicated to serving their (your) community.