Recent Posts

Rails Business: Year Review for 2007

December 24, 2007

Happy Holidays!

Wow, 2007 has gone by really fast. I’ve been fairly busy wrapping up projects and getting ready to start new ones at Planet Argon. I’m sure that when many of you start a new project… you look back at what you’ve learned from previous ones. Even throughout iterations in a project, we try our best to have retrospectives to be sure that we’re all learning from what has and hasn’t worked. A few weeks ago, I decided to drop a note to the members of the Business of Rails community to ask people to share some of their lessons from the year. My goal was to get people to share their experiences from over the year with other members of the community and see where the dialogue takes us into 2008.

As expected… I got some great responses, which I encourage you to read for yourself. You might even participate in the conversation(s) and share your experiences. We’d love to hear them.

Side note… I’d like to thank all of you who have participated in the Business of Rails community over the year. It was an idea that came to me during RailsConf 2007 after I participated on a panel with other business leaders in the Ruby on Rails community. We now have over 800 members on the mailing list! I’ve learned a lot from the community and hope more of you decide to join. :-)

Putting Tumblr to work for you

December 19, 2007

I’ve been using Tumblr off and on since early April. I tend to neglect it because I’ve found the interface a bit clumsy. The recent redesign hasn’t improved on the things that I consider obstacles in getting things quickly added to my tumblr. Since the concept behind the tumblr is to quickly share things with people, the interface doesn’t facilitate this workflow as quickly as I think it could.

In any event, I tend to not login to my dashboard very often (few times a week?), which means that I don’t post as often as I’d like.

A few months ago, I finally started to use the Feeds feature in tumblr, which will automatically add things to your tumblr from an RSS feed.

::: thumbnail Tumblr
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

The first feed that I started to use was my Flickr account.

Flickr to Tumblr

This solution for this was to tag photos that I want Tumblr to automatically with ā€˜to:tumblr’.

::: thumbnail flickr to
tumblr
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Next, you just need to grab the URL for the Flickr RSS feed for photos tagged with to:tumblr.

::: thumbnail totumblr
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Next, you’ll want to add this feed to Tumblr.

::: thumbnail Tumblr
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Voila… in a little while, your photos tagged with to:tumblr will start to show up on your Tumblr.

Del.icio.us to Tumblr

Links to blog articles, web sites, etc… are things that I generally use Deli.cio.us for… so doing it once for each was taking too much. So, I’m now using the same tagging formula with Del.icio.us to get Tumblr to automatically add links to my Tumblr.

::: thumbnail Add
Bookmark
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Now, I can use the RSS feed for items tagged with to:tumblr on my del.icio.us account with Tumblr.

::: thumbnail Tumblr
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Pretty simple. :-)

Google Reader to Tumblr

Another place that I find myself wanting to post to Tumblr is from within Google Reader. Well, it’s actually really easy to do this by taking advantage of the RSS feed that Google Reader provides for your Shared Items.

google reader
shared

Just grab the RSS feed from here…

::: thumbnail shared rss
link
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Then add this RSS feed to Tumblr like the examples above.

Putting Tumblr to work for You!

I’m hoping to continue using this pattern with other sites as well. I’d be interested in hearing how other people are using Tumblr to aggregate focused content in an easy to browse way.

Update

It appears that Tumblr currently only allows you to use five feeds to import. Until they upgrade this limit, you can use Yahoo! Pipes to do some of the heavy lifting.

SkitchCasting was so 2008

December 17, 2007

After reading my post on how we’re using Skitch at Planet Argon for adding some life to bug submissions and feedback, Ana Nelson came up with an ingenious idea for taking a collection of Skitch images and creating a slideshow an alternative to screencasts.

::: thumbnail ana
screencasts
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

In her post, Screencasts are so 2005, Ana walks you through her process of finding a useful slideshow tool for her Skitch slideshow.

I’ll take this a step further and call this… SkitchCasting! ;-)

It’s really great to see that people are finding all sorts of uses for Skitch.

For more information on Skitch, visit http://plasq.com/skitch or read my post, Skitch… my favorite desktop application of 2007?

For more examples on how our team is using Skitch… here are a few recent blog posts by my colleagues where Skitch was used.

  • [The Sign In
Metaphor](http://allisbe.com/2007/12/13/the-sign-in-metaphor), by
[Allison Beckwith](http://allisbe.com)
```text
-   [Google vs
```text
Yahoo](http://andy.delcambre.com/2007/12/17/google-vs-yahoo), by
[Andy Delcambre](http://andy.delcambre.com)
```text
-   [Google Street View for Portland,
```text
Oregon](http://blog.planetargon.com/2007/10/10/google-street-view-for-portland-oregon)
on the [Planet Argon Blog](http://blog.planetargon.com)

Btw, I still have a few invites left. ;-)

Embracing Chaos, part 1

December 17, 2007

Consider this part one of several posts on my thoughts of the art of embracing chaos.

Don’t let the books fool you. The construction of custom software is an unmastered and volatile cesspool of chaos. I don’t adhere to the belief that there is a perfect methodology or process that will work for every project… as I’m sure many of you don’t.

Unlike bowling, you’ll never achieve a perfect score. Even in bowling, It’s unlikely that anybody will learn how to bowl a perfect score and do so on every game for the rest of their career.

You’ll never meet every expectation that a client has on every project.

You’ll never meet every expectation that a user has when they interact with your application.

Expectations are an interesting thing.

Your project might get widely adopted and embraced, but you’re still trying to control chaos.

chaos{width=ā€500ā€ height=ā€333ā€}

It’s chaos. Pure chaos[^1^](#fn1){#fnref1 .footnote-ref role=ā€doc-noterefā€}.

So, why do we bother? Why do we try so hard when the odds aren’t in our favor?

To be continued…

Related Posts:

  • [Embracing
Failure](http://www.robbyonrails.com/articles/2007/04/10/embracing-failure-part-1)
```text
-   [Don't Over
```text
Promise](http://www.robbyonrails.com/articles/2006/11/18/dont-over-promise)
```ruby
------------------------------------------------------------------------

1.  ::: {#fn1}
```yaml
[Chaos Theory](http://en.wikipedia.org/wiki/Chaos_theory),
Wikipedia[ā†©ļøŽ](#fnref1){.footnote-back role="doc-backlink"}
:::

Get to Know a Gem: Rak

December 11, 2007

A few months ago, I posted about an article that showed you how to colorize your grep search results. Since then, I’ve heard people talking about ack, which describes itself as…

ā€œa tool like grep, aimed at programmers with large trees of heterogeneous source code.ā€

It’s written in Perl, which is fine and dandy… but before I installed it, I heard that there was a Ruby version named rak, which describes itself as…

ā€œa grep replacement in pure Ruby. It accepts Ruby syntax regular expressions and automatically recurses directories, skipping .svn/, .cvs/, pkg/ and more things you don’t care about. ā€œ

Sounds great. Let’s see what this thing can do.

Installing rak

Daniel Lucraft, the author of rak, was kind enough to package it up as a Rubygem. So, all we have to do is install it via gem install rak.

That Checkbox Needs a Label

December 02, 2007

As a user of many web applications, I often find myself noticing little things that slow me down. One such thing is the use of checkboxes in web forms. It’s not the problem of checkboxes itself, it’s the face that checkboxes require the user to really focus their attention to a fairly small box on the page and perform a click inside. If you’re filling out a form really quickly, it’s almost guaranteed that you’ll take advantage of you your tab key to get through each field quickly. Sometimes there are select boxes, which require the user to make selections with their mouse. Checkboxes drive me crazy because it requires more time to position the cursor and move on.

So, when I see a form like this, I don’t see it being very quick to interact with.

While I’m not in love with the date selection interface here, my bigger pain has been the checkbox in the form. Why? Because they forgot to use the <label for=""> HTML tag.

What’s the problem? Well, I don’t have the convenience of clicking on the label text, which would toggle the corresponding checkbox.

I know, many of you know all about this… but I run into this problem everywhere. This is an accessibility issue for people and really just increases the chances for a frustrating user experience. When you use the label tag properly… it will provide a larger amount of the screen for people to click, which reduces the chance of not clicking in the right spot. The label tag was designed with this in mind so that people could click close enough to trigger the desired action.

Here is an example of where it becomes really useful.

So, the lesson? Please remember to use the label for tag. :-)

Saying Goodbye Was Never This Hard

December 02, 2007

There was a post the other day on Signal vs Noise about the pain of opting out of mailing lists titled, Redonkulous unsubscribe delays, which I was reminded of after the following experience.

Earlier today, I got an email notification from my old Friendster account, which ended up being spam. I hadn’t logged into the account in ages and looked around at my profile and others. No meaningful interaction between my friends in a few years. It’s felt like a ghost town. So, I thought… ā€œshould I just delete my account?ā€ I was thinking about doing the same thing with my Facebook account as well, because I’m getting tired of being invited to applications a few times a day due to a friend leaving my name checked when they sign up for a game. (this is getting old…)

So, I decided to kill the Friendster account, which I’ve had since February 2003. Oh… the good ole days of social-networking sites.

Upon filling out a form I got the following error with the notification, ā€œPlease list the other social networking site you switched to.ā€

::: thumbnail Friendster Cancel
Account
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

The tone of this error message is very rude and helped support my decision to leave the site.

While I appreciate that they’re looking for feedback, they shouldn’t demand it out of me. As a result, my response was…

::: thumbnail Friendster Cancel
Account
Uploaded with Skitch!{style=ā€font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080ā€} :::

Wait a minute. You’re demanding that I list the sites that I’m switching to… in 20 characters or less? Thanks for giving me the opportunity to LOLBUG you. Sigh. Who makes these interaction decisions there?

If they really wanted to get some useful feedback, perhaps they could have asked me nicer.

So, I decided to head over to Facebook and compare their process.

At first glance, this looks very much like the form that I was presented with on Friendster. Except that I can only select one reason why I am leaving and I can think of a few. However, when I made a selection… something surprised me.

Okay, so maybe I’ll leave my Facebook account around for the time being. Perhaps there is a Facebook application out there that will be get my attention.. but to date, this has yet to happen.

[This post is dedicated to the memory of Robby Russell’s Friendster Profile. Feb. 2003 - Dec. 2007. R.I.P.]{.small}

Rolling up my Sleeves, continued

November 27, 2007

It’s been about a year and a half since I wrote about my wrist pains that would often occur at work, which was being caused by something I bet many of us deal with from time to time… Repetitive Strain Injury. So, I’ve been wearing these gloves when I’m at work on my normal Apple keyboard. I knew that they helped to some degree because on the days that I forgot them, my wrists would begin to hurt after a hour or two of coding/writing emails. Not much fun.

A few months ago, I attempted to start typing with Dvorak, which started off with requiring myself to do it for about three hours each morning to start the day and then switching back. After about a week and a half, I forgot to continue doing it. The Dvorak keyboard sits next to my desk… whispering to me, ā€œplay with meā€ā€¦ but I haven’t had time to get back into it.

So, the strain continues from time to time. Over the course of a few months, I began to notice that most of the strain seemed to be in my right wrist and I started to wonder if the mouse movements were a bigger culprit than the keyboard itself. So, I spoke to a guy at Macforce (a cool and local Apple dealer) about the mouse pad that he was using. He said that it really helped him out and so I bought myself one.

It’s a Belkin WaveRestā„¢ Gel Mouse Pad and cost me less than $30 USD. It’s been a few weeks and I’ve noticed that I can go almost the entire day without the gloves that I wore before. So, I think that there is still some strain occurring, but a lot less than before. So, I’m hoping to give Dvorak another shot and hope that combo helps alleviate a lot of pain that I’ve been experiencing at work.

If you’re experiencing wrist pains and it’s focused on the hand that you use your mouse with, you might consider something like this to help out.

I’m sure that I’m not the only one that has/is experienced motion strain at the computer.. so, what has been your experience and have you had any success making improvements to your work space to help?

Moved to our new studio

November 21, 2007

One of the reasons why I’ve been too busy to write on my blog lately is that we recently moved into to a new studio. We had a lot of preparation to do before we moved in and are finally getting settled in the new space.

We took the space from…

Planet Argon - Studio BEFORE
improvements{width=ā€450ā€}

To this…

{width=ā€450ā€}

As you can see.. we have lots of natural light for the entire team…

{width=ā€450ā€}

{width=ā€450ā€}

I think that Chris Griffin shares the same excitement that I do about the new space. ;-)

Chris Griffin jumps for
joy!{width=ā€450ā€}

We’ll be posting more photos on the Planet Argon flickr stream over the coming weeks as we get the studio organized. :-)

Zeldman on Web Design

November 20, 2007

In a new article on A List Apart, Jeffrey Zeldman writes:

ā€œSome who don’t understand web design nevertheless have the job of creating websites or supervising web designers and developers. Others who don’t understand web design are nevertheless professionally charged with evaluating it on behalf of the rest of us. Those who understand the least make the most noise. They are the ones leading charges, slamming doors, and throwing money—at all the wrong people and things.ā€

He goes on to describe Web Design as, ā€œas the creation of digital environments that facilitate and encourage human activity; reflect or adapt to individual voices and content; and change gracefully over time while always retaining their identity.ā€

Read the rest of the article, Understanding Web Design on alistapart.com.

Skitch... my favorite desktop application of 2007?

November 20, 2007

It just occurred to me that my first Skitch was on July 7th, 2007. 7/7/7. I’ve been meaning to post an article about how Skitch has changed the way our team approaches reporting bugs and communicating ideas visually.

First of all, the Skitch web site advertises it (see video) as a fun tool for playing with photos and sharing stuff with friends/family. While this is true, I think their bigger market could be those of us who work in the web design and development community. It took a less than a week for Skitch to become a tool that I rely on the most during my day to day work and since it keeps surprising me that people aren’t using it and/or haven’t heard about it… I thought that I’d share how we’re using it at Planet Argon.

Introducing ā€œLOLBUGZā€

Our team is currently using Lighthouse for managing bugs/tickets for internal and client projects. If there is one way to slow down bug fixing cycle.. .it’s the ticket submission process. It takes a lot of time and commitment to try and communicate some problems that you’ll find in a web application. This is why screenshots can be so useful to helping speed up the process. Skitch allows us to not only provide a screenshot really quickly, but it gives us the ability to focus our attention with shapes and text, which provides more context when viewing an image.

For example, here are a few real-world Skitches that I’ve used to report some problems.

What happened to this drop down?

This pagination needs some CSS-Love!

Oh no! Tags are getting grouped together…

Styling has gone crazy…

I mastered an unordered list! (hooray!!)

This list isn’t scaling anymore…

Side note: LOL BUGZ was a term coined by Rick Olson at Active Reload to describe the tickets that I post for Lighthouse. ;-)

Trying out 15 during the initial releases for the iPhone… bug report sent via twitter to Erik Kastner.

As you can see, using Skitch helps communicate some very specific things without needing to type a huge description. Of course, we do try our best to add more context with our tickets. For example, here is a real-world example of a ticket that I posted on Lighthouse. As you’ll see, there are a few skitches embedded in the tickets, which works much better than attaching screenshots to tickets.

One of the best features of Skitch is it’s work-flow. Within a few seconds, I can do the following tasks.

  • Take a screenshot of a specific region of my screen
  • Add some arrows and text
  • Click on Webpost, which will upload directly to myskitch.com
  • Click on Share to navigate to the new upload
  • Click on the embed textfield and it uses JS to copy the embed
html into my paste buffer
  • Paste the html snippet directly into the ticket that I’m reporting
  • Submit my LOL BUG

Side note: it also allows you to upload to Flickr, a ftp account, etc.

Over the past four months, Skitch has become one of my favorite OS X tools. The interface is lightweight and the workflow is almost perfect (feature request: providing the embed code in my paste buffer without needing to go to myskitch would be A+)

I’ve also used Jing, which works on Windows and OS X and does video. I’ve not found it to be as intuitive for working in this manner. In fact, the work-flow leaves a lot to be desired. However! It does do video and this has come in handy a few times for showing people some ā€œliveā€ interaction-type bugs that can’t be communicated as easily through text/images.

If you’re not using Skitch yet and are on OS X… I highly recommend that you try it out for a few weeks during a bug fixing sprint. We’ve gotten our clients and almost everybody on the team using it in this fashion. The productivity increases haven’t gone unnoticed.

That’s not to say that it’s not fun for point out things that aren’t related to your project bugs. ;-)

Happy Skitching!

UPDATE

Plasq liked the writeup and gave me 50 extra invites to pass out for Skitch. So, if you’re in need of one… ask me via email. Thanks Plasq team!

Master/Slave Databases with Ruby on Rails

November 15, 2007

Not terribly long ago, I announced Active Delegate, which was a really lightweight plugin that I developed to allow models to talk to multiple databases for specific methods. The plugin worked great for really simple situations, like individual models.. but when it came time to test with associations it fell apart. I haven’t had a chance to work on any updates and knew that it was going to take more work to get it going.

Earlier this week, we helped one of our bigger clients launch their new web site1. For the deployment, we needed to send all writes to a master database and a reads to slaves (initial deployment is talking to almost 10 slaves spread around the globe!). We needed something to get integrated quickly and decided to ditch Active Delegate for the time being and began looking at the following options.

I spoke with Rick Olsonv2 and he pointed me to a new plugin that he hasn’t really released yet. So, I’m going to do him a favor and announce it for him. Of course… I got his permission first… ;-)

Announcing Masochism!

Masochism3 is a new plugin for Ruby on Rails that allows you to delegate all writes to a master database and reads to a slave database. The configuration process is just a few lines in your environment file and the plugin takes care of the rest.

Installing Masochism

With piston, you can import Masochism with:

  1. Contiki, a cool travel company we’re working withĀ 

  2. Rick just moved to Portland… welcome to stumptown!Ā 

  3. The Masochism plugin READMEĀ