pull down to refresh

What are your thoughts on architectures of "perfect apps"?
For instance, a marketplace app; can it be built in such a way that it survives competition for thousands of years? Can a web app be made such that it has no central beneficiary / owner, but is just a public service?
Facebook might dominate competition by monopolization of relationship information. But can that last 10,000 years? All it takes is for some hacker to steal their database and publish it, and Facebook is dead. All it takes is for Facebook execs to be stupid one day, and perhaps decide that all profile pictures should be replaced by pictures of human excrement.
The only systems in nature that survive, are the systems that evolve.
So what are your thoughts on creating the most "adaptable" / "evolving" web app?
I'm thinking, first of all, they can't have a central point of failure. This means they must be user-hosted, not server-hosted. This almost exists today, we have WebRTC which enables pure client-client connection, and that enables webtorrent which enables things like bugout where a website downloads itself from other peers (visitors).
There are other interesting technologies like DID/VC, "web5", nostr, bitcoin obviously, that have the "french revolution" properties that lead to evolvability. Tech that enable freedom of speech, meaning freedom to make mistakes (and error correct).
It can only happen when everyone starts to pass on their internet legacy in hopes of keeping it running. We can't say how the next generation thinks of this stuff, as it relies on people taking part in it.
reply
Maybe. If we think about it in terms of nations, this is sort of like saying "We can't be sure the next generation won't just abolish democracy and elect a king". That's true, but we can make that very hard.
Americans invented the solution, as I'm implying: just give everyone a gun. This makes it possible in the US to allow people to be crazy, "you're allowed to say what you want, just stay out of my house". It makes them extremely tolerant of "variants" and resistant to top-down control. Tolerating variants, encouraging mistakes (bad enterprise, eg) is the American dream.
What would be the "internet" analogy to that..
reply
I think it is pretty impossible to say yes to this with any serious thought.
  1. There are no perfect apps.
  2. Computers haven't existed long enough to give us the context needed to make such predictions
  3. History shows us that mediums change over time.
  4. Free markets are highly hard to predict (not saying any of us live under entirely free markets now)
  5. We really haven't even figured out preserving data for 10,000 years in digital form let alone applications.
Interesting question/thought experiment. I don't think we have web applications that can last 100 years yet. At least not with people supporting them and evolving them.
If I were to try to build something with longevity in mind I would focus on isolating anything that is likely to change from things that are more constant. Make those less stable parts easy to replace. Break down the application to components that work together. Simplicity and isolating complexity would have to be priorities.
reply
About your point 5.. We kind of did.. using quartz cristal.. but i wonder if in 10.000 we wont loose the tech to read it after so much time
reply
Thank you for your in depth consideration!
Are we so sure there no perfect apps? What about crocodiles, sharks, tardigrades? They have survived millions of years. What about Skyrim? Why is it still so playable? What about UNIX?
Computers have existed since the first RNA code was made that happened to fold into a structure that "read" other RNA codes. Maybe this can imply something for web apps, how do we allow their code to replicate and mutate? Makes me think of forking in git.
I would focus on isolating anything that is likely to change from things that are more constant
Agreed. Going back to the genetic analogy, DNA replicates itself incredibly perfectly, it allows the "app" to be stable. Like english, it has redundancy so mispelsling a piece doesn't usually change it's interpretation. But some misspellings have huge effect. "Let's eat, Grandpa!" / "Let's eat Grandpa!" Expression is at the same time dependent on current environment. In a 10,000 year web app, maybe the coding should be partly "in the eye of the beholder (client)" and partly "despite the client".
Interesting stuff :) Thanks for engaging
reply
50 sats \ 1 reply \ @fm 12 Sep 2023
10.000 years?
Yep, just develop a calculator.. Probably can stand 10.000 years without many upgrades
reply
Can a single calculator last that long? Cosmic radiation would destroy its logic gates fairly quickly on this time scale.
How would you build a calculator that is immune to radiation? (Not a rhetorical question, i'm really asking!). Perhaps encase it in 10 meters of lead. Not very good UX..
reply
The implication is that we will live that long and still find the app useful. I think our interests will change over a long time span.
reply
For sure, and that's sort of the point. I don't know how people will use Youtube in 10 years, much less 100. But let's hypothesize that the internet exists and uses HTML and javascript for 10,000 years. What application architecture could survive the longest?
reply
There are few web applications that are two decades old. 10k years seems like a really moonshot goal.
reply
Humanity hasn't been able to build civilizations that last for 10000 years. Who is to say that the internet will be here in 10000 years? I think that in the long term, we (as a society) are the central point of failure.
reply
That is a good point, society as a central point of failure. It's a good way to think about it. We don't have evidence of 10000 year societies in humans.
We certainly shouldn't try to dictate such things for future generations. But can systems be built which would survive and relay our knowledge to them? How do we send them our bitcoin!! ;)
reply
Unlikely.
People love to hop from one cool thing to the other cool thing. When too many people start to use something, it becomes less cool.
Protocols however have a higher chance of surviving longer term.
Nostr would be one such protocol that I have high hopes for. Even though apps built on the protocol might die with the next hype, an identity built on Nostr should transcend its use for a specific app and thus be used with the app that replaces the app that just died.
10,000 years, that's another story.
reply
Agreed. Nostr is particularly promising. Protocol is exactly what I'm thinking about. Is there a protocol that can be followed which makes it OK if the app dies? Linux is a good example, it's fine if people stop using Debian or Arch or whatever. Linux persists. Can that property be built into a web app? DNS makes it tough..
reply
I don't think even Bitcoin will last 10,000 years. An app or even an architecture is unlikely to.
The only things I can see lasting that long are some basic principles of engineering, but not a whole app or framework
reply
deleted by author
reply
deleted by author
reply
I love that you linked it so I can see not only that it's Shakespeare, but also exactly where he wrote it :) Reminds me of how great teachers behave, always eager to show where to learn more if you're curious.
I hope in 10,000 years that humans live in the whole galaxy. Yes i am a star trek nerd why do you ask....
reply
deleted by author
reply