The conversation

Lessons learnedExperience excerpt · English

This isn’t feasible

… This isn’t feasible. Last I tried to support old systems on my app, the vendor (Apple) had stopped supporting and didn’t even provide free VMs. Windows 10 is scheduled for non-support this year (afaik). On Linux glibc or gtk will mess with any GUI app after a few years. If Microsoft, Google and Apple can’t, why the hell should I as a solo app developer? Plus, I have 5 platforms to worry about, they only have their own. > Touching files on a user's system should be treated as a rare special occurrence. Huh? That’s why I built an app and not a website in the first place. My app is networked both p2p and to api and does file transfers . And I’m supposed to not touch files? > If a server is involved with the app, build a stable interface and think long and hard about every change. Believe me, I do. These changes are as scary as database migrations. But like those, you can't avoid them forever. And for those cases, you need at the very least to let the user know what’s happening. That’s half of the update infrastructure. …

Original discussionHow to gain code execution on hundreds of millions of people and popular apps319 source comments · at import
2

What was this responding to?

Parent context · original excerpt

RA

How about we don't build an auto-updater? Maybe some apps require an extremely tight coupling with a server, but we should try our best to release complete software to users that will work as close to forever as possible. Touching files on a user's system should be treated as a rare special occurrence. If a server is involved with the app, build a stable interface and think long and hard about every change. Meticulously version and maintain everything. If a server is involved, it is completely unacceptable for a server-side change to break an existing user's local application unless it is impossible to avoid - it should be seen as an absolute last resort with an apology to affected customers (agree with OP on this one). It is your duty to make sure _all_ of your users are able to continue using the same software they installed in exactly the same way for the reasonable lifetime of their …

Full original

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 2

Direct replies available in this import. Original-language excerpts.

RA

> file transfers. And I’m supposed to not touch files? I'm pretty sure you know what I meant, it's obvious from context. System program files. The files that are managed by your user's package manager (and by extension their IT department)

Full original
AC

> This isn’t feasible. Last I tried to support old systems on my app, the vendor (Apple) had stopped supporting and didn’t even provide free VMs. Why do you need "free VMs" as a professional software company. A couple of legacy machines is pocket change comparet to the salary of even a signle developer. > Windows 10 is scheduled for non-support this year (afaik). So? People are still releasing new software for XP. It's not that hard. > On Linux glibc or gtk will mess with any GUI app after a few years. glibc provides extreme long-term backwards compatibility so isn't a problem as long as you build against the oldest version you want to support. gtk is a problem but also doesn't change as often as you are implying - we are only at version 4 now. And depending on what software you are building you can also avoid it. > If Microsoft, Google and Apple can’t, why the hell should I as a solo ap…

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.