July 2023 Updates

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

Performance

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
Fri Jul 14 2023