The Knack team on web applications, online databases, and beautifully designed products.
A new version of our Knack builder has been live for a few weeks now and we couldn’t be more excited!
We’ve learned a ton during the 2 years since our last release, and we’ve applied that learning to further optimize and simplify the process of building data-driven web applications.
We put together a new intro video to walk through it (we also dramatically improved our video skills).
Now that the dust has settled we wanted to provide some insight into the goals of this new builder and what changes those led to.Continue reading...
Knack is loaded with features right out of the box that make it simple to build powerful online database apps. What can be easy to forget is how much more power you can add by integrating other services with your Knack database.
Our API makes it easy for developers to add integrations, and Zapier is great for creating simple connections and triggers between these services.
In our first guest blog post, Alex Mohseni explains how he used Knack and Zapier to build a TripIt like clone to help manage education credits.
Alex is a practicing Emergency Medicine physician around Washington, DC. He integrated Knack with services like DropBox and Mandrill to combine their functionality into a single powerful service that gave him the exact features he needed.
Part of what makes Knack so powerful is that it integrates easily with Zapier — but how to do that can be a bit tricky, so Alex decided to include some of his “lessons learned” with a fantastic tutorial.
Take it away, Alex!Continue reading...
When we started Knack, our traffic was small enough that we just needed one tiny server. As we grew we started to add a few cloud servers here and there. And this worked fine for a while — we could just add more servers whenever we needed.
These last few years have seen considerably more growth, and that model started to show some cracks. We were leveraging the cloud but certainly not optimizing for it. Users from other areas were seeing delays and we weren’t able to keep data isolated to a specific region.
We were on training wheels and needed to upgrade to a ten speed.Continue reading...
We just gave our text combo field so many new super-powers we had to rename it.
Introducing the new Text Formula: it’s a magical combination of our old Text Combo field and the recent equation updates.
You can combine any text values like before but now you can also include a great library of text-based functions.
I recently returned to a backyard full of snow after having spent a great week in Puerto Rico at the first official Knack corporate retreat.
Along with getting to know our team and work together in person, it was also an apt time to reflect back on how we got there.
It wasn't that long ago where working together with a team of 9 in a beautiful setting would have seemed a bit like a fantasy. Not every startup explodes on the scene in a matter of months.
We've taken the “long way”, which made the retreat that much more gratifying.Continue reading...
Your database is only as good as the data it contains.
In most cases this is obvious. If you are calculating order totals, you’l need each order to have a number that can be added together. If you are running monthly reports you’ll need some valid dates to group by month.
Other cases are more subtle. You may want to only accept dates that are in the future, or define allowable ranges for a number.
Data that breaks these types of rules may not crash your database, but getting those values right can be just as critical to ensuring your data is meaningful and correct.
Knack has always helped by ensuring field types and providing options for values to be required or unique.
We recently added a feature that dramatically expands Knack’s validation capabilities: validation rules.Continue reading...
When we first launched our equation editor we were pretty excited: the ability to use field values in mathematical (and date-driven) equations opened up exciting functionality.
We considered adding more advanced equations like rounding or exponents, but decided to keep it easy with basic arithmetic. We figured our users would appreciate the simplicity and how well it worked.
Boy were we wrong.
We immediately started seeing demands for all sorts of functions (is a hyperbolic tangent function really needed? yes, yes it is).
Many of these opened up major features like mortgage amortization and equipment depreciation. It quickly became a no-brainer decision: we had to completely redesign our equation editor.
We recently released this upgraded equation editor, complete with a whole new library of functions:
A major change is simply how it works. Instead of a largely point and click approach we’ve opted for a typing-based approach:
- As you type a dropdown menu of fields and functions becomes available to autocomplete.
- Each field or function in the menu provides some additional contextual info about how to use it.
- As you construct your equation you’ll get instant feedback on how it works and whether it’s valid above the editor.
We included a whole slew of mathematical functions that are now available to integrate with your equations.
Some highlights include:
- ceil – Round a value up to the nearest integer. Example: ceil(4.2) = 5
- factorial – Compute the factorial of a number. Example: factorial(5) = 120
- max – Get the maximum of a list of values. Example: max(1,6,9) = 9
- mean – Compute the mean of a list of values. Example: mean(1,6,8) = 5
- median – Compute the median of a list of values. Example: median(8,9,1) = 8
- min – Get the minimum of a list of values. Example: min(42, 100, 3) = 3
- pow – Calculate the base to the exponent power. Example: pow(7,2) = 49
- randomInt – Get a random integer between two values. Example: random(1,42) = 36
- std – Compute the standard deviation of a list of values. Example: std(1,5,42,78) = 36.07861785970558
- sqrt – Calculate the square root of a number. Example: sqrt(81) = 9
You could always use conditional rules to include logic with field values an equation uses, or to choose from multiple equations.
You can now include logic right in the equation to create conditional equations.
It’s called a ternary operator and works like this: (condition ? equation_1 : equation_2)
This means if your condition is true, Knack will use the equation followed by the ? symbol. If your condition is false, Knack will use the second equation followed by the : symbol.
Searches and filters are critical components to any online database application.
They’re what help you find the needles in the haystack of your data and turn it into something actionable. If you can’t find it, you can’t learn anything from it.
We’re making a big effort in improving our search and filters, starting with some recent upgrades to our search view.
This includes new features that enable more flexible search layouts:
- Display filters into up to 3 columns
- Control label placement
- Group filters together and add titles and instructions
This also includes a big search improvement for how multiple choice and connection fields work:
- Allow a single option or many options to be selected.
- Display as dropdowns or checkboxes and radio buttons.
- Determine to show results for ANY match or ALL matches.
This provides a lot of flexibility for creating AND/OR type searches with multiple options.
For example, this is perfect for searches that are common in real estate apps, where you may want to find properties with any match from the list of house types but match all of the selected features.
Stay tuned for more updates on and/or searches and more improved filters.Continue reading...