Microblogging Explosion

July 3rd, 2008 - 6 Comments »

Holy crap. Every week there’s a miniature gold rush when a new microblogging site is released. Twitter proved the market, and the concept is so simple that anyone with an elementary web development education can put up their own site. And, apparently they are.

So, Twitter kicked the whole thing off, and it’s a compelling system because it’s incredibly simple, and very accessible (web, IM, widgets, SMS, etc). It’s also pretty flakey right now. More on that later.

Immediately after Twitter’s user base “hockey sticked,” Pownce and Jaiku jumped on the scene, with a couple extra features, like pulling in photos from Flickr and whatnot.

FriendFeed joined the fray at around the same time, adding a veritable raft load of ways to track and comment on posts from other sites.

Then Plurk leaped into battle with it’s headless Doglephant and wildly different user interface, provoking Love It or Hate It responses from everyone who tried it. They don’t pull in other content, but they do allow discussions to grow around specific messages, and they added the concept of karma — more participation means more karma, and extra little toys to play with.

This week, Identi.ca showed up with a back to basics story, and a twist. It’s pretty much just like Twitter, and people want to give it a shot because it seems to be more reliable (more on that later). The twist is basically a marketing move: the software that powers the Identi.ca site is an open source project, so anyone with software chops can use it to create their own micro-blogging community.  Heads up, internal communications people.

Now, regarding reliability. A slightly flakey experience is not a big enough factor to drive away the masses. None of the above sites are Twitter killers, because Twitter has a critical mass of users who have shown that even if Twitter is unreliable, they’ll stick it out to stay in touch with their friends. Will it frustrate early adopters with short attention spans, and rabid interaction habits? Sure. Will they totally abandon Twitter? Not likely.

My prediction? Twitter is going to stay king of the microblogging universe for the next few years, and that universe is going to get much, much bigger. Like Gary Vaynerchuk said on his swing through Portland — “You think there’s a lot of people using Twitter now? Wait until Oprah gets on Twitter.” Hopefully, the fine folks at Twitter are planning for such an event.

I expect that we short attention span, early adopter types are going to stick with Twitter, but spend most of our time on FriendFeed. Why? Because it’s such a powerful aggregator. We’ll continue to sign up for any social web app that shows up on the radar, and we’ll use FriendFeed to track and manage all of our discussions.

Farewell 52 (almost)

June 26th, 2008 - Comment »

#52

[update: The Wife just knocked on my office door and informed me that the buyer backed out moments before they sealed the deal.  Sigh.  We're following up on other offers, but if there's anyone out there in Internet land who wants a kick ass car, ping me immediately!]

We sold our little red Mini Cooper today. It was a bittersweet transaction, but it was the right thing to do — the baby seat doesn’t fit in the back seat, and having insurance and car payments on two cars just isn’t worth while for a family with no commuters.

That said, practicality can’t substitute for personality, which the Mini has in spades. It’s small. It’s cute. It’s red. It’s zippy, and it has big “52″ stickers on the doors (I still haven’t figured out why). Little kids point and yell “race car!” when it drives by.

We’ve been Mini nuts since we bought our first in 2003 (a silver Mini One), so I suspect we’ll pick up another when we move beyond baby seats and our boring family sedan gives up the ghost. Maybe a Clubman. Maybe there’s a hybrid in the future?

Here’s to you, 52!

Jonnycakes

June 24th, 2008 - 4 Comments »

A couple of months ago a segment on Good Eats caught my attention: jonnycakes, AKA hoecakes, AKA cornmeal pancakes. I love pancakes, but I’m also a grumpy klutz on weekday mornings, which rules out my (somewhat labor intensive) favorite pancake recipe.

Fortunately, jonnycakes are simple enough to handle in the throes of Morning Brain, plus they’re delicious, fast, and cheap. That’s a hard combination to beat.

I jiggered Alton’s recipe a little bit to reduce the number of implements requiring cleaning:

  • 1 cup of cornmeal (white or yellow)
  • 1 tsp. salt
  • 2 tsp. baking powder
  • 2 tbsp. butter
  • 1 egg
  • Water

First, put a skillet on the stove at medium heat. We’ll let that warm up while prepping the batter.

Scoop cornmeal into a small mixing bowl with a 1/3rd cup measuring cup (more on that later), add the salt and baking powder, and plop in the butter. Mix in a bit of boiling water.

The heat is important! Cornmeal is terrified of cold water, and we also want to melt the butter. How much water? Enough so that your batter is still clumpy and doesn’t run smooth. This seems to vary depending on your cornmeal … sorry I can’t be more specific!

Mix in the egg, and check the consistency with your measuring cup. Our goal is to be just wet enough so that it pours without clumping. Still clumpy? Add more water. Too runny? Add more cornmeal.

Now you’re ready to rock.

Oh yeah, about that measuring cup — 1/3rd cup of batter produces six perfect sized specimens with this recipe. And it means I only have to wash one measuring cup. Hah.

Alrighty. Pour some batter on the skillet. It should be hot enough to sizzle as soon as it hits the surface. Your milage will vary, but two minutes per side on medium heat gives me a golden brown and airy jonnycake.

Serve with fresh fruit, honey, maple syrup, or whatever floats your boat. Almost anything you put on your jonnycakes will cost more than what went in to ‘em. The ingredients clock in under $1 even if you’re buying local + organic.

Cheaper than Pop Tarts, and way better for ya.

Try it out, tell me what you think.

Ignite Portland 3, Tonight!

June 17th, 2008 - 1 Comment »

What are you doing tonight?

Want to watch some kick ass presentations about weird and interesting things?

Do you enjoy beer?

Do you think free is a (very) good price?

Than Ignite Portland is the event for you, and tonight is the night to get your rear to the Bagdad Theater. The doors open at 5:30, but get there early — last time we hit capacity and had to turn away a few hundred people, and this time around the early bird tickets were all nabbed within 24 hours.

I’m part of the volunteer team, so I’ll helping out with whatever needs help.

If you see me, feel free to say hello!

Determining Technical Requirements

June 13th, 2008 - Comment »

Estimates for software are terrible, terrible things. When I was a budding web developer, I thought I had it pretty much figured out: X hours to solve the stated problem, X hours to write the code and tests, then double the sum (aka, “the optimistic compensation adjustment”).

That worked alright when my job was just writing code, but utterly failed when I struck out on my own. Aside from figuring out how to budget for planning, communication, integration, and deployment … I also realized that I brought a huge number of technical assumptions to the table, and that my assumptions weren’t always in line with what the customer needed.

So, over the last several years I’ve compiled a set of questions that help me better understand the general technical requirements for a project. It isn’t comprehensive or complete — you can’t fill out the form, pull a lever, and have an estimate shoot out — but it is a good starting point, and has helped me quickly figure out a the client’s expectations and experience with building web applications.

Chances are you’ll have to put on your expert hat and coach your clients through some of these questions (and their implications) … but that’s what they’re paying you for, right?

So, without further ado …

Accessibility

  • What are the minimum requirements for devices and browsers we should support? (eg: a modern computer running IE 6+, FF 2+, or Safari 2+)
  • What accommodations are necessary for impaired individuals? (eg: adjustable font sizes for the visually impaired, tactile interfaces for the blind and deaf)
  • Are there specific accessibility regulations that may apply to this project? (eg: Section 508)

Reliability and Recovery

  • What are the primary usage hours? (eg: business hours across the continental United States)
  • What is the maximum acceptable downtime during primary usage hours? (eg: 4 hours down per month)
  • What disaster scenarios should we have a contingency plan for? (eg: failed hard drive, hurricane, nuclear war)

Performance and Scaling

  • Approximately how many people are expected to interact with the system during peak hours?
  • Approximately how much tabular data will the system be managing? (eg: contact information, dates, product descriptions, etc.)
  • Approximately how much binary data will the system be managing? (eg: photographs, music, video, etc.)
  • How many reports need to be available in real time, and how many can be run in periodic batches?
  • What is the minimum acceptable load time for interactive pages? (eg: a wizard for creating a new member accounts)
  • What is the minimum acceptable load time for data intensive pages (eg: a report, or complex searches across the database)
  • How quickly do you expect the site to grow? (eg: 2000 users within 12 months, 1M photos within 3 years)

Security

  • Will we be managing sensitive information? (eg: passwords, bank account/credit card information, etc.)
  • What are the requirements for encrypting data sent over the public Internet? (eg: checkout process involving credit card transactions)
  • What are the requirements for restricting physical access to the hardware? (eg: sealed cabinet at hardened telco hotel)
  • Is a shared hardware hosting plan acceptable, or are physically separate servers required?
  • Is operating system access control of network resources sufficient, or is a separate hardware firewall device required?
  • What security breaches should we develop contingency plans for? (eg: customer account compromised, theft of physical server)
  • Are there any specific security regulations that may apply to this project? (eg: PCI-DSS, government security clearance)

Integration

  • Will this system interact with any other systems? (eg: credit card gateway, LDAP server, Google Maps)
  • What contingency provisions should we have if those systems are not reachable?
  • Will this system provide services for other systems? (eg: this system provides single sign on, or web services for accessing data)

Environment

  • Does your company have any specific requirements around languages, protocols, or deployment environments? (eg: Oracle database server, Java EE 5)

Documentation

  • How comprehensive should the technical documentation be? (eg: inline comments in the source code, UML modeling, interaction diagrams, API documentation, etc.)

Anyone have other things to contribute?

New Music

June 8th, 2008 - 5 Comments »

I have a problem.  I’m totally overwhelmed when I go into music stores.  As soon as I walk through the door, I immediately forget all of the music I was excited about, then I burn out after ten minutes of flipping through the racks.

Never the less, I like owning physical media (and having control over how it’s ripped into my music collection), and used CDs are a heck of a deal these days.

So, a few weeks ago I started planning.  I put together a list of albums that were only partially represented in my collection, or were low quality rips … then I called my buddy Tom.

Tom is “that guy.”  You know — the kid in elementary school who was listening to Fugazi and Suicidal Tendencies when the rest of us were discovering Michael Jackson.  He was the kid in high school who actually had opinions about bass players and producers, and could produce lyrics from a discography of thousands of songs without a moment’s hesitation.  He’s been in (or worked with) bands for as long as he’s been able to pick up drum sticks (or a guitar, or a keyboard).  His room was (and is) piled with crates of vinyl, stacks of CDs, a wild assortment of instruments, and various musical paraphernalia.

Anyhow, I gave Tom a mission:  help me find new music, and start developing a sonic curricula for Mr. E.

We walked out of Everyday Music with 30 albums.  It’s all good, but there are a few stand outs.  In no particular order …

The Geraldine Fibbers, “Lost Somewhere Between The Earth And My Home” – Post-rock meets punk meets country?  Holy crap, it works.  I don’t track lyrics very well, but Carla Bozulich’s voice is amazing.  Circa 1995.

Jamie Lidell, “Multiply” – Stunning vocals, great production, a healthy twist of modern electronic and DJ dojiggery.  If you like the sound of Gnarls Barkley, old Stevie Wonder, and … well … if you like music, you’ll probably like this.

Yann Tiersen, “Amelie” – The sound track to Amelie is one of my favorite aspects of the movie.  It’s quirky, happy, playful music.  

Unkle, “War Stories” – I think Unkle is one of the best collaborative groups of all time.  ”Burn My Shadow” with Ian Astbury is particularly haunting song, and has a killer video.

They Might Be Giants, “Here Come the ABCs” – It’s the ABCs in a form I can get down to.  I sure hope Mr. E appreciates it.

Yo-Yo Ma, “The Cello Suites” – I love the cello, so I guess this one is a bit of a shoe-in.  Wonderful stuff.

There’s a pile more to dig through.  I’m a happy camper.

Any recommendations you’d like to make?

Hooray for Plurk

June 4th, 2008 - 1 Comment »

Plurk is the only Twitter alternative I’m excited about.  Why?  Because the interface is fun to navigate, gives a better sense of time and community, and has plenty of visual queues for it’s features … and the people who are building it are obviously having a lot of fun. Their logo is a headless doglephant, and they call themselves the A-Team. Never underestimate the power of fun.

They say it’s built to scale, but we’ll see.  Their growth chart this week looks like an insane hockey stick, but I suspect they’re still under 10k users.  My fingers are crossed.  I’d love to see these guys succeed.

In the meantime, you’re welcome to Plurk me.

Who Owns Blog Comments?

May 31st, 2008 - 2 Comments »

There’s a discussion going on right now on several prominent blogs: who should own the comments on blogging and forum systems? Is it the people who post the comments? Is it the people who run the blogs? What does it mean to own a comment, anyway?

These are interesting questions, but I think they miss the core issue that bloggers and commenters have mismatched expectations about what can and can’t be done with their contributions. Even when such issues are spelled out in terms of service agreements, the legal language is opaque to most of us humans who just want to discuss the issue at hand.

Creative Commons addressed a similar issue for communicating usage and distribution rights. It’s easy to use, accommodates a wide range of rights, and is legally vetted. A similar system could provide a convenient way to help bloggers and commenters communicate their expectations around how their contributions are handled.

I’d love to put a set standard icons in the comment area of my blog that make it easy to understand how I want to engage with the people who visit my site. For example: I allow comments to be edited by the author, I reserve the right to delete comments, and I don’t claim copyrights on comments.

The goal is to give visitors an easy way to decide whether to participate in a discussion.

Unfortunately, I’m not a lawyer, nor an icon guru, nor a prominent blogger — but I’d love to help anyone who is flesh out these ideas a bit more.

Interested? Feel free to leave a comment!

Thinking About Open Source

May 28th, 2008 - Comment »

I’ve been talking with a bunch of people about releasing the next version of UpSale as an open source project, and I want your opinion on the matter.

We’ve managed to find a niche that doesn’t seem well served by existing open source projects — light weight ERP tools for small businesses that make and sell their own products. Our customers deal with the same sorts of supply chain, manufacturing, marketing, sales, and customer relationship issues that big companies face, but on a different scale, with different priorities, and restricted financial and technical capabilities.

I have a burning desire to see small upstarts upset the status quo, especially when it comes to local businesses with an eye for sustainable products. Stepping up and embracing open source makes a lot of sense for how we run our business, how we want to serve our customers, and empowers independent developers and the small business community as a whole.

All that said, there’s a lot that goes into sponsoring and building a successful open source project, and we don’t want to jump in unprepared. I’m poking my friends and colleagues to see what sorts of things make open source projects attractive and successful, and I’d love to hear from the folks who read my blog as well.

Your thoughts?

Rails + OpenSolaris + Amazon EC2

May 18th, 2008 - 6 Comments »

Do you have suggestions for what to include in a kick ass OpenSolaris AMI, geared towards deploying Ruby on Rails apps?

I’m working with the folks at Sun to build an Amazon EC2 AMI for Rails developers. The plan is to put together an environment that makes deploying production Rails apps relatively easy. My inclination is towards a Rails stack that includes Nginx, Mongrel cluster, Capistrano, MySQL and some common gems and services — maybe RMagick, and/or ImageScience? Memcached?

Let me know what you want, and I’ll see what I can do about it!