Feature requests from a newbie

Hi folks! I’ve been using Observable for a few weeks ( and before that a long time ago ) and I really love just about everything about it. I can see myself spending a lot of time here creating amazing things!

I have, as a newbie, a few feature requests that I found myself wishing were on the site over and over again as I learned about other folks and the work that they are doing.

  1. Collections:
    a) I wish that I could add a notebook not created by myself to a collection. I’ve ended up just forking the notebook to have a copy and a reference, which is great, but it would be nice to organize my view of Observable through collections that I could come back to for say some feature I learned about, etc.

b) I wish I could “subscribe” to another’s collection. How do I keep track of it on Observable? I could bookmark it maybe, or write another notebook with a link, but it would be nice to just hit “subscribe” and have it show up under my collections as a “Subscribed Collection”

  1. Members
    a) As I come across a cool person on Observable, I would like to keep track of the notebooks they post, as they are interesting and relevant to me. But … how do I do that? Sure I could again make another notebook with manual links, but it seems like a missing feature that I cannot “follow” a person. ( Yes I know can see “likes” but it’s not the same )

Look at openprocessing.org --> www.openprocessing.org/user/181952 You can see their profile, what they’ve worked on recently, who they are following, etc. I don’t want to suggest any kind of social networking here, I just want to be able to keep track of folks who are making cool notebooks, and maybe discover others by seeing who they follow.

  1. Profile
    a) I find myself wishing I could “pin” a notebook to my profile. This notebook might be embedded at the top of my public profile. Like Glitch let’s you do or like Github does ( you set a special repo as your embedded profile )

  2. Shortcuts

I wish there were shortcuts for showing and hiding the editor under a cell. And I really wish there was an “expand all, collapse all” shortcut. Because say I’m working on a notebook, I just want them all “open” to do work, but when I want to publish it, I just want all the editors to collapse so it’s nice and presentable for publishing.

Autocomplete glitch: when I type something like md` and then do a bunch of stuff, then get to the end and type “`” I get 2 “``” instead of one - like it didn’t understand I already had an opening backtick. This is doubly frustrating because when you delete the second one, it thinks you wanted to delete both and they both go away. Same for single and double quotes.

Referencing cells: On a page level you have this cool feature “embed cells” which is super awesome. And on a cell level you have “embed” … again awesome! But what I really wish you also had was a “require cell”

For example I was working on this notebook and I wanted to require the game icons from another notebook --> “import {game_icon} from @nitaku/game-icons”

So, I went over to that notebook and clicked in the left hand context menu, expecting to see “copy import path” or something that I could then easily paste back over to my own notebook – just like you made embedding so easy and convenient. But… there’s nothing there! I have to 1) know how importing works 2) manually type out the right path and notebook name — which is fine and all, but after seeing how easy you made it to embed a cell, I was hoping you could do the same thing to make it easy to IMPORT a cell as well?

  1. Back end / microservices
    I see I can do a bunch of stuff to get a backend working. I wish there was a simple way to set up a simple key/value store without all the login / config stuff. Like how replit does it : (I can’t link to it, as I am limited in this post ) This would simply be the single most amazing and transformative feature I could imagine …

So, that’s my newbie impressions - I hope this is feeback worthwhile as someone who’s not been around here, but I hope to spend a lot more time here.


Link to repil.it database https://docs.repl.it/misc/database
Link to glitch profile https://glitch.com/@triptych with pinned profiles

Link to github profile with special repo that you can set as your readme: https://github.com/triptych

Hi @triptych, welcome.

Have you considered just linking to the notebooks you like from one of your own notebooks, as a workaround?

For example @Fil put a list of interesting notebooks here https://observablehq.com/@fil/cool-observable-notebooks

Alternately if you don’t need categories, you can see notebooks that you have liked at http://observablehq.com/likes

If you use an RSS feed reader, every collection has an RSS feed which you can subscribe to.

Every author also has an RSS feed, if that helps.

Yep, I agree: feature idea: give each observable user a designated 'profile' notebook

If you click the little question mark icon at the bottom right corner, you can see a list of keyboard shortcuts.

If you want to keep all cell editors open, let me recommend using “safe” mode: Append /safe to the notebook URL to see only the cell editor views, but not the rendered cells. When working on a notebook, if you have a large enough display, it is often nice to open the notebook in two separate windows, one in safe mode and one in ordinary mode with all of the cells unpinned. The two will be kept in sync so that when you make changes in the safe-mode editors, the “preview” notebook will update.

I guess you already saw backticks don’t make auto-close pair when typing a template literal

Can you get away with just keeping state in the reader’s browser? If you need per-user state stored on a server, there are many existing services for this on the web, with various feature sets and business models. Maybe someone who does this kind of thing can recommend their favorites.