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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Awesome gem! Questions about future and related ideas... #7

Closed
dumblob opened this issue Apr 12, 2021 · 5 comments
Closed

Awesome gem! Questions about future and related ideas... #7

dumblob opened this issue Apr 12, 2021 · 5 comments

Comments

@dumblob
Copy link

dumblob commented Apr 12, 2021

I discovered this gem just now and have some questions 馃槈 (in random order):

  1. Any plans to continue the development?
  2. Any plans or willingness to change the UI to make it (much) more user friendly (one would say "from demo to production-ready")?
  3. Any plans to make it a pure PWA? This'd probably require using web local storage for all the offline data.
  4. Any plans to make it partially federated (i.e. ensure each instance of referent has guaranteed it's unique id which is being actively "published" to allow referencing an article/user/anchor/... in this instance from another instance)?
  5. Any plans to make deployment dead-easy (a beginner might want to use some free hosting - probably mostly PHP with mysql - for her family and group of friends)?
  6. Any plans for additional features (e.g. export to PDF - I mean the browser does that, but some CSS adjustments will be needed; additional embeddable content kinds like drawing canvas, etc.)?
  7. Any plans to implement full-text fuzzy search (preferably using dice coefficient instead of levenshtein distance) incl. search among metadata, tags, etc. and supporting "smart wildcards" (i.e. if there is no wildcard character, it's fuzzy search, but if there is at least one unescaped wildcard character, it's no more fuzzy search but rather a wildcard search)?
  8. Any plans making this whole project into two - namely an embeddable library and the app using this library? This would making it embeddable into web pages, CMS systems, etc.
  9. Any plans to make it smartphone-friendly?
  10. Any plans to support user management (most of the user management should go into app from (8) but some minimal support will be needed also in the API of the library)? There should of course stay by default a "public" user with read-only rights.
  11. What's the license? If "none" as of now, let me suggest to add an OSI-approved license (preferably MIT or BSD).
  12. Any plans to implement encryption at rest (i.e. encryption of any persistent data)?

Kudos once again - this is really a gem! I'm looking for an offline-first wiki for several years (admittedly not much actively because the need is not yet so high) and your project seems to be a very good basis for what I envisioned.

@courajs
Copy link
Owner

courajs commented May 22, 2021

Wow, thanks for the praise! Interest in the project is very gratifying.
I've definitely had thoughts in the past about everything you've asked about 馃榿
Unfortunately, energy and motivation are in short supply for me these days. Other than occasional tweaks to meet my needs, I have no near-term concrete plans with this. I'll add a license though.

And if you ever want to chat directly, you can find my email address in the git commits :-)

@courajs courajs closed this as completed May 22, 2021
@dumblob
Copy link
Author

dumblob commented Dec 30, 2021

I see some activity in the repo - any updates on the questions above (I didn't want to ask privately as I for myself don't see any reason for hiding them - but YMMV)?

@courajs courajs reopened this Dec 30, 2021
@courajs
Copy link
Owner

courajs commented Dec 30, 2021

I'll think about and answer some of these today this week :)

@dumblob
Copy link
Author

dumblob commented Dec 31, 2021

Perfect, thanks!

Btw. just got notification about rich text CRDTs - https://www.inkandswitch.com/peritext/?utm_source=geoffreylitt&utm_medium=email . It's very well written and explained, so maybe worth reading if offline-first is still your thing 馃槈.

@courajs
Copy link
Owner

courajs commented Jan 3, 2022

  1. Any plans to continue the development?

This is a project I use, but to package it up as a product I'd be proud to provide to "the community" would take a lot more time and attention than I've got. Could definitely happen in the future! For now though, all development will be centered around things I find useful for my personal use.
I will also be pretty conservative in what contributions I'd accept and merge - it'd have to be a feature I wanted and also be architected in a way I agree with. If anyone wanted to fork it and maintain their copy though, I'd happily explain anything in the codebase and offer advice.

At the moment I'm focused on another project, a typed database with content-hashed data and functions. Like super-powered Excel for arbitrary data structures.

  1. Any plans or willingness to change the UI to make it (much) more user friendly (one would say "from demo to production-ready")?

It's working fine for me! If I were trying to convince anyone else to use it, I would put some effort into the presentation.

  1. Any plans to make it a pure PWA? This'd probably require using web local storage for all the offline data.

It's most of the way there already! Everything goes straight to and comes straight from IndexedDB (which is a form of web local storage), and there's already a service worker which syncs with the server in the background, when connectivity is available.
All that's really left to do here is have the service worker cache the assets (and add a simple manifest). This is on my list for very soon, as it would be useful for me. But I'm not quite sure how best to hook it into the build system.

  1. Any plans to make it partially federated (i.e. ensure each instance of referent has guaranteed it's unique id which is being actively "published" to allow referencing an article/user/anchor/... in this instance from another instance)?

My database I mentioned above definitely has thoughts in that direction, so I'll be exploring it there first. This is definitely the kind of thing I believe strongly our information systems should have. (Although I'm a much bigger fan of content-addressing URIs than user/location based identifiers)

  1. Any plans to make deployment dead-easy (a beginner might want to use some free hosting - probably mostly PHP with mysql - for her family and group of friends)?

Again, if/when I shift into delivering this as a useful product to the community, this would definitely be part of it. If anyone wants to set it up for themselves in the meantime, I'd happily lend some support.

  1. Any plans for additional features (e.g. export to PDF - I mean the browser does that, but some CSS adjustments will be needed; additional embeddable content kinds like drawing canvas, etc.)?

Yeah, additional embeddable content kinds is what led me in the direction of my database project. So, I'm focusing there first. But I hope to bring that back to here in some form.

  1. Any plans to implement full-text fuzzy search (preferably using dice coefficient instead of levenshtein distance) incl. search among metadata, tags, etc. and supporting "smart wildcards" (i.e. if there is no wildcard character, it's fuzzy search, but if there is at least one unescaped wildcard character, it's no more fuzzy search but rather a wildcard search)?

This would probably be a great feature, but it's just not really that helpful for me based on how my mind works. I remember the page I did things on, and if I can't remember the name, I remember something it was connected to. I tend to find full-text search frustratingly noisy to wade through the results. But, again, it's definitely a feature that should exist if this was a project for a general audience.

  1. Any plans making this whole project into two - namely an embeddable library and the app using this library? This would making it embeddable into web pages, CMS systems, etc.

This also is what led me to my database project. Again, if my focus changes to delivering a community project, this would be a great thing to do.

  1. Any plans to make it smartphone-friendly?

It's using pretty basic web technology, so it works just fine for me on my phone. Not an amazing experience, but I made sure that no buttons are inaccessible and that kind of thing. I think last year when you asked these questions, search might have only been accessible via keyboard shortcut, but I have added a search button to the sidebar in the meantime. Making it a full PWA would help a lot too, which I'm slowly working on.

  1. Any plans to support user management (most of the user management should go into app from (8) but some minimal support will be needed also in the API of the library)? There should of course stay by default a "public" user with read-only rights.

Agreed, I do keep wanting this myself. Giving people read-only access to a page or small set of pages, or creating a "shared document" would be awesome. Focused on the database for now though.

  1. What's the license? If "none" as of now, let me suggest to add an OSI-approved license (preferably MIT or BSD).

Politically, I have concerns about my work benefitting corporations, so I've licensed this via the relatively unknown Anti-captialist Software License. Feel free to use or fork this for personal use, or for business use in a worker-owned co-operative. Do not use this to more efficiently profit from the labor of others, either directly or indirectly (via, for example, interest on capital or other financial instruments).

  1. Any plans to implement encryption at rest (i.e. encryption of any persistent data)?

I would love that to exist, but I anticipate it will play awkwardly with how the CRDTs work. Every character in every title and every page body (and even every deleted character!) gets a whole data structure. Would we encrypt each individual letter? Each data structure? Decrypt and re-encrypt the entire thing each time we add a character? Definitely something I'd look into before product-izing this, but I have no idea how it'll turn out.

@courajs courajs closed this as completed Jan 3, 2022
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

No branches or pull requests

2 participants