Live data from Hacker News

Porting a 100% local app to the web

actualbudget.com

1–10 of 81 posts

Re: Porting a 100% local app to the web

#2
It was interesting to read the stated advantages of each platform:

For web:

    * Easy deployment
    * Better conversion rates (no installation)
    * Easier login flow, support, a/b testing
For desktop:

    * Better tech (sqlite3 in this case)
    * Super fast
    * User owns the data
What struck me is that the advantages of the web are primarily sales and developer advantages and are focused around the novice user experience. Whereas the advantages of the desktop are primarily user-centric and affect the long-term or power users.

I'm not sure this is generalizable to all web apps, but perhaps this distinction is why I always feel unsatisfied with the web app experience. I'm always happy to learn shortcut keys, tweak settings, and otherwise speed up the experience of apps I work with frequently. Basically I like being a power user. Web apps rarely cater to this desire and it feels like being stuck in perpetual "novice" mode.

Edit: s/mobile/web

Re: Porting a 100% local app to the web

#4
As much as it seems the general tone of HN is firmly against having the File System APIs in browsers it really is the bridge that enables truly offline webapps to work. The fact that the only consistent persistence story is to send your data to a server you don’t control makes everything harder.

If we want users to really own their data we have to give webapps somewhere to put it that’s in the user’s control.

Re: Porting a 100% local app to the web

#5
post #3

Interesting app, how does it compare to YNAB?

The only thing similar is how the budgeting system works, and even that is going to change soon. Soon you'll be able to choose between a zero-based budget or a simpler report-style budget that just shows income vs expense (and provide some features help track things).

There's also the big difference that the app is local and we provide end-to-end encryption.

An example of a feature that YNAB doesn't have at all is custom rules: https://actualbudget.com/docs/other/rules/

Re: Porting a 100% local app to the web

#6

It was interesting to read the stated advantages of each platform: For web: * Easy deployment * Better conversion rates (no installation) * Easier login flow, support, a/b testing For desktop: * Better tech (sqlite3 in this case) * Super fast * User owns the data What struck me is that the advantages of the web are primarily sales and developer advantages and are focused around the novice user experience. Whereas the…

I think you meant "For web:" instead of "For mobile:" (I'm talking about desktop for both web and native)

Yep, I think you're right. By default the web sandboxes you into a naive client. I'm hoping to change that with still doing everything locally.

Re: Porting a 100% local app to the web

#8
We ported our game development software Construct [1] from a Windows desktop app to the browser in 2017, and haven't looked back since - it's been great!

The approach of "local app in the browser" works very well and is underrated IMO. It's the approach we use too - everything is downloaded via a Service Worker for offline support, and it's very responsive as nothing needs to wait on the network, unless the user chooses to (e.g. saving their work to Google Drive).

Chrome 86 also introduces the File System Access API [2] which is the icing on the cake - you can get read/write access to actual local files and folders, bypassing any issues about IndexedDB limits or persistence. I think this is one of the last pieces of the puzzle to make tools like Electron and NW.js more or less redundant, as now you can just do it directly in the browser and not have to ship the whole runtime around to everyone as well.

[1] https://www.construct.net [2] https://web.dev/file-system-access/

Re: Porting a 100% local app to the web

#9

We ported our game development software Construct [1] from a Windows desktop app to the browser in 2017, and haven't looked back since - it's been great! The approach of "local app in the browser" works very well and is underrated IMO. It's the approach we use too - everything is downloaded via a Service Worker for offline support, and it's very responsive as nothing needs to wait on the network, unless the user choo…

Looks awesome!

Re: Porting a 100% local app to the web

#10

WASM sqlite3 in the browser because of complex SQL queries? Why not just use PostgreSQL and refactor to make API calls with GraphQL or something? I feel this simple app is too over engineered.

I think you misunderstood what they were doing here, because that would violate the entire purpose of storing the data locally.
Post reply on HN