Recent Updates

Knack Builder Usability

Consistent UI in the builder

In a new app, when switching between objects, fields, records, tasks, the UI was inconsistent. There is now a cohesive experience when changing between contexts initiated by the left menu bar.

Modern Live App setting

New apps now have the Modern setting enabled by default - no need to remember to switch from the Legacy view any longer.

View Names

All view names can be edited now, without requiring reaching out to Support for assistance.

Hidden Views

Some views in the Builder preview show no signs of existence, for example, Rich Text views that may have been a placeholder to come back to.

To help customers locate these views and reduce confusion if they’ve intentionally (or unintentionally) added a view and forgotten it existed, we have included a badge element in the top bar similar to how we display the number of tasks that exist on an object, e.g. “Views (2)”.

Warning and Error Messages

We’ve been updating user-facing messages to ensure they are clear with the message they are conveying and ensuring their placement is appropriate for where they are displayed.

Example: I watched countless users get extremely frustrated with the wording on the left. A few wording updates have eliminated the ‘rage clicks’ for this particular message.


Old message on left, new message on right

Details Layout

Previously, when looking for Layout options for a Details view, they were not actually under the Settings option, where it says they are - it was very annoying and confusing.

We moved the Layout setting out of the “Add Details” section, and into the “Design Settings” section, and with a more descriptive name: Details Layout.

Also, the Label Format is now inside the Details Layout accordion, and Title & Description is now at the bottom. This was done to maintain consistency with other similar views.

Other views:

The following views all have a separate section for editing/customizing the “details” item portion of the view.

  • List view:

The Layout accordion is now Details Layout, and the Label Format was moved from the “List Settings” section into the “Add List Details” section inside the Details Layout accordion.

  • Search view (when set to “Display results in a list”):

Minimal change. The Layout accordion inside the “Build Search Results” section is now Results Layout, since each search result is considered a “details” item.

  • Map view:

The Layout accordion inside the “Add Map Details” section is now Details Layout, since each location in the map is considered a “details” item

  • Calendar view:

Inside the “Build Event Details” section, the Layout accordion is now Details Layout and also includes Label Format, which was floating outside of it on its own. Also, the Title & Description accordion is now called Details Title & Description, since this is specific to the calendar event details.

Date/Time

All filters and rules that are based on date and/or time fields have consistent and expected behavior and results.

Multiple Choice Change Warnings

When a multiple choice field has a change in text, for example, changing “Customer Succes” to “Customer Success”, any fields, rules, or filters will still be looking for the original “Customer Succes”. The user now is aware of this, when previously, there was no prompt to check other areas.

Example:

Field Setting Changes

Previously, changing certain field types to a new field type would cause the complete deletion of all data. Although there was a warning, customers would not always read it and hit save, then have to work with Support to restore as much as possible.

We’ve made the save button inactive until the customer explicitly gives consent that they understand the effects of this type of change.

Example:

Wording update for Payments

Almost every new user we observed was wary of and unclear if “Payments” in the builder referred to their Knack billing or something else. We updated the wording from “Enable Payments” to “Enable Customer Payments” so it’s clear that enabling this allows them to accept payments, like Stripe or PayPal, from customers.

Reordering tasks and embed codes

Previously, tasks and embed codes were ordered based on when they were created, and not on anything else, and it was not possible to reorder them. When there are many embed codes and tasks, especially those that are dependent on each other, reordering (by dragging and dropping) allows users to make sure they can just understand their structures at a glance.

Searching resets

After searching for more than one keyword, the search would completely reset back to an empty state, causing twice the amount of input required from users. Now, the search field and records reflect the results as expected.

Table headers not sticking

Table headers in Live App views now have a true sticky header behavior when the table scrolls.

New No Code Options

Embed Code Options

We’ve added options to include font options and different options for displaying headers, header backgrounds, and header menus.

Some Knack customers host their own websites instead of using a knack-hosted domain. Generating embed code from the application builder allows them to paste an auto-generated HTML snippet onto their website’s source code, so they can use the full power of the Knack database. We’re offering more flexibility around styling and formatting options for their header and page menus, to easily customize the look and feel of sites by using options in Knack, instead of needing to use custom CSS.

Performance & Reliability Optimizations

We’ve highlighted that over the past 6 weeks since implementing a more holistic application monitoring system, we have seen a 27% reduction in response times leading to performance improvements across the platform. One specific optimization we’ve made thus far that is contributing to this uptick in performance are specific to recent reporting changes.

Details:
Previously, if you ran a report that returned an aggregate field (Count, Sum, Average, Min, Max), such as “give me the sum of all orders per location”, we had to select all child records then run the calculation in memory. In more technical terms, we were limited to this process:

  1. select all distinct locations
  2. for each location:
    a. select all records for that location
    b. do a (potentially blocking) loop through those records, adding up the order totals in memory

Two weeks ago, we implemented new logic that just runs a single query:
SELECT location, SUM (amount)
FROM table
GROUP BY location

To imagine this on a larger scale, if you had a pivot table report, grouping by 2 different fields, and each one of them had 20 different possible values, the former logic limited us to making 20x20=400 separate queries. Today, the logic is performing this all in one single query.

We have a list of similar optimizations that we’ve been releasing as fast as we can that are helping the performance incrementally improve while planning out larger, hugely impactful changes.

For Reliability, one optimization we’ve made is splitting API calls into various pools depending on the request type. What this means is that an error in one part of the app is significantly less likely to impact requests, or work being done in other parts of the app. This allows us to quickly adapt and adjust CPU/Memory based on unique needs of various parts of the app.

In a fairly short time period, the Knack team has improved performance and reliability in our application as well as gained a deeper understanding of specific areas for targeted work, and this will remain our highest priority.

Cheers!
Kara

13 Likes

Great to see such positive feedback and updates.
I’m pleased to say that I’m experiencing the performance improvements you mentioned across all my client apps.
I’ve also seen a dramatic reduction in network errors over the past couple of weeks.

I’m really pleased that the searching reset issue has been fixed, this used to drive me crazy :stuck_out_tongue_closed_eyes:

Thank you for taking the time to share. :+1:

5 Likes

Awesome! Thanks for the update.

3 Likes

I’ve definitely seen a performance improvement as well. Much less time for pages to load views. Great job! Please keep the performance improvements coming!! Really appreciate the communication as well!

2 Likes

Performance has been much improved, and we appreciate it. I am back to contemplating an upgrade to add more apps to my platform so I can offer up custom solutions to client systems. I believe this level of attention and feature enhancements will pay dividends in expanded business opportunities for Knack and us!

3 Likes

Wow! That is a great analytical way to work. On the good track.

Thank you Knack Team!

2 Likes