July 27, 2008

Keep your head in the clouds

I'm a big fan of cloud computing, in particular Amazon Web Services and Salesforce.com. Anywhere that I can outsource the actual hosting and management of computer systems I usually do.

With OtherInbox, we've been pretty religious about it. The only computers we own are the laptops and desktops that people work on.

But probably most critical to our cloud strategy is hosting our production web servers and database servers on Amazon EC2 platform and using their S3 platform for backups and serving up static web files. We also use the SQS service to coordinate all our servers.

So what is all this talk about cloud computing? How can you take advantage of it in your current web application? What's the same and what's different?

From what I've seen, there are three major steps in moving from a traditional dedicated server architecture to one that takes full advantage of the unique benefits of the cloud.

  1. Replace dedicated servers with cloud-based virtual servers
  2. Move bottleneck code into modular work queues
  3. Move database or persistent storage to an incremental solution

In upcoming posts I'll discuss each of those three steps in more detail.

Once you get to step three, you have a highly redundant architecture that scales incrementally. You only pay for what you use, so if you are busy in the afternoons but slow at night you can turn on twice as many servers at peak time without having to pay for keeping them standing by idle the rest of the day. If you suddenly get a lot of publicity and see rapid growth, extra capacity is sitting there waiting for you to use it and the architecture is ready to scale automatically. An the whole thing is probably CHEAPER than having dedicated servers!

June 28, 2008

Necessity is the mother of Invention (and winning Chinese battles)

Chinese_warriorsI'm reading Predictably Irrational, by Dan Ariely, and came across a story that reminded me of bootstrapping a company.

In 210 BC, a Chinese commander named Xiang Yu led his troops across the Yangtze River to attack the army of the Qin (Ch'in) dynasty. Pausing on the banks of the river for the night, his troops awakened in the morning to find, to their horror, that their ships were burning. They hurried to their feet to fight off the attackers, but soon discovered that it was Xiang Yu himself who had set their ships on fire, and that he had also ordered all the cooking pots crushed.

With their ships gone, the soldiers had no route of retreat. Winning was the only option. And win they did. 9 battles in a row before defeating the Qin forces.

This is similar to when a bootstrapper enters the Valley of Death and commits to their venture, but before they are making money and cash flow positive. They are forced to figure out how to make it work with what they've got. The timeline is not completely in their control.

We're always tempted to leave ourselves an escape route or path of retreat. And usually that's a good idea. But sometimes there aren't enough resources to mount the attack and cover the retreat. In order to be successful sometimes you have to commit the resources to what you believe in because the retreat option isn't acceptable. Sometimes once you head down a path there is just no turning back, so you might as well commit all of your resources to getting to the end.

When I was CEO of SKYLIST, this happened twice. We were growing and needed to shift focus based on customer demand and a rapidly changing market. Both of those times it was focused on eliminating unprofitable customers and focusing sales on specific types of opportunities. Each resulted in a temporary drop in revenue but strengthened the long term sustainability and profitability of the company.

When Datran Media bought SKYLIST, we went through the same exercise again. Each time the SKYLIST business came out stronger than before and had replaced the revenue with better customers within a year.

Each time it was the right thing to do and left us stronger than before, but each time we went into it kicking and screaming. Change is hard. When something works, we often get the urge to just do that over and over - well past the point where it stops working. It felt bad to move away from lines of business we had traditionally dominated.

But it was turning point for the company. Had we not burned the ships behind us, I'm not sure we would have survived and succeeded.

June 15, 2008

We need Twitter and IRC integration for PowerPoint

A recent story on CNN talks about the real-time backchatter that is often happening at conferences and presentations. While the panelists are up on stage talking, the audience is having their own conversation on Twitter, Meebo and in chat rooms. I was in the crowd at Mark Zuckerberg's notorious SXSW interview this year which was probably one of the highest profile examples so far.

I was impressed to read how Jeremiah Owyang from Forrester was able to use this to his advantage and change the course of his presentation mid-stream based on feedback over Twitter. Smart presenters are going to pay attention and smart entrepreneurs will find ways to turn this into an advantage.

At some of the geekiest conferences that I attend, they have put up an IRC chat window on a projector so that participants inside the room and outside the room could interact.

We're now starting to see a new generation of web 2.0 presentation software from companies like SlideRocket and Google - where the slides can incorporate real-time data from the web, video, flash and other interactive components. But this is all focused outward on what the viewers see.

PowerPoint or Keynote show a presenter view if you have 2 monitors in use that includes the current slide, next slide, time elapsed, time remaining, current time and your slide notes. A great opportunity for this new generation is to provide a real-time presenter view that brings in this other real-time information. So in addition to the slide notes and timers, there would a twitter feed, Meebo client and IRC client so that each presenter can monitor the online audience in addition to the one sitting in front of them.

June 12, 2008

Why stand when you can walk?

I've been working at a standing desk for close to 10 years. When I talk on the phone I'm constantly pacing. At my house I end up walking in circles around the island in my kitchen. At work, I stand on a balance board to keep my body occupied. In a strange way, it seems to help me focus.

I've thought about trying to turn a treadmill or exercise bike into a workstation but never got the energy to make it happen. After seeing this treadmill desk, I may have to finally give it a try!

Hat tip: Mike Subelsky

May 21, 2008

Is this website down or is it just my Internet connection?

Ever wonder if the reason you can't get to a website is a problem on your end or a problem at the website? Here is a handy tool you can use to test!

Siteisup

May 15, 2008

Cloud solution for cross-browser testing - crossbrowsertesting.com

Jeff Hotz just sent me a link to CrossBrowserTesting.com that allows you to easily test your web application on any combination of operating system and web browser. We are developing OtherInbox on Macs, and although I have a PC laptop sitting around for testing I don't have every different combination of XP, Vista, IE, Firefox, etc.

This lets me log in for 5 minutes and try something out to reproduce a bug or just do proactive testing. It's actually free to try out for 5 minutes at a time and you can pay for priority access.

May 14, 2008

Total Leadership

Total Leadership

Last night I had the pleasure of meeting Stewart Friedman, professor at Wharton and author of the new book Total Leadership. Much thanks to Brett Hurt for introducing me!

Stew has an interesting perspective on how to maximize your success and happiness by integrating work, community, family and self in a holistic way. He provides specific exercises to help you discover what works best for you and to empower your employees to do the same. After a few hours with Stew, I'm re-evaluating some of my choices and priorities. I'm looking forward to reading the book!

Tonight he'll be speaking at a Leadership Austin and Bootstrap Austin event hosted by BazaarVoice and I highly encourage you to attend if you can make time!

April 24, 2008

Keyboard envy

It looks like there may finally be a keyboard to replace my Microsoft Natural Keyboard that I love so dearly (when I found out they stopped producing them, I bought as many as I could find on eBay).

They finally released the keyboard with organic LEDs on each key - allowing you to have full color icons on each key that change depending on what application you're in. For me, this is great because I type in Dvorak and so the keys would actually have the right letters on them. But it's also great for creating custom keys that launch applications or perform common tasks. Depending on what application you are using, the picture on the keys can change and the function associated with the key changes appropriately.

I need one of these!
(actually I need 2)

Optimus Maximus

Available at ThinkGeek

March 16, 2008

"Get out of my way you stupid programmers!" says the CFO

I'm playing around with Google Spreadsheets as a platform for backend application reporting and its quite promising so far. They key to it are special functions that you can use in a spreadsheet cell to import data from XML, CSV, RSS or even a well formatted web page with HTML tables or lists.


=importXML("URL","query")
=importData("URL")
=ImportHtml(URL, "list" | "table", index)
=ImportFeed(URL, [feedQuery | itemQuery], [headers], [numItems])

Full documentation is here.

From what I can tell, every time you open the spreadsheet it reloads all the files. It does not seem to update the spreadsheet real-time with new data as you are editing it - but I think that's probably for the best.

Lets face it, most of the important data from our website activity and logs ends up in a spreadsheet at some point. The data is needed by the CFO for reconciling expenses, recording business metrics and generating future projections. Operations needs to monitor the health of the system.

In many companies, however, these requests are fulfilled by separate database admins and programmers because the CFO is not empowered to get the data himself. There is lots of, "I'm waiting to get that data back from the Reporting department." Not only does this slow things down, but causes the CFO and other decision makers to ask fewer questions. Asking fewer questions is bad! Being able to easily ask lots of questions is very good!

When something is fast and easy, you can try 10 different combinations and see what's best. When something is slow and painful, you try your best to get it right the first time. The first method seems to produce better results in my experience. It's usually better to iterate rapidly and allow for failures in the process than to try and get it perfect.

This is very similar to how email marketing tools evolved. In the beginning, the programmers for your application or website also wrote the content for the email messages it would send. Over time, the marketers took over control of the content. But then every time they wanted to change the content, they needed to go ask the programmers. While there are many other reasons to use an Email Service Provider (ESP), I believe this was actually one of the most compelling reasons at first.

So what I'm doing to start is creating a data feed of user activity. It's a daily snapshot that shows the total number of users, number of pageviews, advertising inventory generated, etc. This automatically becomes a spreadsheet in Google with a row for each day. Now the CFO can do whatever he wants with it from within the spreadsheet. Every once in a while he may have to ask the programmers to add a new column or data point to the data feed, but he doesn't have to go through someone else to get at the data and manipulate it.

Ideally, you would just dump all the raw data and logs into the spreadsheet. I haven't tested this to see how much data they will take, but I just assumed that wouldn't work. But the more granular you can get, the more the CFO can work independently without depending on others to program new reports. Rather than using a PHP or ROR charting package, you just use the spreadsheet. It's much faster and easier. You can make 2 different spreadsheets with the same data feeding into them to compare different theories.

I'm still just getting started with this and will post more examples and real-world usage data soon. If you try this out, I'd like to hear about your experiences.

March 15, 2008

Getting Things Done (GTD) with Apple iCal

I don't claim to be an expert at GTD, but I am trying to integrate it more into my routine. I was already using MacOS Mail and iCal for managing my todos, and am trying to map a simple GTD like system on top of it.

First I use the iCal To Dos to keep track of my next action items. High Priority items are things that I expect to get done today. Every morning, I review the Medium Priority items and promote a few to High Priority that I want to get done today. If I want to remember something for later but its not a top priority, I make it Low Priority. When I'm waiting on someone else to complete one of my todos, I move it to No Priority.

In Mail, I created a folder called To Dos. Anytime I create a To Do for an email, I move the email to that folder so its out of my way (I don't need the email reminder because I now have a To Do reminder). When I start working on that item, I know where to find the email if I need it. Periodically, I review the To Do email folder to clear out old items.

Each morning, I read through my new emails and either delete it, delegate it to someone else, deal with it immediately, or create a To Do in iCal. Then I review my schedule for the day and my To Dos and mark the ones as High that I plan on accomplishing today.

High Priority - Deal with it today
Medium Priority - Next on the plate
Low Priority - Backburner
No Priority - Waiting on someone else

If you're currently using iCal to do GTD, I'd love to hear about your experiences!


Startup on Google

I've helped a number of startups and non-profits to get up and running on Google for their email, calendar and document collaboration and have been pleased with the results. And so far, I haven't found any need to upgrade from the free Standard Edition to the Premier Edition with a yearly fee (although I'm sure that there are many situations where it is appropriate).

Because everything is "open", it's safe to try out Google without having to worry about being "locked in". You can switch to another solution at any time without losing any data.

What do you get?

  • POP/IMAP/Webmail email accounts with plenty of storage space
  • A full-featured calendar that works over the web or syncs with Windows Outlook and Mac iCal
  • Web-based equivalents of Word, Excel and Powerpoint
  • Secure instant messaging, internet phone and videoconference
  • Simple website tools and hosting
  • Everything is secure and encrypted

    It's all a-la-carte so you can pick which pieces you want to use. I recommend most organizations start by moving over their email accounts first and then start using the shared calendar and documents. The rest of the services can be added as/if needed.

    What does it cost?
    Nothing!

    That's right, it's free! It is one of the most reliable email services and also has more features than just about anyone else. All things considered, it is clearly the best value and arguably the best at any cost.

    I really find it hard to imagine why anyone would pay for a slow, unreliable email service from their ISP when they could have a best-of-breed solution for free. If you really want to have someone to call for support (even though you'll probably never need it), you can pay $50 per user per year for the Premier Edition.

    To start using Google, you first go to their site and create an account for your domain. You probably have an existing domain name that you want to use. Creating the account at Google doesn't do anything to change your current domain, so you can go ahead and sign up without worrying about screwing anything up.

    You can also switch over your email for just a few accounts without doing everything at once - a great way to test it out and get comfortable with it.

  • My Photo

    My Other Accounts

    Facebook LinkedIn Pandora Skype Twitter YouTube

    Enter your email address:

    Delivered by FeedBurner

    Austin Queso