top | item 38794733

Show HN: Anytype – local-first, P2P knowledge management

184 points| sharipova | 2 years ago |anytype.io

Anytype is built on the open-source AnySync protocol: a local-first protocol based on CRDTs. Users of Anytype can create spaces - graph-based databases with modular UI. Each space has unique access rights. Today, Anytype's beta is in single-player mode. Multiplayer mode, which will support local-first collaboration between multiple users, will be launched in the first half of 2024.

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.

82 comments

order

sharphall|2 years ago

I installed the app on my phone and laptop, and this seems extremely cool after playing around with it for a little bit.

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

As someone who's been active in the IPFS community, it's really exciting to see how Anytype uses content addressing to manage and sync data under the hood (https://github.com/orgs/anyproto/discussions/15).

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

TLDR for others: Anytype is using IPLD (https://ipld.io/), which is a project that came out of IPFS, but Anytype doesn't use IPFS itself (nor libp2p, or multiformats).

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

You could make a chromium fork with the server-required measures disabled but so far nobody has succeeded in finding a business model to fund that long term.

orthecreedence|2 years ago

I found Anytype a few months ago and thought "wow maybe I can ditch Turtl (I am the creator) and just use this."

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

Thanks for your input.

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

Turtl is gonna be P2P? That's exciting! Maybe we'll finally have a Google Keep killer.

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

Tried it.

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

Got the same feeling - this is designed for people who turn taking notes into a _thing_ in itself. The productivity nerds. Linking their notes, categorising, organising, diligently making sure their knowledge base is up to date.

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

Try SiYuan Note. It's like a mix of Notion and Obsidian, but open source and local-first.

pronkin|2 years ago

Thank you for taking the time!

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

Previous (recent) discussion : https://news.ycombinator.com/item?id=36799548

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 definitely plan to enable effortless transformation of any block into an object, for example, by adding a tag to it or simply by mentioning it in another object 'transclusion'.

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

What do you mean by a merge feature?

mkl|2 years ago

The screenshots seem to disable zooming on mobile. Please don’t do that.

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

Thanks for the feedback about the screenshots! We'll get that fixed.

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

Finally, a well designed product site !!!

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

Related:

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

Is it not source-available rather than open-source?

epoch_100|2 years ago

I use Anytype and like it. I do hope they’ll invest more time into the editing experience — there are a few sharp edges that will probably alienate people coming from more mainstream tools like Google Docs and Notion:

- 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

Screenshoted it for the team. We’ll fix these. Thank you!

jweissman|2 years ago

Longtime user too and overall it is great. The local first speed is hard to beat. The open core model is interesting too. But yes the writing experience is sometimes a bit messy, copying is sometimes awkward. There’s an annoying bug in the iOS client where you have to reopen the app to play a different audio file, which is not awful but a bit grating.

pronkin|2 years ago

Big focus for the next year to smoothen an experience. Thank you for being with us. I’ll check about this annoying bug on Ios.

maelito|2 years ago

I've just been recently through a long reflection about the tools I use.

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.

limandoc|2 years ago

I am working on a very similar app but focusing specifically on the knowledge diagramming aspect of it - basically like a drawio/miro/mural but offline first and with extensive support for markdown or LaTeX. My target groups are PhDs and researchers although any “system builder” will find it helpful to build diagrams with documentation and file support. I am at a very early stage now - building the UI part; in the future, I plan to make it truly p2p with elements of Obsidian Canvas.

[1] https://drive.google.com/drive/folders/1lOIfGaXKbymw7fQXjwBh...

als0|2 years ago

Love the design on this site and very much welcome the return of serif fonts.

xrd|2 years ago

At Strange Loop this year, there was a local first unconference the day after. I got introduced to odd.sdk and dxos. Those are also worth looking at. Exciting things happening in this space.

pronkin|2 years ago

odd.sdk is stellar for Web based apps, great team behind!

rubymamis|2 years ago

Anytype is extremely slow and a resource hog, similar to its other Electron counterparts, as can be seen on a benchmark I did.[1]

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

I wouldn't say it's extremely slow. While benchmarks can be useful, they often don't align with real-world experiences. What exactly are you comparing? Is it just rendering time? Have you considered a user's workflow, which might involve navigating through several pages or objects? In reality, we've attracted many users because they find 'Notion' to be slow, and many appreciate the speed of Anytype. Based on this, I believe it's not fair to give Anytype the same rating as Notion in your diagram. Also, I would assign a higher rating to Bear and Craft; their desktop apps are faster since they are native.

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

What sets Anytype apart as a local player is its notion-style databases, and I believe it is unique in that respect.

If the outlining experience is good enough (drag/drop, collapse...), I will definitely try Plume for "light/fast" note-taking.

quickthrower2|2 years ago

Is this like a local-first Notion? Might be worth describing it like that, as it took me some time to figure out what it is (I needed the HN description here to figure it out).

manyty|2 years ago

Local first as well as peer to peer with benefits for speed and security.

hawk01|2 years ago

I've been using Any type for a while now, the last time I checked it was not easy to self host the servers, also you're locked in to the ecosystem and format the exported markdown doesn't contain all the data. That being said I like the offline first and beautiful ui and a decent product

jelsisi|2 years ago

This looks like a beautiful product, but why are there so many note taking apps? It seems like way too much energy is being put into this space.

sharipova|2 years ago

While note-taking is cool and is one of the main use cases that anytype is used for today, we don’t place ourselves into the note-taking category. What we are building is a local first superapp (don’t like this word, but can’t find a better analog) - anytype aims to give powers of a flexible interface (a graph data-base with modular UI) and collaboration and communication capabilities based on local-first ideals. The aim is for users to build their own software from building blocks while this software is local first (not cloud). Also, we expect our community to contribute new data types, new plugins and new views. What is released needs to show what is possible.

bosky101|2 years ago

1) is it accessible via a browser. Your screenshots and download section indicates 3 os installers.

2) I did find docs, wiki on the website. Was that created by the same tool?

pronkin|2 years ago

1) We don’t offer a browser version. Instead, we have an Electron-based cross-platform app that works on Windows, Linux, and macOS. We also have two native mobile apps for iOS and Android. Creating a browser version is challenging for us because our business logic and local database rely on a middleware library written in Go. Currently, the only feasible approach is running it in WebAssembly (Wasm). We hope to make a browser version available in the future. 2) No. It’s not build with anytype, as we do not have a web version:)

NetOpWibby|2 years ago

I don't like how notes look, which are how I'd use this primarily. I also wish I could put tags in my notes and Anytype would use them.

unshavedyak|2 years ago

Does it have the ability to do any sort of spaced repetition? I need my knowledge stores to help me retain the things I want to retain.

uhoh-itsmaciek|2 years ago

Why did you decide to build AnySync, rather than using Automerge or Yjs?

v3ss0n|2 years ago

its not real opensource