Nov 22

Twitter (like Facebook or any social media app) is what you make of it. It can be a massive time sink devolving into useless drivel with your friends (“hey I’m eating a sandwich”) or it can be a way to engage in relevant conversations with strangers. I’ve been using a persistent search via RSS to monitor Twitter dialogue for people having trouble installing various Open Source applications. This allows me to reach out to potential customers on their turf and provide them an introduction to our product by speaking in terms that are relevant to their immediate need. Our greatest challenge at JumpBox is how to spread awareness of our product to people who would never think to look for a virtual appliance to solve their problem. This technique gives me passive recon that allows me to build a bridge from our offering to their specific situation. Here’s how you can do it for your product or service:

First think about the people you’re trying to reach- what is the pain you solve that these people might be complaining about? Are there key phrases or combinations of words that come up in conversation that identify them as qualified prospects for your product? Brainstorm a list of these terms or combination of terms and go to Twitter Search and test your terms:

Picture 1.png

You may need to play with the terms a bit but ideally you’ll find a handful of people like these who are expressing pain:

*NOTE: Total time investment thus far = 1min. Once you determine that this is worth investing some time to connect with these people, you’ll need to create a Twitter account to be able to respond to them. I won’t go into how to do that (it’s extremely simple, visit If you already have a Twitter acct, I do recommend that you create a new one called “YourServiceRadar” or “YourProductRecon” rather than flood your current followers with what will be a bunch of unsolicited chatter about your product. I created one called “JumpBoxEars” for us.

Now this would be useful in itself to conduct searches periodically and respond to people but that makes for a lot of new work. Us nerds are lazy and prefer to do less work whenever possible. Here’s how you turn this active search process into a passive lead generator:

On that search results page there is an orange button in the upper right that will give you an RSS feed of those results in realtime.

Picture 3.png

Using this feature is like having an intern working for you around the clock clicking refresh on the search results and only telling you when he finds a new one. You’ll need to use an RSS reader (Bloglines and Google Reader are two popular free ones, many browsers now also have the ability to consume RSS). Subscribe to this RSS feed with whatever client you’re using and you’ll now get just the new results as they happen.

Now all you need to do is scan through the newest results as they come to you and respond individually to the people you think you can help. You’re limited to 140 chars so you have to be very concise and couch your recommendation in pithy terms that make your product relevant to their situation. This is no time for marketing speak (there’s no room for it)- use plain english and connect with the person by matching their language (ie. if they say “sucks” you say “bummer”).

Picture 5.png

From their perspective you’re a good samaritan that was walking down the road, heard their problem and stopped to offer a helpful suggestion. If you’re into the Solution Selling methodology, this is key because they’ve admitted a need and that’s a critical moment where you have the invitation to intercede and solve it. This method of contact is about a kajillion times more effective than cold calling people out of the blue because you’re reaching out to help them with a problem they’ve expressed they have.

But wait, it gets better. There’s an bonus viral benefit to you here. If you truly do provide a helpful bit of info to this person in need, he/she will respond to you and say thanks.


Now you’ve just reached that person’s followers as well and have an unsolicited third-party endorsement and an amplified reach from your effort.

Hrmmmm, so how could we get even more lazy at this point…. I had a 3 x 35 matrix of terms I wanted to monitor (“problem,” “install” and “setup” for every application we offer). Now I could setup 105 individual feeds but that seems like a lot of work. With a little digging I found the Twitter Search Operators page which is a simple reference for all the Boolean and other operators you can use in your searches. I was able to reduce that 3×35 matrix to 1x by writing this query for each:

"wordpress" setup OR problem OR install

There’s probably a nifty way to reduce it down to a single query with enough creativity but I wanted to have a feed for each app so they would be grouped rather than intermingled.

UPDATE: I just found it’s possible to get an RSS feed of the replies to your recon twitter accoount. Click on the replies tab while logged in and you’ll see a link at the bottom for RSS. Because this is a password-protected feed you’ll not be able to use online readers like Google Reader and Bloglines. If you happen to be using Firefox, you’ll notice an orange RSS button in your address bar. Click it and enter your Twitter credentials and have it put the replies in your toolbar so you can easily check it. Initiating the conversation spreads awareness but you leave them hanging if you don’t followup on replies.

So there you have it: near-realtime response to people who are suffering from problems that your products can solve. And a bonus reward when you do provide helpful info in that you get an endorsement from a trusted source that goes out to all of that person’s followers. This is all what you make of it. I invest about 10min each evening by scanning my TwitterRadar feed and responding to people I believe we can help. But if you invest a little time every day, it can provide a new fountain of pre-qualified leads for your salespeople and the opportunity to chime in when you know they need help. And even if the people you contact in the Twitterverse don’t become customers, they will at the very least be appreciative of your effort to offer assistance. And that kind of goodwill is priceless.

So what are the key phrases in twitter conversations that could identify your potential customers who are currently in pain?

Jul 29

If you’re a Scrabble fan and you’re on Facebook, odds are you have the Scrabulous app installed. It’s really the only reason to even log onto Facebook anymore. Game play is slick – it blows away the EA version they just launched (actually I tried to play a friend using their beta and it paired me with a complete stranger). Anyways, if you’ve followed the hoopla around this game then you know Hasbro has recently issued a DMCA takedown notice and Facebook just tonight complied taking the app offline. Sucks.

Now the good news: it’s still possible to play if you don’t mind going through a few extra steps. Basically they’re using IP address geocoding to determine your location – not the location you specify in your profile. All you need to do is proxy through an IP outside the US or Canada and you’ll get the Scrabulous application back. You will have to link to it directly using this link as they disable it in your application menu. There’s lists of anonymous proxies available via Google but they’re generally crap. The easiest way to find a remote proxy is using Tor. Follow the instructions on their site to get running with it. Keep the Scrabulous dream alive!

Nov 27

If you’re like us you have a slew of different ad campaigns running at any given time- newsletters, pay-per-click, stumbleupon, download directories, sponsored banner ads, auto-responders, etc. Tracking conversions means being able to identify the visitors to your site who ultimately complete the desired action and know which avenue brought them to you (and it’s useless to experiment across ad channels if you don’t track which ones are working). You can roll your own home-grown mechanism to track conversions but if you have a Google Adwords account, you already have access to their cross-channel conversion tracking system which will do this for you. Here’s how you can take advantage of it:

  1. Signup for an adwords account if you don’t have one already.
  2. You’ll need to add the conversion tracking code snippet to the thank you page on your site that the visitor sees when he/she completes the intended action on your site. Follow the instructions here to set it up.
  3. Next you’ll create a new cross channel tracking campaign for one of your ad channels- let’s do it for your newsletter first. What may be confusing is that even though we’re in your adwords account, adwords could be one channel you can use this to track all your ad initiatives). Follow their 3-step wizard for specifying the details of this newsletter-specific campaign and get the landing page code and the tracking URL.
  4. Put the landing page code snippet in your header or footer so it’s on every page of your site (you only need to do this once and it works across all channels that you track).
  5. Lastly, look at the newsletter-specific tracking URL and grab just the part that says:
    ?gad=xxxxxxxxxxxx” and append that to any links coming from your newsletter. Rinse and repeat for each ad campaign you have running so that they all get a unique tracking URL.

You’re now collecting data on how each campaign is doing and you’ll know exactly which ones are performing well and which ones suck. You can see from our data below that we have a spread of 0% – 38% effectiveness depending on the particular channel – that’s critical info to know if you’re spending thousands on ads! Minor improvements in conversion can translate to huge savings in adspend as I explained here. Happy conversion tracking!


Oct 18

Tuesday night I did a presentation for the San Diego Java User Group on how to use Trac to manage the development a software project. Below is a video capture of that talk (~45min). We cover the big picture of what’s involved in effective project management, the qualities of what makes a good tool and then we walk through hands-on usage of Trac in a real project scenario to demonstrate how it fulfills these objectives.

I’ve also made the resources I used in the talk available for download including the slides, the notes and the final state of the from the demo so you can actually play with the exact data we used. Big thanks to Paul Webber for allowing me to present for the group. There were some great questions asked and I even learned some new stuff about Trac like the Mylyn Connector that allows you to interact with your tickets right from within Eclipse. There’s also a shorter video screencast that covers a subset of this talk (the screen is more readable than the projector in the video).

Aug 10

A couple people have asked me recently how we do our Grid7 podcast. We have a humble talk show we do with entrepreneurs and innovators bi-weekly over on and we just did our 24th episode. There may be more streamlined ways of doing things but these are the steps involved from my perspective:


“Garbage in, garbage out,” as they say. The idea is to capture the highest quality raw audio to start with. If the guest is local I try to conduct the interview in person because I think the face-to-face interaction is a better dynamic. I use the internal mic on my MacBook and record directly to a track in Garageband.

If the guest is remote and I have a good internet connection, I’ll use my skype account with skypeout and capture using a great piece of software called Audio Hijack Pro. It’s nice because you can isolate the inbound and outbound audio to separate tracks and equalize the volume levels later. It generates an mp3 on your desktop and is straight forward. If I have a crappy connection I can record calls on my Treo using an app I have called CallRec. This captures the conversation as a wav file stored on the SD card. With a 2GB SD card, storage is a non-issue.


I use Garageband to refine the raw audio, add an intro/outro to the track and do the final mixdown. Provided the call quality was good, there should be no need to apply a noise filter. I have heard that Audacity is a good open source audio editor that’s available though I have not used it personally. Once I have things sounding right, I export the track to iTunes, right-click on the track -> “get info” and adjust the details in the ID3 tag. I then right-click and convert it to MP3. Once it creates the MP3, right-click-> “show in finder,” grab that file and ftp it to our server.


Last step is to publish the audio track to our site. We use WordPress as a CMS for our website and it has an open source plugin called Podpress that makes it easy to serve a podcast. Provided you have the Podpress plugin installed and activated, you author a post as you would normally do for a text entry only you click the “Add Media” button under the textarea and tell Podpress the URL of your MP3. I like to add a paragraph or two on our guest explaining his/her background and the gist of the episode and also include a headshot. If you’re writing any type of extended entry, you want to author it in a text editor and then copy/paste it into the browser (I’ve had Firefox crash after authoring a long entry in the browser and it sucks). Podpress generates the proper RSS feed and even gives you a flash-based audio player that allows the visitor to listen directly from the browser. It handles stats and can syndicate your podcast via the iTunes Store.


You’ll probably want to list your podcast in the iTunes Store (and “store” may be a misnomer – it’s just a directory so you don’t have to charge $$ to be listed). There’s plenty of other podcast directories out there- google around. I added ours to Everyzing so that the audio itself is indexed and made searchable. Running your RSS through Feedburner allows you to get stats on the listeners that subscribe via RSS. Depending on the subject matter of each episode you can then submit them to various news sites as you go. We held the #1 slot all yesterday on from an interview I just did with the Zenter founders.


We have not actually tried to monetize our podcast yet. It currently serves more as a vessel of exposure for us and an in-roads to make connections and meet new people. There are various options for services that provide a simple way to splice in ads dynamically. I went though and researched a bunch at one point and found Kiptronic to be the most promising (plus it sounds like they now support video blogs as well if you’re into that). AdSense is always an option for the site itself. Feedburner lets you display ads in the RSS feed itself once you cross the 500 listener threshold. I experimented with Comission Junction but saw zero dollars ever come out of it. Amazon affiliate program was equally as dismal in terms of what it generated. We’re now in the Google PPA beta so that will be interesting to see how well it works. Short of having a program so popular that you can command a dedicated monthly sponsorship, a dynamically-inserted ad via a service like Kiptronic seems like the way to go.

Anyways, of the million ways of hosting a podcast, that’s how we do things with Grid7. If you have a podcast of your own, what tools do you use?

Jun 12

I had a terrible time trying to get a high-quality movie produced from a simple screen capture yesterday. After much googling it seemed there was no consensus on how to produce a quality screencast using iMovie. I solicited the advice of the helpful Refresh Phx people and after some tinkering found the export settings that produce an acceptable result. I captured the screen video using a neat little app called iShowU (which is like a shareware Camtasia for the Mac). I then brought the clips into iMovie. The first attempt at exporting produced this which was unacceptable quality. The key to getting the quality result involved these things:

  • Make sure you start the new project as HDV 720p
  • When you’re ready to publish choose File > Export > Quicktime > Expert Settings
  • ExpertSettings.png

  • Choose Options and set the size to match the original resolution of the captured video and adjust quality using the following:
  • UseTheseForScreencasts.png

    The final result ended up like which is not perfect but looks WAY better than the default output.

    preload preload preload