Operationalizing that digital strategy thing.

The iPhone experiment

Hi there! Welcome to our blog. Don't forget to sign up for our free RSS feed. We Triple Dog Dare Ya! And thanks for visiting!

About a month ago, I went out and bought an iPhone. By and large, I love this little device, and not only because its a gorgeous gadget. I also love it because it allows me to minimize my computational needs while traveling–to such an extent, in fact, that several of my colleagues and I are embarking on what we call the “iPhone Experiment”.

Here’s how it works. When we travel (across town or across the continent) we do some hard thinking about what we really need to take with us. Do we need the full-fledged laptop? Probably not. What do we really need?

* a device that allows us to call, email, and text our colleagues (and receive same)
* a device that allows us to surf the web
* a device that allows us to enjoy personal music and photos and other stuff if we need to kill some time
* a device that allows us to record notes and data
* a device that allows me to make photographic records of where I’m at (whether that be shots of people, objects, vistas, whiteboards, whatever)

Now the iPhone’s on-screen keyboard isn’t the greatest input device for my fat fingers, so I bring along a quadrille notebook (I love that I can write and draw on the little squares) and a trusty pen.

Over the past month, I’ve learned how to trust this minimal kit–I don’t need to be able to review every single document right now, thank you very much (but if you send me PDF, I can preview it nicely on the iphone). I don’t need to be tethered to every single electronic heartbeat that my colleagues and clients send out. I don’t need to do word processing on the fly. I’ll be back to my desk in a few hours (or days).

I don’t have the annoying immediacy of the Blackberry (you have to request email manually) and that’s okay by me. Others who have made the switch to iPhone find this particularly hard, but I always hated the constant interruption, as thought I were some kind of Magistrate that needed constant consulting.

If I need further electronic backup, I carry around a 1 GB thumb drive. That way I can transfer files (and receive them) without the lag of email.

It’s not perfect, but its mighty fun to go through airport security without the laptop, knowing that I have a lot of what I need right in my pocket.

More later on the experiment.

For those of you on Microsoft-based sites….

I hope you weren’t one of the 500,000 IIS sites hit with a SQL injection attack over the weekend. For all of us, regardless of platform, we need to remember to sanitize all input before we allow data to touch our databases! Especially in this day and age, when it seems that everything lives in the cloud.

Read the whole story over at Wired.

Oh Brave New World: The TwitPitch

Combine Twitter and the traditional startup pitch…and you get the TwitPitch.

The Twitpitch is the invention of Stowe Boyd, a business strategy and information technology consultant. Boyd had plans to attend the upcoming Web 2.0 Expo, but was having trouble scheduling meetings with startups. To address this problem, on Tuesday he posted on his blog that in order to make things simple for himself, he was posting a schedule of times when he was available for meetings. He added that he would not accept email-based proposals for these meetings, only Twitpitches.

Read the full piece hereand watch this space carefully. There will be plenty more things crushed down to 140 characters for easy digestion in our snack culture, for example:

  • Serialized summaries of books, movie plots, and other longer-length media.
  • Summaries of web APIs and web services.
  • Summaries of news headlines (already in clear evidence).
  • Anything related to “breaking news” or “emergency information” — perhaps government channels for security information?
  • Summaries of opinions or issues, with or without links (more and more of this!).
  • Live sampling/surveys of reactions to panels, speeches, workshops (sanctioned, not guerrilla).
  • Replacing blanket emails with twitter channels — thereby removing the reply-all evil in the world.
  • Games that play out in real life — think of those annoying games held by radio stations involving asking people at a mall if they are the guy with the $10,000 certificate.
  • Some kind of advertising will have to take effect here…a retail store using twitter to broadcast deals, but not being confined to a zip code or locality. Hmmmm…
  • Integrating with time-tracking applications, RFID, mobile devices, warehouse inventory systems, hmmmm. This is all content too!

Video interview with Paul Terry Walhus

Paul Walhus of Spring.net interviews me about SxSW 2008 and other subjects.

See the interview.

Top 3 Online Issues

While I was at SxSW, I couldn’t help but notice how cool and trendy all of us WebGeeks were, with our Macbooks and Twitter accounts and smartphones. We were discussing alternate-reality games, privacy in social networks, use of blogs and podcasting during war time, building strong virtual communities, lead generation on the web (cough), and Second Life.

I got the sense that the world of the web has increasingly become extremely bifurcated between those who practice all this stuff and those who buy these services. I thought a lot about the marketing directors and VPs (and business owners!) I rub shoulders with every day, and I don’t think many of them have quite the handle on these issues that we geeks think they have.

In fact, the more I thought about it, the more I became convinced that most of the folks who hire the Triple Dogs of the world really don’t care about all these cool little techno-issues. They care about their businesses, and about dominating a marketplace, or about disseminating a message to the right audience.

So I figured, “Hey, that’s a nice thought, why don’t you ask the community and see what happens?” So I did. A few nights after SxSW I posted the following question onto LinkedIn:

What are the top 3 online issues/problems you face as marketer/business owner?

Let’s face it–web experts live in a pretty rarefied atmosphere. We tweet, blog, and attend virtual conferences. We’re familiar with CSS, content management, and analytics. It’s easy to forget how strange this world is to an outsider looking in. I’m trying to get a sense of what marketing managers and business owners really face out there.

What are the top 3 (or more!) issues, problems, questions, or challenges you face in the online world?

I received about a dozen replies, all of them long, thoughtful, and pretty much hard to summarize in a pithy report. In fact, I won’t even try to summarize them all, nor will I mention them all. I will try to convey to you the sense that I got from them, because they each offered a compelling look inside our collective headspace.

Right away, one particular response (from Shanker Achari) made me pause. It begins:

I think that the biggest separator between marketers and their IT expert colleagues is the perception of what is driving the business. The issues are not usually technological, though it might seem like that. It is important not to lose focus and to only address those online services that will add value to the firm - not to jump onto each and every web-based bandwagon that crosses your doorstep.

I definitely understand what he’s saying here. After 15 years in this business, I’ve definitely crossed some kind of threshold. I’m constantly looking for the WHY instead of just the what and the how. Why is this project important? Why are we doing it? Why aren’t we doing this other thing? Why are we doing it now?

Others, like David Pedragon and Greg Kilgore get down to even brassier tacks: how do we drive traffic to our online sites? Do I have enough bandwidth and resources to handle the traffic? Can I continue to make improvements in content, usability, and other areas to increase response rates? Can I filter out the fluff/noise/chaff to focus on real opportunities? Can someone please add several more hours to each day so we can get everything done? (This sentiment also echoed by many others!)

Angela Brutsche brought up a good point: “Determining when/if to let go of traditional communication mediums.” It’s a scary thing, venturing out into this brave new world, where a storm of tweets at a conference can erase a whole bunch of expensively created brand good will.

Rene Craft hit it on the head when she mused:

Getting used to the new technologies constantly popping up and trying to figure out which ones are useful for business vs. just for kids (ie, anyone under 30).

I remember when I was one of those hotshots under 30, but of course, back then, having a tables-compliant browser was the cool thing. I’m just kidding.

All in all, the sense I’m getting from all these responses is that it’s high time to focus on value. Become really good at a few things within the Web world, and pursue your goals with a passion. Help companies make money with all this stuff instead of bouncing them from one faddish technology to another. Help them start and deepen conversations with their customers with great tools, good usability, and great content, and the rest becomes easy.

In this, as in all things Web, we all have a place at the table–whether we’re copywriters, back-end developers, Ajax scripters, designers, or PHP nerds.

TheWaitingRoom.Net is live!

Since last November, I’ve been working with Rene Craft and Kimberly Webb of TheWaitingRoom.net. They came to me via Dave Claunch of Liaison Resources. They were looking for some pro bono help building a web site.

TheWaitingRoom.Net

Basically, what they wanted was a web site where parents could come and share resources with each other…and not just any resources, but resources for their kids with special needs. It may seem like a normal, every-day thing for most people to find (say) a barber for their child, but if you have a child with autism, this simple exercise becomes quite complicated.

Parents in this environment are also naturally skeptical. I should know. I watched my parents ride the emotional roller coaster when they were trying to find people to help them with my brother Robert, who has severe and profound autism (he is 35 this year and still doesn’t speak and can’t take care of himself). The only way to make this kind of web site work was to allow parents to share information with each other.

Our initial metaphor was Craigslist. We thought that a system that would allow parents to post “classifieds” about different places they have had good (and bad!) experiences with would be a good start. After two rounds of user testing, we figured out that this metaphor needed tweaking. Instead of classifieds, parents thought in terms of resources.

I did all the coding in CodeIgniter. The initial effort was about 15 hours of work over three days. Subsequently, I’ve completed about a dozen mini-rounds of about 1 to 2 hours each, all of that work happening between New Year’s Day and last night. There will likely be more work completed as we go forward.

From the very beginning, I opted for an agile approach. I asked them a series of questions about what their goals were, and then we examined wikis, blogs, and other software to see if it would fit the bill. When we realized that we would need custom software, I told them that I would be happy to build it in CodeIgniter, especially since I was writing a book on the subject and may be able to use the case study in the book.

Once I knew I was building an application from scratch, I sat with them and started diagramming screens. The first initial loadout happened over three days and represented an extremely rudimentary site–home page, category views, resource views, and a way for users to register for free and start creating resources on the site.

As we progressed, I added the comment feature, the flags system to indicate problematic resources (the system automatically marks a resource as problematic once enough users flag it), and streamlined the process of approving resources for publication. Originally, I had coded in an email-verification system a la Craigslist, but figured out in user testing that it wasn’t necessary. All users needed was a way to preview their resource before publishing it.

Right before going live, we added a “share with a friend” feature, and added a WordPress blog to allow the founders to talk to their community of parents.

From a technical perspective, the site consists of just a few database tables (to track resources, categories, registered users, comments, and even flags in case of problems with a resource), about 500 lines of code in the main controller, another 300 lines of code in the models, and about 15 view files. Most of the view files are actually includes that get pulled into other templates.

The application itself takes up just 384 KB of space (inside a 2.6 MB install of CodeIgniter 1.6 and all the images, css, and Javascript used to support the site).

Twitter…..

Okay, line up to smack me. I’ve joined Twitter once again, and this time I’m going to stay on it by ruthlessly following only those people I think have the highest chance of saying something un-inane. You can follow me too if you like. I’ll keep my cynical, caustic, and useful tweets down to 5 a day maximum, I promise.

Why the change of heart? Am I not the Die Twitter Die guy? Well, it’s mostly because of what I witnessed at SxSW 2008 (the Zuckerberg-Lacey fiasco). Plus it is kind of irresistible to a snarkatron such as myself.

I still maintain that what Twitter needs is some kind of tag-based filtration system. In other words, I do want to follow you, but I only want to know if you’ve invented warp drive (or stumbled upon world peace) and not when you’re taking your kid to the park. Or, perhaps, I only want to hear from you during certain times of the day, or only on the weekends, or on Leap Days. Furthermore, there may be some use for some kind of broad categorizations, like rants, political content, or when something has a link in it (invariably to a web page trying to sell me something).

The on/off binary switch is just a bit too crude, but for now, I will use it with glee. Feel free to turn me off if I’m just too painful to endure. Particularly on days like today, as we stumble around in post-SXSW stupor.

How a bit of relevance could have kept the “train wreck” from happening at SxSW 2008

It’s been called a “train wreck” by journalists, attendees, and bloggers.

What am I talking about? Sarah Lacy’s keynote interview with Facebook founder Mark Zuckerberg on Sunday.

Part of the problem was Sarah Lacy, or at least her reputation. It’s a bit troubling for a journalist to be well known for pulchritude as well as professional snaps (with one magazine breathlessly calling her “the hottest reporter in technology”).

Part of the problem was Mark Zuckerberg, who for all intents and purposes resembled a painfully shy 8th grader instead of a billionaire founder of the planet’s most successful social networking site. I don’t think any reporter could have gotten him to open up on anything of substance.

The biggest part of the problem was the audience, and most importantly, their unwillingness to continue consuming an irrelevant discussion.

There they all were, with all their technological prowess, many of them sending Tweets out about how boring and off-track the keynote was. Those tweets not only bounced around the Internet, but were of course consumed by many people in the room.

Others who were liveblogging the event as it happened, with their Macbooks perched on their laps, added to the pressure cooker. Soon you had a virtual echo chamber: all the tweets and liveblogs collided with everyone reading the tweets and blog posts, and pretty soon you had a bunch of people already frustrated by the presentation rise up in rebellion.

To the casual observer, it looked like there was one presentation happening on stage, but an audience paying attention to an entirely different event at the same time.

Okay, check that. That’s precisely what was happening. Of course, interviewer and interviewee were unplugged and had no idea what was happening, except for a dawning realization that something was off kilter.

Eventually, the room hit some kind of tipping point (and boy do I hate these squishy terms, but they seem appropriate) and the virtual wall was breached. People in the crowd started to grumble, and then one person shouted “Talk about something interesting!” to everyone’s laughter.

Then came time for Q&A. All that pent up hostility just came out. Sarah, perturbed by the antics, said “Well, send me an email if you think I’m doing such a bad job!” which prompted the guy at the microphone to say, “What’s your email address?”

More laughter. More heckling. It finally wound down with a whimper and we all moved on to other sessions, but I could see others continuing the conversation via cellphone, Twitter, and liveblogging.

All of this stuff was eventually picked up on Digg, and then someone at Wired blogged about it, and then the story crashed into the Technology Press at large.

The event had become a media firestorm (albeit in a small niche) in the time it took to walk 100 yards to the nearest restroom and back.

Not to put the fear of God in you, oh marketers, but this is just the tip of the iceberg. This is what the new generation out there is doing all the time.

They buy your stuff, talk about it, blog about it, tweet about it. Some of them aren’t even waiting to buy it. I’ve seen them tweet and moblog (mobile blog) about stuff while they’re in stores. Taking pictures with their cameraphones, uploading mobile video, liveblogging.

Whereas earlier Internet users planted a firewall between events and their online discussion of same, that era’s over. For this new group, it’s all one big hairball, with the virtual discussion often overshadowing the real world event they are covering.

Why is this so important to you? Imagine a world in which journalists from all spectrums of the media universe focused not on politics or the marketplace or human events, but on their reactions to the same.

Cogent coverage of the news item itself would diminish in favor of an ever-growing palimpsest of thoughts, feelings, echos, and tagents based on the news item. Clear thinking on any given subject would become a Gordian Knot of cultural dimensions that only the most savvy could interpret.

How do you as a marketer navigate this kind of world? RELEVANCE. That was the single biggest lesson of the Zuckerberg-Lacy fiasco. Lack of relevance caused a lot of rebellion.

These people had paid a lot of money to attend SxSW, and they wanted to hear Zuckerberg’s thoughts on privacy, tools, and social networking. And they were gravely disappointed.

Some might say (as I did right after the event occured) that these young ‘uns need to learn some manners–after all, not many of them would think to take a cell phone call in the middle of the event (okay, maybe some would). Nor would many of them have the guts to just walk out, or jump up on the stage and yell out “WTF! OMG, U R so l4m3″ or whatever the equivalent is.

But really, in the long run, the audience is right. They came expecting one thing, got something else, and didn’t lie down and just live with it. They knew they had an empowering technology at hand, and they wielded it to turn the tables on the whole power dynamic.

In sharp contrast to all this was the earlier session by Jared Spool. He spoke on using magic and illusion to help design great user experiences on the Web.

He peppered his talk with humor, some magic tricks, lots of great details, and a clean slide presentation that drove home important points. No 38 bullet points per slide. No kitschy backgrounds. No stupid transitions or zooming animations.

In the end, he tied the magic tricks in with the idea that web sites must have “delight generators” because that is what takes an experience over the top.

He got a standing ovation at the end, and about 100 people lined up to offer up their business cards so they could be signed up for his user experience newsletter.

Thus endeth the lesson.

My piece on Agile Software Development is live!

The piece I wrote for Baseline Magazine on Agile Software Development is finally live.

Check it out!

Creating a Simple Password Protected Site in CodeIgniter

Recently, I was working on a CodeIgniter site for a customer. They wanted to go live with the site’s domain, but they wanted to hide everything on the site behind a very simple password that only the site owners would know. That way only the development team and a few internal stakeholders would have access.

Adding this kind of password protection is pretty easy in CodeIgniter. All you have to do is add a quick check in your main controller’s constructor to see if a session variable has been set. For example:

class Welcome extends Controller {

  function __construct(){
    parent::Controller();
    session_start();

    if ($_SESSION[’loggedin’] != true){
      redirect(’protect/preview’,'refresh’);
    }
  }//end controller init

//rest of controller excised

}

Create a second controller called protect.php and set up a preview() function inside of it. The preview() function checks to see if a POST has been passed to it. If it has, simply check to see if the string from the password field matches the secret password. In this case, we are hard-coding the password right in the controller, but you could just as easily grab it from an XML file or database table.

If the password matches, set the session value for loggedin to true, then send them back to the original welcome controller. Otherwise, show the view.

Here’s the protect controller:

class Protect extends Controller {
  function __construct(){
    parent::Controller();
    session_start();
  }//end controller init	

  function preview(){
    if ($_POST){
      if (strtolower($this->input->post('pw')) == "mypassword"){
          $_SESSION['loggedin'] = true;
          redirect('welcome/index','refresh');
      }else{
        $this->session->set_flashdata('warning',"Wrong Password!");
        redirect('protect/preview','refresh');
      }
    }else{
      $data['title'] = "No sneak peeks allowed!";
      $this->load->vars($data);
      $this->load->view('preview_template');
    }

  }

}//end class

Finally, create a very simple preview_template view to hold the form and display any warning messages that are stored in CodeIgniter 1.6’s new flashdata component:

  <h1><?php echo $title;?></h1>
  <p>You have to login to see the site! Sorry about that.
  <b style='color:red'>
  <?php echo $this->session->flashdata('warning');?>
  </b></p>

  <?php
  echo form_open('protect/preview');
  echo form_password('pw');
  echo form_submit('submit','get sneak peek');
?>
Next Page »