Oddbean new post about | logout
 I've you've ever wondered why the maintenance phase of software produces is longer and more-expensive than the production phase, just look at the slow, steady decline of Nostr clients, that aren't regularly maintained and updated.

Anyone who thinks this is harder to do with Nostr, than with legacy systems, I have a bridge 🌉  to nowhere to sell you. 
 maintenance is often overlooked in most things. it's not typically fun or glamorous, but proper maintenance is crucial in all systems.
it's one of those things that no one pays attention to until it's not working. 
 100%, every now and then unmaintained features should be dropped  
 is software that forgiving - serious question - maintenance is key irl 
 it depends ! some older software that doesn't add many new features anymore and exists in a stable ecosystem doesn't need that much maintenance, they have clearly defined scope and rarely a new bug is found

on the other hand, nostr is evolving super fast, clients are not that stable, and there's a culture of "everyone wants to write their own" so people jump ship all the time, so projects won't reach that stage 
 t-y laanwj!    ^this is helpful & encouraging.   
 makes sense! 
 I understand why maintenance is often low priority, as it's one of those things that no customer wants to pay for or wait for, but if you don't do it, those same customers will totally trash you.

My general impression is that the customers who insist you don't need to take the time to do maintenance, are the first people to bail, when the system goes to pot.  The ones who were asking you to clean stuff up were actually emotionally invested in the next version. They don't want to switch. They want this product tidied up. That's why they're frustrated and whining at you.

It's like with wives. The one who occasionally nags you, probably isn't going anywhere. The one who is indifferent to everything, is preparing to meet up with her boyfriend. 
 gah, i was going to tie this back to relationships, but you nailed it. such a great point.

a good man is always aware of and on top of the maintenance. 
 This is natural in the early days of any ecosystem. First, the ‘Cambrian Explosion’ of a gazillion apps. Then it will settle into a select few. Then someone comes across an unexpected use case that become the killer value proposition.

For the web, it was REST on top of HTTPS

For the next thing (don’t know what to call it) my bet is that it will be CASHU on top of NOSTR

What’s most important right now is that the protocol remain open. 
 No, it's not something specific to the early days. It's just the way things are, if you don't constantly stay on top of it. Software rarely ossifies; it atrophies. Can happen at any time, in any ecosystem. Even happens to really old legacy systems. Probably much worse, in fact, as they tend to have _a lot_ of code to maintain, and they need massive and constant upgrading, to stay working. That's actually where most of the "steady jobs" are, in IT. Revamping COBOL and Powerbuilder stuff, and etc.

I remember the move from MS-DOS and mainframes to Windows and PCs, for instance, and then the leap to the Internet. And then you get your SaaS going, and it still doesn't end. From PHP forms to Angular JS, to React, to Svelte. Get your RDB setup and then it's all NoSQL and... You have to constantly run, just to stay in place. The bigger and more mature your system is, the more work it is to stay in place. 
 Also, I've heard "that's just because it's so new" over and over, for over 25 years. Everything is new, at some point, and everyone uses that as an excuse, but it doesn't get better, later, on its own.

You have to work really hard, to make good software, and you don't save any money by making the software better, later. The earlier you begin, the cheaper it is. The best time to do this is _when it is new_. 
 it doesn't help that there's a lot of nonsense innovation by tech companies to sell new software and hardware and vendor lock-in (how many UI frameworks do we really need?), so everything is always new in that sense, always needing to be ported to some new API or API version

with all that context drift, writing software is like building sand castles, unfortunately, i often wish it'd stop and some things would be standardized
 
 TBH, I think nostr stumbled onto an entirely new conceptual model that we are only beginning to come to grips with. The big use case is not social media or wikis - it is more elemental than that - it’s about being able to decide solely on your own to trust the data and its origin. 
 I'm sorry, but this is just the Next New Conceptual Model, I've seen. I'm on-board, with helping it get going, but that doesn't mean that I think it is a paradigm shift in basic SW quality assurance.

Nostr products are currently very very easy to maintain. Some of these projects only have a couple hundred lines of code, or even less, and they're already melting down. 
 Let the software melt down. The majority, if not all the software built for nostr is done by self-motivated individuals. They burn out and are single points of failure. The sooner they touch grass the better. Sooner or later, something will click. I am not sure what, but something will. I have my hunches and that’s what keeps me motivated. 
 Yeah, and now we all use standard libraries for every. friggin. thing. so something someone else has written is constantly changing and it breaks your stuff, unless you have tight code coverage. 
 which spreads to reputational risk that can't be fixed as easily.     aka* 
 Shift-left hehe, I like that  ⬅