October: Inbox actions, Mongo-writes, table DX
October is over, and we all know what that means: goodbye autumn 🍁, hello winter ☃️! It also means that we have some exciting product updates to share 😄. As always, we hope you enjoy the newly added features and are looking forward to your feedback. Let’s dig in!
You can now support your workflows with our new inbox actions. If you use MongoDB, our integration now offers write actions as well. We also worked a lot on performance and a fresh design for the workspace.
- Inbox actions: Inbox notifications are now a dedicated action type and configurable without any code. You have full control over where to navigate the recipients on click, enabling you to create powerful workflows.
- MongoDB write operations: We already shipped the integration with read-operations. Now we added all necessary write-operations as well, offering a full-fletched MongoDB integration.
- Improved Table DX: The table is the most complex and most frequently used component. Our ambition is to give it the best developer experience possible. We have shipped several fundamental improvements that make working with tables truly enjoyable.
- Performance improvements: Especially when building large apps with lots of components or when dealing with very large data sets, performance might suffer. We delivered several performance improvements that will keep our product snappy, even for complex use cases.
- Fresh design: We gave our product a fresh look-and-feel, by applying a more balanced color palette and icon set. All components have been reviewed for visual consistency to make sure that “same things behave the same”.
Let’s break it down
The inbox is a fundamental piece of your Uify workspace. It keeps you in the loop with new comments, updates for existing conversations and process notifications from apps. There has already been a programmatic way to send general notifications to any workspace user, but with the latest release we took this a whole step further. Inbox notification actions are now a dedicated action type, which follows the same characteristics as other actions. They enable you to send dynamic notifications to anyone in the workspace, and to customize exactly where the recipients should be navigated when clicking on those notifications in their inbox. During development, a convenient preview allows you to see exactly what the notification will look like. This is only the starting point of our vision to establish our inbox as a powerful workflow hub across all apps!
Mongo write operations
After shipping a read-only integration last month, the MongoDB integration now allows to write data back into your target collections. We have shipped an extensive set of operations that should cover all potential use cases:
- Insert, Insert-one: Add new documents to a collection
- Update, Update-one: Update existing documents, with the full power the mongo-shell provides
- Delete, Delete-one: Remove documents from your collections based on a query
- Bulk: Perform a mix of updates in one go, based on bulkWrite
This concludes MongoDB as the 8th integration of the Uify platform 🚀.
Software is only fun when it reacts fast and snappy to user inputs. We want you to delight your teams with collaborative apps of exceptional quality. With that in mind, performance is a fundamental concern at the core of all our engineering efforts. With the latest releases we have shipped several improvements that address issues in large apps (several hundred components) or when dealing with large action results (100k+ records).
- Dragging and dropping components is now consistently fast, even with hundreds or even thousands of components in a single app.
- Tables in action previews used to be slow for large data sets. This has been fixed, and they perform well now even with hundreds of thousands of data records.
Improved Table DX
The table component is by far the most frequently used component in Uify. A tabular visualization of data is a central concept of many apps and we want to make this component as powerful as possible. With recent releases we have delivered several improvements in that direction:
- Using objects: Table records used to be an array of arrays, which is a very compact data structure but sometimes hard to deal with. It is now possible to alternatively pass an array of objects and having table columns inferred from the object keys. This is from now on the recommended way of filling a table with data and the previous mechanisms will be deprecated in the near future.
- Primary keys: You may now define which table column holds a unique identifier for each record. This enables us to make automatic consistency checks and to render the table more performantly. At the same time, it enables you to address table records by primary key using the new rowsById property.
- Type support: Our code editor now supports you with convenient IntelliSense features when dealing with table records via properties like data, rowsById or selectedRows. This also covers the currentRow variable inside of table column code 🚀.
Keeping our user interfaces beautiful and intuitive is a constant process. Sometimes this requires taking a step back and reviewing the fundamental building blocks of our UIs. In October we updated our color palette, icon sets and general component UX for a more pleasant and consistent experience. We hope you enjoy the fresh look-and-feel as much as we do 🎨!
On top of all that candy, there is more:
- Programmatic access to all workspace users: It is now possible to access the list of all active workspace users programmatically via the global users variable.
- Previewing multiple tables: For some integrations (e.g. Google Sheets, SQL) it is possible to pull multiple data sets with a single action. The action preview now allows to view these sets in different tables separately. Oh, they now look nicer too!
- Multi-component drag-duplication: You can easily duplicate a component by holding the alt-key (Windows) / option-key (Mac) while dragging a component. It is now possible to do this operation with multiple selected components at once.
- Type support for programmatic notifications: The inbox.sendNotifications function now has convenient type support and auto-suggests. There is no need to copy-paste app ids manually anymore, just chose them conveniently from a dropdown.
- Bug fixes & minor improvements: On top of all the features mentioned above, we applied a total of 37 additional bug fixes and improvements 🚀.
We are already working hard to deliver more awesome features in the coming weeks. Our product and engineering teams are focused on improving the workspace experience and making it even more collaborative.
Spoiler alert: Workspace-wide sessions, collaborative tables, sending emails - watch your inbox for some astonishing updates coming your way!
All the best,