Getting data for a visualization design with Nokogiri, mysql, and R

I recently did some analysis of my Last.fm listening history to figure out what my ideal rainy fall mix would be (see final list here). It was fun, and I learned a couple cool things in the process.

Step one, Get the data:

First things first, I needed to get a list of all the songs I've ever scrobbled on Last.fm, and some historical weather data to mash it up with.

Last.fm gives you some fantastic data feeds, but there's no way to export your entire listening history. And for all the weather sites out there, I couldn't track down a single one that would give you historical data in a structured format (like JSON or even CSV).

However, both Last.fm and Weather Underground had an HTML interface for browsing the data I wanted, page-by-page, in small pieces.

The thought of writing a scraper for these sites seemed pretty daunting, but it actually turned out to be REALLY easy. Using this post as a guide, I wrote a couple of small Ruby scripts using Nokogiri and FasterCSV to scrape the pages and save the relevant data to a .csv file.

disclaimer: this code isn't pretty, by any means, but it was easy and it worked.

See the scraper for Last.fm

See the scraper for Weather Underground

Once I had those written, I could just do this in an IRB sesion:

> require 'LastFM'
> require 'WeatherData'
> LastFM.get_tracks
> WeatherData.get_weather

All in all, it took me about 45 minutes to wrap my head around Nokogiri and hack together something that got the data I wanted from both sites. Not too bad. Way easier than I expected it to be, anyway.

STEP TWO: Get rid of the sunny good-weather stuff

Now, I needed to filter it, so I dumped both csv files into mysql and ran this query. I think it's pretty self explanatory:

SELECT s.artist, s.song, w.conditions FROM songs s JOIN weather w ON w.date = s.date WHERE w.conditions IN('Rain','Partly Cloudy','Scattered Clouds','Snow','Overcast','Fog','Mostly Cloudy') AND MONTH(s.date) IN(9,10,11,12)')

Now, I've got over 9,000 songs that I listened to between September and December, when it was overcast, raining, or snowing.

STEP THREE: Visualize

I could've done all the analysis with mysql queries, but I know this will probably turn into some sort of visual exploration on the mixtape jacket design, so I exported the results to a CSV and brought them into R.

From there, it was pretty easy to get to what I wanted, the top artists I listed to on rainy days.

fall_song_data = read.table('~/fall-rainy-songs.csv', header= TRUE, sep="\t")
fall_artist_counts <- table(fall_song_data$artist)
pie(fall_artist_counts[1:30])

The first pass at visualizing my fall bands

Not super pretty at this point, but interesting. Also, relieving. I can actually make, in my opinion, a pretty damn good fall mix out of these bands.

There were all sorts of other neat facts I was able to pull out of this data, but this gives a general idea at how easy it was to get the data and do something with it.

My perfect mix for a rainy fall day (statistically speaking)

fall-jams-cover.jpg

The November theme for Rain City Mix Tape Club is Rainy fall jams. It's a good theme, there's lots of songs that just scream out to be listened to on an overcast fall day (especially here in the northwest).

I thought it might be neat to take a more data-driven approach to this mix than usual. I have 3+ years of my music listening data on Last.fm, so I *should* be able to say, quantitatively, what my ultimate rainy fall jams are, based on what I was actually listening to, on rainy days in the fall. The really interesting bit would be whether or not that matched up at all with what I would subjectively choose to put on a rainy fall jams mix.

For a nerdy technical breakdown of how I did it, check out this post.

I was originally just going to take the 15 songs that I listened to the most on overcast or rainy days between September and December. As it turns out, 9 of them were by the same band, because I tend to get obsessive about certain albums.

So instead, I decided the best way to represent the data in a single mix, while still giving it some variety, was to take the most listened-to song by each of the 15 bands I listened to the most during Autumn, under those weather conditions. There were a couple surprises, but for the most part I'm pretty pleased that it actually turned into a fairly listenable mix.

Here's how it ended up:

I tried to link directly to the song, where possible. Last.fm didn't have a streaming version of all of them, though.

  1. Yo, Get Into It, by Latterman

    I wouldn't have guessed this would be my top song on rainy fall days. But it turns out, during cold, rainy weather, I listen to this band way more than anything else. I guess bleak fall days call for an anthemic pop-punk pick-me-up.

  2. Radio, by Alkaline Trio

    This one makes a lot more sense. I'm not a big fan of fall so it makes sense that bleak, depressing songs with a healthy sprinkling of "go f**k yourself" seem just about perfect.

  3. Cry of the Black Birds, by Amon Amarth

    Thor FTW! If I were a viking, I'd do most of my pillaging and plundering between Labor Day and Christmas.

  4. Across the Shields by Torche

    Poppy metal is a great counterpoint to weeks of non-stop drizzle.

  5. Better Half, by Jawbreaker

    I was a little surprised that this song scored this high, but Jawbreaker was one of my favorite bands in High School, and cold autumn days make me nostalgic, so I guess it makes sense.

  6. Thousand Scars by Envy

    I can see Elliot Bay from my office window, and this song + the rain + the cargo ships sailing past = awesome. I can't really explain it. There's just something about it all that looks / sounds rad.

  7. Rodeo Clown, by Lifetime

    Not an obvious fall song, but I listen to this band a lot year-round. Chances are, it would also be on my Winter, Spring and Summer jams mixes, too.

  8. We're so Small, by The Epoxies

    Another one filed under "poppy new wave antidote for gloomy weather."

  9. Flights End, by Burst

    Honestly, I don't even like this band that much. I have no clue how they ended up ranking so high. I guess I just subconsciously gravitate towards Swedish metal bands in the fall?

  10. Shadows, by Sinking Ships

    I can't really put my finger on it, but something about this song seems totally appropriate for this mix, even though it's not terribly obvious.

  11. Spit Shine Your Black Clouds, by The Blood Brothers

    The darkness and weirdness of this song (this whole album, actually) makes a great compliment to those days when you're going just a tad bit crazy because you haven't seen the sun in weeks.

  12. On the Nod, by Avail

    Like the Lifetime song above, this one is on here because I listened to this band all. the. damn. time.

  13. Train Wreck Love, by Stabbed By Words

    This one was a complete surprise. I think this song is pretty stupid, actually. But, it's catchy. The rest of this album is much better.

  14. Chips Ahoy!, by The Hold Steady

    Sometimes you need to feel happy, that's what The Hold Steady is for.

  15. David Comes to Life, by Fucked Up

    This band reminds me that however insane I get while cooped up in the rain all winter, there's a fat, hairy, mostly naked Canadian man who's much, much worse.

Here's how the packaging turned out:
Rain City Mix Tape Club for November

I really tried to take notes during that conference call, really.

But this is all that happened instead.
I was trying to take notes in a conference call, this happened instead

Firefox new tab extension. An idea.

Like the recent post on file uploads, this is an exploration of a Mozilla Labs project, the New Tab experience. I couldn't really explain my thought in a concise enough way to leave as a comment, so I'm posting it here instead.

There's something that seems conceptually weird about the current about-tab extension. My focus gets dragged around all over the place when I pop open a new tab.

Without the extension, my brain and muscle-memory do one of two things.

  • I want to go to a url (cmd-t > start typing > maybe interact with awesome bar)
  • I want to search for something in a new window (cmd-t > TABKEY > start typing in the google search box > maybe interact with suggestions/previous searches)

When I take eaither action, I'm REALLY focused on the navigation bar of the browser. (more specifically, in the middle or right side of the nav bar.) The new tab extension pulls my attention away from that back down along the left edge of the content window. My hands are generally on the keyboard, and to interact with the tab page options I need to switch to the mouse (I realize that's not the case universally, lots of people will use the new tab button to pop open a new tab.)

I wonder if the idea has been explored of having an initial open state for the awesome bar? I can see some legitimate reasons to NOT do this, but it would allow my focus to remain in the right place, have easy arrow navigation to common items. It could be easily dismissed by typing anything in the addressbar, which would replace the list with awesomebar results. Here's a mockup:
new-tab-with-reopen.jpg

Just what the hell is UX, anyway?

A couple weeks ago, I mentioned to someone else (another designer, actually) that I do user-experience design at work. He said, "Ya know, I hear that term more and more these days, but what does it mean?" In a really rambling, roundabout way, I tried to sum it up, and was pretty annoyed by how badly I explained it.

  • "It's sorta like UI-design or Interaction design but it encompasses a lot more and is more focused on the user."
  • "Oh It's awesome, you get to have hand in a little bit of everything and be a strong advocate for the person who will actually use your product."

Those statements aren't really wrong, but they're pretty vague, and a shitty response for someone that wants a tangible answer. It's been nagging me ever since, the thought that I should be able to articulate it better, even if it's only to myself.

Then a thought occurred to me on the way home tonight. A way of thinking about it that I kind of like:

User experience design is non-linear, participatory storytelling. As the designer (loaded term), you are setting a stage in a way that optimizes the user's (another loaded term) ability to craft a meaningful personal narrative about your product (yet another loaded term).

Again, it's a statement that leaves a lot of questions, but it feels like it hits at the core of it better than how I had been explaining it. The story analogy holds up pretty well. You have a starting point, somewhere around the time a person first becomes acquainted with the project/product/whatever it is that you're working on. You have a more fuzzy end-point, where possibly your project/product/whatever and that person are getting along swimmingly.

And then there's the in-between, and that's where the goods happen. There's all kinds of mechanisms to get from the start to the end, and to do it right you can't really explicitly spell out how to get there. The people ought to be will be just as much an author of the story as you are.

OtherInbox. sorry guys, I tried.

A couple weeks ago, at SXSW Interactive I spent some time talking to OtherInbox.com at their trade show booth. I think email is a space that's long overdue for some serious innovation so I was interested to try out their beta and understand what they were doing a bit better.

Basically, they're trying to address the problem of automated emails clogging up your inbox. They give you another webmail space, and automatically move non-human-generated emails out of your original email account's inbox and give you some interesting ways to slice and dice everything over in your otherinbox.com account.

It sounded ok, but after having it set up for a day, I couldn't see the real problem that it was solving. I was totally confused. I went back to their booth and asked them about it. They just told me that I just needed to try it for a while, then everything would become obvious. They said, "Give it two weeks, then write a blog post about it." I figured that sounded fair, they seemed to genuinely believe in the product, so maybe it would make more sense with time. (Although, for the record, saying "you need to try our service for two weeks to understand how much it rules" is a shitty marketing pitch. Just sayin').

Anyways, I feel like I have a better sense of it now, and while there's a couple things that are sorta neat, it's not really solving a big pain for me.

Where it's cool

otherinbox ui.jpg

  • The auto-organizing of the emails is pretty cool. Being able to see a view where emails are grouped by the company that sent them is really a pretty nice way to organize them.
  • It did, in fact remove some noise from my inbox. There are some emails that I get that aren't spam, but I still almost always never read them and delete them without thinking about it. It's nice to have that step be automated, without having to set up special rules in gmail. (if only it did a better job of it.)
  • They hinted at some upcoming features that sounded pretty neat. Automatically detecting coupons, receipts, and calendar items seems like it could have a lot of potential.

Where it's not so cool (for me, at least)

  • I actually cared about some of the stuff they were pulling out of my inbox. At least twice at SXSW, I got direct messages from someone on Twitter wanting to meet up for lunch or drinks or something. Because I don't get DMs on my phone, and the email got moved out of my inbox, I didn't see the message until later on that night. Frustrating. I wonder if computer-generated email is the right thing to be filtering on, given that messaging is so fragmented these days?
  • They missed a LOT of stuff, my inbox is still cluttered. Just as an experiment, I didn't manually move anything out of my inbox for the last couple days, and now here's what it looks like:
    gmail-nonhuman-email-breakdown.jpg
    If their value-prop is "separate the real people from everything else", that's not doing a terribly good job of it.
  • It's yet another account to keep up with. I already have too many places that want to be the the place I go to see my data. Social networks, Calendar applications, Flickr, Last.fm, etc. It's overwhelming, and anything that adds to the list is unwelcome. Ironically, that's half of what OtherInbox is trying to solve (at least the constant email notifications you get from those places).
  • Just about everything they offer can be done with any email client (albeit with a little bit more work in some cases). On-the-fly email addresses? check. Automatically route emails from company X to a folder where they're all grouped together? check. Flag messages to look at later? check.

At the end of the day, there are a couple of features that I truly wish I could have within my normal email client (but not as an external service). But they're nice-to-haves. Other than that, my take on the it was that it's basically a new webmail space that you use to sign up for services that you don't trust not to pester you with messages you didn't want to read. Having the "spam account" isn't a new concept. It's also a sub-par solution to the problem.

But, the concept of weeding out the non-urgent emails is interesting, and I hope they can figure it out. It's a hard problem to solve, though.

Getting involved and staying involved. I wish I was better at this.

Disclaimer, this is sort of an exploration of how some tendencies I have (that are a little neurotic) will keep me from interacting with others, and what could possibly be done about it. It's a little long-winded. I had a couple of thought-provoking exchanges with the co-working panel, and with some of the guys from Mozilla Labs. Let's just say, thoughts were, in fact, provoked. I kinda got stuck inside my own head for a while and this is what came out. Sorry. :)

SXSW Interactive is an insanely inspiring time. I see lots of really smart people talking about really exciting things. It's infectious. At the end of each day, I find myself filled with ideas and motivation and all I want to do is run back to the hotel room and start figuring out ways to be one of those people next year. But the aspect that I'm most jealous of, one that no amount of late-night hacking in my hotel room will get me, is being a valuable contributor to something larger, a peer in a group of people passionate about the same things. Getting myself invested in a project or community is way harder than I feel like it should be. The times I've tried in the past, it's never stuck. That bums me out. A lot. Especially in situations like this.

It's mostly due to the social anxiety issues that I have. When I go into a new situation, my first instinct is that I'm being a slight burden on the people that are already there. If I don't get some relatively quick indication that I'm not just seen as this weird outsider, I generally assume I'm more trouble than I'm worth and tend to back away. That constant doubt makes it really difficult for me to stay motivated. I wonder if it's the same for other people? I'd assume so, I don't really consider myself to be that unique when it comes to stuff like that.

I started thinking about it some more, and I feel like there's a lot of stuff the individual can do, but also a few things a group can do to better reach out, and meet in the middle to make sure people that would be a good addition don't bail out.

What can I do?

First off, because it's the most actionable for me, here's some of the things I can do, or at least some things to think about to keep perspective on the whole thing.

Think hard about getting involved. Is that effort really worth it?

There are lots of dumb reasons. Joining something just to belong somewhere isn't smart, or sustainable. At best, it's short lived, at worst, you end up in a cult, or a gang, or a LOT of embarrassing pictures that will haunt you later.

Really, it's entirely too easy to get enamored with a side effect of a project that you otherwise wouldn't care that much about. Motivations like "I want to be around smart people all the time." or "I really like the sense of purpose y'all seem to have, and want to be a part of it" are totally valid, but not quite enough if the context is a bad fit. Furthermore, those motivations are fairly self-centered when you stop and think about it. That's actually ok, because if you didn't get anything out of it for yourself it wouldn't be worth it. But it probably should be balanced with something else.

"Rockstar" is not a terribly interesting archetype, "Collaborator" is much better.

Too often, I run into those situations with an approach like "OOOH let me show you all my awesomeness". Problem is, it's fairly inauthentic. I don't really think I'm all that awesome, but feel like I need to prove why I think I should be there. Doesn't really feel like it goes over all that well. It could be that it shows that even I don't buy it (probably), or, that's not really the aspect people care about. Am I excited about the same things as others? Can I talk about it? Am I psyched to learn and interact and dialogue about it? Maybe that's the more appealing trait. Besides, It's fairly unlikely that I'm gonna roll up on a group of people that are passionate about something and blow their mind with my fresh insight. I should think about what actions I can take to join (or start) a dialogue, rather than spending time flexing whatever muscles I think might impress people.

It's not all about you, er, me.

That's such a common sense thing to say, but it's easy to get frustrated when I don't have validation. And it's actually pretty understandable, I think. I'm trying to join something, to walk into an established group of people and say that I belong there too. There's a lot of insecurity that comes along with that. Will I be accepted? Did I even understand what I was walking into? It only makes sense that those things would be near the front of my mind. BUT, seriously, wtf, it's not a 'make you feel good about you' group. Jeez Robby, don't be so quick to throw up your hands and say "aw fuck it, I suck at this", just because no one gave you a cookie (although, see the corollary in the next section).

What could groups and communities do?

Now, the other side of the coin. Let's say you're a group that is encouraging participation. What are some ways you can reduce friction in the right ways to nurture motivation and engagement by the right people?

I want to know if I'm adding value (or not), offer feedback if you think I am.

If someone makes an effort, acknowledge it if you actually think it's valuable (no reason to bother if not). That can be done in really lightweight ways, so it's not a big effort. If someone posts a comment on your blog or discussion board, comment back. Follow them on Twitter. Whatever. Do the simplest thing possible to give a little nudge of thanks and encouragement.

Converse in the open, and offer easy, lightweight, frequent entry paths to engagement.

Make your internal dialogues public, then offer people specific ways they can weigh in. I think Mozilla Labs does a pretty bang-up job in this regard. On many of their blog posts, someone will talk about something they're doing, why they're psyched about it, what parts of it they're struggling with, and what they'd appreciate some help on. This does something really powerful, it gives context and frames the conversation. All of that makes the thought of engaging with them much more accessible. I know what level of conversation is going on, and I know that feedback would actually be appreciated. Even when I don't have anything to offer, I still understand the way they're thinking about things a little bit better.

Personally, that's important because many times, right as I'm about to click the 'post comment' button on a blog, I get a twinge of panic and think "What if this is totally inappropriate? What if I'm about to say something that's been talked about to death and I'm just throwing some really unhelpful tangent on this post?" That feels pretty awkward, so actually more often than not I end up bailing out at the last second and deleting anything I've written. Yeah, that sounds neurotic, but that's how it goes down.

Follow up those calls-to-action with dialogue

This is a expansion of the previous two. It sucks to feel like someone asked you for something, and you made the effort to give it thought and respond, and to feel like you chucked something down a black hole. It's just awkward. Was that worth it? Getting recognition isn't the important part. It's just helpful knowing that I got the context right. For me, I'll quickly assume that the crickets chirping is a sign that I got it wrong and shouldn't contribute anything else.

Conclusion

Not that I think anyone owes me any extra effort or anything. That's just an explanation of some things I've run into in the past that have nudged me into feeling like I was wasting peoples time. And that's an embarrassing thought, particularly in online communities, where there's a permanent public record of it. I kinda feel, if new people are something a group/project/community is interested in, then some of those things maybe would help the people who are naturally a little bit averse to feeling like they might be an unwelcome voice. But, the other side holds true as well, and it's important for people like me to not get too wrapped up in over-thinking it.

2007.dconstruct.org - style switcher shows progression from wireframe to final design.

This was one of the examples thrown out in Paul Annett's session called "Oooh, That's Clever! (Unnatural Experiments in Web Design)". It's the site for the 2007 dconstruct conference that features a timeline of the design at the top of the page that has an easter-egg function as a style-switcher showing various stages of the design. Neat.

dconstruct-wireframe-1.jpg

dconstruct-full.jpg

http://2007.dconstruct.org/

What could go into a better implementation of the file upload control in a web browser?

Ok, here goes. Here's my response to the Mozilla 2009 Design Challenge: SxSW Edition

http://labs.mozilla.com/2009/03/announcing-the-mozilla-2009-design-chall...

The general premise of the challenge is "the file upload widget sucks, improve it".

To start playing around with that idea, I gotta dive into the initial statement a bit.

Why does it suck?

  1. It's missing some basic features that most other form controls have.
    • no / minimal client-side validation options
    • it's difficult-to-impossible to do any meaningful styling with CSS
  2. It looks like a text field, but doesn't act like one.
  3. Uploading files can cause a significant lag in page refresh, with no real understanding of status.

What about the other side of the coin? Why doesn't it suck?

  1. It's consistent looking. It looks more or less the same in every browser. (ok, Safari is a little bit different)
  2. It's understood. The control has looked that way forever, people are used to the metaphor.
  3. It's mostly intuitive. Novices understand buttons, it's pretty clear what is going to happen when you click the button. Ok, so the read-only text-field is weird. But first time users can grok it pretty well.

What other constraints are there?

Whether we like it or not, the textfield with a "browse" button next to it is pretty firmly entrenched as part of the visual vocabulary of the web. Any changes should be evolutionary, and not a radical departure. It's probably also worth keeping in mind that we wouldn't want to do something that would drastically alter the cross-browser experience. That's not to say that it can't be a much better experience in FF, it just shouldn't be so different that someone who's used to one browser gets stuck when trying to do the same task on another.

All that said, what are some options for improvement?

1. Add basic client-side validation

Not sure what kind of security issues impact this, but it would be great to have some attributes for the maximum (and minimum?) file size, as well as a way to specify a type(s) of files that can be selected. Of course you'd validate on the server as well, but something like this would provide a nicer user experience.

<input type="file" MAXFILESIZE="10mb" MINFILESIZE="500kb" ALLOWEDFILETYPES="jpg,png,tif" />

2. Allow greater control over the look and feel

It's currently really hard to style the upload control. A designer should be able to choose things like whether to hide the textfield, or even the button for that matter, seeing as how currently the entire control is clickable. Playing off another idea that's been discussed, if an improved control supports drag and drop, the designer should be able to make the hit area as large as possible, if he so chooses.

3. Provide better upload progress notification

Showing inline progress bars are helpful, but they require an AJAXy interaction which may or may not be what the back-end is set up for. There needs to be a lowest-common-denominator solution for the full-page-refresh experience. This could take place on the control itself, but would be confusing in the case of long forms and / or multiple inputs. It seems more appropriate for the browser to address this with something outside of the viewport. There are already a couple places in the browser chrome that provide notifications when something is downloading, why not repurpose them for uploads, as well?

Notifications could take place in the status bar

uploads-in-the-status-bar.jpg
uploads-in-status-bar-simple.jpg

Or, perhaps more appropriately in the title bar (or tab title, depending on how many tabs are open.)

upload-status-in-title.jpg

Another option is an interstitial page or modal dialog that shows upload progress, this would allow a lot of flexibility in terms of what you could display, but may feel a little bit like they were intruding on the experience of the site being interacted with.

4. Make it so the user is able to clear the field

This last one is a minor point, but please allow clearing of the field. Currently, if I select a file, I can click the field again to change that file, but there's no way to clear the field entirely. I can imagine a scenario where there's a long form and one field is a file upload field. After filling the rest of it out, someone selects a file then changes their mind about it. They have no way to clear the field without clearing all the other data they've entered. That shouldn't be the case. update: this actually bit me as I was typing this post. I selected a file for reference, and couldn't submit the form without uploading something.

visual-upgrade.jpg
visual-upgrade-with-file.jpg

This was a fun thing to think about, I'm psyched to go to the meetup in Austin on Monday and hear the Mozilla team's take on it.

Breaking down the process of Agile UX design a bit.

Earlier today, I was reading a discussion in the LinkedIn User Experience Group about User Experience design and how it fits in with an Agile Process. It was an interesting conversation, so I'm making a note of it here to make sure it doesn't fall off my radar.

Read the discussion in full

The main thrust of the conversation centered around the amount of up-front work should go into UX design. There were opinions all over the place. Some people said that you need to have the design as close to being finished as possible before code is written, others thought design could go more hand-in-hand with an Agile development process. For the most part though, most people believed that some up-front work was necessary. It's common sense, but I found it a little difficult to articulate where the line was. What are the right things to focus on in the initial planning phase and what can wait until you're in the process of rapid iterations?

I thought about it for a while and started to see a distinction that made sense. There are some design activities that are of the most value before you start, and some that actually work much better deeper in the process.

The goal of the up-front design work and research is to know what you *think* you're about to build. The trick with agile is, you let go of the assumption that you can *know* exactly what is required. By having a strong core concept and iterating outward, the important stuff reveals itself and the cruft falls aside.

However, the up front work to get to those core assumptions can be significant, especially when you're building something that will be used by someone other than yourself or people you closely identify with.

Jeff Patton makes some good points about why this is in the first part of this post.
http://agileproductdesign.com/blog/emerging_best_agile_ux_practice.html

I can't find a concise quote so I'm paraphrasing (read the post, it's good, albeit a little long). Agile development came out of internal projects where someone was "scratching their own itch" and solving their own problems. When you're solving someone else's problems, you need to understand them sufficiently enough to make assumptions about their needs.

That's where the value in the up-front planning is. Knowing the pain points, understanding the context the product will live in. Getting the UI and interaction design right is something that can be dialed in on later in the process.

That's been my experience, as I stumble through trying to design in an Agile development culture. So far it's been working pretty well.

Random post: deliciousness this week.

Just realized that my Flickr stream is filling up with pictures of delicious food I've had this week. Is that weird? Like, all of my friends' photo streams are mostly pictures of their kids, or their art, or cute animals, or actual good photographs. I feel like that says something odd about my priorities. Anyways, here's a recap of this week.

I don't know what it was but it was great
Stuffed pepper from Alligator Soul in Everett.

Oaxaca Tacos from Cafe Flora
Oaxaca Tacos from Cafe Flora.

Egg pizza from Zayda Buddy's
Egg Pizza from Zayda Buddy's in Ballard

Aftermath of Blue C Sushi
The aftermath of a meal at Blue-C Sushi in Fremont (that's a meal for two, I'm not that much of a glutton).

Cold Stone Creamery
Gingerbread/Cake Batter/Kit Kat from Cold Stone Creamery. She accidentally made way too much, and then tried to pack it all in that little cup.

Open government at the start of a new administration

A few months ago, right after the elections, I started working on a blog post opining on all the opportunities the Obama administration had using new technology for a more participatory government. I quickly shelved it, though, because it seemed like everyone else was doing the exact same thing. But now that we're in the first week of his presidency, it's kind of interesting to take a look and see what's actually in the works.

Stuff the government is doing.

  1. Change.gov / Whitehouse.gov

    Just contrasting the design of the White House's website on the first day of Bush's first term with the first day of Obama's is telling. Granted, there's 8 years difference here as well, and the results from the Jan 19th vs Jan 20th weren't that far apart, but it's an awesome starting point that suggests the platform is going to be a priority moving forward. I can't wait to see how this evolves.

  2. Change.gov open government

    Change.gov allowed people to ask questions, suggest ideas and vote on other people's suggestions. Sort of a Digg for Government. They've taken it down now, but I hope they bring it back in some form or another.

  3. The whitehouse now has a blog.

    Aside from the fluff graphics at the top, the most discoverable piece of content is the White House blog.
    That's awesome, but could be better if we had more of a sense of who the bloggers were. I'm sure now it's a bunch of different people, but eventually, could there be a more defined "blog secretary" position? The press secretaries have always had a lot of personal presence in the past, seems even more appropriate in a medium that's been based on two-way communications from the start.

    Also, they should turn on comments. Sure, they'll get tons of spam / trolls / etc. but jeez, figure out a way. You're the White House, you have the resources. Comments and dialogue are what blogs are all about.

    Kinda goes without saying that it would be interesting if Obama was doing some of the blogging. But having worked for a company with a blog-happy CEO in the past, I'm pretty sure there's other things I'd rather the President be spending his time with. On the other hand, if he wanted to dust off that Twitter account...

  4. White House has a YouTube page

    The weekly radio address has moved to YouTube, making it more discoverable, more linkable, and more discussable. This is a great move. I'm psyched to see they didn't try to get special treatment and turn the comments off. Even if they are filled with a bunch of troll-ish comments, having an open channel to the world attached directly to the executive communications is amazing. I hope they're looking at it as a first step. You can always refine ways of having the dialog, just getting it started is the important thing.

  5. Politicians are starting to use social media for more than a re-election campaign

    Arnold Schwarzenegger

    Here's some more.
    http://twitter.com/politicians/friends

Stuff other people are doing:

  1. New York Times Congress API
    The NY Times recently came out with an API to expose information about Congressional activties. There are similar aggregators of this kind of information, but none from such a high-visibility source. From their blog:

    The initial release exposes four types of data: a list of members for a given Congress and chamber, details of a specific roll-call vote, biographical and role information about a specific member of Congress, and a member’s most recent positions on roll-call votes.

    I get giddy when I think of all the wonderful combinations that could be made with something like this. For example, someone could quickly whip up a "twitter for congress" app that shows an at-a-glance view of your representatives, their votes, who they're statistically similar to, etc.

  2. http://opengov.bluwiki.com/

    Open forum for people discussing how an open government should work, from a technical perspective. (I *think* the idea started from this comment thread on reddit.com, but I could be wrong about that.)
    http://www.reddit.com/r/technology/comments/7gidj/who_else_thinks_that_a...

    They talk about some interesting stuff. RSS feeds for everything, all legislation placed into a version-control system so all modifications are tracked and accessible.

    Unfortunately, there's not much there beyond the front page, and it doesn't look like there's much momentum behind the project.

I'm sure there's a lot more that I haven't found. It's exciting to see where things a heading.

Another sketch...

Sketch of Megan in NYC

Here's a sketch of Megan from our trip to NYC a few weeks ago. I'm kinda bad at drawing faces, but it was fun.

It's an amalgam of this:
escalator in the canal st station

and this:
Central Park in December

Wow. Design Commission == Holiday overachievers.

Design commission xmas package

Last week I came home and there was a holiday package in my mailbox from Design Commission. I've done production work for them on a few projects this year. They do great work, and I knew they were pretty good guys, but this thing blew me away. It's got a pad of wireframe-paper, a mechanical pencil (nice touch), and a etched stencil of wireframe shapes.

I find it especially awesome, since I've been making an effort to work pencil and paper into my work-routine a little more. So it's a gift that I'll actually use.

Way to go, guys.

This past weekend in NYC

Megan and breakdancing Santas

Last weekend I took Megan on a surprise trip to New York to see all the holiday craziness. Leading up to the trip, all I told her was to get two days off from work and let me plan the rest. Honestly, I'm shocked at how well it turned out.

Rather than try to recount it all. I'm just posting the whole stream of our tweets and flickr posts, with minimal commentary. There's a couple of non-trip related tweets in there, but I left them in so I could include the entire stream. Hopefully you can kinda get the idea of how it all went down.

The stream is pretty long, so read it after the jump.

Syndicate content