What's new
See the changelog for daily updates

Open sourcing two libraries

Aug 26, 2022

Like most other apps, Legend relies on many open source tools and we felt that it was long overdue for us to give back to the open source community. So we have released our second open source project, and we are super proud of it! This took a lot of our attention this month, so in this update we'll tell you a bit about these projects.

We won't go into too many technical details so even if you're not a developer it should be interesting.

Legend-State

While upgrading and optimizing Legend's state system to use it as the basis of the new backend, we found that it had become really delightful to use and is faster than other popular React state libraries.

And beyond being really fast, it's super nice to use.

// Create an observable object
const state = observable({ settings: { theme: 'dark' } })

// Observables work like any other object
state.settings.theme === 'dark' // true

// observe re-runs when any observables change
observe(() => {
    console.log(state.settings.theme)
})

// Components automatically track observables and re-render when state changes
// No HOC or selector needed
function Component {
    return <div>Theme: {state.settings.theme}</div>
}

So we decided to open source it so other developers can use it. We're using it for the new backend first, and then we will migrate all of Legend over to this new state system, so you will also see Legend get faster 🔥.

Check out the documentation for more.


Legend-Motion

Legend-Motion is a declarative animations library for React Native, to make it easy to transition between styles without needing to manage animations. It has an API similar to Framer Motion for ease of use and mixing with web animations.

This is a live example:

<Motion.View
    initial={{ y: -50 }}
    animate={{ x: value * 100, y: 0 }}
    transition={{ type: "spring" }}
/>
value:
0

Check out the documentation for more.


Polish!

Jun 13, 2022

For this past month we've taken a break from big new features and have been focusing on polishing and improving existing features. So we have some upgrades in a few areas:

Popup Panes

Popup panes are a nice way to work on something temporary withing modifying a board. In addition to fixing some bugs and streamlining them, we also added lots more ways to open them.

You can right click an item to open a popup pane zoomed into it, click the kebab menu at the top right of a pane to clone it as a popup pane, and use the command palette or hotkey to clone the current pane to a popup.

One new feature we love is the popup pane gets out of the way to let you drag an item onto your board, which makes it super easy to open a search result in a popup and drag it to the right place.

Drag and Drop

In addition to fixing some minor bugs, dragging now shows only one line and lives below the cursor to stay out of your way while finding a target. And it has a cool blurred background :)

And a highly requested upgrade! Dropping an item now retains its collapsed state.

Focus Mode

Focus mode is great for when you have a ton of panes on a board. Press + + Z to make your current pane large and centered, and hide everything else.

Miscellaneous

This update has tons of small fixes and improvements. Check out the what's new page for all the details.


Inferred Hierarchy

May 7, 2022

Legend has always been rooted in outlining, but we wanted to bring you the power of an outliner even in normal documents. So today we have an experimental new feature that gives you all the power of an outliner without needing to indent.

You can now use Heading size to create a hierarchy. So items below an H1 will be considered its children, and an H2 creates another level of hierarchy.

You can see in this demo video that all of the normal outlining features like collapsing, zooming, and filtering work as expected, but by using Heading size instead of indentation.

The goal of this feature is to:

  1. Look more aesthetically pleasing as normal documents
  2. Reduce some downsides of deeply nested hierarchy where indentation reduces usable space for text, especially in small panes
  3. Appeal to people who are more familiar with regular documents than outliners

We are already using this extensively ourselves for some smaller documents where we don't need a lot of hierarchy, so segmenting by Heading is a clean way to visualize our projects.

Enabling

This feature is still a bit experimental, so it's not yet enabled by default. You can try it by enabling "Infer hierarchy from heading size" in the General section of the Settings.

Feedback

We would love your feedback on this feature. Please post in the forum thread or email us if you find any issues or have any suggestions.

Updated Homepage

We also updated our homepage with new videos and animations that are more descriptive about how Legend works. We hope you like it!


Improved Help

Apr 2, 2022

This month was spent mainly on improving the Help and creating content to help you get started.

  • The Help page has a new Workflow Examples section with some advanced workflows.
  • We have a new Medium Publication where we're posting workflow examples. So far we have some great posts by some of our users, Stephen Zeoli and Tim Lutero, and we will continue to add more there.
  • We have a new YouTube Channel where we've posted two videos so far. We're starting with the basics to help you get started, and we will make more videos with more advanced topics.
  • We've become more active on our Twitter Account. We will post updates there so follow us to get notified.

And of course we got in some good features and bug fixes too:

Improved Calendar Sync

In addition to a few bug fixes, we focused on making sure that Legend's sync to Google Calendar is very safe. It now prevents edits which would mess up events, and we added prompts to make sure you don't accidentally remove events.

A new feature, a per-calendar Editable setting in the Calendar section of the settings, lets you lock calendars so that Legend cannot modify them, or prompts before making changes.

This was a great idea and a highly requested feature on our forum which makes it much safer to sync work calendars with Legend.

Tag Coloring by Prefix

Another highly requested feature: there's a new page in the Display Settings where you can change the colors of tags. It works by prefix so you can create a colored tag hierarchy. For example you could set #home_ to be orange, so that all tags starting with #home_ like #home_chores would be orange. Some of our beta testers like to set a background color on the more urgent tags, with a text color for normal tags.

Inferred Hierarchy Experiment

We're working on a new concept where Legend can infer an outline hierarchy based on Heading size. It gives you all the power of collapsing, filtering, and zooming without even needing to indent. It's still a beta-only experiment, but it's almost done so you will see it released soon! If you'd like to try it now and help give us feedback, go here to join the beta.


Command Palette

Mar 1, 2022

For this past month we were focused on fixing bugs and improving performance (we'll get to that), but first is a new feature we're excited about!


Open the Command Palette by pressing + P to see all of the various commands available in Legend. You can use this to quickly find actions you don't remember the hotkey for, or just explore all of the options. Additionally we've added some new commands that don't currently have hotkeys. You can customize the hotkeys in the Hotkeys section of the settings, and please let us know in the forum if you have suggestions for what the default hotkeys should be.

New Commands

  • Go back
  • Set view mode in pane
  • Collapse by level

Additional Features

  • Images are cached so they load immediately and are available offline
  • YouTube videos can (optionally) be embedded directly
  • The / menu has an input to filter for quicker usage

Notable bug fixes

  • Outlook email works much better
  • Project and Heading views more accurately show mirror items
  • Inline images work much better, with fixes to menus and drag/dropping
  • Typing in Asian languages works much better
  • Responsiveness of editing and adding items, especially with multiple panes open, is much improved

Feedback

If you have any thoughts or suggestions about this update, please let us know in the forum thread.

See the old Moo.do blog
Legend has recently renamed from Moo.do. The old Moo.do blog contains tons of earlier product updates.