Custom Objects (Key Value store) backend API, admin panel and SDK released

Posted on by Nate Macleitch

Custom Objects is a QuickBlox module which allows developers to create their own data structure (classes and objects) and automatically get an API to store and manage the data using the structure they have created.
In three words, it’s a key – value store.

How to use Custom Objects

Simply log in to your QuickBlox admin panel as usual, create an app or hit Custom Objects icon next to an existing app:
When inside you can create Classes and Objects. Create as many as you like. So imagine you’re building a chat / dating app and need some data structure where your users can store notes about other users. You may create a new class and add fields of integer, string, boolean and float types:
Bang – you have created a new database table! It is now available through admin panel and as soon as your app adds data, you’ll be able to view, sort and edit. Your class is now available through API for your app to use. Simple as that.

History behind our own Key Value store solution 

Custom Objects is an important achievement for us as it allows developers to use QuickBlox as a backend for any mobile or web app, as a universal data storage to store any parameters or bits of data. QuickBlox has very powerful APIs for Location, Chat, Push Notifications, Content, Users which are very extensive and cover most scenarios but there is always a small percentage of projects which need some custom backend structure and developers had to use other APIs or host their own server for such custom data. Now it is resolved.
This universal parameters storage functionality is similar to what Parse and Stackmob had since the very beginning – their strength has been in universal key-value store model while QuickBlox historically has been powerful in specific APIs – be it Ratings for storing online high scores or Location for storing lat/long coordinates, you will find the APIs are very advanced allowing, for example, Ratings allows you to sort your leaderboard not only by score value but also by custom parameters, highlight your own score, add country flags, fetch nearest X neighbour records above yours and Y below yours etc and for Location it’s not only check-ins or coordinates for users and POIs but you may also access the history of locations, add profile data, add photo of the location and even chat via GeoData – there are code samples and apps built by QuickBlox users where end users communicate via Google Map integrated chat (Map Chat) another great example being Augmented Reality Chat – actually built using our Location API – without even using the Chat API!
So historically QuickBlox has more advanced specialised APIs as in Ratings and Location examples given below – that is because we have organically grown from app development consultancy ourselves and all the APIs, SDKs and code samples haven’t been built for ideal spherical developer hanging in vacuum so to say – they have been built, modified and polished to be used in hundreds of real world apps – which has allowed us to cover most possible use cases. And you know what – we are still doing app development keeping our consultancy part of business to: 1) fund the development of the platform (yes we are self-funded so far); 2) make sure we get feedback from end clients and know what features are top priority in current app development market.
Therefore, having advanced APIs catering for all possible needs plus a system of Tags and custom parameters in every Blox has been delaying the release of our own universal key value store mechanism as we weren’t sure if our customers really need it. By now, we have learned that there is always a tiny percentage of projects where you do need your own data structure and so we’re releasing the Custom Objects Blox which includes: API, admin panel and SDK. For iOS and Android developers, Custom Objects is integrated into SDKs and QuickBlox team is finishing updating the simple samples to include new SDK. If you’re a Web, BlackBerry or Windows Phone developer you may access Custom Objects directly via API for now and we’re obviously looking to update the SDKs and code samples for your platforms as soon as time permits. If you create your own SDK / app using Custom Objects, please feel free to share / create GIT fork so that other developers may benefit from it and we could look into adding it to our official SDKs and sample codes. Check out our Developers section for latest documentation and downloads available for your platform.
Good luck with using Custom Objects API and as usual – your feedback is essential.