News for hackers. Stuff that matters.

bashtian

I just added Google Drive support to the Capsule Web app, which supports reading and writing capsule files. More cloud providers and features are planned, along with integration into the desktop app.
Thank you for providing such a concrete use case, this is exactly why I created Capsule in the first place. I will add support for APIs without CORS in the next version of the app.
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.
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.
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.
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.
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 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
The problem is that you can't save the user data in way that you can click a single file, similar to a Word or Excel file. I you think a about it, a Excel spreadsheet is also just UI + data in a single file.

Show HN: Capsule – Single-file web apps that save their data into SQLite

https://withcapsule.app/

Hey HN,I always had the problem that building HTML pages is really simple now, but trying to save data required hosting it somewhere, and sharing it afterwards was not easy. Over the last few months, I've been building an app called Capsule (it’s also the file extension name) written in Rust with Tauri 2.0 that allows packing an HTML app and its data into a single SQLite file.The HTML file and...

( Read More... | 167 comments | 112 points | on HN )
Re:Show HN: Make an app by adding JSON to this app on Saturday November 05, 2016 @09:17AM (#12879643)
I had a similar idea and started with an android app [1] for creating an app template with a simple interface directly on the device. It's not as powerful as this, but maybe I can implement basic support for these templates. But right now this would be only like a viewer and not something that can be used for own apps, not sure how useful that could be.

[1] https://play.google.com/store/apps/details?id=com.bashtian.a...

Re:UnrealCV on Wednesday September 14, 2016 @04:39AM (#12495020)
I thought about something like this for autonomous cars. The game engine could simulate all the sensors in a car. Then it would be possible to use this as training data. Would be fun to create a racing game out of it to let different algorithm compete against each other. Does this already exist? Google should have something like this, but probably not freely available.
I did something similar for Go and Java. It's simpler if you don't need the whole API, but of course not as powerful. https://github.com/bashtian/jsonutils