Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🍱 Interactive widgets #42550

Closed
7 tasks done
juliushaertl opened this issue Jan 2, 2024 · 4 comments
Closed
7 tasks done

🍱 Interactive widgets #42550

juliushaertl opened this issue Jan 2, 2024 · 4 comments

Comments

@juliushaertl
Copy link
Member

juliushaertl commented Jan 2, 2024

Summary

Goal

Current link previews provide a simple, static preview but in lots of contexts it would be very helpful if users could work more interactively with the linked resource without navigating away to the actual app of it.

This is partly addressing a gap to competitor products like Notion, Microsoft Loop, Sharepoint when on the Collectives app, but also in other Nextcloud parts like Talk where team/discord can display more interactive widgets within the chat.

The goal is to add an additional way of rendering link preview widgets that provide more information, interactivity and possibly useful actions right away. The degree of what functions should be available for a widget may need further discussion on the individual apps.

Scope

Out of scope

  • Mobile app support

Tracking issues

Follow-ups

Not planned at the moment

## More detailed draft notes
  • Deeper embedding of resources old mockup
  • Add embedding (smart picker like) but not as link preview but real interactive widget
  • Should be based on the existing smart picker concept of inserting links
  • Should work across apps
    • For link preview providers (define what apps should implement this)
    • For displaying (e.g. talk or where else the link preview is used)
  • To clarify
    • How does the user or app decide if a simple or interactive preview is shown
    • How to handle this on mobile
    • Text/Collectives/Notes
      • Should this be different markdown syntax so users can decide based on the document usage what to display?
      • We got feedback that the link preview is sometimes not useful in its current approach of always rendering it if it is the only content of a paragraph
  • Reference: Tables already has an option like that to select the mode, but we should probably have a generic approach
    Image

Notion examples:
Screenshot 2024-01-08 at 09 14 37
Screenshot 2024-01-08 at 09 14 59

Design spec

I had a call with @jancborchardt to outline the implementation in more detail:

  • We should have different modes of link previews / widget renderings similar to Notion
    • Inline link (auto generate title and just show without a link preview)
    • Static link preview from open graph
    • Interactive widget if it makes sense
    • When inserting a link users should be able to select which option is used
      • default, preference should be depending on the link type but remember user preference
  • Should have a global setting for privacy opt out
  • Interactive link previews either show a collection or single item
    • Limit scope of interactivity to browsing, but some functions like create new entries still make sense
    • There need to be reasonable default sizing of widgets
  • Apps (bold as important/prio items)
    • files/folder
      • pdf preview embedding
      • possibly readonly for odt
    • photo/album
    • talk room/message
    • mail no preview 🍱 Interactive widget for emails mail#9253
    • contact maybe for shared addressbook 🍱 Interactive widget contacts#3790
    • calendar for shared calendars with month/day/week picker, single events 🍱 Interactive widget for calendar events calendar#5701
      • single events like calendar quick view
      • full calendar embed
    • notes single note, possible category
    • collectives just simple preview
    • deck full board, single card
    • tasks single task, full task list
    • forms complete form, form results (interesting)
    • tables full table exists, single rows, fully interactive
    • external apps
      • youtube already embedded
      • spotify can be embedded
      • maps can be embedded
      • draw io
      • sketch picker
      • github/jira/openproject interactive list depending on the apps

Implementation questions

@jancborchardt
Copy link
Member

Btw this is a bit of an advanced and fancy example of how Microsoft does it with their Loop components (thanks @marcoambrosini for sharing). Fully collaborative, including live cursor and avatars on top:

00.StayInSyncHd_video_en-us-0x1080-6439k.mp4

@juliushaertl

This comment was marked as off-topic.

@juliushaertl

This comment was marked as off-topic.

@juliushaertl
Copy link
Member Author

Main parts are done, remaining issues are tracked separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

No branches or pull requests

4 participants