Show HN: Anytype – local-first, P2P knowledge management
184 points| sharipova | 2 years ago |anytype.io
Anytype fulfils the seven ideals of local first software from here - https://www.inkandswitch.com/local-first/ , our team felt these things are important to all of us:
• No spinners: your work at your fingertips. Anytype keeps the primary copy of each space on the local device. Data synchronization with other devices happens quietly in the background - allowing you to operate with your data at your fingertips.
• Your work is not trapped on one device. Users can easily work on different devices. Each device keeps data in local storage, synchronisation between devices happens in the background using CRDTs to resolve conflicts.
• The network is optional. Everything works offline. Data synchronization need not necessarily go via the Internet: AnySync allows users to sync data via local WiFi networks. Still, there is a role for the network - it works as additional backup, helps with peer discovery and especially solves the closed-laptop problem (you made changes on laptop, when your phone was offline, the changes can either sync when both devices are online or via backup node).
• Seamless collaboration with your colleagues. Achieving this goal is one of the biggest challenges in realizing local-first software, but we believe with CRDTs it's possible. AnySync supports it & we will release multiplayer version soon.
• The Long Now. Because you have a local-first application, you can use it on your computer even if the software author disappears. This is also strengthened by open data standards and open code.
• Security and privacy by default. AnySync uses end-to-end encryption so that backup nodes store encrypted data that they cannot read. Conflict resolution happens on-device. The keys are controlled by users.
• You retain ultimate ownership and control. Users control encryption keys; there is no central registry of users (we don’t ask even your email). We added an option to self-host your backup to support full autonomy of users from the network.
sharphall|2 years ago
I don't know if I can get past the faux-open-source-community appearance, however. In particular, there's an invitation to contribute to the project, and I don't understand why I would sign a CLA to give unlimited license for unpaid contributions to an "association" which will only share that contribution back with the community in a restricted way, that they can also modify to their choosing at any time.
Presumably, most or all of the "contributors" on the contributors page are employees.
2color|2 years ago
I think the fact that local-first P2P apps cannot be built directly on the web is a shame, some of the building blocks, like WebRTC are there, but browsers still lack some APIs to allow for more bottom-up innovation and experimentation with new protocols in the browser.
diggan|2 years ago
Seemingly they felt it was necessary to write their own network layer and more as stable identifiers and logic for merging documents was too complicated to put on top of IPFS:
> We also considered using IPFS, but its approach to content identifiers didn’t meet our use cases. While IPFS could address our requirements for hybrid networking, it uses CID to describe documents, and this CID changes with each modification. However, we need documents to have stable identifiers for linking and other purposes.
> Creating stable identifiers and implementing logic to merge different document states on top of IPFS would be too complex, so we chose a straightforward approach.
Not sure I understand correctly. They found the data model of IPFS not good enough, so they ended up using the data model provided by IPFS in the form of IPLD, but the things they weren't against (the networking layer) were the things they wrote themselves?
Surely I must misunderstand something here.
dboreham|2 years ago
orthecreedence|2 years ago
A few things bugged me about it:
- It's a source-available license.
- You can't share with others (yet) even though they promote this as a feature.
- They call it e2e encrypted, but all your data lives unencrypted on-disk. In other words, it's encrypted in transit but not at rest. Anyone/anything that can read my hard drive can read all my private data. For me, that's too big of an attack vector.
That said, I think the interface and utility of the tool are amazing. It's kind of like if you mixed Notion with some kind of personal database. I really enjoyed using it and the sync between my devices worked great...not sure about the p2p aspect since they seem to have centralized syncing servers and whatnot, but I'm assuming there's the option to go p2p if you really want to.
Knowing all this, I'm rebuilding Turtl as a p2p system, Notion-like editing, and the same open source license as before =]. Anytype definitely inspired me. It's a really cool player in this space.
pronkin|2 years ago
On the p2p topic: Our protocol is p2p and it's already working well in local networks. You can experience the magic yourself: install Anytype in local mode, create a space, and fill it with some data. Open the mobile app and log in with the same phrase, and your data will be synced without any central server, immediately! Isn’t it magical? The network is needed for backups and to solve the closed laptop problem. You can always self-host a network. We believe it's important to give people the ability to be free from a service provider
On the topic of e2e encryption: All your data in Anytype is encrypted at rest; only the indexes of this data (which are created and used locally) are not encrypted. We have plans to also encrypt the indexes. Currently, we assume that the majority of users employ full disk encryption, and if your machine is compromised, it is likely that malicious software can read memory and, therefore, access the keys. Could you please elaborate on the significant vector of attack, so we can consider this case?
Regarding the license, we have covered our logic here: https://blog.anytype.io/our-open-philosophy/. We are passionate about open source, and for some projects, it’s the only viable option. That's why our AnySync protocol and data format are MIT licensed. The clients are currently under a source-available license, as we are still exploring ways to make the ANY association and contributor ecosystem sustainable. Still researching…
Thanks for your kind words towards us and congrats on your progress!
eternityforest|2 years ago
So far SyncThing is the best P2P system I've ever seen, I wonder how hard it would be to just make their engine into an embeddable component and use that, so we could keep notes in plaintext folders.
monkeydust|2 years ago
It's polished so well done and the p2p / e2e aspects are novel but it's too heavy and complex for what I need a bit like Obsidian.
I personally find a lot of these note taking apps relish in the act of note taking itself and lose the purpose of the note itself, which for me, is to drive forward intent.
With that in mind I have started to play with Heynote from recent HN post a few days ago (https://news.ycombinator.com/item?id=38733968).
Its pitched as a scratchpad for devs, for me it's like notepad on steroids and more suited to my needs where notes are transitory things I store to help me get from A to B to C...
thecupisblue|2 years ago
And that is the complete opposite of how I use notes - as notes. Just a place to write stuff down and get back to it later.
Wish there was an app that organises them for you - instead of me having to do all the work - but it seems like all these "superproductive knowledge base gigachad note-taking apps" are made to waste more time on "productivity" procrastination of setting things up instead of actual "lets help the user" part.
Edit:
Also, if someone from Anytype is reading this - can you have a "clear space" button or something? After creating my Personal space, it is filled with "tutorial" stuff. I don't want it. I don't need it. It's distracting and completely killing the vibe that instead of using the app as I want, first I have to delete all your pre-defined tutorial stuff, one by one.
adhamsalama|2 years ago
pronkin|2 years ago
Yes, we are aware that there is a steep learning curve before you reach the point where you feel it's worthwhile. It's absolutely true that if you need a tool solely for note-taking, Anytype might not be the best option. We envision Anytype as a tool for knowledge management and communication (we're launching multiplayer early next year). One of our biggest internal projects is to simplify the user experience. With each new release
CrypticShift|2 years ago
Commendable breadth in your vision ! but might I suggest going more... atomic? As someone who leans towards outlining, your "tasks" type caught my attention. Ideally, I wish each block could behave like an object in a similar fashion. While transforming blocks into objects is possible, it somewhat defeats the purpose of an outliner's "bird's eye view."
I also doubt the feasibility of centralizing all your personal knowledge in one app; there's a corollary to this. I consistently find myself in need of a "merge feature." The larger the database becomes, the more crucial this feature is.
pronkin|2 years ago
We also have plans to develop a simpler local API and a local AI helper that will be able to assist you with import/export tasks in ways you might think of
orthecreedence|2 years ago
mkl|2 years ago
Unfortunately the usage restrictions of the non-open-source licence make it a no-go for me. Can't use it for anything that could potentially facilitate "any transaction of economic value", which removes most of the utility of such an app.
pronkin|2 years ago
The license is somewhat vague. Essentially, it means you can use the software as a tool for your revenue-generating business. You have the option to use it for free if you self-host. Alternatively, you can choose a paid membership in our network, which eliminates the need for you to handle maintenance. The license specifically restricts selling the software to others without ANY coop consent.
csbartus|2 years ago
This space (Notion & co) is extremely crowded. If a player invests heavily into UX, from the start, that signals they are in the long run. Confident, at least.
Subscribed to the newsletter and wishing the best for the company to deliver good news.
dang|2 years ago
Anytype Desktop 0.37.0 Released - https://news.ycombinator.com/item?id=38772317 - Dec 2023 (1 comment)
Anytype – local-first, P2P Notion alternative - https://news.ycombinator.com/item?id=36799548 - July 2023 (273 comments)
Anytype. FOSS Notion Alternative - https://news.ycombinator.com/item?id=34167322 - Dec 2022 (7 comments)
Anytype: A local, privacy-first Notion alternative - https://news.ycombinator.com/item?id=31542354 - May 2022 (41 comments)
Show HN: Anytype – an offline-first private alternative to Notion - https://news.ycombinator.com/item?id=24921137 - Oct 2020 (12 comments)
Show HN: Anytype – self-hosted open-source operating environment - https://news.ycombinator.com/item?id=21983381 - Jan 2020 (32 comments)
hammyhavoc|2 years ago
epoch_100|2 years ago
- Typography is a bit weird, especially with headings; there is very little line height on headings, leading to cramped documents.
- Bullet points look weird when you look closely at them. (On Mac, they’re not perfectly circular; perhaps an aliasing issue.)
- Can only use cmd+b and cmd+i for bold and italic when selecting text; can't use them to switch on/off boldness on the cursor.
- Can't specify type when creating a new object with the @ symbol inline (Capacities, a related tool, does).
- Bullet points flicker when you first create them.
- Linking inserts a space even when you don't want it, as does formatting using markdown characters (e.g., providing the closing ** in italics.)
- Relatedly: Entering closing markdown characters (e.g., the second **) does not end the formatting effect (the cursor should not have the formatting applied after they're entered, but it does).
Anytype is overall a fairly polished app. I hope they’ll iron out these editing issues — when they do, it’ll really be exceptional.
pronkin|2 years ago
jweissman|2 years ago
pronkin|2 years ago
maelito|2 years ago
I need two things : - infinitely nested task lists (also called infinite outliners) : dynalist, workflowy - markdown notes : notesnook, obsidian, notion, etc.
After drowning myself in all these tools and their respective small drawbacks, and also trying anytype which lacks basic things like share a document online, I finally went for local markdown files synced with git, using vim as my editor, and an extremely small deno server to publish my markdown notes (some listed, some not). On mobile, I decided to use gitjournal.
For my non-developer friends, and also those that don't care about using non-open source software than might get bought by microsoft in 1 year, I can understand the appeal of notion.
If anytype can provide an open-source local-first alternative to notion, it would be beautiful.
mosselman|2 years ago
Apart from that I am so excited to try it this holiday
limandoc|2 years ago
[1] https://drive.google.com/drive/folders/1lOIfGaXKbymw7fQXjwBh...
als0|2 years ago
xrd|2 years ago
pronkin|2 years ago
rubymamis|2 years ago
I’m developing Plume[1] which has a similar advanced block editor but since it’s built with Qt C++ and QML, is very performant (more so than comparable native apps!).
EDIT: Some work in progress: https://imgur.com/a/LwitrHe
[1] https://www.get-plume.com/
pronkin|2 years ago
There is significant room for improvement, and we're already steps ahead in this area with our native mobile clients that sync peer-to-peer. Try our Android app and see for yourself. I hope that within the next three years, we'll excel with native desktop applications as well.
The value proposition of Plume looks good; I've left my email.
CrypticShift|2 years ago
If the outlining experience is good enough (drag/drop, collapse...), I will definitely try Plume for "light/fast" note-taking.
quickthrower2|2 years ago
manyty|2 years ago
hawk01|2 years ago
jelsisi|2 years ago
sharipova|2 years ago
bosky101|2 years ago
2) I did find docs, wiki on the website. Was that created by the same tool?
pronkin|2 years ago
NetOpWibby|2 years ago
unshavedyak|2 years ago
pronkin|2 years ago
LunarAurora|2 years ago
[1] https://help.remnote.com/en/articles/6022755-basics-of-space...
uhoh-itsmaciek|2 years ago
v3ss0n|2 years ago