Archive for June 2009
I really enjoyed attending a FreshBooks workshop today, held by Mike McDerment, FreshBooks’ co-founder and CEO. FreshBooks is the leader in online billing, a rapidly growing category that FreshBooks essentially invented and is continually perfecting. The workshop, Building a Web App Business, addressed the pre-launch phase any web startup faces and covered topics ranging from building to marketing, product management, metrics and financing. I literally took ten pages of notes in four hours. Mike is a wealth of information, candid with his answers and refreshingly transparent. The session was truly inspiring and I will be drawing on today’s take-aways for some time. In the meantime, I wanted to wet your appetite with a few tidbits, a number of quotes from Mike McDerment and the context in which they were given. If you find them as thought-provoking as I did, you really owe it to yourself to get to know FreshBooks and perhaps attend a future workshop.
Freshbooks “We get paid to be an aspirin, a pain killer”.
Launch features “Build the least, you’re in a vacuum”. “You need to build the minimum number of features you need and engage people using it [the service]”.
Feedback “Make it easy for people to give it to you”. “Make it easy for people to reach you, by telephone and email”. “You want to remove barriers”.
Ownership “I want people to act and behave as owners”.” Don’t stack chances against yourself by being a control freak or by putting up with one”.
Founding team “Trust, honesty, loyalty, openness”. “Passion is your fuel”. “If you call them at 3AM, are they going to answer the phone?”.
Lawyers “Lawyers get paid”. “Lawyers are risk reducers”.”If the dark clouds come, things break down gracefully”.
Office space “You do not need an office just because you have a business”. “Rent will increase your burn”.
Categories “Don’t underestimate the power of categories”. “What makes you unique?”.
Choosing a name “Easy to remember. Easy to spell. Describes the category. Describes the benefit. Describes the difference”. “A name is a vessel, you can build a lot of meaning into it”.
The story “Your story is going to influence your strategy more than you know”.
The homepage “The home page must answer: what is it? who is it for? why it matters”.
Blogs “Outspend or out-teach”. “If you don’t have something interesting to write, don’t write”. “You want to build a network “. “Start sharing and teaching”.
PR “PR is a pretty hard thing to outsource”.
Support “Everyone [at FreshBooks] does support”.”When you are building a business, you are building a culture”.”Post your phone number” .”Use a forum, use twitter, be everywhere”.
Usability “If you want to be humbled, watch somebody use your application. You will be floored, you will be shamed”.
Surveys “If you want stats, use an online survey, if you want insights, call people”.
Decisions “You are editor/curator”. “You can’t please all people all the time”. “If you do support, you’ll know”.”Remove the pain, stay true to vision”.
Funding “You need to know your formula before investing capital at the top”.”When you know your users better than anyone. When you have a formula for the $. When you’ve got traction. When you know your market size”. “Angels do 27 times more investing than VCs”. “Can you increase your share price by more than dilution?”.
Competition “I never think about competition”.” I don’t believe customer service is going to get out of style”.”If you only look at your competitors, you are only reacting, not leading”.
Startups “You do stuff in a way a big company cannot”.
There is a certain irony to this post. It’s a bit like a car salesman trying to sell you a bicycle. My career so far has largely revolved around relational databases. That is slowing changing however as new storage mechanisms and models emerge and demonstrate they are better suited to certain requirements. I discuss a number of them here.
1. Distributed file systems. DFS, out of the box, scale well beyond the capabilities of relational databases. Hadoop is an open-source distributed file system inspired by Google’s BigTable. Hadoop also implements MapReduce, a distributed computing layer on top of the file system.
2. Enterprise search servers. The biggest eye opener in recent years (which we implemented for a public library’s “social” catalogue) has to be Solr. Solr is based on Lucene and also integrates with Hadoop. Already in widespread use, this product is poised to gain further adoption as more organizations seek to expose their data (including social data) to the world through searches. The speed and features of Solr alone sell search servers better than I ever could and quite simply leave relational databases in the dust.
3. RDF stores. While relational databases are governed by an overarching schema and excel at one-to-many relationships, RDF stores are capable of storing disparate data and excel at many-to-many relationships. Open source products include Jena and Sesame. Unfortunately, at the present time, the performance of RDF stores falls well short of relational databases for one-to-many data (most typical in enterprise databases) making its widespread enterprise adoption a long shot.
4. Web databases like this recent (and very quiet) Google announcement on Fusion Tables. While functionally and programmatically limited compared to other stores, the Google product focuses on rapid correlation and visualization of data. A product to watch.
Seismic shift in data storage? Not quite. But an evolution is certainly under way. Relational databases are in widespread use. They are highly capable at storing data and data relationships, scale reasonably well and are economical for the most part. Relational databases are not going away. But the once dominant technology is being challenged by other models that are more capable, more efficient and/or more economical at handling certain tasks. By evaluating these technologies against your organization’s needs, you may find surprising answers and ROI.
Semantic Technologies will Rise from the Limitations of Relational Databases and the Help of Distributed File Systems
As an architect of large enterprise systems, I look to the Semantic Web with envy and anticipation. And yet, the more I look into the potential of semantic technologies, the more I realize semantics are victims of the success of the very technologies they are trying to replace. The semantic web is a network of global relations. Semantic content is not bound by a single database schema, it represents globally linked data. However as an expert in database modelling and database-backed systems, I am forced to concede that, for the purpose of each enterprise, a relational database governed by rules (schema) mostly internal to the organization and serving a certain functional purpose, is often all that’s needed. Semantics are to a large extent, a solution in need of a problem. And yet I am a strong believer in a semantic future, but not for reasons pertaining to semantics per se. While actual numbers vary by database vendor, installation and infrastructure, relational databases are inherently limited in how much data they can store, query and aggregate efficiently. Millions yes, billions no. The world’s largest web properties don’t use relational databases for primary storage, they use distributed file systems. Inspired by Google’s famous Big Table file system, Hadoop is an open-source free distributed file system. It currently supports 2,000 nodes (servers) and, coupled with MapReduce, allows complete abstraction of hardware across a large array of servers, assured failover and distributed computing. While 2,000 servers seems like a lot, even for large enterprise, I am amazed how many enterprise clients and partners are dealing with ever increasing datasets that challenge what relational databases were designed for. Why does this matter? When dealing with millions of files, billions of “facts” on a distributed file system, semantic technologies start making a lot of sense. In fact dealing with universally marked loose content is precisely what semantic technologies were engineered to address. And so I am hopeful. Not that semantic technologies will prevail because of some inherent advantage but that the future points to gigantic datasets of disparate origins, ill suited conceptually and technically to be handled by relational databases. It’s not that semantic technologies are better, it’s that they are better suited for the times ahead.