I recently read Peter Guber’s book Tell to Win, which is all about presenting ideas as stories to make them more powerful. The book got me thinking about event stream processing, and how it makes programming more like storytelling, and thus more powerful. After all, storytellers and developers share a common goal: communicating solutions to problems.
Traditionally, programming languages were no match for a good campfire when it came to weaving a good yarn. In the last 50 years, we’ve developed many ways to express solutions through computers, from machine code and assembly languages to 3rd-generation languages (such as Java, C# and Python), but none of these feel like storytelling devices. Sure, we might storyboard a user’s interaction beforehand, but translating that into code is never straightforward.
So, why, when we had a near perfect technology for communication 50,000 years ago (campfires), have we bothered with these imperfect newer devices? Because we wanted automation. Novels automate storytelling. Computers automate problem solving. These technologies are harder to use, but they pay off big in economies of scale.
As a technologist, I want it both ways: Get back to the point where we can relate ideas in stories, while retaining the ability to automate. And event stream processing brings us closer to that goal than anything so far. Event processing allows developers to tell stories in a form similar to the rule bases of expert systems, but also to connect these stories — at a granular level — in ways that expert systems ever could.
Event processing engines connect small facts together to infer more complex events. For example, imagine that the following simple events are observed independently:
- Bob rents a tuxedo
- Alice buys a white dress
- Bob buys a ring
- Alice orders catering for a large group
Independently, these events could be part of a variety of broader stories. Maybe Bob is going to the symphony. Alice might be attending the Kentucky Derby. Bob might have just graduated high school and bought a varsity ring. Alice might be organizing a benefit for a charity she volunteers at.
However, I’ll bet you didn’t think of any of those stories. Instead, you knew that Alice and Bob are likely planning a wedding.
This is the power of event processing: enabling a user to communicate with the machine in terms of narrative. To be sure, it’s not yet as easy to use as sitting around the fire, but I’m excited to see how things develop. And I’m happy that I’ll get to drive that evolution at Terracotta, as earlier this year we announced the coming release of Terracotta In-Genius, a new platform for automating immediate, intelligent actions based on event stream processing. Also, our parent company, Software AG, announced the acquisition of Apama, the leading complex event processing (CEP) platform.
Want to chat about these ideas, or about how our new In-Genius offering can ease interaction with your technology stack? Drop me a line at firstname.lastname@example.org.