July 2023 Updates
Published 07-14-2023
It’s been a while since I’ve made an updates post 😅, moving and preparing to have a baby will do that. Here are some highlights of things I’ve changed in the past 4 month that cover features, performance, and security.
Features
Public Notebooks, Improved Notes, and Enhanced Stats
Sharing & Publicizing
- You can now create share links. Users click the link, and will be added as read-only to your notebook
- Notebooks can be publicized, this allows any users to see them (even users who don’t have a Flotes account)
- The overall user experience and visuals for users has improved
Style & Structure
- You can now add info blocks (like the one you’re reading now)
- Badges to indicate: info, success, error, warning
- Typing
details
or badge
will prompt an auto complete to insert valid Markdown syntax
- These features won’t look the same in other Markdown applications, but are powered by universally valid Markdown
New Stats Screen
- Stats are now organized by progress and performance. Previously it was poorly labeled and combined
- Progress and Overview are two new panels to give users a feeling of progress.
- The total notebooks complete, total notes studied, and total time studied are cool new metrics to build a feeling of accomplishment
Loading, Editor, and General Improvements
Loading
- Loading notes has been moved to streaming from a server. This means notes start loading sooner without blocking navigation to the notebook.
Editor Performance
- Very specific situations would significantly slow down the editor when toggling the preview screen
- General improvements, the editor (and many other places in the app) have minimized the number of times code needs to run to handle updates, previewing, navigating, etc…
- There was an issue where loading a specific note was needlessly going out to the server. This has been fixed and will be a major performance improvement on slow connections.
While Flotes has made numerous performance improvements. There is still a lot of work to do to keep improving the application in this regard. These improvements will create a stable foundation to make those future changes.
Security
Sharing Notebooks & Locking Down Data
Sharing Data
- Flotes uses a significantly improved table structure & row level security to share notes.
- This new structure does not expose emails, even when sharing notebooks between multiple users or publicizing
- The application has been locked down by role. This prevents users from performing actions that don’t make sense to do.
Database Functions
- Flotes makes heavy use of Postgres functions to improve performance and isolate the amount of data returned from the database.
- These functions have been refined to be as strict as possible while still allowing users to accomplish appropriate actions