Archive for May, 2008

ScreenSteps Live: A Case Study on Ruby on Rails - Part 1

Wednesday, May 21st, 2008

At Blue Mango Learning Systems we primarily develop two applications:

Distributing a product for Mac, PC and running a hosted web service is a lot of work, especially when there are only two people in your company. Therefore we have had to choose our development tools very carefully. For us, the most important aspect of any development tool is our ability to quickly iterate over a product until we feel that we have it "right". Really, for us, all other considerations fall way behind. If we can't iterate efficiently then we are going to move on to another tool.

Ruby on Rails has proven to be a great tool for this type of development. There are a lot of people getting into Ruby on Rails so I thought some of you might be interested in my experience. I think that ScreenSteps Live is an interesting case study in the benefits and drawbacks of Rails, so over the next couple of months I will be posting some of the things that I have learned as I have dived into the Rails world.

First, a little background on myself as a programmer and ScreenSteps Live as a web app.

ScreenSteps Live Struggles to Come To Life

I have no background as a programmer. Well, almost none. We first got the idea for ScreenSteps Live back in late 2006 or early 2007. At that time I had never even attempted to program a web application. I knew some basic html, enough to throw up a web page, and enough php to do some basic includes. But nothing beyond that. I also had programmed some smaller desktop apps with Revolution but only after extensive help from Trevor.

But we needed a web app. Trevor wasn't going to have time to do it so we decided to outsource. I won't go into all of the details on this but our first attempt didn't work out so well. Suffice it to say that after 2 months we had nothing and were out a few thousand dollars. All I can say is be very meticulous in checking out the people you are hiring to develop your stuff. We weren't and it came back to bite us in the form of lost time and lost money.

(more…)

A Little Revolution Does A Developer Good

Tuesday, May 20th, 2008

Round here we develop all of our desktop applications using Revolution. I recently attended the RunRevLive 08 conference in Las Vegas where one of the speakers was Robert Cailliau, the co-developer of the web. Robert spoke on “Programming systems and the birth of the Web”. Following a very interesting presentation on how the web came about he discussed some characteristics he thought a good programming language should have:

  • You should not need the reference manual lying open next to you.
  • A good assignment operator.
  • The less "swear" characters the better. These are characters from the top of the keyboard and are like the top shelf at a newsstand - dirty.
  • You should not need lots of comments.

His point was that you spend most of your time reading your code, not writing it. Therefore the language should be easy to read and understand. Since Revolution uses an english-like syntax it fulfills all of Robert’s criteria.

(more…)

A Little Help Please

Monday, May 19th, 2008

Over the last few weeks we have been shifting the primary focus of ScreenSteps Live to manuals. In doing so we have been looking at ways to easily integrate the manuals you create into a variety of different applications.

One feature we recently added was the ability to fetch a list of manual lessons that has been filtered by tags. For example, if I have a manual for my web application I can tag all of the lessons that discuss managing users with "user management". I could then add some javascript (supplied by ScreenSteps Live) to my user management screens that displays all lessons from my manual tagged with "user management". As I continue to add lessons and make updates based on user feedback those lessons pertaining to "user management" would automatically show up in my web application.

(more…)

Apple iPhone: Solving the Innovator's Dilemma or Swimming in a Blue Ocean?

Tuesday, May 13th, 2008

Charlie Wood at Moonwatcher has a post asking "Why Doesn't Apple Face the Innovator's Dilemma?". Looking at the success of the iPhone with the Innovator's Dilemma/Solution outlined in Clayton Christensen's excellent books doesn't really tell the story of the iPhone. The Innovator's Dilemma/Solution is a framework for analyzing market reactions to technology innovation. The idea of the framework is that entrenched market/technology leaders are unable to react to new entrants because the new entrants are able to innovate not only on technology, but also price and business model. Basically, the theory is, a company can start with a product that is "good enough" in key areas that are important to a certain subset of users. In addition that company will start with a price that is much lower than the entrenched market leaders are willing to charge because of their business model. The new entrant peels off the lowest tier of the market (those who are most price sensitive and who don't need all of the "features" of the market leaders) and then eventually improves their product, gradually taking more and more customers away from the market leader.

This framework works great for analyzing many market successes and failures. Christensen specifically looks at the hard drive and steel mill industries. But it doesn't really describe what Apple has done with the iPhone. First, while Apple is innovating the business model for mobile phones (they get a piece of the service agreement), they certainly aren't innovating by creating a lower price. That seems to be a key component of Christensen's framework. Also, Christensen talks about new companies targeting "over served" customers. That doesn't really seem to be the case with the iPhone either. People aren't buying the iPhone because their current phone did too much. For most people it is because their phone didn't do nearly enough things that were actually useful.

??????

A better framework to use when analyzing Apple's success with the iPhone is the Blue Ocean Strategy by W. Chan Kim and Renée Mauborgne. To sum up, the Blue Ocean Strategy is all about eliminating competitors by creating a product that has no direct competition. When you think about it, you are either in the market for an iPhone, a smart phone or a mobile phone. They are three separate categories. That is the key. I don't ask myself if I want a Blackberry, a Treo or an iPhone. I ask myself if I want an iPhone or not. If the answer is no then I will decide if I want a Blackberry, Treo or Windows Mobile device.

The iPhone has no direct competitors. How did Apple do this? They did exactly what Chan and Mouborgne describe in Blue Ocean: they combined aspects from several different product types to create a new product class. When you have a new product class you have no direct competition. This gives you the "Blue Ocean" to swim in where you have broad pricing control and little influence from competitors. Apple has always followed this strategy. I don't decide if I am buying a Mac, a Dell or an HP. I ask myself, am I buying a Mac or not? If the answer is no then I move onto Dell or HP or one of the many other PC manufacturers swimming in the red ocean.

The iPhone combines: - The tight integration of iTunes/iPod - A nearly fully functional mobile web browser - The most important features of a mobile phone - The most important features of a smart phone (email, calendar, etc.)

What they basically did was combine a few features from a desktop computer with those of a smart phone. So, while the phone features may not be extremely robust (no voice dialing, etc.) I, as a user am willing to sacrifice that because of the "closer to desktop" experience I get when using the iPhone.

In Blue Ocean, Chen and Mauborgne compare Cirque de Soleil to traditional circuses. People don't decide if they are going to the circus or to Cirque de Soleil. They are either going to Cirque de Soleil or they aren't. That seems like a better comparison to what is happening with the iPhone and other mobile phone manufacturers.

Will this situation last forever? No. Other manufacturers will start to make products that more directly compete with the iPhone. Then the Innovator's Dilemma/Solution will come into play. But until then, Apple is free to swim in the Blue Ocean it has created with the iPhone.