Knack Database Review

Knack is another relatively new entrant to the Online Database space - and takes a more traditional 'database like' approach to the subject compared to Podio and Airtable reviewed previously. Like the other products, though, Knack doesn't require any coding - although there is the option to add some code if required. Their strap-line is:

Screen Shot 2016-12-05 at 16.37.14

In this review we will aim to see how well Knack does in this.


The Knack Builder

The 'Builder' is at the core of Knack - it is here that you create your databases, configure their user interface (forms, calendars, charts etc). The image below is of the Builder's homepage which lists all of your apps:

Screen Shot 2016-12-05 at 16.35.13


As with my other reviews, I am going to use the example of a simple HR app as the basis of the review - called KasPer Lite in my list of Apps above.


Building the Database


This is where you start with Knack - building the tables (or Objects in Knack's terminology). There are a wide range of field types available including special business types such as address and telephone, calculated fields (including summaries of child records), file and picture fields. Here is a screenshot showing some of the fields in the Employee object:


Screen Shot 2016-12-14 at 16.44.59

You can also see that objects can be connected to each other (most databases refer to this as 'relationships' hence the term 'relational database'). In this case, the employee links to the Job and Leave Years objects - and the Leaves object connect in to the Employee object as well. This is how Knack represents one to many records - for example, an Employee can have many Leaves.


User Roles


The screen shot above also shows the User Roles objects in Knack - which provides a comprehensive set of user management tools. At it's simplest this enables you to set the database so that users have to log in to use it - and you can take this much further and control access to different parts of the app. The good news is that features which users have no access to can even be hidden from the user interface for them.


Building your User Interface


Once you have some or all of your objects defined, you can start to put together your user interface using pages, menus and different types of screen including tables, display and edit pages, maps, calendars, charts and graphs etc. The range of options is quite comprehensive and very easy to configure:

Screen Shot 2016-12-14 at 16.59.47

This is the configuration page for a calendar screen in the app which display's employees absences - including setting different colours for different Types of absence - and here is the resulting screen:

Screen Shot 2016-12-14 at 17.02.52

Configuring tables, input and edit screens is no more difficult - and in many cases Knack offers to create a typical table / edit and view screens for you. As an example, here is the design view for an employee edit page:

Screen Shot 2016-12-14 at 17.11.13

Notice that you can create groups of fields (in this case the top group is set up as 3 column and the lower is two column).

Having designed the look of your screens, there are also a range of options for setting validation rules, automatic emails and other options such as a success message, etc.

The email options are also extensive - here is the screen where they can be configured:

Screen Shot 2016-12-14 at 17.16.49

Notice that you are able to define multiple conditions under which an email will be send, as well as dynamic selection of the recipients and flexible controls of content including any fields within the page.


Navigation Controls


Knack generally builds a high level app menu for you automatically - but you can put your own menus within any of your pages - so in the design of the main employee page we have:

Screen Shot 2016-12-14 at 17.24.56

Rather than explaining this in words, this is what is produced in the app for the users:

Screen Shot 2016-12-14 at 17.27.18

So, building a professional looking app is quite quick, very flexible and fun!


Reporting and Graphs


It is very simple in Knack to create new dash boards with multiple pivot tables, pie, line and bar charts - here is an example:

Screen Shot 2016-12-14 at 17.32.15

And here is a screenshot of the definition of the pie chart:

Screen Shot 2016-12-14 at 17.33.11

It really is that simple most of the time - although you may need to create some calculated and summary fields in your objects from which graphs would be created.


Automation and Integration


As we have seen, Knack is capable of quite a wide range of workflow straight 'out of the box'. If your app requires business logic that goes beyond this then there are options available to you to build Javascript which can perform a wide range of tasks using the Knack API - for example, the following snippet of code hides the repeat option on a date field on view number 67 (all the pages have a number assigned):

$(document).on('knack-view-render.view_67', function(event, page) {
$("label:contains('Repeat')").hide();
});

If you aren't a Javascript coder then this is a big step up from everything else in Knack and I would like to see this gap closed with more features to control apps without needing any code.

If coding is not your thing (and I must admit it isn't really mine) then you can also use Zapier to integrate your app with literally hundreds of other web applications and services (for example, mailchimp, twillio, basecamp).


Deployment and Pricing


Once you have completed your app, your users are able to run it either directly - or it can be embedded in a website / intranet.

One issue with Knack is the inability to have separate development, test and live environments for an app - once your app is live you will need to make changes to the live system - although you could copy it and try out changes on a copy you would have to re-do these in the live system. For me this is quite a big issue - but it seems quite common in this market at the moment.


Pricing


Knack is priced based upon the features you want and the size of your databases - not the number of users. This can make it very good value if you have several user (but less so for small businesses perhaps):

Screen Shot 2016-12-14 at 17.49.23


Summary

Overall my experience with Knack has been very positive - with my only concerns being the lack of version control discussed above and the big gap between the ease of building apps with Knack - and the relative complexity of Javascript when your needs aren't met within the native app.

Knack is very different again (from Podio and Airtable) - it's strength is the relative ease with which you can build well secured and structured apps catering for different types of users. As usual with software, it's a matter of finding the right tool for the job - and Knack definitely has it's place and can be recommended.

Find out more about Knack here.

blog comments powered by Disqus