You will also almost certainly want to either use the Apache 2 version of Minio[1] or label that dependency as AGPLv3 to ensure folks are aware. I would also recommend always pinning image versions, because you don't control what that project does or doesn't do in releases
Thank you! We're still working on the hosted offering, hence the "coming soon" pricing page.
Regarding Valkey, I included it as an example of a Redis compatible alternative, but you're right, it's probably better to use it in our Docker Compose file as well. Thanks also for pointing out the licensing considerations around Minio, will definitely look into that.
Here an example of it taking arbitrary input and blindly casting it to a type; anything after this point can blow up. There seems to be no input validation anywhere.
And the database use looks racy, sometimes not using transactions at all but having a read-modify-write cycle, no GET FOR UPDATE seen anywhere in transactions. Somebody is going to figure out how to do nasty things to the data.
hakanshehu 17 hours ago [-]
Thank you for taking the time to test it and call these issues out. Both points slipped through our refactor/cleanup checklist.
- We’ll replace the current error handling for server sync with something safer and more graceful.
- We’ll make SMTP optional, expose TLS verification as a configurable setting and update the docker-compose.
We’ll make these improvements soon, thanks again for the heads-up.
salahuddin_dev 13 hours ago [-]
[flagged]
regnerba 1 days ago [-]
Do you have plans for mobile app? It looks really useful but the two places I would use it would both require I mobile app before I could switch to it.
hakanshehu 1 days ago [-]
Hi, thanks for the question! Yes, we do plan to implement mobile apps, but we don't have a concrete timeline yet. It depends on the limitations and challenges we might face when we implement the same local-first approach as we did in desktop (full offline support, background syncing etc).
alok-g 1 days ago [-]
Looks nice! Would wait for the documentation to learn more.
How does this compare to Notesnook? I have found that to be the best in terms of getting the details right (However, the last I checked, the documentation for self-hosting was unclear, and there were bugs in data exporting).
Thank you! I haven’t used Notesnook personally, but from their description it focuses mainly on note-taking. Colanode, by contrast, also includes collaboration features such as chat, file sharing, and databases. One other difference is that Notesnook offers end-to-end encryption, whereas Colanode does not (at least for now).
esperent 2 days ago [-]
This looks great, it's a crowded field but there's still a lot of room for improvement.
The most important question before I'd try this is, do real time cross platform notifications work? If yes, how did you solve this for people self hosting?
hakanshehu 2 days ago [-]
That's a great question! We didn't come to it yet, because we are focused only in desktop app for now. This is definitely one of the challenges we need to solve once we start working on the mobile apps. The self-hosting use case makes it tricky (and probably fun challenge to solve).
esperent 1 days ago [-]
Having used several real time self hostable apps with chat (Nextcloud, Odoo, Rocket chat) this is the hard problem to solve.
Rocketchat uses it as a way to funnel you into paying. You'll get a low number monthly for free. They say 10k month but with a team of 5 people lightly using it we used that in 4 days. Or you can do it yourself, but you'll need to register your own version of the app in both the Apple Store and Play Store. For Apple apparently this is close to impossible so I didn't try.
Nextcloud runs their own server for free, but you have to accept that you'll be sending data via their server. But I've spent the last week hacking away at setting up a Nextcloud in my spare time. Got it mostly set up in a day, then the rest of the time has been trying to get notifications working on mobile. Still not working.
Odoo, I don't think I ever got notifications working.
I have researched other apps: Mattermost does something similar to Rocketchat, using notifications as a sales funnel. Element is similar to Nextcloud, they host their own free server, although I think you can self host that too.
From this experience, I would never try a new app until they have this feature solved, clearly documented, and with proof that it works and isn't a sales funnel.
pcthrowaway 16 hours ago [-]
> I have researched other apps: Mattermost does something similar to Rocketchat, using notifications as a sales funnel
Can you elaborate on this? I manage a Mattermost instance and there are some features missing from the OSS self-hostable community edition, but notifications seem to mostly work, even on mobile where notification delivery does rely on their gateway
itomato 1 days ago [-]
These products are neat, but what about the data?
Notion is a tragedy when it comes to export or migration.
I didn’t see any bragging about the exportability of content from this one, but that’s the main thing I look for now.
hakanshehu 1 days ago [-]
Hi, thanks for bringing this up! We don’t have export or migration features in place yet, but we are planning to add them. Which export formats would be most useful to you? And when you mention migration, are you thinking about moving data from similar tools into Colanode or vice-versa? If so, which specific tools would you like to be able to migrate to/from?
3np 1 days ago [-]
Different person but my prios for export:
1. Versioned export/backup which will be guaranteed to work with current Colanode version
2. ..., well-documented
3. ..., with migrations so it's always future-compatible
4. ..., human-readable
I think integrations with any specific other tools should be ezpz if the fundaments are solid!
For import/insert, I guess some cli API with similar properties would be a nice fit.
(Coincidentally I think the above is also what would facilitate LLMs to do a decent job for anyone trying that)
sameasiteverwas 1 days ago [-]
The first export type implemented should be as minimal and human readable as possible (text files for most content, maybe w/ minimal markup). If that's not possible for all data, then standard formats like html or pdf.
After that, go after your biggest competitor. If people know they have a path back to a familiar shore they're less scared to swim in new waters.
nashashmi 1 days ago [-]
Is there a name for this new-age method of notes/webpage/data productivity genre? They all seem to have "write with /" to insert "block" content.
I am trying wrap my head around what they are. The seem to be "docs" on the web. Then they also have this "inline page" feature which is a fancy include. Then have a table insert with a relation feature. Then they have a dynamic view layout engine on a table.
Unfortunately, this is quite difficult to search for, but it might give you some leads.
omneity 1 days ago [-]
Block-based editors maybe?
nashashmi 1 days ago [-]
Could be. That seems to bring up many search results.
ThinkBeat 1 days ago [-]
Anything that starts as Open source but is clearly meant to be a for profit
product makes me sceptical.
The page has a link "Pricing" that takes to a page that says
its coming up.
Well I will wait and see what and how the pricing structure will be revealed.
It is a product that easily lends itself to being a "little vit free and open source" and then all the for profit add ons are $$$$$ and not open sourced .
Rooster61 1 days ago [-]
Wouldn't surprise me if it's just cloud hosting and maintenance for a fee. Might not be an indicator of dark patterns.
plextoria 2 days ago [-]
I'm excited to try this out! (seems to have some bandwidth issues, currently downloading at 24KB/s)
Is SSO implemented or planned in the near future? I feel that colanode would be a great fit for our start-up
hakanshehu 2 days ago [-]
Thank you! Will look into the download speed issue. As for SSO, we don't have immediate plans, but we'll certainly consider it for the future.
plextoria 2 days ago [-]
sadly, app doesn't run on Intel Macs
mdaniel 1 days ago [-]
Maybe the pre-built one doesn't, but $(npm ci && npm run -w '@colanode/desktop' dev) boots up just fine on my 12.7 2015 MBP
hakanshehu 17 hours ago [-]
Thanks for pointing it out. Will check our build and release process to fix it.
badmonster 24 hours ago [-]
Have you thought about adding programmable logic or automations between nodes?
hakanshehu 17 hours ago [-]
We have been thinking for some automation/workflows to be executed on specific events. Do you have any example/use case that you might be interested in?
savolai 11 hours ago [-]
My 2c: A particular thing about notion that bugs me is that hn page content get imported as simple. tables and in notion there is no automated way to delete all empty cells of all tables on page, that make it unreadable, or just to convert tables automatically into text
3np 20 hours ago [-]
With a sane local API and some examples, there shouldnt be need for a DSL or in-app integration logic.
handfuloflight 1 days ago [-]
Would it be possible to allow us to set our own custom fonts and color scheme (without having to fork it)?
hakanshehu 1 days ago [-]
That's an interesting idea. Didn't plan it, but we could implement some kind of custom theme functionality.
eterps 2 days ago [-]
> Colanode consists of a Node.js server API and an Electron desktop client
Is the Electron app a necessity or is using a browser possible as well?
hakanshehu 2 days ago [-]
Hi! For now, Colanode is available only as a desktop app (Electron). The primary reason is that we wanted to implement some local-first features, which are currently more complex to achieve in the browser.
apitman 2 days ago [-]
Curious which features? I'm starting a local-first project and would love to make a PWA, but I just don't think the platform is ready yet.
hakanshehu 1 days ago [-]
Mainly using SQLite and having access to native file system for reading and writing files. We wanted to provide a full offline functionality. While it's possible to achieve that in browser as well it seemed quite complicated for now (we might consider it in the future).
9dev 1 days ago [-]
It’s actually fairly straightforward using the OPFS API; I used it to build an upload queue a while ago, so the user can drag arbitrary files on the browser, they get copied into the OPFS as regular files, and then I can upload them at my own leisure, even after browser restarts.
The SQLite WASM build even has support for it AFAIR.
Can recommend, it’s a fun challenge :)
frizlab 2 days ago [-]
Hello! How does this compare to Huly?
hakanshehu 1 days ago [-]
Hi, thanks for the question! I haven’t used Huly extensively to provide a detailed comparison, but from a quick look (and a test I did some time ago) it seems to take a more opinionated approach: features such as issues, projects, and overall layout are pre-defined. Colanode, by contrast, works like Notion, giving you flexible building blocks so you can model your own workflows and knowledge structures. Huly may be quicker to get started with, while Colanode offers greater adaptability over time (this comes down to personal preference). Another key distinction is tech architecture: Colanode is built around a local-first design, providing full offline support with background syncing. I haven’t found equivalent offline capabilities documented for Huly, even though they may have them.
frizlab 1 days ago [-]
Nice!
An issue I’ve had with Huly self-hosted is upgrading, which is very hard because it is not documented (as far as I know).
How are upgrades handled on your project?
drcongo 2 days ago [-]
This looks very interesting purely because I can just about see from the very fast gif on the README that it has tasks in there, how much of a first class citizen they are of the app could be really important. It blows my mind that both Slack and Notion have such half-arsed task implementations - every time I need to introduce better, asynchronous task assignments at work I get pushback over "people won't use yet another app" - and sure enough, getting people to assign me something rather than @ notifying me while I'm nose deep in code of something that needs doing in a few days time has been impossible. A single app that lets a team manage work without constant interruptions would be the dream.
lelanthran 1 days ago [-]
> A single app that lets a team manage work without constant interruptions would be the dream.
I can see how it can work, using a native application client to interface to something like develops or jira and then bolt on instant messaging (or the reverse).
The question is, can I get a company to open their wallets for this? From experience, I think not, but i am open to being convinced.
salahuddin_dev 13 hours ago [-]
[flagged]
Rendered at 05:28:34 GMT+0000 (Coordinated Universal Time) with Vercel.
I don't think I've ever seen a "coming soon" pricing page before <https://colanode.com/pricing/>
For my curiosity, your readme mentions Valkey but the docker compose uses Redis - is that on purpose? https://github.com/colanode/colanode/blob/v0.1.3/docker-comp...
You will also almost certainly want to either use the Apache 2 version of Minio[1] or label that dependency as AGPLv3 to ensure folks are aware. I would also recommend always pinning image versions, because you don't control what that project does or doesn't do in releases
1: https://github.com/minio/minio/blob/RELEASE.2021-04-22T15-44...
Regarding Valkey, I included it as an example of a Redis compatible alternative, but you're right, it's probably better to use it in our Docker Compose file as well. Thanks also for pointing out the licensing considerations around Minio, will definitely look into that.
- this is just evil. Pure. evil. https://github.com/colanode/colanode/blob/v0.1.3/apps/deskto...
If that's the kind of error handling that you believe in, one should have religious backups of any data placed into this
- It seems to actually puke if one doesn't provide it a live, TLS enabled, SMTP server[2] which (a) WTF (b) isn't present in the docker-compose
Thankfully replacing .verify with return new Promise(() => true) at least let the server start
2: https://github.com/colanode/colanode/blob/v0.1.3/apps/server...
And the database use looks racy, sometimes not using transactions at all but having a read-modify-write cycle, no GET FOR UPDATE seen anywhere in transactions. Somebody is going to figure out how to do nasty things to the data.
- We’ll replace the current error handling for server sync with something safer and more graceful.
- We’ll make SMTP optional, expose TLS verification as a configurable setting and update the docker-compose.
We’ll make these improvements soon, thanks again for the heads-up.
How does this compare to Notesnook? I have found that to be the best in terms of getting the details right (However, the last I checked, the documentation for self-hosting was unclear, and there were bugs in data exporting).
https://notesnook.com/
The most important question before I'd try this is, do real time cross platform notifications work? If yes, how did you solve this for people self hosting?
Rocketchat uses it as a way to funnel you into paying. You'll get a low number monthly for free. They say 10k month but with a team of 5 people lightly using it we used that in 4 days. Or you can do it yourself, but you'll need to register your own version of the app in both the Apple Store and Play Store. For Apple apparently this is close to impossible so I didn't try.
Nextcloud runs their own server for free, but you have to accept that you'll be sending data via their server. But I've spent the last week hacking away at setting up a Nextcloud in my spare time. Got it mostly set up in a day, then the rest of the time has been trying to get notifications working on mobile. Still not working.
Odoo, I don't think I ever got notifications working.
I have researched other apps: Mattermost does something similar to Rocketchat, using notifications as a sales funnel. Element is similar to Nextcloud, they host their own free server, although I think you can self host that too.
From this experience, I would never try a new app until they have this feature solved, clearly documented, and with proof that it works and isn't a sales funnel.
Can you elaborate on this? I manage a Mattermost instance and there are some features missing from the OSS self-hostable community edition, but notifications seem to mostly work, even on mobile where notification delivery does rely on their gateway
Notion is a tragedy when it comes to export or migration.
I didn’t see any bragging about the exportability of content from this one, but that’s the main thing I look for now.
1. Versioned export/backup which will be guaranteed to work with current Colanode version
2. ..., well-documented
3. ..., with migrations so it's always future-compatible
4. ..., human-readable
I think integrations with any specific other tools should be ezpz if the fundaments are solid!
For import/insert, I guess some cli API with similar properties would be a nice fit.
(Coincidentally I think the above is also what would facilitate LLMs to do a decent job for anyone trying that)
After that, go after your biggest competitor. If people know they have a path back to a familiar shore they're less scared to swim in new waters.
I am trying wrap my head around what they are. The seem to be "docs" on the web. Then they also have this "inline page" feature which is a fancy include. Then have a table insert with a relation feature. Then they have a dynamic view layout engine on a table.
Unfortunately, this is quite difficult to search for, but it might give you some leads.
The page has a link "Pricing" that takes to a page that says its coming up.
Well I will wait and see what and how the pricing structure will be revealed.
It is a product that easily lends itself to being a "little vit free and open source" and then all the for profit add ons are $$$$$ and not open sourced .
Is SSO implemented or planned in the near future? I feel that colanode would be a great fit for our start-up
Is the Electron app a necessity or is using a browser possible as well?
Can recommend, it’s a fun challenge :)
An issue I’ve had with Huly self-hosted is upgrading, which is very hard because it is not documented (as far as I know).
How are upgrades handled on your project?
I can see how it can work, using a native application client to interface to something like develops or jira and then bolt on instant messaging (or the reverse).
The question is, can I get a company to open their wallets for this? From experience, I think not, but i am open to being convinced.