Great news! We’ve just enabled this feature for everyone. Check out Mikayla’s post below for more info.
Allow views to auto-sort
Dynamically Sort When View Loads, Based On "Sort" Settings
Auto-sorting update from the Airtable team:
We’d like to announce a small feature that you may find useful for keeping views sorted. You can now Apply Sorts from our web and desktop apps using the keyboard: Ctrl-Shift-S (Cmd-Shift-S on Mac) to open the sort dialog, followed by Enter to apply sorts.
And don’t worry, we hear you on how useful full persistent sorting would be. We’re exploring the possibility of supporting in in the future. If so, it may take some time as we’d like for it to be intuitive and consistent across all Airtable apps and view types. We hope that the above keyboard shortcut is helpful in the meantime.
Allow views to auto-sort
After creating a view that contained a default sort, I expected that sort order to be maintained automatically. I understand that in some cases it’s nice to be able to flexibly change the order, but I’d like to be able to set a view to always sort in a particular order by default.
I have a table that contains expiration dates. I have a view that sorts by expiration date. If I add a new record to the table, the new record is added to the bottom of the table, but that means it’s also added to the bottom of the expiration date view, so every time I open that view I have to manually re-apply the sort order.
That’s a good idea! “Live sorting”, similar to the way we already have “live filtering” today, is on our medium-term roadmap. Thank you for the feedback.
Count me in as another vote for this functionality.
I recall how happy I was when FileMaker Pro added this option (“Keep Records Sorted”) a few versions back. I was about to report this as a bug but Airtable’s excellent forum software brought this feature-request thread to my attention.
Anyway, +1 to the OP’s request.
As a minimum it would be useful if the sort occurred when you re-open the base then the view. This does not happen in iOS not sure about web.
Thanks for the request on how you’d like re-sorting to behave (we love very specific feedback!). As it stands there are a number of nontrivial design considerations when it comes to implementing live sorting (one example: how would it interplay with our collaboration features?) Nevertheless, this is still on our roadmap.
I’m not following why live sorting is such a complex concept - what airtable’s current implementation of sorting seems to be missing is that for most users, sorting is going to matter in the display of records, not in the storage of them.
Consider how filters work - if I add a record while on a view and the record should be filtered from the view, as soon as I add the record it disappears. Similarly, if I add a record elsewhere, as soon as I go to my view, the items in the filter are correct. Sorting should be exactly the same - there are lots of use cases where (again, because views are about displaying records) maintaining a standard sort order matters; on the other hand, I can’t think of a single use case where the current behavior (maintaining an arbitrary sort order) makes sense. Maybe one - where there isn’t a logical sort order based on the contents of the rows and instead a user wants to move rows up and down manually. In that case, it would be very easy to simply maintain the “last order of rows” only when a specific sort order isn’t specified (or even to “toggle sort order off” in a view if the user manually moves rows around).
It’s especially silly that filters and sorting don’t work the same way because they’re right next to each other in the UI.
Thanks for the feedback! As Emmett and Kat have mentioned, it’s on our roadmap, and we certainly appreciate the value of this feature.
There’s some technical differences in how difficult it is to perform live sorts vs live filters (for instance, because sorting is a more heavyweight operation than filtering, which can be calculated for each row independently, whereas sorts are by definition relative to all other rows in the table). This is exacerbated in situations where, for instance, multiple people may be modifying large numbers of rows at once (by copying and pasting values into a cell range that affects a sort, or just rapidly modifying many rows in quick succession in a very large table, etc).
Beyond the technicalities, there are also usability/interface questions involved. We’ve encountered many use cases where someone does want to apply a one-time sort and then manually order or insert rows in an arbitrary position. Some other examples of issues to consider:
- If you’re editing a record and you change its values in such a way that its sorted position would change in the view, we need a way to indicate to the user that the row’s sort position has changed, both while editing as well as afterwards.
- If collaborators are changing record values, there is a chance that this will cause rows to fly around to their new positions, resulting in a potentially jarring experience.
- It could be confusing to prevent users from manually reordering rows while the “live sort” mode is turned on, and it seems somewhat heavyweight (and potentially difficult to discover for novice users) to have to toggle that mode off before being able to drag rows around. Alternatively, if we allow you to drag rows immediately, but implicitly disable “live sorting” as a result, this could also be an issue (as users inadvertently cause live sorting to become disabled).
Again, it’s a valid feature request, but as with every feature, we want to thoroughly consider its design before implementation to ensure that our product remains intuitive and friendly for all.
I work at a car dealership and I’m creating views of cars in stock, that are added to via forms, and predominantly accessed by people with read-only access. They often print out our stock lists (which are sorted by make and then model of a car), but as it stands there’s no way I can make it so that the cars stay sorted automatically.
Please see the attached mockup screenshot as a potential way to implement persistent sorting - would love for you to consider this.
Plus one for this. I’ve been meaning to put this request in for persistent sorting. I would go one step further to say that the checkbox isn’t actually necessary. The application should persist sorting if sorting filters are present. If sorting isn’t necessary, then the user can always remove a sorting filter from the view.
I thought I’d bump this thread to see if there’s any movement on persistent / live sorting. My use case is that I have an external view of a “deliverables” table that’s embedded on a webpage that is a subset of the table which is filtered on a column called “job number” a particular client. This embedded client view has a sort applied to it based on date created, so that new items show up at the top of the table.
The problem I have is that when new deliverables are added to the table, even though the view on the non-embedded side shows me that there is a sort applied to the view, it must be re-applied manually even if the page or view has been loaded fresh. This isn’t great. If I’ve loaded the view, and there is a sorting filter present, it would stand to reason that the current view has already been sorted by this criteria when in fact, the sort must be re-applied to the view in order to affect the embedded view. I would expect that if I’ve set up an external view with a filter and sort criteria, that the external view would apply the sort on page load.
I have a similar situation with a list of cars in stock that are organised by make and model by default. Cars are added through a form so the actual grid view is rarely interacted with by someone with edit permissions, so I’m having to manually update the sort a few times a day. Not ideal. Hope it’s coming soon!
Totally agree to autosorting. This is also very important. Should have a choice of autosorting or manual sorting.
+1. appreciate its on the dev road map, but can’t come quick enough for me! Even if “live-sorting” is some way off, a button to “re-apply sorts in all views” would be an interim solution rather than having to open each view individually to re-apply the sort.
With the advent of Grouped Records, you could sort of have live sorting now. If you’d consider putting it in at the ‘Grid’ view level that would be awesome.
Or simply when refreshing / opening the view. Live sorting is not really what I’m after.
FWIW, I don’t think I would appreciate my records flying all over the place when someone else is working on the same table.
Ok a compromise, if only one user, then sort as the view is opened. Then on
the the other hand if someone has a sort attached to a view why not? It is
sorted anyway, and the auto sort just adds a few more records at the top.
Why would one night to see those?