27

10/12

The case for simplification

9:29 pm by Heather Billings. Filed under: Hacking the News

I’m going to make a radical confession. I have *never* been a regular news consumer. There are several defensible reasons for this, but my life story isn’t the point here. The point is why, despite several efforts to become a regular newspaper reader, I still haven’t been able to form the habit. If something’s big, Twitter will tell me. I’ve been ashamed of this for a long time (no, really). But recently, I’ve discovered that it’s not my fault for having difficulty consuming news from a newspaper.com site. It’s the site’s fault.

First, let me set up some points. Again, the “why”s of my particular case don’t matter:

  • I wanted to consume my news online rather than in print.
  • I was willing to pay for news online.
  • I wanted to be educated on important issues without being treated as if I had some familiarity with the subject being discussed.

More than six years after I first started trying to develop this online news consumption habit, I’ve given up and just started reading a physical newspaper. I couldn’t figure out why reading the news in print instead of online was so much easier until I got about halfway through Donald Norman’s classic book, “The Design of Everyday Things.” In an era where marketing seems to revolve around giving people whatever they want, in as much detail as they want it, I believe that my difficulty with online news is a common one:

Newspaper websites offer too many options.

Norman’s book describes structures called “decision trees.” The basic principle is that any set of choices can be wide, deep, or both wide and deep.

Wide choices occur when you have a lot of different things you can pick from at this specific time.

Deep choices refer to decision paths with many sequential steps.

A choice that is both wide and deep has many sequential steps, and most steps have many parallel possible choices. Norman’s example of a wide and deep decision tree is a game of chess.

By induction, most newspaper websites are akin to playing a game of chess. There are simply too many things to pick from at any given time. When I read a physical newspaper, I can choose to read one of three to eight stories that appear to me at any given time (a wide choice). Then I can choose to follow the jump or turn the page. When I visit a newspaper website, I can choose to read one of several dozen stories that appear to me at any given time (which often have no more text than a headline). Or I can choose in granular detail the section and subsection I’d like to peruse. Or I can see what’s popular right now. Or I can see what my Facebook friends read. And when I do pick a story, I can see six more stories that are somehow related to the one I’m reading now.

Do you have decision fatigue yet? I do.

Newspaper websites are too amorphous.

There is another barrier to my online news consumption habit: my own OCD. When I am reading a newspaper, I know approximately how much is left unread at any time, and I know when I have finished a section. I can say to myself, “Self, you have now caught up on the news.”

My poor befuddled self cannot do this online. There is absolutely no way for me to know when I’ve scanned through everything that has been posted since my last visit to a section, short of pulling an entire newspaper into an RSS reader. Then I lose all sense of which stories were deemed important by the paper’s editors and which were mere footnotes to the day.

Steve Krug touches on this problem in his book “Don’t Make Me Think.” He likens navigating a website to navigating a store. In both instances, you’re looking for something, but online there are no visual markers to tell you what’s around you. My old boss, Brian Boyer, once told me that he thought about websites in the terms of Frank Lloyd Wright’s interior design: At every point, you should allow for “a peek around the corner,” a glimpse of what surrounds where you are.

Newspaper websites do a bad job of compiling previous coverage.

The whole notion of the “second-day lede” is outdated. I work pretty long days, I don’t have a radio or television, and as we’ve seen, I have a hard time getting news from actual news sites. That means I get my news in snatches: on Twitter, or from conversation. Then my brain tells me, “Hey, that sounds important. You should probably see what’s going on with that.”

Yet by and large, news websites overestimate my grasp of whatever they’re writing about. If we’re several days into a story, I have no hope of finding the backstory on a newspaper’s site. This makes me sad, because newspapers certainly have done a more trustworthy job compiling the information than anyone else.

Topic pages address this issue to some degree, but they are, for the most part, not very well done. For one, they tend to be in reverse chronological order (which makes great sense if you’re already familiar with the topic). I would love to see tag pages used to this end. An editor could specify which article (or articles) are the definitive ones. In lengthy, developing stories (like Arab Spring), these definitive stories would be numerous. Secondary to that, a reverse chronological river of posts about the subject could update savvy readers with the latest happenings.

(I’d love to see examples of simple, effective topic pages. I don’t know that they exist.)

Simplification

When I was learning Python, my mentor Mark Ng gave me a helpful piece of troubleshooting advice. He told me to delete code — not add patches — until something worked. I feel this is where the news industry must go. Services like Instapaper are popular for exactly this reason, and newspaper websites are going to have to follow suit. There’s no reason Instapaper couldn’t have been developed by a newspaper, much like there’s no reason Craigslist couldn’t have been developed by a newspaper. But we don’t think in terms of the bare essentials. We think about retention rates and getting people to click to other stories, which usually just ends up in clutter. (One method of doing this cleanly is the sliding banner at the bottom of stories that the New York Times, among other places, has implemented.) Simplification will be a painful move for a lot of people inside the newsroom, but will make the experience painless for the audience. (Especially pissed off will be that bunch that still feels that having a piece of turf on the front page is somehow essential to their success. Newsflash: if that’s what it takes for you to say you’re a success, you probably aren’t serving your audience at all.)

10

12/11

#jcarn: I see what you did there.

2:29 am by Heather Billings. Filed under: Hacking the News

Over at the Carnival of Journalism, the topic this month has to do with geeks in journalism. The lovely Jessica Binsch prodded me to participate, so I thought I’d oblige with a few hurried words squeezed in under the deadline (which is today). Besides, gotta jumpstart the ol’ blog somehow, right?

So here’s the #jcarn topic for December:

If you are a journalist, what would be the best present from programmers and developers that Santa Claus could leave under your Christmas tree?

And, correspondingly, if you are a programmer or developer, what would be the best present from journalism that Father Christmas could deliver down your chimney?

To start with, I dislike the if/else construction of this topic. How many times do programmers have to prove they can be journalists, and vice versa?

But I’m not here to rail about terms. That’s been done to death. In the end, it’s not what people call you that matters. It’s what you do.

I’m here to focus on that small last word there: “do.” You gotta make things. I know someone who has been looking for a job as a news hacker for some time. The problem, I believe, isn’t that she doesn’t have the skills. It’s that she hasn’t hacked a whole lot together on her own. She doesn’t really have a lot to show off.

This is a problem when you’re trying to get a job, sure. But it’s also a problem when you have a job as a newsroom geek, not only for you, but also for your fellow journos.

So, in the spirit of the Carnival of Journalism question, I’d like to propose a two-part “present,” one for each of the factions listed above:

Journalists (the data-crunching, pencil-snapping, yelling-at-the-cops-on-the-phone folks): Please utilize your geek. We love nothing more than helping you out with reporting, whether you need a PDF OCR’d or have some awesome datasets you want to examine or want to pull together a long arc of reporting together in a simple way. If you come to us early enough and treat us like partners, we’ll probably be able to help you do something really freakin’ cool with your story. (And if you’re totally in love with something another news org has made, tell us! Maybe we can adapt it for you.) Together, we might be able to offer our readers a tool they can use to inform their lives. Isn’t that what journalism is supposed to…well, do?

Geeks (the data-crunching, keyboard-banging, yelling-at-code-on-the-screen folks): Make yourself known. Approach journalists who are writing stories that you see potential for and pitch yourself. (Or, if you see it after it’s been published, let the writer know how you could have helped.) Here’s the rub: A pitch made with only words is a poor one. Much better: email ‘em some examples of things you’ve done, and explain how their story could work with something like this. Do. Build. On the weekends, on your own time. About things that interest you; make you curious. It doesn’t have to be fancy. It just has to be. If we want the respect of those pencil-snapping journalists, we’ve got to show why we deserve to be part of their process. Getting the ball rolling is the hard part.

(Disclosure: I have been very, very bad at this. I build half-projects and get distracted after I learn what I wanted to learn. This is exactly the wrong thing to do. Learn from my inner angst.)

This synergy, for me, is one of the coolest things to see in action at the Trib. The news apps team works with reporters every week, from helping visualize data for reporters to building awesome news websites. (By the way, we’re hiring and would love it if you came and built cool shit with us.) It’s not the right vibe for every newsroom, but it would look very good in a lot of them.

25

08/11

The best bits of job advice I’ve gotten

1:19 am by Heather Billings. Filed under: Hacking the News,The Future

Today word got around that I’ll be joining the news apps team at the Chicago Tribune when I finish my internship here at the Post. While I’m sad to be leaving my incredible colleagues here at the Post, I’m also completely excited for this new opportunity. I can’t wait. I also can’t believe it. I’ve followed the Tribune’s work for the better part of two years, and I can’t remember a time that I wasn’t fascinated by it. They do a little bit of everything, which is exactly the sort of team I want to be a part of.

Some of you know I was blessed and bewildered to be in a position where I had more than one job possibility. Certainly not ever the dilemma I thought I would have in journalism! Deciding what would be right for me was the toughest decision I’ve ever made. I do not say that lightly. But I was also fortunate to be surrounded by very wise friends and family. Here are synopses and paraphrases of some of the best pieces of advice — from serious to silly — I got from them:

From Adam:

Work at a good place around good people. That combination will open all sorts of opportunities regardless of the actual work you’re doing.

From Chris:

If you’re going to go somewhere with a harsh winter, get a damn good job so you can afford all the clothes you’ll need to buy.

From Derek:

Be willing to do whatever unglamorous work you have to do. Realize the future is more flexible than you think it will be.

From Mark:

If you’re having trouble making a decision, you haven’t gathered enough information yet.

From Michelle:

Be strong and ready to forge your own path.

From Trish:

Focus more on the people and work you’re attracted to than the location or the sexy (or unsexy) name.

(EDIT: Meant to include in my original draft that the above advice about working with awesome people is a large part of what made it so very difficult for me to choose. There were no bad potential coworkers!)

There were many, many others, and I am grateful for every one of them. I wouldn’t be in this position without the support and encouragement (and, sometimes, the disagreement) from everyone around me. I’m humbled by the people who have offered me everything from advice to the chance to screw up their websites (oops) to late-night chocolate to last-minute conference hotel rooms. From the time I first got pulled accidentally into the journalism world at The Collegian, the people around me have been the best part of every place, every project.

I’m going to need your support in the coming months, too. It’s going to be a wild ride.

PS: #BC9 and Leslie Thornton, a special thank-you for you. Thanks for giving me a chance to practice my razzle dazzle. <3, Sorceress

11

08/11

May I build you an app for that?

6:20 pm by Heather Billings. Filed under: Hacking the News,The Future

As I’ve been job hunting, I’ve been deluged with confusion over what a news app is, what a news apps team builds, how they integrate into the newsroom.

Oh, and what’s the difference between a tool and an app?

Do people who make tools for journalists to use still practice journalism?

I took some flack on Twitter for saying I didn’t want to be hired to build tools for journalists to use. I’m a journalist, I said. Hire me to do journalism.

I feel my statement has been incredibly misunderstood, partly due to Twitter’s character limit. I wrote and rewrote that tweet trying to fit in everything I wanted to say. So, hey, that’s what I have a blog for, right?

To compare what I said to a more familiar journalistic landscape, one with defined roles: Some reporters have really shitty grammar. Some have excellent grammar and may even be good at restructuring bad copy.

That does not mean that you should put the latter reporter on the copy desk. Chances are that he got into journalism to write his own stories, not to edit other people’s stories. He probably won’t be happy if he continually comes up with story ideas that he can’t pursue.

However, there are people who go into journalism to edit stories and are quite happy doing that. These people are just as invaluable to the end product as the ones who actually go out and get the story. But they operate in a distinctly different role.

Neither of these is right or wrong. They are merely different parts of the same journalism machine. We’ve all seen what happens when news outlets cut copyeditors and suffer from credibility problems.

Similarly, if you take someone who really wants to use technology to create new ways to provide valuable information and analysis to the public, and you hire that person to write threaded comment modules, you’ve got the shoe on the wrong foot.

In the process of providing the info/analysis/reporting mashup, you might just end up writing a threaded comment module (or creating a congressional database that is useful to reporters internally). In setting out with a goal of writing a threaded comment module, you are almost certainly not going to create journalism as a byproduct. This subtle but large difference is the heart of my beef with most journalism outlets hiring pro-jos today.

We need those comment modules. I’m not disputing that. At Cronkite, I worked with Retha Hill, who helped get the Washington Post online as Digital Ink. She told me about the late hours she pulled building pages by hand, and how much time it saved her when slideshow creation tools came along.

Those tools are incredibly important to what journalists do every day.

Their creation is not the same as, for example, brainstorming a new way to interface disaster relief agency databases with stories about the aftermath of the latest act of God.

We need people to build both of these things. Neither is inferior or superior. But they are not the same job, and a person more inclined to one may not be happy with the other.

Of course there will be mundane, inglorious coding. There’s probably going to be a lot of Twitter widget-writing and RSS feed-parsing. The difference is where the focus lies. If that’s what you emphasize when I ask you for examples of the sort of things I’d be working on, I’m going to have the same reaction a sportswriter would have if you pitched him with, “And you’ll get to write obits! It’ll be awesome!”

Before I ever had a journalism background, I had a geek background. I’ve been designing and building sites for longer than people now in high school have been alive (scary!). Journalism drew me in because it was something I believed in that seemed like it needed people like me. And now, having fought tooth and nail to earn the right to be called a journalist, I’m facing people who tell me I should be happy building site components.

If that were what I wanted to do, I’d be freelancing as a web dev from a hammock in Hawaii.

My journalism background should be necessary to my job, not a bonus. The way I’ve been trained to look at information and link it together should inform what I do on a daily basis. If you don’t want me to do that, hire a programmer. But don’t mock me for wanting to practice journalism with technology instead of focus on building widgets.

01

08/11

How to make a Longshot happen

4:22 pm by Heather Billings. Filed under: Hacking the News,Information Design

When Longshot Magazine’s digital director, Adam Hemphill, asked if I’d like to help assemble a magazine site over the course of a weekend in New York City, I couldn’t say no.

Longshot’s third issue (issue #2, since they started their numbering at zero — geek points!) came out yesterday, much to the glee of a group of very tired editors, fact checkers, designers, audio engineers/producers/editors, and a kick-ass Web team.

The Atlantic featured an article about how the content was produced and what great, mostly free tools they used to put it together. At the bottom is a footnote saying that maybe they’d add something on what the web team used if they could get the info from the digital director.

I’m not Adam (thank sweet God in heaven), but I thought I’d pipe up from the web team. A few of the free/cheap things we used to get the site built in about 36 hours:

  • Django and Python for the back end. (WIN!) Matthew Gerring is a machine. The ease of Django’s admin page was proven as multiple non-techies entered the stories for us. The downside of Django’s admin was also proven as we had to instruct them to wrap each paragraph and block quote in the proper tags. EDIT: My friend/Django master Mark Ng tells me that the way around this downside is using markdown filters. D’oh!
  • Campfire to group chat/share files with the design team. Way easier than email threads that end up buried, especially for a project of this length, because you can see all the context. Better than sharing files on an external device, because you always know EXACTLY where they are.
  • The 1140 Grid System for a CSS framework. It’s pretty solid, lightweight, offers a lot of freedom for creativity, and does media queries pretty well. The down side is that you end up with a lot of div-itis. No doubt there’s a way to hack it so that you don’t have to use empty divs for spacing, but I didn’t have time to pursue that.
  • git and Brotherbard’s Gitx fork helped us all keep from stepping on each other’s virtual toes, especially as changes were flying around 3:30 p.m. on Sunday.
  • TextMate is my code editor of choice. Tons of shortcuts and very customizable to your personal tastes and quirks. Take one look at the About page, full of unordered lists, and you’ll realize how much I love my “wrap all of the highlighted stuff in these tags” option.
  • Basecamp for after-the-fact changes. We should have been using it (or PivotalTracker, which I greatly prefer) from the very beginning, but it didn’t occur to any of us, likely because none of us realized just how huge the project was going to be. But management programs like this are great even for small-scale, because everyone knows what still needs to go down. With our team now dissolved, it’s a great way to keep track of all the little buggy stuff we need to fix.
  • Coffee. Lots and lots and lots of coffee. No one on the web team slept for more than about two hours, and I’d venture to guess the editorial team was much the same. By the time we toasted Sunday’s conclusion on Gawker’s roof with champagne, I’m surprised any of us still had energy to stand up!

Hands-down, this was the best team I’ve ever worked with under intense deadline pressure. I’d do it again in a heartbeat (which is about the length of time the project comes together in).

22

07/11

Graphing the national debt with jqPlot (week…5? 6?)

7:56 pm by Heather Billings. Filed under: Hacking the News,Information Design,Programming

The past couple of weeks have been a blur of JavaScript and data. I’ve been buried in USDA reports researching two various possibilities for my summer project — something I’d better hop on as the summer is rapidly disappearing!

For the past couple of weeks, I’ve been working off and on on this infographic about the amount of debt that foreign countries hold. Credit for the analysis goes to coworker Todd Lindeman, who created the graphic for print and then gave it to me to make interactive.

My supervisor showed me a graphic that the department had done in Flash a couple of years prior with a similar chart. My instructions: Do this, but in Javascript.

There were two huge hurdles in this project. One was finding a jQuery graphing library that supported area chart hovers. The other was IE7 support.

I settled on jqPlot for the graphs. It was the only one I found that seemed to natively support area graph hovers, something I figured would save me a lot of time.

What I wasn’t figuring on was jqPlot’s horrible, horrible documentation. It’s basically an API reference, not real user documentation. (I eventually found the jqPlot user group, the most helpful post of which was this thread on deep customization.)

Breakdown of frustrations with the project (many of which, no doubt, are due to my inexperience):

Tooltip support

In Flot, I could have done something like:

function showTooltip(x, y, contents) {
$(‘

‘ + contents + ‘

‘).appendTo(“body”).fadeIn(200);
}

…and it would have just worked with whatever info was supplied in contents() — or, you know, whatever custom function you wanted to write and display. I wanted to display the name of the country whose graph the mouse was over. I had this in a variable that incremented or decremented depending on the data series.

In jqPlot, not only do you have to include a “plugin” to enable the tooltip, but the part of the code that renders the contents of the tooltip looks something like this:


var elem = document.createElement(‘div’);
c._tooltipElem = $(elem);
elem = null;
c._tooltipElem.addClass(‘jqplot-cursor-tooltip’);
c._tooltipElem.css({position:’absolute’, display:’none’});

if (c.showTooltipUnitPosition){
if (c.tooltipAxisGroups.length === 0) {
var series = this.series;
var s;
var temp = [];
for (var i=0; i s = series[i];
var ax = s.xaxis+','+s.yaxis;
if ($.inArray(ax, temp) == -1) {
temp.push(ax);
}
}
for (var i=0; i c.tooltipAxisGroups.push(temp[i].split(','));
}
}
}
...

Er, what?

So, yeah, I ended up stealing some super-simple tooltip code and just using this when a data series was highlighted:

function (ev, seriesIndex, pointIndex, data) {
var countryName, debtHeld;
if (seriesIndex == 6) {

countryName = “China”;
debtHeld = china.slice(-1);
$(‘#tooltip’).show();
$(‘#tooltip’).html(‘

‘ + countryName + ‘ holds $’ + debtHeld + ‘ billion in U.S. debt.

(click for detail view)

‘);
}

Custom axis labels

The way jqPlot wants data provided is in pairs: [[0, 50], [2.5,47]]…
That wasn’t how my data was formatted, and it didn’t readily occur to me that I could have probably wrangled it in Excel (oops). So instead of being able to tell it, “use this set of data to plot the x axis, but only show 10 tick marks,” it wanted to show all 126 tick marks. On a 600px wide graph. Yeeaaaah, not so much. I wrote a for loop to only show every 12th one (I only wanted to show January of each year), but then realized that the chart started in March 2000 and ended in April 2011. To save myself time, I just overwrote the CSS and plopped an image in for the axis ticks and text for the labels. Cheap hack, but it worked.

For the y axis, I couldn’t figure out how to tell it “round my numbers for the labels only.” I figured I could probably have just stuck a Math.round() on something, but that would have been too easy… I also wanted to convert the numbers, which were in billions, to trillions (because saying Asia holds 4000-some-odd billions is just weird).

Same fix as the x axis. Boo. There is absolutely no reason I shouldn’t have been able to achieve that with JS.

IE7

Okay, when is Internet Explorer NOT a frustration? In this case, though, part of it was a case of what I should have done versus what I did.

How I wrote my code:
I replotted the data every time someone clicked a continent or country, using the same div as the canvas each time. While a fast computer running Chrome shouldn’t even blink, IE7 slogged along, chewing on the data.

How I should have written my code:
On page load, process all the data and draw each chart in its own div. Hide the divs, and just show them with jQuery on click. Slower on the load time, but faster when you’re clicking around.

The other part? IE7 hates jQuery’s .append() call. .appendTo() supposedly works, but I couldn’t get it to (perhaps because I was trying to append to a hidden div). I ended up creating a different set of headers for each continent, and just using .show()/.hide() to pull them up. Ugly, messy solution.

Animation

The Flash graphic my boss originally showed me allowed you to select a large portion of the graph, then animated it in a sort of melting, expanding fashion, and showed you the detail.

One of the issues I have with many interactives is extraneous animation. In this case, the animation wasn’t extraneous. Its purpose was to draw your attention to the fact that you were actually zooming in, something that isn’t immediately apparent when you’re just rerendering on a graph *and* changing the y axis.

I’m sure there would be a way to animate a series of data points (slide them all to baseline 0 on click, for instance), but I made that my last priority and ended up just using .fade() to change between them. (That in itself was a pain, as the div would fade out, but show a flash of the new chart before it finished. I fixed that by appending the function that draws the chart as a callback to the fade.) But really, now all I want to do is figure out how that animation would work…

Running out of time

I wish I’d had time to pitch one additional feature. I would have liked to have added a small map of the corner of the world currently being examined. Americans are stereotypically ignorant about the location of other countries (while trying to determine the plurality of “The Philippines,” for instance, I got an autocomplete for “is the philippines…” of “…in Asia”). I had the white space for it. All I needed was to create a CSS sprite that would have highlighted various countries as their corresponding debt was moused over.

Ah well, there’s always next time!

01

07/11

Week 4: One month down

8:59 pm by Heather Billings. Filed under: Hacking the News

After getting the Supreme Court graphic up in the middle of the week, Thursday and Friday were research days. I get to work on developing a couple of summer projects, and now that July has officially started, I really need to get them moving! So I spent the latter half of the week digging into spreadsheets and laying out a plan of attack so that I can get at least one of my two ideas done.

I’m really going to try to get both done, because one would involve mapping and Django, and one would involve visualizing stats with Javascript, thus allowing me to work on both sides of the dataviz coin. (It’s a dataviz die, really, because there are far more than two sides. It’s more like a D20.)

And now that my internship is officially one-third over, I’m starting to think about September already. I really want to stay in D.C. It’s a great city and I’d love to be able to spend some more time here. But I’ve not found the sort of job environment I was expecting (in D.C., not at the Post — the environment at the Post is awesome). Everything that is in my interest area seems to require more experience than I have, and everything at entry level is of the web producer sort of role. While I love web production (that’s how I got my start), I think I’d miss the code and design too much.

So where does that lead me? I don’t know. All I can do is work my ass off, learn as much as I can, and hope that someone will give me the opportunity to do more of what I love.

29

06/11

Week 3: Javascript and justices

10:31 pm by Heather Billings. Filed under: Hacking the News,Information Design,Programming

This recap is a bit later than it should be because I wanted to wait until I finished up the project I was working on at the end of last week.

This was a really cool project, and I was very excited to get to work on it. I built it in Javascript and jQuery (though the front graphic is in Flash, done by my mentor — “professional partner,” the term the Post uses, is just creepy — Wilson Andrews), and it was the first time I’d tackled a project done *only* in JS/jQ on my own. I’m pretty satisfied with the end result, but here are a few takeaways:

There’s a difference between JSON and a JS array. I mean, technically, I knew this, but I didn’t really get the usage. If you find yourself confused on what a JSON object is, read this very helpful piece on this very confusing matter.

I’m a messy coder. Part of this stems from deadline; part of it from plain ol’ bad habits. The biggest of the bad habits is not planning out the project effectively enough before I start coding. It feels like a waste of time sometimes, like I should just be building it. (Sort of like, in college, when making an outline of a paper before you wrote it felt like a waste of time. Oh, wait, that almost always was.)

But there’s another reason for messy code, and that’s lack of understanding. As I mentioned in a previous post, I understand functions now, and I was able to implement them to some degree in this. But my code is laughably, hilariously far from optimized. My goal this weekend is to go back over my code and figure out how I could have saved some effort. That way, hopefully next time I’ll be able to do it right from the get-go.

In addition, I’d really like to figure out how to pull data from an external source, whether a text doc or something else, so that I don’t have to include it all in my JS file every time. I don’t believe it’s difficult, but it is something I’ve never figured out before.

IE hates media queries. The print version of the graphic was accompanied by a QR code that would take people to the interactive. Which was fine until they decided to do the front panel in Flash. Hello, Steve Jobs.

I thought I would be clever and use media queries to assign different stylesheets depending on viewport width. Somehow, however, IE7 doesn’t recognize the media queries. Instead, it happily reads everything. So the queries looked great in Firefox, Safari, Chrome, and even my iPhone, but IE (even IE8) rendered a pile of steaming poo. Somehow I fixed it for 8, but when I got to work today, it was still broken in 7. In order to make it not broken online, we had to remove the queries completely and just let iPhone users suffer. Not a solution I’m happy with. So after I finish figuring out how I could have written more effective Javascript, I’m going to take another swing at media queries with just a very simple stylesheet and test page, and see if I can figure out how to write a media query that will get the job done, and that will ALSO be ignored by IE. Wish me luck.

12

06/11

First week on the job: Being the rookie

12:49 am by Heather Billings. Filed under: Hacking the News,Information Design,Programming

I just started my summer internship at the Washington Post. (I love DC, and you can follow along with more of that here on my poorly designed personal blog.) My supervisor has asked me to write a recap of what I did at the end of every week. Since I was busy moving into a new apartment this past weekend, my first is a bit late. Normally, I’ll post these on Fridays. I’m not sure if these thoughts will be useful to anyone else, but I hope they’ll at least be amusing.

After a day of orientation and awe, all of the interns were released to wreak havoc upon our respective departments. When Hannah Fairfield, my supervisor, told me in our morning graphics meeting that she had my first project, I was expecting something simple and innocuous. Something that would safely test the waters and get me accustomed to the workflow before pushing my limits.

Ha!

She showed me a print graphic that depicted the latest NBA playoff games as line graphs. In each, you could see how much of a lead the frontrunning team had at any given time. They chased each other and wove in and out like sparrows fighting. It was a fabulous way to see the way the games had progressed.

“I’d like you to make this interactive,” she said.

My dirty secret: Despite many, many efforts by a multitude of people, I don’t understand sports. Baseball makes the most sense, but my grasp is tenuous. I never know what’s going on in football or basketball, though I’ve tried to understand both. I didn’t even know NBA playoffs were going on, much less anything about how the game worked. I knew I’d have to get my brain around the game if I were going to chart it.

So when I got the assignment, I felt like I couldn’t breathe. I had flashbacks to my first TA stint at ASU, where I was assigned to help with a sports journalism class. You know those moments in which it seems like the entire world is riding on your ability to say or do the right thing? And if you screw it up, you’re never going to be able to recover? They’re going to wonder why they brought me on board. I’ll never work in journalism again. This is my only chance and I’m going to blow it. You know, melodrama like that.

I wasn’t sure how to attack the problem, what sort of guidelines I was expected to work within, or whom I should ask for help from. Looking back, I wouldn’t have had it another way. But at the time, it was like having a mini panic-attack.

I felt that way on and off throughout the week as I worked on the project. I’d never worked this extensively with Javascript, and it was hard to transition from my jQuery knowledge to full-on JS. In addition, it was a lot of math to work with — something that’s never been my strong suit. It didn’t help that I was used to working in Python and kept screwing up the JS syntax as a result.

First I had to figure out how to get an Excel column into a text array, then change the format minutes:seconds to convert to all seconds. I was fortunate that I’d played with hacking together a Twitter scraper a few months ago, because I knew I’d need to strip the colon from the time format. parseInt() and Mr. Data Converter saved me. Then I had to figure out how to get the x-axis to plot the time of the entire game, even though the minutes and seconds in the spreadsheet zereoed out every quarter. My “professional partner,” Wilson Andrews, the guy who gets the utter joy of mentoring me all summer, helped me with a lot of this, but then left on vacation. Poor Kat Downs had to do most of the heavy lifting with me.

So I took a shot at writing the JS behind it, and then Kat rewrote it the next day. I learned so much from watching her work. (For one, usage of functions — something I’ve been trying to wrap my mind around since my C++ class a year ago — finally made sense.) But it was also nerve-wracking. This had been assigned to me, and it felt like a horrible failure that I wasn’t able to do the meat of it alone. I didn’t want to be a disappointment. Kat spent several hours working with the JS before it behaved itself, and that doesn’t even count the IE debugging (though I learned a bit about that, too).

But by the second and third day (of my two-day deadline), I was getting more confident. I was able to hunt down some bugs and fix them with the aforementioned function knowledge that I’d picked up. And a few things that I missed were obvious things that I chalk up to nerves.

The end result is clean and functional.

I’m not sure what I was expecting, but this wasn’t it — in a good way. The sink-or-swim lack of hand-holding surprised all of the interns, I think. (It was a recurring theme at our evening outings this week, at least.)

And I learned a lot about the way I work. I tend to underestimate the time it takes me to do things. Or, perhaps more accurately, underestimate the number of things that can go wrong and how long fixing them will take. I have to stare at a problem for a bit, turn it around in my head, before it makes any sense to me. But once it makes sense, all sensors are go.

Now that it’s Monday, “go” is now.

05

06/11

On Twitter, don’t confuse personality with persuasion

11:30 pm by Heather Billings. Filed under: Hacking the News

Recently, a very odd thing has begun happening to me. It happened first at ASU, then at ONA, and then again at NICAR in February.

A person I know either partly or entirely from Twitter will approach me, sometimes squinting as if to make my face match the 48-pixel-square image they know of me. “I love your tweets!” the person will say. Usually this is followed by how the person enjoys my sarcasm, appreciates my candid insight into the life of a journalism grad student, or, as happened on one occasion, is surprised that I am not black and white like my avatar.

Invariably, I think, is having personality on Twitter a thing now? Because to me, that’s just me being myself. No one’s ever approached me after overhearing a real-life conversation with someone else and said, “Hey, that was a great story you used to illustrate your point.” It’s just part of my personality.

I really got thinking about this after a discussion with someone who said she was turned off by too many religious references in other people’s Twitter feed. Hell, I said, I talk about my faith all the time. It’s not a secret. And you don’t seem to mind me.

But your tweets are different.

Being the Type A over-analyzer that I am, I had to try to figure out why.

Disclaimer: Forgive me if this comes out sounding like I’m touting myself as the model to follow. I am not at all trying to. There are many different ways of using Twitter that work for different kinds of people. But in thinking about this, I think I’ve identified a few ways in which people miss the mark.

Why does it matter?

Journalists have traditionally been about hiding all traces of personality to avoid the perception of bias. While I think some of that is still practical, modern journalism relies very heavily on forming human connections and striking chords within people. And we are still people. We forget sometimes, hiding behind the cameras and the notebooks, that we are fundamentally the same as the characters in our stories. I think this is one of traditional journalism’s fatal flaws. We’ve allowed ourselves to take on such an industrial, sanitized feel that we leave our audience feeling like we don’t really care about or understand them. This is, I think, why newspapers are hiring people with job titles like “engagement editor” at rapid rates.

But engagement starts at a much more personal level. It starts with the reporter. If the reporter can admit to the public that he’s just a person, too, I think people might start taking more pride in and feeling invested in their news. And I think social media is a good place to start with that.

Be relatable

Simply put, I’ve been through a lot of shit in the past couple of years. From relationships that have exploded to health problems, I’ve had it all while in grad school. This makes me a human being – everyone goes through shit. A theme I’ve often riffed on is, “Life sucks, but here’s how I’m coping.” Sometimes it’s as cliched as a song lyric. But my tweets tend toward big-picture instead of piddly details (again, that no one cares about). This isn’t to say I always get it right. There are definitely times I share too much, or get off on tangents for too long. But usually, I try to talk about my life (both personally and professionally) in ways that will resonate with other people, either in a way that makes them laugh or feel.

Drawing the TMI line

Just as most people won’t care about every story you write, most people also don’t want to hear about the details of your dating life, for instance. Every thought you have about every guy — whether he’s an asshole (I’ve met a lot of those) or Prince Charming (I’ve never met one of those) — doesn’t need to be public. This is really tough for me when I’m feeling super-emotional about something. I can get viciously sarcastic, but I can also get over-share-y. Part of this stems from the fact that I started using Twitter when only my friends followed me; part of it is that my introverted nature naturally gravitates toward social media as opposed to talking things over with another person.

It’s not about you

I know a number of people, reporters included, who use social media as a self-promotional tool nearly exclusively. Which is great, but most people who aren’t Mom really aren’t going to care about every story you write. This, too, I think, is the main problem with most organizational Twitter feeds. I don’t care about every story, and neither will your followers!

And please, if you’re going to retweet a compliment about you, try to throw in something that makes it worth someone else’s time. Otherwise, it just looks like you’re saying, “Oh my gosh, someone said something nice about me! I’m so special.” (Usually, I go with something self-deprecating. Everyone likes humor, especially when they know they aren’t the butt of the joke.)

In both this and the above point, I’ve learned to think about what I’m tweeting and whether it will be something anyone cares about. Sometimes I do decide to post something that will have meaning for only one or two other people. But it’s a conscious choice (most of the time).

Don’t preach

To bring this full circle, let’s go back to the religious side of things: Don’t preach at people. There is no faster way to turn someone off than to tell them they are wrong. And Twitter is a very, very bad medium for having a debate of any substance.

Preaching doesn’t have to be overt, and it doesn’t have to be about religion. A personal example: I recently have gotten into Django, and I’m of the opinion that it makes a far better CMS than WordPress for most large projects. I can’t remember exactly what I posted on this, nor can I find my tweet now, but I was pretty absolute about it. And, because a lot of WordPress devs follow me, it pissed off a few of them.

Now, because I’ve just gotten into Django, I couldn’t debate them on the technical details of why it’s better. (“It just is” isn’t a good argument, ever, even when it’s true.) I have to rely on other Django devs for that. That’s obviously not extremely persuasive. But that’s all right, because as I just said, Twitter is a terrible place to try to persuade people of anything. You really have a point to push? Write a blog post, where you can lay everything out, detail by detail. Or, I could have been less absolute, saying that Django seems to be the better CMS and asking my followers for their opinions. (Though when I tried this, the WP dev I asked for a clarification on summarily ignored me. Hey, I tried.)

So that’s an example of doing it wrong. Here’s what I believe is a counter-example. I said I talk a lot about my faith (though that’s about to change, as my new employer has a policy against such tweets). Mostly, I do this in ways like tweeting photos of folks at church, or, going back to the idea of being relatable, quotes from the sermon that are more good advice than they are fire and brimstone. Tweeting about obscure points that my non-Christian followers won’t relate to or may be turned off by is something I try very hard to avoid. And if you tweet about things only of interest to others who think similarly to you, you’re going to narrow your reach. By asking yourself if someone who has a different opinion would agree with, or at least find interesting, what you’re saying, you’re ensuring that you’ll touch the most people.

Like everything else, I don’t take my faith seriously when talking to others, instead poking fun at myself. (Personally, I’m very firmly rooted, so I suppose that helps.) Once, I tweeted a photo of a lyric slide that simply read, “WOAH WOAH,” with the caption, “This is the sort of inspiring worship I drive half an hour for.” Just today, I told a friend who’s an atheist, when he asked if God would be at church, that yes, God likes to hang out in the green room, and it’s annoying, because he drinks all the sacramental wine. A lot of people are relieved to encounter humor in someone who believes something very strongly — whether it’s religion or the right CMS for news apps (which is OBVIOUSLY Django, and no, I don’t hold grudges what are you talking about?)

In the end, it’s about showing people that you’re open-minded. I believe that if you prove your willingness to consider other opinions and be humble (and honest!) about your own, it’s all right to let people know which side of the coin you come down on.

Older Posts »