Skip Main Navigation

Contributing to Adobe’s open source world with an Adobe Experience Platform SDK for Project Firefly

The Adobe Experience Platform provides an API first approach and while working on our real time  Experience Platform  application demo we used this API intensively. Over the six weeks it took to realize this project, Adobe’s latest technology Firefly also began to take shape. Adobe provided several NodeJS based SDKs to access Adobe Experience Cloud products such as Adobe Target or Adobe Analytics.

 

As we worked on creating our Experience Platform demo, we were advised by Adobe with filling in the gap between Platform and Firefly. So, we began building an SDK for Experience Platform, embedded within the world of Firefly.

What exactly is a SDK?

A SDK (software development kit) is a collection of software development tools which unifies repeated work. It makes the developer’s life easier by providing code completion and better debugging possibilities. It also makes development more efficient and allows less skilled developers to contribute to projects.

Building a SDK for Firefly

Although our Experience Platform demo project was nearing completion, we decided to take a chance and implement a SDK for Customer Profile API on Adobe Experience Platform. A few pull requests later it was already merged and we could update our own code. We removed all API usage and put all Adobe I/O actions on the Platform SDK.

 

We also decided to make use of some core libraries in the Firefly SDK: logging is now done via “@adobe/aio-sdk”. Besides logging the Firefly SDK provides even more developer's commodities such as error handling, key-value configuration or networking features.

 

Finally,  we also contributed to a “Customer Profile action generator”, with the aim of boosting the velocity at which custom Platform applications can be developed in Project Firefly in the future.

Conclusion

Adobe’s Firefly has great coverage of Adobe Experience Cloud Solutions in its SDKs so you can build any kind of custom Adobe Experience Cloud application solely based on its framework, like our Real-Time Airline Application. Using the same technology (NodeJS) and runtime (Adobe I/O) makes life easier for development teams, plus it’s a great basis for multi product orchestration projects.

 

So, what can we expect from the future? Instead of only one-to-one wrappers “API to SDK” we will see more practical and convenient business driven methods in the SDKs. For now, we look to continue contributing to Adobe's open source world, improving more SDKs from an Adobe Partner perspective with practical relevance.


Conrad Wöltge

CTO

Joining Netcentric with his team in 2015, Conrad’s philosophy is that good solutions are simple and robust. But he also has a liking for disruption and as CTO of Aperto, he introduced Scrum to enterprise projects. In 2006, Conrad founded his own consulting company dedicated to CQ/AEM. His work as principal architect - mostly for Day Software later Adobe - for international projects took advantage of his dedication to simplicity, consistency and cutting edge solutions. He has spent many years in the US and in Europe and is a regular speaker at technology conferences.

More User Experience

  • Building a Real-Time Airline Application Using Adobe Experience Platform, Adobe I/O Runtime and Project Firefly

    Conrad Wöltge

    CTO

    Joining Netcentric with his team in 2015, Conrad’s philosophy is that good solutions are simple and robust. But he also has a liking for disruption and as CTO of Aperto, he introduced Scrum to enterprise projects. In 2006, Conrad founded his own consulting company dedicated to CQ/AEM. His work as principal architect - mostly for Day Software later Adobe - for international projects took advantage of his dedication to simplicity, consistency and cutting edge solutions. He has spent many years in the US and in Europe and is a regular speaker at technology conferences.

Cookies policy

We use cookies to deliver a better experience. By using our website, you agree to use cookies in accordance with our privacy policy.

We use cookies to deliver a better experience. By using our website, you agree to use cookies in accordance with our privacy policy.