Tuesday, December 16, 2008

Thought it couldn't be done? Apparently, Dell have had some success with their Twitter feed and report they made one million dollars through Twitter. That's not a huge amount of cash for Dell, but its a glimmer of hope that there some viable business models for Twitter and, more importantly, the consumer market might be ready for them.

Looking at the followers on Twitter for Dell tweets, there seem to be about 4,000 followers on channels that advertise products. This means that each follower was worth approximately $250 in 2008. Given that a big majority of the followers would not have made purchases, lets say only %10 actually buy something (and that's probably generous). This means each purchase would have averaged out at $2,500. That seems a little high for the average Dell purchase... So maybe you can't make a $1 million on Twitter just yet, but the target is set for next year.

There have been numerous reports of the demise of Java ever since the language gained popularity. However with SUN's market cap at $3 billion there have been renewed speculations that because SUN is in trouble Java is too.

First off, Java is a lot bigger than SUN, its out in the ethyr. Nobody controls Java (except the Java community) is its own entity. This is obviously a good thing for companies and developers. Java is not going to die because SUN is in a spot of bother.

I do believe the adoption curve of Java is on the decline. This is not due to a lack of popularity, rather the opposite. Java has enjoyed massive popularity over the last 12 years, it became the multipurpose language of choice for millions of developers and a large percentage of enterprise. And why not; Java combined the "write once, run anywhere" principal (that sort of worked) with the building blocks to create embedded applications to hugely scalable enterprise systems, simplifying memory management, concurrency and IO. However, the popularity of Java meant that it was used in places that it was not deigned for.

The fact that Java is a multipurpose language means in many cases it is not the best tool for the job. We've seen over the past 5 years new languages such as Ruby, Scala and Erlang become more popular. Ruby provides a more fluid, powerful language that is great for building front end applications, Erlang is always going to beat Java for scalable, robust back-end applications.

Also the way we build software is maturing. We are getting better at using the right tools for the job. We use patterns to describe nuggets of software wisdom, we use IDEs that tells about good practices, we use DSLs to help better describe what our software is doing. With this maturity we look to other, sometimes more specific languages to help us get to our goal more efficiently and elegantly. For this reason Java is not as popular as it once was, but Java's popularity was probably over-inflated in the first place.

A dying language is one that stops living. A living language is one that continues to grow. Java does continue to grow with JDK 7 considering support for closures, resource blocks and language-level support for XML. Additionally, support for a module system will greatly increase the flexibility of the Java run-time (if implemented correctly - I wish they would team up with OSGi). In java 6 we got built in support for scripting languages such as Python, Ruby and of course Groovy. These sorts of features allow a language to grow.

The challenge for a mature language like Java is that with every new release there is an accumulated legacy to deal with. Eventually, the weight of that legacy will crush the language. I don't think Java is anywhere near that point yet.

Friday, December 12, 2008

There is a great post by Mike Cannon-Brookes of Altassian, which talks about how they came up with the stellar business strategy that has that has driven the iconic company from strength to strength. Mike raises some interesting points, which are relevant to any tech start-up or indeed any industry that deals with progressive change, which are almost all industries.

I believe open source start-ups are particularly prone to bad strategic decisions because there is a very small pool of successful open source start-up with less than 10 years of history to draw upon. Furthermore, the market is rapidly changing making success factors from yesterday points of failure today.

I doubt there have been any companies in history that didn’t have to evolve their strategy to be successful. There are myriads of books out there that will try and tell you how to build a successful strategy, how to define it, how to target a market, what to measure, but until you try it you cannot ready yourself for the changes you and your company will need to go through to have a shot at success. When I was in high school applying for university I didn’t understand why the business degrees were Arts and not Sciences. The fact is business strategy is an art that you can only learn by doing.

My experience founding MuleSource so far has been a whirlwind of success, failure, enlightenment, disillusionment, confusion, uncertainty, terror and joy. And of course I am learning more every day. Mike’s post spurred me on to share some things I’ve learned over the last couple of years.

Your strategy will evolve over time but you mission should not. The mission statement sums up the ultimate goal of the company and will set the operating and strategic tone of the company. If you change the mission statement significantly you are changing the company significantly.

Fail early fail often. Every entrepreneur will cite this adage; the fact is failing takes practice. Until you have failed a few times its hard to know when you are failing or how to spot the early signs. Starting and open source company has been all about trial an error because there is very little experience to draw on. In order to fail early you need to really understand what you are aiming for, what you are selling and whom you are selling to.

Understand you market and understand that the market is always changing. When I created the Mule project I always knew that I would create a business around the project. Back then enterprises did not deploy software into production without a support contract from a vendor. In the time it took Mule to become popular, the market perception of open source had changed and companies were not so concerned with deploying unsupported software in to production (at least for non-mission critical applications). The fact is that the pitch to our investors for MuleSource was very different to how I once thought the company strategy would be when I started the project. And MuleSource today is a very different company to the one we pitched in 2006. To have a chance at success you must evolve your strategy.For every goal you need a metric. Metrics can be anything from downloads, sign-ups, bookings, renewal rates, bugs reported/closed, product releases, customer satisfaction indicators, website hits/clicks, upsells, burn rate, etc. Key metrics will be slightly different for every company, but every company needs to track their metrics rigorously. Without solid numbers to measure your business against its very hard to assess how you are doing, but more importantly it impossible to predict how you are trending in the future. Without these numbers it’s very difficult to know if you are spending precious time on things of little value to your business.

One of the toughest tasks of running a company is hiring. In a start-up every person you hire really counts. Your people are your company; they are the ones that make the dream a reality. You need to think long and hard about every position, understand not only the role and responsibilities but also the cultural aspects. You should always assess a candidate not only on their skills but also personality traits, employment values and the ability to work in your environment. The questions you ask should give you insights to the character of the person. Always do reference checks and backdoor checks where possible. Some of the best people I have hired have come from my network (LinkedIn is a great source) or someone else's network in the company. When we’ve hired from a recruiter we’ve had mixed results.Communication is an art. We all know communication is vital for any collaborative environment, but I have worked in many environments where we had lots of bad communication. Bad communication is frequent communication without getting the right messages across. Meetings shouldn’t be boring; attendees should walk out feeling that they learned something important to them. You don’t need gimmicks to make a meeting interesting you just need to focus on the content. We’ve learned a lot in this area at MuleSource. Our communication approach has evolved and continues to do so. Here are some principles to consider when scheduling a meeting –

What is the goal of the meeting? You’re about to take 30-60 minutes of your teams’ time. Make sure you make good use of that time

Invite only the people necessary to attend the meeting. If you want to let others know about the meeting, either share your calendar or make it clear in the invite that it is optional for certain people

Who is your audience? It’s very easy to ramble on about what’s important to you not what’s important to the goal of the meeting. This is especially true of status meetings. Try and keep your communication short and precise

Be honest, be open. Meetings shouldn’t be a place to blame colleagues, if employees feel the need to cover their back, there is probably a culture issue

If addressing the company, make sure the key points are clear and relevant. You should always relate back to objectives and the mission of the company. Company meetings should be energizing and gratifying, people need to see the impact of their hard work on the overall goals of the company.

Finally, the most important point is to enjoy what you do or don’t do it at all. Most open source developers are driven to write free software because they enjoy it and they chose to give up their spare time to pursue it. However, starting an open source project and starting a company are two very different beasts. I started Mule with a view to starting a company around it, I was considering the Mule project as a commercial avenue early on, it was part of a bigger plan. Now MuleSource has become a living entity that I truly enjoy being part of every day. Its very hard work, it consumes a lot of my life, its difficult on my wife. It’s a labour of love for both of us. You need to be really committed to create a successful open source project; you need to be little crazy (about it) to start company.

Friday, December 5, 2008

Those who know me know I like to get out to the mountains for snowboarding whenever I can. This year I started kiteboarding since Malta has some decent conditions for it (once you get past the rocks and crowded beaches). Ever since I went heli-boarding in New Zealand a few years back I really wanted to do more with my boarding. Now I think I've found the answer, Snow kiting! Check this out:

Thursday, December 4, 2008

I've been asked a lot over the last couple of months, "What is the impact of the economic downturn on open source companies?" I'm sure most people have read the slew of articles on this subject and the response is pretty consistent. Organisations are still spending money in this climate but are looking for low cost alternatives over costly proprietary solutions. The commercial open source approach works well in this climate because organisations can try before they buy, they can self-select without the hard sell from the vendor and they only need to buy if they are compelled to do so.

This point draws a fuzzy line between the open source companies that will do well in this climate and those that will suffer. If the open source product falls below the value line (and value can mean very different things depending on the target market) then its going to be difficult for those companies selling the product to operate successfully during this slump.

For established open source company such as Alfresco, SugarCRM, JasperSoft, Intalio or MuleSource, the economic change is already showing positive signs. If you are a new open source start-up or an existing one without a clear path to profitability then the next 12 months will be hanging in the balance. Nobody wants to raise an A or B round of funding right now, the VCs are going to be way too cautious.

However, the reason I am so positive about the year to come is I believe we needed a drastic shakeup in the market for the benefits of open source to be really acknowledged. Right now every organisation is assessing all their costs (most companies have cut between 10-30% of their workforce). In this process, CIO and Managers are being asked to do more with less, to keep the engine running with half the budget. This means they have to look to open source. They then realise that open source companies compete with proprietary software on the features they need and is typically 10-30% of the cost. With a 50% budget cut that leaves you with cash in hand.

Open source companies change the way organisations acquire software. It provides a much more business-friendly way of purchasing software based on real need and value, rather than vendor-crafted perceived value. The proprietary vendors have been getting away with selling promises, but now organisations have no choice but to look elsewhere for real value at a lower cost.