What would be your dream add-ons/power-ups/integrations?

v rough, early thinking. Basically these would only allow things that are possible through the api – but in a more straightforward way for non-devs to add to their account and use without leaving the kinopio UI or sharing their apikey.

goals

  • allow niche/very-power-user/specific-third-party-integration features without complicating the ui
  • safe and maintainable: addons run in a sandboxed iframe, data access between kinopio and the iframe is provided over documented postmessages
  • scoped: addons can be card based (maybe accessed through card -> styles), or at the space level (accessed through a footer menu)
    • card scope addons can access and write the card name and card meta
    • space scope addons can access all data on a space (more powerful, but more risky)
  • standardized: although I don’t think there’s any standard dev practices around this sort of thing right now. I know ppl at airtable and trello so I’ll at least get their opinions on a future technical spec

TBD

  • distribution
  • timeline (but probably a long time from now)
  • would it work with collaboration? They aren’t likely to have the addon
  • would it work with space viewers? They wouldn’t have the add on
3 Likes

A few ideas here have been discussed already. From Desk accessory / widget ideas, a few worth calling out:

  • pomodoro timer (also requested Pomodoro support for cards)
  • writer tools like character/word count: connect cards to widget and it would update with stats.
  • general space stats (number of cards, connections, orphans, todos, etc)
  • youtube widget for taking notes (this one takes some more explaining). Let’s assume you implement that feature where if you start making a connection and mouseup in open space, it automatically creates a card and puts you in edit mode. With that context, this widget would be an embedded youtube, but when you drag to make a new connected card, it would pre-fill the youtube link with timestamp (maybe markdown linked). This would let you watch a youtube lecture, for example, and take notes linked to specific times of the lecture more easily. :slight_smile:
3 Likes

A simple calendar widget would be very helpful to plan months better.

Jump between daily and monthly pages.

3 Likes

here’s some additional technical context related to the TBD items above:

there’s two general approaches to plugins:

1. plugins execute js and can do anything

This is the approach taken by roam and obsidian. The upsides is that plugin development is easier and there’s nothing you can’t do, this leads to those tools having 100s of potentially useful plugins. But comes with some massive downsides:

  • it’s not safe, there’s nothing stopping raw js from injecting tracking and stealing all your data and secrets
  • it’s not collaborative, the code that runs to allow you to see special element X on a page won’t be running when some visits your space or collaborates
  • plugins are harder to install, requiring copying and pasting random snippets of js you might not understand
  • plugins will break if page html changes significantly. This has the effect of either dramatically slowing the pace of product development, or making plugins very brittle.
  • plugins can degrade performance

I think this approach works in the case where your data is on your harddrive and the gain from hacking is low because companies and teams don’t use the tool. That’s not real security though.

2. plugins execute in a sandbox and can only do limited/expected things

this is the iframe + postmessage approach described in the original post (the approach used by slack, airtable, trello, etc.) . It makes plugins potentially easier to manage and install but has some downsides as well:

  • plugins can’t do as nearly much, they can only
    • manipulate space data (to sync it or inject images or other content),
    • display pre-built building blocks (e.g. you can insert static buttons with custom text label, and only after clicking that button will the plugin iframe be displayed)
  • these plugins are harder to build because you have to learn kinopio specific conventions,
  • plugin authors may also have to run their own server for non-trivial stuff

I don’t love either approach tbh , but I dislike #1 a lot more. I wonder if there’s a third option…

the current state of the art doesn’t look v promising… https://stackoverflow.com/questions/195149/is-it-possible-to-sandbox-javascript-running-in-the-browser

1 Like
  • Kanban / Trello view of cards but doesn’t disrupt the normal spatial view
  • quick input none spatial view to just throw ideas at a space without the distraction of other peoples cards and need for mouse / clicking
  • presenter view so you could show a slide deck view of your cards while others can still add and comment / connect in normal spatial view

Most of these are from my own work on nodenogg.in here is a video where I talk through the different views. I can but try to get Kinopio to have some of my ideas :blush:

2 Likes

have you ever tried importing the json of a kinopio space into nodenogg and using it in kanban and presentation mode? if so, how did that go/feel?

that’s a good one, i also want to side-address this with browser extensions in the future

2 Likes

I have not tried that but that’s a cool idea about export / import.

2 Likes

Minimal text editor - ideas laid out here:


And here:

2 Likes

Two possible things for researchers (just brainstorming):

  • PDF plugin - import PDF and connect cards to highlighted parts of PDF [o]
  • Zotero plugin (import bibliographical reference)
2 Likes

One more thing:
Google Calendar sync :slight_smile:

3 Likes

It could be nice to have a poll widget built into kinopio. It might be useful to show voting for various things for instance it could make interacting here https://kinopio.club/ideas-for-frames-FE23Cg-KH0aUqQnVQ8b39 easier than making a “+1” card.

Alternatively maybe a +1 button that counts the number of users who click it could do a similar thing?

2 Likes

Wanted to come back to this after some discussion/thoughts I’ve had.

A calendar that could contain links to cards and spaces within each day would be killer. Dream scenario would require too much work, but I want to lay it out anyways.

First, you’d need a way to add attributes to both cards and spaces to hold the date - I’d imagine Journals could automatically be tagged with their date, but then you’d need a way to assign dates to other spaces and cards…

Then a calendar “block” could be added to a space and it would show all the cards and spaces that have a date attribute - this would have to be separate than created / updated, because you might want to show things in the future.

To add to it, I’d want to be able to filter the calendar to cards in a certain space or things that include certain tags.

You’d be able to create some really interesting journal / planning systems with Kinopio…

Essentially I want to be able to take this space: https://kinopio.club/-2022-tv-space-ASdzyKj7YTRM5XQjwJErx and incorporate a calendar like this https://www.notion.so/c33beb96e955431d927ff8dcf9185192?v=e6c798b07d28483ab94bab4101f7895d
Apologies for the scatterbrained nature of this post

2 Likes

I was thinking of another dream feature: A toggle-able minimap to be able to get a sense of where I am in a space and where cards are around me. I can accomplish this by zooming out but it’s not the greatest interaction.

3 Likes

:wave:t2: @Charles FYI some prior discussion on minimaps: Minimap example from the wild :slight_smile:

3 Likes