6 ms·
Making an excellent product is hard, but what is really hard, is maintaining it for years and decades afterwards. Maintenance, addition of new functionality, b
by inglor_cz 3y ago
Making an excellent product is hard, but what is really hard, is maintaining it for years and decades afterwards.
Maintenance, addition of new functionality, bugfixing, porting to other platforms etc. takes easily 10x-50x time than the initial release, and eats the vast majority of the developers' time and energy.
This is where "not being paid for your work" translates into abandoned projects.
- pmontra 3y agoThe traditional way to fund maintenance was to release a new and better version of the product. Example, all the releases of the various office suites from the days of MS-DOS up to Windows up to the cloud. If sales decline, sell to a competitor (good timing required) or close and switch to something else. A company that paid salaries for 5-10 years is still nothing to be ashamed of. In the case of Apple, keep selling new hardware. I can't remember if they ever sold their software in the first years of Macs or if it was bundled with the hardware.
- AlexandrB 3y ago> I can't remember if they ever sold their software in the first years of Macs or if it was bundled with the hardware. In the early OSX era they used to sell their office suite separately. Eventually it got bundled with hardware for free. They still sell some software, like Final Cut Pro.
- MichaelZuo 3y agoPlenty of people are using copies of Word, Powerpoint, and Excel 2003 just fine, which received literally zero 'maintenance' for at least a decade or more depending on personal preferences. For most software that can be sold in a box, without an attached cloud service, this approach works. EDIT: Also some fraction would be using them on computers that literally haven't been upgraded or connected to the internet for a decade or more.
- masukomi 3y agoif you think those aren't receiving maintenance you're not paying attention or are ignorant as to how hard it is to keep a complex app compiling as operating systems move forward. Not receiving new features is VERY different from not receiving maintenance. It is wholly implausible to believe that there has been zero energy spent on keeping those codebases working in the past 10 years.
- MichaelZuo 3y agoI'm not sure what to say to this... you can just buy an old copy of Office 2003 on eBay, an old Windows XP computer, and boot it up and try it out? You don't have to believe me, I imagine practically every reader on HN has the means to verify this for themselves.
- j1elo 3y agoThat kind of rethoric doesn't fly too far... Your original point was > Plenty of people are using Word, Powerpoint, and Excel 2003 just fine Are you claiming that a reasonable majority (for the sake of discussion) of this plenty of people are using Office 2003 on Windows XP machines?? I'd doubt it. More like there's plenty of people using old software in modern versions of Windows. The maintenance work, of course, exists and has been done indirectly, by Microsoft, in the development iterations of Windows itself.
- MichaelZuo 3y agoIf you also include Windows 2000, Vista, and 7 computers that weren't updated in the last decade, I think that would be a sizeable fraction of all Office 2003 users in 2023. Whether or not they make up the numerical majority of all extant users is simply irrelevant to the point of 'Plenty of people'. It's easily many, many, thousands.
- yread 3y agoSure you can do that. But look at the list of 60 vulnerabilities with score 9+ that you're exposing yourself to: https://www.cvedetails.com/vulnerability-list.php?vendor_id=26&product_id=320&version_id=394378&page=2&hasexp=0&opdos=0&opec=0&opov=0&opcsrf=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opfileinc=0&opginf=0&cvssscoremin=9&cvssscoremax=0&year=0&month=0&cweid=0&order=1&trc=60&sha=2a9933260beea2971b7d4507d07e532b4184f48d https://www.cvedetails.com/vulnerability-list.php?vendor_id=... So you can try it out but don't open any documents, or run it while connected to the net. You'd better also not insert any images. Have fun! We could also have a post "World where bad people don't try to break your software"
- XCSme 3y agoCompletely agree. Nowadays, software is different from the CD era, where you bought a game/software and that was it. Nowadays, people expect the software to be maintained, kept up to date and always compatible with the latest changes (new OS versions, compatibility with other software, etc.). Maintenance is the high cost of software, not building it. This is why I sell my products with a perpetual license but with paid yearly updates. I can not work for free indefinitely as all the "lifetime" licenses promise.
- AlexandrB 3y agoI think there are a few interesting threads to pick at here. First, some of these problems are created by software developers themselves. In particular, shoving in an online component where one doesn't need to exist basically guarantees that you will have recurring costs and the need for constant maintenance. Second, Microsoft is much more careful about maintaining backwards compatibility than Apple. I can generally fire up 10+ year old software on Windows 10, no problem. The same is sometimes true on OSX/iOS, but often not. The increasing popularity of Apple products and the lower priority they place on backwards compatibility has definitely made developers' lives harder. Having said all that, I don't think everybody expects constant updates. I think power users, especially, are used to running what works for them for long periods of time. You probably can't build the next Google on this, but a lifestyle business? Certainly. Just look at Pinboard and it's lack of enhancements or UI overhauls - and that's an online service.
- grishka 3y agoAn excellent product doesn't need maintenance if it doesn't rely on any online services. Once it's done, it's done. It does everything it needs and nothing it doesn't need. Engineering projects usually have a finished state. Software engineering is no different, no matter how much the industry wants you to believe otherwise.
- steveBK123 3y agoCompletely incorrect. Underlying hardware/OS/firmwares/JVM/etc change. Dependencies break. Security updates. Etc. Engineering projects usually hand off maintenance to their owner. Your house/car need maintenance. Your cities roads/bridges/tunnels need maintenance. The difference with software is that maintenance is done by the producers as they own the code.
- grishka 3y ago> Underlying hardware/OS/firmwares/JVM/etc change. OSes also can be "excellent products". They don't need yearly updates, there's nothing inherent to them that would prevent them from being made perfect, finished and never updated again. The only case when an otherwise perfect OS would truly need to update is when new hardware capabilities require OS-level changes to support. Sometimes it may be beneficial to expose these new hardware capabilities as APIs for apps to consume. But again, adding new APIs shouldn't break the existing ones. For example, on phones, this would include things like notched screens, fingerprint readers or multiple rear-facing cameras. > Dependencies break. Don't update dependencies. Pick one version that serves you well and stick with it forever. I'm serious. > Security updates. It seems like we've already realized that writing code that deals with complex data structures received from untrusted parties in memory-unsafe languages like C is a terrible idea. If you exclude memory safety vulnerabilities, the attack surface shrinks drastically. You'd run out of security vulnerabilities pretty fast if you'd have any to begin with. > Your house/car need maintenance. Your cities roads/bridges/tunnels need maintenance. Houses, cars, and road infrastructure are made out of atoms and exposed to elements and stress of our imperfect real world. They wear out. Code doesn't. In 100 years, the bits would be the same they are today (as long as you use a reliable enough storage medium).