HackerTrans
TopNewTrendsCommentsPastAskShowJobs

nathanstitt

no profile record

Submissions

Show HN: Open-source Workspace (mail,docs,spreadsheet,drive) web/iOS

tinycld.org
111 points·by nathanstitt·2 माह पहले·38 comments

OpenSource Workspace with realtime mail/docs/spreadsheet/drive on web+iOS

tinycld.org
2 points·by nathanstitt·2 माह पहले·1 comments

comments

nathanstitt
·14 दिन पहले·discuss
Great feedback, that makes complete sense. I've just added https://tinycld.org/story which expounds on this a bit more and also links to the credits page that lists all the (many) libraries it uses.
nathanstitt
·16 दिन पहले·discuss
It's pretty simple: I have a small company and we're using it internally. my hope by releasing it is that the ecosystem will grow and it'll become the best way to publish web apps (ambitious I know).

I do not know what you expect by "hardened server implementations", it's open-source and people will probably host it a lot of different ways? If you're talking about the various services it offers like imap/webdav, I'm using well established golang libraries which I hope are secure but I have not performed a security audit or anything like that.
nathanstitt
·16 दिन पहले·discuss
Also not affiliated but my open-source tinycld uses docx as the backend storage for its text package. Supports _most_ of the features (including comments and suggestions) but is still very young. It has a golang backend that reads/writes docx and translates to YJS that the editor reads for multi-user access. Has web/iOS/Android support.

I found docx to be a very well documented format and a surprisingly good fit for this.

https://tinycld.org has a live demo
nathanstitt
·2 माह पहले·discuss
Yes, absolutely. All agents seem to know how to talk to the Pocketbase API without telling them much about it if you're wanting to directly interact with tables.

We also have https://tinycld.org/llms.txt for writing packages and periodically test it's usefulness by one-shoting a simple TODO app: https://github.com/tinycld/todo
nathanstitt
·2 माह पहले·discuss
HyperFormula was the key to unlocking the entire spreadsheet, the technical foundation of sparse rendering and multi-user interactions were easy enough with Yjs and and a few other libs, but I was completely stuck on how to support formulas beyond simple SUM and such until I found it.
nathanstitt
·2 माह पहले·discuss
Yea I really did want to go Nextcloud because it is the battle tested solution as you note, but a few things held me back.

  * It's UI felt dated - which I agree is not an entirely good reason to not use it, but certain stakeholders in the org that will be using it felt it wouldn't be acceptable.
  * Collabera Office, which underpins their doc solution is kinda weird how it runs, everything renders on the server and then is displayed on the clients.  Not mobile friendly at all.
I did really like the ecosystem though and did consider just writing the plugins I needed for it. But then that went down a rabbit hole in itself with Php which I don't have fond memories of.

Ultimately it was a case of "be the change you want to see in the world". This is my opinionated answer to what an online suite of apps should work like for better or worse. I'm in a good spot where I have a small group of users who I'm close to that can stress test it out and yell at me when stuff breaks.
nathanstitt
·2 माह पहले·discuss
yep very true, everyone has their preferred stack, and greenfield is _always_ easier than maintaining years worth of past code.

I did look really closely at Nextcloud when it came time to leave Google apps. I really wanted it to work but also wanted:

* Realtime updates - Pockebase gives us this for free.

* A native app - React Native <- this one worked out but does cause pain with the web version, some things don't work _quite_ as well as a standard React ap would.

* Lightweight docs that work on mobile. Collabora is very full-featured but is also pretty slow. It remains to be seen if I've successfully here because we're only starting to use our docs "for real"

And also: I'm absolutely sure this has many bugs that I've yet to uncover. All I can say is that I am planning on using it for real-world business stuff so I'm sure we'll be uncovering and fixing them throughout the next year.
nathanstitt
·2 माह पहले·discuss
hah, so I've been fighting AI all the time as it tries to write all this on it's own vs re-using libraries. To me that's a much safer option, because the libraries all pre-date AI so I assume the authors know what they're doing.

Not to bag on Nextcloud but I do think that this is _much_ easier to understand and maintain, it's standard Go/React/Sqlite, nothing esoteric so if you did need to maintain it I'm sure anyone could pick it up. Of course I don't really know Php so that def flavors my opinions here.

I have an example of a one-shot TODO app: https://github.com/tinycld/todo just to demonstrate what's possible.
nathanstitt
·2 माह पहले·discuss
Sorry it didn't work :( I just tried and looks like it got _so close_, it did undo the insertion of values, but the selection remained. I think that's probably debatable behavior, but isn't what Google Sheets does.

I may be mis-understanding what you experienced though, If you'd like to provide more details and/or some screenshots please file a issue https://github.com/tinycld/calc/issues
nathanstitt
·2 माह पहले·discuss
yes, I'm planning to support it indefinitely - my company (~10 users) just started using it so we're very invested in it's success.

I'd love for people to write whatever crazy packages they can think of for it so it has a rich ecosystem. It has the ability for admins to add a git or NPM reference into the packages list and install packages on the fly like wordpress supports.

As for hosting as a service, maybe someday. I also own the tinycld.com so who knows.
nathanstitt
·2 माह पहले·discuss
Hey, I just made https://github.com/tinycld/mail/pull/2 which mostly implements this. Am leaving it as PR until I can fully test it out
nathanstitt
·2 माह पहले·discuss
Interesting, I wasn't aware that SES did inbound and it looks fairly affordable as well. I'll have to do this, thanks for mentioning it
nathanstitt
·2 माह पहले·discuss
Yes, Hyperformula is amazing! it's actually the primary reason TinyCld is AGPL vs MIT, doing so was totally worth it in order to be compatible with it's GPL3 license.
nathanstitt
·2 माह पहले·discuss
Good question, TinyCld does uses docx/xlsx files on the drive package as the native storage for text/calc. Drive is exported via webdav so doing so lets native clients load the files as well. Locking is used though so web & native _hopefully_ do not conflict.

Text uses https://github.com/ZeroHawkeye/wordZero to read/write the docx, parse it into a y-prosemirror and served with yjs to clients using https://github.com/skyterra/y-crdt

And Calc uses https://github.com/xuri/excelize using the same techniques but uses plain Yjs Y.Map/Y.Array using a sparsely populated table
nathanstitt
·2 माह पहले·discuss
thanks! it also has the ability for user themes but they are fairly weak. really only supports setting color swatches
nathanstitt
·2 माह पहले·discuss
currently only supports postmark but based on the conversions here i’m thinking expanding that will probably be the next thing i implement
nathanstitt
·2 माह पहले·discuss
yep i know postmark wont be everyone’s fave. i’ve abstracted all that to a single golang interface so it’d be easy to swap out. i’ll probably write a pure SMTP version as an example soon
nathanstitt
·2 माह पहले·discuss
yes, I should make this clearer: You do not actually host the email, tinycld uses a transactional host for sending and receiving. I also have a lot of scars from doing that in the past and I'm happy to pay someone else a few $$ a month for that service.

We support postmark right now (it has spam filtering), mailgun in the near future. Plus probably a pure smtp server for those who _really_ want to do it all themselves.
nathanstitt
·2 माह पहले·discuss
Yes, exactly that.

Personally I have several small (tiny really) companies where employees wear a few hats in them, this setup allows me to add people to org (and email domain) A & B while not getting C.

It is _not_ setup at all for billing or anything like that though, but that would be a easy enough feature to add
nathanstitt
·2 माह पहले·discuss
excellent, I've also tried all the products you mention but they all felt either too heavy or limited to me. I'd love any feedback you can offer, GitHub issues are open if you hit bugs.