Jun 19

Let’s do lunch. A group of us are meeting at noon today the Tavern on Mill. All the details can be found at www.TempeNerds.com. This will be the second techie lunch like this that we’ve done. We had about 25 people at the first one (pics here) and this one should be even better. The goal is to get more connected locally and be aware of what others are working on so we can help share advice, make introductions, etc to elevate the scene. We also have two local technology reporters who will be there today so a nice byproduct of coming will be the opportunity to get in front of people who can potentially write a story on what you’re doing. Email me if you have questions and RSVP on the site so we have an accurate head count.

TempeNerds.png

May 28

is here again. You won’t want to miss this free event if you’re a coder in Phoenix Metro.

WHAT: a single day event with ~50 sessions covering various programming languages and language-agnostic techniques for people that write software
WHERE: University of Advancing Technology at 2625 W. Baseline Road in Tempe
WHEN: all day Saturday, May 31st 9am-6pm
HOW: there is no cost to attend and they provide food – come a bring a friend. You’ll want to sign up for their sessions online though as most sessions appear to be over half-full at this point
WHY: it’s the single most condensed day of info you’ll get on coding tactics in Phx this year. Sessions are given by local experts and you’ll meet a ton of fellow coders from diverse groups and styles.
WHO: anyone who writes code or wants to learn.

JumpBox is fortunate to be one of the three sponsors at this year’s event. Last year’s was fun. I’m this year on using virtual appliances to setup instant dev infrastructure based on popular open source server applications. In 15min you can have the major building blocks you need in place for a software project. Come nerd out with us this saturday!

May 06

How did Apple nail so many features of the iPhone and yet get picture messages so horribly wrong?

Right now when you receive a picture message via SMS on the iPhone you get an alert that looks like this:

iphone-pictureMsg.jpg

But since there’s no copy/paste feature, you’re apparently expected to hold the 9 character MessageID and the 8 char password in your head, switch over to safari, go to viewmymessage.com and type these in the form fields. I guess that’s realistic if you’re this guy but us mere mortals don’t have that kind of mental swap space.

AT&T should just put a link in the SMS to retrieve the picture. It’s no Treo experience like getting the pic immediately but it’s a one-click retrieval step at that point since the iPhone automatically creates links for valid URLs in messages. And this method would be no less secure since they already put these tokens as text in the SMS now.

If getting AT&T’s cooperation to fix this isn’t an option, Apple could still solve it by the having the SMS app recognize and parse the MMS alerts that AT&T issues and create a dynamic local page that posts those variables. Either one of these would make multimedia messages tolerable on the iPhone- it’s basically unusable now. I don’t know how Apple is prioritizing their improvements – I know they probably don’t expose that anywhere but it would be good if they allowed people to vote for fixes. BTW, Matt Assay has a good discussion of other iPhone brokenness. It’s such a beautiful device but has some things that are conspicuously annoying. It’d be great if their calendar worked more like the Treo’s and I still haven’t figured out if/where it syncs data from the notes app to the Mac.

May 02

Just a quick show of hands, how many people would find it useful to have an event like BarCamp only focused around tactics for promoting your stuff? We were kicking around the idea yesterday of an event called “MarCamp” (and actually Austin came up with “MarKamp” which is even better) that would take the same unstructured, self-organizing format of the other *Camp events. A quick search reveals this event back in 2006 in SF but it doesn’t like like anything came of it.

This is something I really want to see. We have all these different marketing initiatives we’re kicking around now and I just want to run a “Matrix training program” and instantly have all this experience now. It would be great to have a BarCamp style event where you could sponge up experience from folks that have learned this stuff the hard way and then contribute back what you know.

I will help make this event happen if there’s enough interest. Topics that I would most like to see:

  • referral programs
  • affiliate programs
  • reseller programs
  • loyalty programs
  • adwords campaigns
  • building effective landing pages
  • web analytics
  • split testing (GWO, adwords, email)
  • writing effective copy
  • focus groups: how to conduct an effective one and analyze/apply the results
  • experience running call-in “fireside chats” on something like gabcast
  • lessons in establishing user community for your product
  • social media services, the right way to use them for biz: twitter, facebook, linkedin, stumble upon
  • conducting publicity stunts that work
  • pulling off the effective tradeshow
  • If you can think of others of interest, add them in a comment and let me know if this is an event you would attend. If we get even ten talented marketing folks interested, I’m doing this. We’d most likely be able to get a free venue like we did for BarCamp Phoenix. Of course the inherent paradox here is we’ll need good marketing skills to promote awareness of the event to all the marketing people we’d like to attract ;-) All thoughts on this idea are welcome in the comments field.

    Apr 15

    I read a book on Adwords, watched most of the Google videos and have been tweaking our campaigns for JumpBox for the past 2wks. You can burn a lot of cash during the learning process. Here are ten things I’ve learned that will hopefully save others some time/money:

    Custom-designed landing pages were actually detrimental (“jarring” effect)

    This was completely counter-intuitive. Our original hypothesis was that it would be worth it to make a professionally-designed landing page stripping away most navigation choices because it would be more aesthetically appealing to a first-time visitor and better “corral” that person to the desired action. What we learned was that it had an adverse effect – conversion rates actually declined when we implemented these specially-designed pages. We achieved a better conversion rate by reverting to a standard page with all the regular look & feel and the same content. Our guess of what’s going on here is that having a landing page that looks nothing like what you get on the next click is either perceived as an ad or is just too visually jarring for the user. Visual consistency trumps design aesthetic and removing normal navigational elements yields no positive effect.

    Fear of loss is a stronger motivator than promise of gain (“Fox news” effect)

    This is something that my friend Dave Euse told me a long time ago and I’ve seen it confirmed first-hand with our adwords campaigns. While I’m not a fan of “Fox News” style scare tactics- it is more effective to say something like:
    “What you don’t know about JumpBox could be costing you days of setup time.”
    than something like this:
    “You can save days of setup time with JumpBox.”
    Think evening news segment teaser just before a commercial comes on. It’s a subtly different message but the idea is that people respond more to stop the prospect of losing $5 of their own money than to an equal opportunity of winning a new $5.

    Web Optimizer is good for polishing but not sculpting (“bigger fish” effect)

    Kimbro pointed this out and he’s 100% right- the Google Web Optimizer multivariate testing tool is helpful for fine-tuning messaging but it’s premature to use it until you have the fundamentals of the campaign ironed out. Until then there are bigger fish to fry in terms of getting the value proposition clear. We have an educational component to our stuff- the user doesn’t necessarily know how to describe their problem in terms that we can predict. The best thing to do in this situation is to forget about GWO until the point you have a good number of people already responding and then bring it in as an optimization.

    Scientific method: control one variable at a time (“Apples to apples” effect)

    This one is probably obvious but if you are trying to test a theory, don’t vary multiple elements at the same time. Control all the variables except the one you want to test. With Adwords there are many aspects of the campaign you can tweak and you may be tempted to vary multiple elements simultaneously to speed the testing process. Unfortunately the result will be that you’re unable to attribute the improvement or decline to a single variable when you do so. An example of this might be varying a headline while also changing the display URL – the effect from one may eclipse the other and hide minor effects. The other thing to keep in mind is you need to have a big enough sample size for your tests to be meaningful. There are plenty of free statistical significance calculators that will tell you if your results are truly significant.

    The three phases of interaction: acquisition, conversion & retention

    It’s helpful to think about the sequence of interaction in terms of these three phases:
    Acquisition: the process of getting traffic to your site
    Conversion: the process of converting those visitors to customers
    Retention: the process of selling more stuff over time to your existing customers
    Simple yes, but these are three independent activities with different challenges and different psychology. Thinking about them as three distinct activities will clarify what you need to be doing at each step.

    Split test everything you do

    Never stop split testing, ever. You should be running different flavors of your messaging in each of the above three phases. Google adwords has a built-in mechanism for running multiple variants of the same ad. Google web optimizer allows you to run multivariate and A/B tests on your site’s pages for the conversion process. And ideally you should be running A/B tests in the retention emails you send. I know Vertical Response is one service that supports A/B testing and I’m sure others do as well.

    Analytics can help you visualize your funnel

    You can see the click-path from both directions- from an entry page where the visitors went or from a final destination page and the various entry points that got them there. Make sure you have a google analytics account setup and integrated with your adwords and then go to the Content menu selection, click on the page you want to analyze and use the “Navigation Summary” and “Entry points” options. You should also ideally have conversion tracking set up on the thank you page of the intended action so you can tie specific campaigns and keywords to conversion.

    Stumbleupon is a great way to get quick traffic for multi-variate testing

    Stumbleupon is a firehose of semi-qualified trafic you can turn on at any time to expedite split testing. Keep in mind it’s blind traffic so it’s not a pure substitute to people that come actively searching for something, but it’s a quick way to accelerate the testing process. Have the Google Web Optimizer set up on the landing page and turn on stumble upon ads from an area of interest that most closely matches your target audience. You’ll get a flood of traffic very quickly and depending on how you set your tests up in GWO you’ll either see which version of the page or which combination of individual elements worked best. A/B testing produces a statistically significant result faster since they’re are fewer permutations. The other benefit of Stumbleupon traffic is the secondary wave of clicks that come from the social bookmarking component- you don’t pay for these so your paid campaign can actually seed an organic response if the page is well-received.

    Dynamic text insertion

    Contrary to what I thought, this is not just a technique relegated to the ebays of the world. These are the ads you see when you search for “steak knives” and see an ad that says “Buy steak knives on ebay.” Anyone can dynamically insert the search term into the text of the ad using this syntax:
    {Keyword:search term substitute here}
    The substitute word is used in the event that the search term is too long to appear in the ad. This tactic should be done in its own ad group and you should be aware that it generates a high volume of less-qualified traffic (make sure you have a tight daily cap on adspend and monitor closely when you try it). It also works very differently on content network vs. the Google search so you’ll need to experiment with it.

    Crazy Egg can help provide clues to usage

    Definitely try the free Crazy Egg service out on your landing page. It gives you a heatmap of user clicks and can provide interesting clues about how people are responding to your stuff. We learned the ineffectiveness of presenting a call-to-action too early in the dialogue before the user understood what we offer.

    Other Resources


    Here are some resources I used to get started: this Adwords book was a good primer- it’s by this guy Perry Marshall who really knows what he’s talking about. It had not just valuable info but it was motivating – all this stuff is useless if you don’t act on it. I posted my visual notes that give a good overview of the important takeaways from that book (I used this same style on the “Made to Stick” book and found it very helpful for retaining concepts). Google’s screencasts are a good starting reference but they’re a little slow – you might be able to figure it out faster via trial & error. Search for a local Adwords meetup in your city- I’m all for “high-bandwidth” face to face interaction in user groups for picking up tricks of the trade and getting answers once you have some experience and a list of questions.

    I’m still extremely green to the whole Adwords game and making tons of mistakes as I go but hopefully this summary helps others who are just getting started. Improving conversion rate is crucial and our next big challenge now is to optimize our landing pages to better convert some of this traffic we’re now getting via Adwords. Minor improvements in conversion makes every bit of advertising you do more potent. In theory this process should reach a point where it’s a finely-tuned machine that accepts a dollar at one and and returns five at the other. I’ll report back with more lessons once we get it to that point.

    Apr 11

    The Google App Engine is the talk of the town this week giving developers access to Google infrastructure and Google customers. If you haven’t heard about it you may be an ostrich and need to read some of these. If you didn’t get one of the 10k beta invites, no worries- you can still play with it. We just made it significantly easier to tinker by releasing a JumpBox for the Google App Engine SDK. This is a freebie and it comes pre-registered so you download it and fire it up and you’re playing with App Engine in minutes. You can leave comments/feedback on it here. And this is our “official” announcement:

    Google recently announced a new cloud based application deployment system called Google App Engine. We found this to be a pretty interesting system and since the SDK they released is Open Source we decided to put together a JumpBox for it.
    It’s a great solution if you want to play with the Google App Engine SDK without really installing it on your system. It’s also perfect as an integration point for a small team working together on a Google App Engine project.

    Google made it possible to build applications for App Engine using several different mechanisms and the JumpBox comes with CGI, Google Webapp and Django environments setup and ready for development. It’s also a really great way to just kick the tires of the different frameworks before committing to development.

    Also, since this is a JumpBox our backup system is included which allows you to backup your source code and development data to network shares or Amazon S3.

    Tagged with:
    preload preload preload