In the late 90's, visual programming was The Next Big Thing. Instead of writing millions and millions of lines of incomprehensible computer instructions, visual programming tools promised a world where you could "paint" applications using high-level objects. Visual programming promised a future where applications would be built more quickly, more easily, with result in an application that would be less expensive to maintain. Unfortunately that era of visual programming did not deliver on many of it's promises. Tools were primitive, workstations weren't up to the task, many potential users didn't know why they would want to write programs, and the languages didn't line up well with the use cases. In the end, the tool with the most staying power was UML, which is a modeling language rather than a programming language, and which used traditional textual programming languages to create the "real" program. UML became fodder for big-project architecture and requirements documents, not a tool for real programmers.
Last week I was reminded that I'm fortunate to be running a company that delivers on the promise of visual programming. This struck me as I was listening to press interviews with Andrew Haines, the CTO of Gain Capital. Andrew discussed the reasons behind their selection of StreamBase. He talked about how they had evaluated all the major CEP vendors and selected StreamBase for its speed, ease of use, and our being a good partner. And he talked about how strategic their use is - Gain processes almost $200 billion in trades a month. All good stuff.
But the comment that struck me was when Andrew said Gain has found StreamBase Event Flow programming language to be 50% faster than traditional programming techniques (citing an experiment they did that measured StreamBase versus .NET). This comment reminded me of the 90's and the promise of visual programming, or what we sometimes call "Whiteboard Programming." Whiteboard programming (watch a short video here) is the right visual metaphor for event processing because developers design event-driven applications naturally on a whiteboard, with data flows, icons for business logic, and arcs that connect logic to next part of their event driven architecture. StreamBase's visual development tools allow developers to "paint" their application. But the visual representation of their whiteboard isn't just a picture of the application, it is the application. The application is tested, profiled, and debugged visually, and the promise of visual programming, for event-based applications, is fulfilled.
StreamBase EventFlow benefits from several improvements in the state of the art since the 90s, as well as our own innovation. First, it's built into a modern IDE based on the Eclipse platform, already a powerful and flexible tool before StreamBase starts with it. StreamBase also takes many of its ideas from the agile programming methodology developed over the last 15 years, including automated refactoring, unit testing, and a focus on quick iterations. More specific to StreamBase, the StreamSQL Event Flow language derives from declarative data processing languages developed at MIT, Brown, Brandeis, and Stanford universities, with rigorous models behind them. The language is designed to not only be visual, but also fundamentally to be directly executable (unlike UML) and to have powerful facilities for extensibility and abstraction (unlike end-user oriented visual languages). The result is a language that is accessible to financial engineers, quantitative analysts, and business analysts, but powerful enough that application and infrastructure developers are comfortable working on the same platform. Despite the ability to add functionality to the platform in many traditional languages (Java, C++, .NET, Python, textual SQL), StreamBase developers universally adopt the visual programming model for it's productivity and teamwork benefits.
Andrew's comment reminded me why StreamBase is on a run of amazing accolades as one of the most innovative technologies in the world, including Time Magazine, the World Economic Forum Technology Pioneer program, and MIT Technology Review. These esteemed technologies realize that, as Clayton Christensen suggests in The Innovator’s Dilemma, simplicity is always a disruptive innovation. And the proof lies in clients like Gain Capital, who get to market 50% faster, with 50% less cost, with 50% less cost of ownership over time.
But at the same time, other CEP venders aren't gaining customer success stories like Gain Capital. Why not? Gain evaluated numerous other CEP products from Progress Software, Aleri, and TIBCO as reported by FX Week. Coral8 was acquired by Aleri, then Aleri was acquired by Sybase. After the acquisition, Aleri engineers revealed that although their product was fast, customer implementations took years and lots of consulting to build. Apama, the early pioneer in CEP, tried to develop a visual programming tool after they developed a textual language. The textual language works, but the visual one doesn't, which is why Apama's visual tool is being scrapped as they integrate the CEP language with Savvion's visual BPM development environment.
What Gain Capital's selection of StreamBase reminds us is that simplicity is always disruptive, and that the promise of visual programming is just as relevant today as it was 10 years ago, and being fulfilled by the leading CEP companies.