Last year, Adobe released a framework (not exactly a new product), called Project Firefly. I barely noticed it when it was announced. However, one of my customers requested me a very specific feature, for which Firefly was the perfect tool. Although it has been ages since I last did any serious development, it was a good opportunity to learn this new tool. This is an introduction to this tool and, in future posts, I will get into more details.
Have you ever thought “I wish this functionality was added to that tool”? Maybe you have even suggested it in the forums or asked your Adobe representative about it. I have definitely been in these conversations. As usual, the problem is that, if a feature is asked by only one person or does not align with the product’s roadmap, it will never be implemented. This is especially the case for the SaaS tools: Analytics, Target, Audience Manager and Campaign Standard. If your tool of choice is Campaign Classic or Experience Manager, you will probably get around the limitation by adding some code or a hack.
Well, if you have been in this situation, Project Firefly is the solution. In summary, it is a framework that allows you to build your application or feature, on top of the existing Adobe Creative Cloud and Adobe Experience Cloud (AEC) tools. I will give you some examples later.
It took me a while to understand what Project Firefly offered. I guess I was expecting something more complex or different. If I try to summarise the offering, it would be as follows:
Web application. You can now build your single-page application in React and let Adobe host it. It will then be part of the list of tools that you can use from the AEC interface. The idea is that this web application offers the UI to your users and interacts with one or more APIs to achieve its functionality.
Microservices. Also called headless applications. Using Apache OpenWhisk, you build any backend services that you need. Additionally, it offers storage capabilities, either in the form of files or key/value pair databases.