Hacker Newsnew | past | comments | ask | show | jobs | submit | bashtian's commentslogin

There are a few things in Capsule to avoid corruptions of the file during syncing. The DELETE journal mode is used and writes are batched into transactions so that updates are always complete changes. And if there is a copy created because of a conflict merging two capsule files is supported.

Merging works already but is a little bit hidden under the data editor function in the Capsule edit menu. Currently the last record update wins, but a merge UI is planed to do manual conflict resolving.

I'm currently 50/50 on open source the full app vs just the spec. Since I'm currently having a strong idea of what features and functionality is still missing I feel that open-sourcing right now would distract to much in this phase. But maybe when the main features are done it would make sense to have more people looking at and improving it.

Do what you feel is best for this project and good luck :)

Each document record is saved with UUID and timestamps. When deleting a record the data is removed but the record keeps a tombstone so only the ID remains. For conflicts currently the newest one is used, but there will be a merge like UI in the future to confirm which one to use.

This is for local document like apps. Tauri is actually using the OS webview instead of bundling Chromium like Electron. That's why the download is only 10MB for Mac.

i like that idea. Anything that improves native OS UI, responsiveness (120hz) and reduces resources is a good idea.

The HTML files does not have any permission to access anything on the file system. Ideally the whole app will be running inside a sandbox on desktop, for mobile apps this will be the default anyway.

For saving data in the capsule file it would create complexity regarding migration handling when updating the HTML file to add a field to a form for example. Keeping the data schemaless makes it also easier for merging data or importing data from a CSV.

Doesn't indexedDB have builtin migration mechanism?

>Keeping the data schemaless makes it also easier for merging data or importing data from a CSV.

Not sure how it makes easier. There is always an implicit or explicit schema. IMHO explicit is often better.


The problem would be cross-platform support. In the end the capsule file is the standalone binary similar to a PDF or a Word document, you only need the viewer app to open any capsule file.

you can trivially bake X binaries if you have the viewer app for each platform. This is the normal way to distribute software for cross-platform support.

I might just be hyper-defensive to any sort of vendor lock-in like a "viewer app".


If you want to distribute apps to many users this would probably be a better solution. The main benefit of Capsule is the personal document like app. You create a capsule, move it to an USB stick, save it in your cloud storage and it's still the same document. Nothing has changed, not the UI, not the data. The document will stay the same.

If it’s web native, anyone can just use it. If it’s a capsule, they first need to download the capsule app to associate the file extension with the OS and have it launch, right?

That feels like a big barrier, almost like a Java runtime.


In defense of capsule, the Filesystem API is janky and has kind of shit UX. Less sophisticated users would probably prefer the UX of a purpose built tool.

I prefer worse UX for the sake of standards and zero install, but many people would prefer the opposite. I don't think Capsule is intended for the HN crowd.


how is a filesystem supposed to prevent you from doing that?

If try to do data management in Excel or need to download an app just to save some recipes, this could be an alternative. For example you can track time and billing with a nice UI without requiring a SaaS subscription. You can try some examples in https://withcapsule.app/preview

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: