While linkalist is designed to provide a good experience on the mobile web, there comes a point where your customers are going to want the convenience of a native client application. As a key principle at linkalist is to allow you to grow with your customers, we have started work on an android SDK to enable rapid development of native apps built on data hosted with linkalist.
Why Bother with a Native App?
Over the last couple of years the gold rush of mobile phone apps has somewhat passed and the pendulum has swung back towards the mobile web. For many people a mobile app need not necessarily be the primary focus but a native app still has a place.
While we think that linkalist provides a wonderful user experience on mobile and desktop, we aren’t vain enough to think that we can build the ultimate application that can do everything. There are many reasons that you should go beyond a web experience and provide a proper client application.
- Your business logic goes beyond something that can be provided with the calculations and references available in linkalist.
- Customers are less reluctant to pay for access to a native app than they are to pay for access to a web application.
- You can ultimately provide the exact user experience you like on your own native app. While we believe that linkalist can come close, when it comes to things like offline access, GPS locations, etc., it is difficult to exactly reproduce the experience of a native app in a web application.
API or SDK
Every linkalist web application comes with an API that is generated based on your application’s data structures. The documentation for this is accessible to your administrators in your “Build” under “API Information”. While you can build a mobile application on your API directly, this can prove tedious as the API is purely about delivering raw data to devices and does nothing to organise that data into something resembling an application.
So, we’ve built a linkalist SDK that allows you to connect an Android app to your API and save you the boring work of building queries, setting up adapters, managing logins and all of that other tedious stuff — freeing you to get on with designing and building the parts of your application that need the most of your attention.
We also provide a facility to leave parts of your application as a web application and connect these seamlessly into your native code — allowing your to rapidly prototype new functionality or to avoid wasting time on rarely used features.
Creating the SDK
Like most things, the hardest part of creating the SDK was getting started. The most fundamental question to be answered was what would the SDK be for? Since linkalist is all about lists and their management, that is where we started.
We took an early decision to use our “Dive List” sample application as the starting point as it contains a reasonable cross-section of the most used functionality. Once that decision was made, it was a matter of building the app in a way provides the easiest way possible for a developer to get started with the linkalist SDK.
The aim of process at the beginning was to implement as little of the application as possible and hence implement the vast majority of the application in the SDK. This has resulted in the basic boilerplate of a Create, Read, Update, Delete [CRUD] app being achievable in just a few lines of code.
What Next
Our next steps are to get busy with creating a couple of apps that use the SDK. We have a few ideas bouncing round but ultimately we want to get a developer using it so that we can get this system working as it is intended to do. We’ll also be starting work on our iOS SDK which we will prioritise if it turns out developers are more interested in iOS.