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

Sheets Prototype #466

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

sylvinus
Copy link

That's a nice Docs you have there. What if we made it better with Sheets?

This is a quick proof-of-concept for a simple spreadsheet integration, using the IronCalc library.

I don't expect this to be merged any time soon, but it might be good food for thought or high-level demos ;)

It looks like this:

Screenshot 2024-11-30 at 15 54 31

I didn't implement document persistence or Y.Doc collaboration yet but this could easily be added to this POC through the same methods as text documents.

There would be a few roadblocks before it could be actually useable:

  • IronCalc is not mature enough yet. It has a main (single?) developer in Berlin. However I believe it's a potentially strong technical foundation given its Rust=>WASM + Canvas architecture, fully client-side.
  • Better build and encapsulation of IronCalc. I vendored it a bit agressively in the main app, not sure it's ideal.
  • UX improvements: how much would we want to differentiate Docs from Sheets, including in URLs?
  • Alternatively, could IronCalc be wrapped as a BlockNote.js block? It would allow including spreadsheets nicely in docs, but would the "main" single-spreadsheet usecase suffer? Could we do both?
  • There is early support in IronCalc for XLSX export and import, but it would have to be heavily battle-tested.
  • PDF export support
  • Explaning how this is different from Grist and why we'd have both in the Suite.

Let me know what you think! ;-)

@AntoLC
Copy link
Collaborator

AntoLC commented Nov 30, 2024

That it's quite nice 😄
For sure we will have a look at it !

@virgile-dev
Copy link
Collaborator

Great to see you experimenting with Docs :)
Definitely super interesting to think that what we built in Django for user management and permissions could be reused to create other type of documents.Of course, we need to think of all the roadblocks that you mention above.
Another approach for this could be to have a dedicated app for spreasheets using the same framework. Could be the same code base and a feature switch.

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

Successfully merging this pull request may close these issues.

3 participants