This question comes up a lot, and it is a fair question. We have intentionally been open ended on this point as we did not want to pre-bias people into thinking a certain way. We wanted to listen to find out what people really want. By listening we have had our own biases challenged and have been able adjust our course accordingly. In this blog post I will talk about where we started, what we learned, and where we are going.
When we started Tsunami the key target demographic was domain experts who want to program their own solutions to their own problems, e.g. Financial Analysts, Actuaries, Day Traders, Architects, Oncologists, Biologists, Business People, Big Data Scientists, etc.
This is characterized in one of my favorite quotes;
MS-Access gives users 90% of what they want; unfortunately users always want 100% of what they want.
The last 10% is in effect the long tail. There are a few problems that are shared by a large number of people (the head), but most problems are unique to a domain or even an individual (the tail).
For many people the long tail solutions are the most valuable. Sales in the Apple App Store often go for less than a coffee, while an Excel worksheet calculating blasting patterns for mining operations can go for tens of thousands of dollars.
Tsunami aimed to enable domain experts to do the last 10% by embedding a powerful language and integrated development environment into their applications and environments where they could script their own solutions to their own long tail problems. For example; an Architect who designs arches could write a script for this and embed it into his CAD program.
This is the architecture that Deam Wampler espoused in his highly recommended presentation on infoQ.
I first saw this presentation while building a Big Data platform on top of Hadoop. The two biggest challenges we were facing at the time was that it was too difficult for users to write their own User Defined Functions and their code was constantly breaking due to changes in the data on the cluster. The first problem is solved with a scripting environment with type checking and code completion, the second problem is solved with type providers ensuring the code matches the data.
It was for this reason, and the expectation that such tooling would be useful to others, that I created Tsunami.
We expected that we would be targeting niche domains one by one. Some domains are doing better than expected (F# in Excel for Actuaries) and other domains are not. It appears that success in a given domain is almost entirely driven by a leader from that domain who evangelizes F# and Tsunami to their peers. So far these volunteer evangelists have been far more influential than our own efforts and we are very grateful for their help.
As of today we have had over 1,500 downloads of Tsunami for the desktop and this is increasing at a rate of ~18 per day.
This was more than expected. We get around one person per day contacting us via email or through the website asking us about Tsunami or telling us about the particular problem they would like to solve. Surprisingly; most of the people downloading Tsunami are trying F# for the first time. Many of these people are trying functional programming for the first time. The feedback we are getting from them is that Functional Programming, F#, and Tsunami is not that hard. We learned that we will need to cater more for beginners.
In an effort to enable niche businesses we are going to build an app store. Niche businesses are disproportionately burdened by creating installers, licensing systems, and payment systems. By building an integrated vertical solution we can offer an integrated push button deployment service for .Net applications, libraries, and Excel workbooks for Windows XP and up.
The aim is to get the whole end to end process down to less than 10 minutes. From downloading and installing Tsunami, loading a sample, compilation, deployment, MSI Installer creation, and finally listing in the app store. Listing is in the app store is optional, the user is free to distribute the MSI themselves.
Exactly what we build and where focus our efforts depends on the feedback we get. We will release more details on our plans as well as a way to sign up for the Alpha program within a week.