The Developer Console: To Infinity and Beyond

Ewa Hendrychowska in Business, News, Product, on August 21, 2017, Comments

The LiveChat Developer Console is a major step towards creating a full-fledged community to build and share LiveChat apps, extensions and integrations.

The life of an application starts from the first installation.

The idea of the Developer Console is to provide easy access to all tools and resources for developers as well as to create a space for them to exchange knowledge and inspiration.

The idea

Back in the days, setting up a LiveChat app (like an Agent App Extension) required some fiddling. The concept of the Developer Console emerged when we wanted to simplify the process and add the option to easily publish and share the applications. Now, for example, Agent App Extensions are created an added by the Console itself and you can manage them from there.

The (not so) humble beginnings

Creating a complex environment like the Developer Console is never easy. Like with any application or service with a plethora of dependencies, modules and function, if it’s not well-thought and organised from the very beginning, a failure at some point is unavoidable. As Andrzej described in his blog post here, we used the Event Storming technique when planning the whole ecosystem to predict all possible interactions and pinpoint the potential conflicts and dead ends. We are proud to say that we have managed to create a very coherent plan of a complicated system and we still follow it step by step.

Don’t ask what the Console can do for you… (we will tell you anyway)

The Console provides a whole set of handy functions to make your app useful and pretty, outside and inside.

Display Settings

Here you can name your app, upload an icon, provide a description and a link to the manual.

Developer Console - Display Settings

Features

This is where the magic happens. In the Features screen you provide the actual URL of your plugin, set up the authorization (via OAuth 2.0)…

Developer Console - Features

…and define your app’s access scope, that is indicate which permissions you want to grant it.

Developer Console - Features

Distribution

When your app is ready and you feel it’s time to show it to the world, this screen is the place to choose one of the two distribution types: public or private.

Developer Console - Distribution

Making an app public requires submitting it to our review. When the app is accepted, it will be available for all LiveChat users to install and enjoy.

…ask what you can do for the Console!

A place to build and share LiveChat apps is just a part of what we want the Console to be. Apart from these, we want to make it a meeting point for the developers to provide and gather feedback, for the users to review and rate the apps and for everyone to share their knowledge and experience by contributing to our blog and documentation.

The technical bits

If you are curious what we used to bring you these shinies, here you go:

The backend uses Go (golang). The fronted runs on React and Redux and communicates with the backend via REST API.

Moreover, for building the backend we used the CQRS, event storming and test-driven development techniques — great tools to make an app logically structured, scalable and reliable.

The future

Launching the Console is the first step of a long journey towards making it of what we imagine it to be. Our future plans include adding a system of rating and reviewing the applications, monitoring them to guarantee their stability and introducing a way for developers to monetise their apps.

Stay with us, create and share!