As developers, we are always looking for ways to get the job done more efficiently with fewer headaches.
Pretty great, right? So you probably want to know how we built such a powerful Promotion Engine from the ground up and what elements were involved.
In this article, I will share how Talon.One approaches the particular challenges involved in implementing marketing campaigns with software and the insights we have gained.
The way of the past
When it comes to defining business logic there is an exceptional technological debt in the software currently available.
While designers, musicians or scientists have access to specialized technology to complete their tasks, when it comes to defining the rules for business applications we are often left with only one possible path of action.
This path can be broken down as follows:
- Get a meeting with the software development department
- Explain the problem to an analyst
- Requirements will be translated by the analyst into a technical specification
- Then finally a software developer can implement, test and deploy to production.
Estimations for this whole cycle are more often in the range of weeks than that of days, and deadlines probably exist even before getting started with the first meeting.
The most significant step forward was probably the development of COBOL in the late 50s - early 60s by CODASYL that was based on the amazing Grace Hopper's FLOW-MATIC language.
For its time, this was an outstanding achievement that has been highly beneficial (and profitable) for business operations around the world for the last half of a century. But as software continues to "eat the world" and more of our business happens online we desperately need to move beyond the model of hard-coding business logic into applications.
- It is not fast.
- It is not safe.
- It is not affordable.
It is true that the implementation of relational databases and Structured Query Language in the seventies helped to alleviate that in part. However, SQL is still highly technical and inaccessible for anyone without an introduction to database administration.
It's always a decision problem!
Our customers solve a wide range of marketing challenges with their promotional campaigns, but every type of marketer needs to do it efficiently and intuitively, with the least amount of cognitive overhead.
Because the kinds of problems marketers need solving are almost always a decision problem, they can be put to algorithms in a fairly easy manner.
In computer programs, the two common ways to address marketing campaigns requirements are the following:
- Either hard coding the most frequent subset of these problems into the software that requires the result,
- Or by connecting your system to different services that partially solve the problems, but are limited in communication with each other.
In both cases strong technical limitations are imposed directly on the marketers who are trying to be as innovative as possible with their marketing strategy.
Building a stack
Now it's time to lift the veil: designing a marketing strategy is in great part describing an algorithm.
programming remains a somewhat scary and mystified idea for many people, even if everyone uses logical thinking in their day to day life.
How do we bridge the gap? With a simple yet very powerful approach: block-based coding.
The idea of programming with visual elements is hardly new, one of the first systems to solve this problem described in W. R. Sutherland's Ph.D. thesis from 1966, The On-line Graphical Specification of Computer Procedures. 
In recent years, block-based programming environments like Scratch have been very successful for teaching Computer Science to children. Yet the industry has failed to adapt this approach to the demand of more expressive tools.
To develop our stack, we want everything that is going to be programmed in this language to be part of a very clear and specific domain, that of marketing campaigns.
We don't want to expose users to the complexities of general-purpose programming, but to offer a domain specific language that works as a clear framework for their campaign activities.
When marketers build a campaign with blocks they are creating small programs that will be evaluated inside the Talon.One API.
You can visualize the parts involved in this system as a series of steps:
![Block-based programming graphic](/content/images/2017/07/stack2.png)
Marketers work with the top layer in our Campaign Manager, and the two bottom layers are built into our API. The combination of a user-friendly block-based environment and fast, scalable API are what makes Talon.One a true Promotion Engine.
The idea of a WYSIWYG block-based programming environment is by no means revolutionary, but it is certainly unique as a solution for building marketing campaigns. To a certain extent, it is fairly innovative for implementing the business logic of (at least part of) an application.
In the world of software, operating systems, desktop environments, and web-based technologies have certainly come a long way. Especially in terms of improving the accessibility of computers as a natural extension of human activities and hiding their inherent programmability and customizability. Nevertheless, the logic and programmability business applications' continues to be highly inaccessible to those most interested.
One of our primary goals at Talon.One is to help to bridge that gap and solve the problems of both marketers and developers. If you're keen to learn more, subscribe to our newsletter and follow our blog as we dive deeper into this topics. If you have questions leave a comment or get in touch!
Subscribe to our newsletter
Get insights and inspiration for mastering promotion marketing.
Thank you! We just sent you an email, please verify your email address to confirm your subscription.
As your company grows, you are being faced with a lot of…
Is your email marketing optimized with promotions? Did you know you can…
This is Part 1 in the series Behind the Scenes at Talon.…