Introducing GoodData Labs

Jan Kopriva

Couple weeks ago with Release 99 APU (Administration of Projects and Users) team pushed brand new project named GD Labs. It took us about two sprints and we really enjoyed building it. For now, it runs in beta mode, it is not linked from the main GoodData client app, but you can find it in

https://secure.gooddata.com/labs/apps

In this blog post, I will tell you what was the motivation, what it does and what you can expect in future.

Motivation

Once upon a time there was a platform. It was pretty heavy thing with all the fancy UI with buttons and colors and it was powered with many features. However, there were also many users who were lacking the functionality, possibility to automate their everyday workflows and too few poor developers who could not satisfy all the needs. Of course, there was an API too. Everyone could do what the API provided for the platform. But it was too extensive and unfriendly and confusing and noone was actually using it to extend the platform. So, there was an idea born to make the API more friendly and easy to use by wrapping the functionality into the SDK which significantly reduced amount of boilerplate code and allowed to focus on actual business logic. In other words, the idea was to make a tool in such a way, people will love to work with. And that was the time GD Labs project was born.

GD Labs

GD Labs is a launchpad, a dashboard if you will, that presents all the applications, tools, automation workflows, etc. in one place. An application runs in its own sandbox, without an impact to each other and it uses only the public API to access the platform functionality. You can see a screenshot of the launchpad bellow:

GD Labs

Currently, GD Labs repository is open to all GoodData employees. The app can be a simple javascript/jQuery application or more advanced Ember.js application. It depends on the needs or use case of the user. We aim for easy usage, so user is provided with an development environment pretty similar to the conditions on the server the app will be deployed later on. So, from the first minute user can develop as if the app is already on the server, using the functions that take care of tokens management. The API wrapper is actually the GD Javascript SDK library, with some more GD Labs sugar functions. In summary, GD Labs brings whole developer ecosystem that includes:

  • SDK wrapper for easy application development
  • App template generators that simplifies project setup for simple apps and more advanced ember.js apps
  • Utilities that enable user to install their own libraries and tools
  • Server proxy for convenient local development testing
  • Automatic built tools that do code validation and minification

Future

In future, GD Labs will be be more integrated to the platform client application and for development. We are glad to see that people approach GD labs with enthusiasm, eager and hunger for writing new applications. We had multiple internal hackathons where people used GD Labs extensively including The All Data Hackathon few weeks ago. I do not have to tell you how glad APU team is to see such things! GD Labs are in its infancy now, but improving continuously. Please, feel free to contact the APU team for any requests for enhancements, found bugs, advices, suggestions or help. We wish you happy coding!


About The Author

Jan Kopriva Jan Kopriva works as Front End Developer at GoodData. His team is taking care of the Projects and Users Administration part of the GoodData Platform. Jan is passionate ukulele player and taiji practicant.

Email jan.kopriva@gooddata.com

Dev's Newsletter

Subscribe Now