Accessibility and keyboard navigation are incredibly important to us for two reasons:
We've been consistently updating the UI components within our app to be as accessible as possible. The latest change we've made is to our dropdown menu component, which now uses the latest accessibility standards, and adds full keyboard navigation.
We'll continue updating our components and plan to eventually open-source our component library for others to use.
Column names in databases can be confusing. They're named by engineers for use in code, not for people. We already humanize the names in the UI (and let you override the display name to something completely different), but now we're adding another level of customization: descriptions.
You can set attribute descriptions in the data source configuration menu. After that, we'll show you the description whenever you (or your teammates) hover over the column header in a table or view. We have plans to incorporate these descriptions into the list layout too, for users who prefer that layout type.
"Primary attributes" is a concept we introduced a few months ago. It lets you pick a column for each table to act as the identifier, which is shown across Basedash. We show the primary attribute as the value for foreign keys, as the title in list layout, and as the sticky column in table layout.
We used to always default the primary key of the table, but we now scan the column names for some good candidates, including "name" or "email" to use as the default. If we can't find anything good, we'll use the primary key as the fallback. You can always override the default primary attribute in your data source configuration.
This should make list layout a lot more usable by default without having to configure your data sources. Give it a try!
We've been working hard behind the scenes for the past month on large foundational improvements to Basedash's architecture. These improvements will allow us to build new features faster, onboard new teammates more efficiently, and significantly improve performance across the app.
This week, we made our first performance improvements based on these structural changes, started with the loading performance of tables. We use a hierarchical cache system to load the tables in your database nearly instantaneously, allowing you to navigate your database as fast possible. These changes apply to all instances where we render a list of tables from your database, including the sidebar, view creation, and data source configuration.
These performance improvements have proven to be a success, so we will continue to implement these changes to more areas of the app over the coming weeks.
We've also spent a significant amount of resources on improving stability of the app, through increased test coverage, and better QA processes. We're committed to building a tool that your team will be comfortable relying on for mission-critical workflows.
These improved processes helped us detect and fix a record number of bugs—see below for details.
This week we added the ability to duplicate SQL views in two clicks. From any SQL view, just click the dropdown menu in the header, then click "Duplicate view". This lets you easily create modifications of existing views without affecting the original.
If you're an active Basedash user, you may have experienced the dreaded "Oops, something went wrong" error. It happens when we run into an error somewhere along the way of loading data for a view (or raw table). This is usually caused by a logic error in our code that converts your view into a SQL query that we run on your database.
This bug can be incredibly annoying, so we spent this past week focused on solving it. The solution took form in a few different ways:
This is the first step to improving stability of the app. We plan to vastly expand our testing suite which will prevent new bugs from entering the app wherever possible.
See how removing barriers can change the way your team works.
No credit card required