HACKER Q&A
📣 tonymet

Why are websites and apps still running legacy code?


Now that apps can easily be re-implemented with AI, what is keeping businesses from rebuilding them ? I tried buying tickets with Fandango, and their site is 15+ years old. The ticketing and checkout experience is buggy & leaking tons of money .

I understand Fandango the businesses has many software dependencies & surfaces: web app, mobile, some data feeds, APIs -- lots of custom spaghetti code. I'm not trivializing their business.

Still, the cost to rebuild and deploy is much lower than what they are losing. The rebuild cost would recoup in a couple months.

What's keeping businesses from rebuilding & fixing their apps?


  👤 PaulHoule Accepted Answer ✓
When I worked at arXiv we had a math professor on the advisory board who couldn't believe it took us months to roll out upgrades, like he thought he could code up a site like arXiv in a weekend. And he could, except it wouldn't do all the invisible things that the legacy system does.

Remember the goal here is not "make a demo for a site that looks like Fandango" but would be "make something that's truly better in terms of fit and finish and details and that can be proven better in terms of customer success and engagement metrics". AI might help with that, but it's not going to be something an intern can do in two weeks.

Now I wanted to say "it makes it hard that they have to integrate with external systems such as the partner theaters" but actually I think the API economy has offered a way out of enterprise software complexity, see

https://en.wikipedia.org/wiki/Strangler_fig_pattern

but I think most people don't see it that way. Like my belief is that the main difficulty in the API economy is that 20% of API vendors just don't care how hard the client auth experience is, in fact they have an ideology that the best possible life is

https://www.youtube.com/watch?v=o2ObCoCm61s

but boy have vendors like Zapier really intimidated management into giving up 20 lines of simple Python for a "can't get here from there" nightmare.


👤 Bender
What's keeping businesses from rebuilding & fixing their apps?

I can only speak from my past experiences with B2B. We had many B2B customers running ancient applications that would connect to us and transfer incredibly sensitive data. Getting them to update even a single application was not an option. The application may have been running for decades. The people that wrote it may be deceased or retired. Nobody knows what to do if it breaks so they dare not touch it, stare at it, taunt it or talk about it. It just works and nobody wants to create the crap-storm of creating something new that does not cover all the edge cases as a day of down-time could be millions or billions of dollars lost. Nobody want to be the one that caused that history making moment. Adding to this the application may be reaching out to dozens or hundreds of companies, government agencies, etc... and each organization expects it to work a specific way, yet there is no detailed architectural documents that would allow someone to flawlessly make a new application. Flawless is the key word. If a new thing is not flawless it will be immediately backed out and never spoken of again.


👤 Jtsummers
> The rebuild cost would recoup in a couple months.

This is pretty optimistic. In reality, when money or critical systems are involved they'd want to thoroughly vet the new work and that'll take a lot more than two months.


👤 minimaxir
Rebuilding and fixing their apps costs money and may not have a positive ROI. They will not "recoup the build cost" if it doesn't meaningfully change downstream user behavior.

👤 Rabbit504030201
"ticketing and checkout experience is buggy & leaking tons of money"

Care to elaborate? How much money? I'm intrigued.


👤 wseqyrku
> businesses

Because they are not software businesses, so they treat it like furniture. If it looks like a furniture and it's right there, then what are you even asking, it's right there I can even see it


👤 verdverm
> Now that apps can easily be re-implemented

Is this actually true? I don't believe it to be generally true