There are a few trends that are tiptoeing on the edges here:
- tools for thought / creative tools (Muse, Nodes.io, Mem, etc)
- end-user programming (people trying everything from visual PL's to simpler / more constrained programming interfaces)
- local-first software (https://www.inkandswitch.com/local-first/)
- web3 - I'm biased here and a bit skeptical of the fervor here, but matches some of the ethos / philosophy
- more customizable / hackable personal computing hardware (https://frame.work/)
- spatial + tactile computing so the body can participate in the thinking process (instead of only the 'head'): https://dynamicland.org/
- explorables, games / interactive viz to quickly transfer rich context: https://explorabl.es/
- video games, often indie ones, are exploring deep ideas: see Zachtronics games, Jonathan Blow's games, some of Annapurna Interactive funded games, etc. So many!
- open data: better end-user data tools so anyone can understand the systems around them
- 'Authorship Environments: In search of the “personal” in personal computing' Strangeloop talk (https://www.youtube.com/watch?v=5U6MkU5fLJw)
If we are to make computing personal, as any medium of thought needs to be, we'll need a new framework, a new way to think about computing, We'll need to shed the ingrained assumptions. We'll need a new language: no more "users" and "programmers." I've never heard a good definition of either but these terms are too loaded and too corrosive today.*
I am not claiming this is the next big thing, but if we are to move to the sort of goals described in a number of the projects in the list, something like this will have to happen.
* Best one I know is of programming: blindly manipulating symbols in hope of an outcome.
End-user programming comes close, but I don't think it's the real notion. It makes primary the programmability, which is, imo, an unncessary ego-centrism. Software simply making what it does visible, making it observable, and inviting in the potential for interaction, for manipulation, change, alteration: that, to me, is where we must go. I'm delighted and quite surprised to see this comment having risen mightily in the rankings, to the #2 spot, but permit me to cite the #1 comment in reflection here:
> "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
To me, it's less about home-cooked & home-grown & indie, and more about software that has a basic fair shake. Software is either societal in nature: it participates in, shapes/can be shaped, discusses itself, engages in the democratic processes of the world. Or it is a closed, dark entity. I see little ways to regard most software as anything other than alien and hostile, as invasive & anti-communicative: a blackbox, with us trapped inside.
The way through though is incremental. Finding new ways to let the software we have expose itself, to make itself visible & explicit & introspectable & orchestrateable & controllable & malleable. I believe software high & low will better serve the world, be better able to do it's job, when there is a general systems fabric & when it can keep us in the loop.
Yeah, I kinda see this as the exact opposite. The fact that symbolic code, keyboards, and displays are all tied together is no accident. It's a limitation that prevents computation / simulation from being used in situations that aren't oriented around text-input.
There's so many situations like this! We're a bit blind to it, because we're used to pulling out our phone, and it's hard to predict what we'd all use computers for if we escaped the trappings of mouse-keyboard-text-code. It's just like how cheap paper / the push for literacy helped make paper receipts at coffee shops a thing, but nobody could have predicted cheap-paper-receipts in the 1600's when books were so insanely laborious to create (forget even read!).
- Have restaurants in my local town started to close earlier because of worker shortages, COVID, and the chaos of the last 2 years? - Which nearby public parks are both free, open right now, and not too busy? And also will it rain soon?
The state of the art for this is probably CSV's & Excel / spreadsheet, with lots of limitations. Most datasets are hidden behind obscure API's, available only to programmers.
And then let's say you want to have this type of computational conversation while sitting around the dinner table? Forget about it
What would once be a metal machine onto which you load executable code has become a thing that you can run virtually. Containers, serverless lambdas, dynamic language runtimes. Everything becomes faster, more fungible (a zeitgeist word but I mean it in the old way) and easier to work with.
We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display.
What’s new and ongoing is that software is eating itself. Another comment here expresses this as code becoming a data structure but that’s too pure for me. The practical improvements we’ll see don’t need to go that far and won’t be as zealous but we’ll reap the same rewards.
I’m personally looking forward to the next generations of infrastructure as code, where all the useful parts are factored out of the current monolithic ecosystems and become as composable as actual code is. It feels like, to draw an analogy with version control systems, we are at that 2005 boundary of CVS to SVN, and git is still around the corner.
Everything listed here is stuff at the high end of the hype cycle. Everyone is already looking at it. The next big thing is going to be something nobody is looking at. If people are already looking, it would have already happened.
I think it takes a long time. Often the tech is a puzzle piece when we don't have the rest of the puzzle yet.
1. Prices are down(yes, lower down your guns). I'm not talking about CPUs or GPUs but embedded products. It's absolutely mind blowing that you can get the computational power of a mid-90's computer with the size of a coin for just a few bucks. Same goes for sensors, transceivers, motors and communication modules.
2. 3D printing has come a long way, also dirt cheap and easily accessible to people and is yet another game changer for prototyping. Essentially you can have a functional part in your hands in a day.
3. With works towards lowering carbon footprint(further amplified by inflation), smart devices with low footprint will become more popular-anything which will lower costs. It may sound counter intuitive at first glance but you can imagine how a smart home/office/factory/store/restaurant/anything could be more efficient if power consumption is managed in the most efficient way possible and likely far better than you ever could.
4. Open firmware and hardware is going to be a game changer in another area which seemed completely out of reach just a few years ago - space exploration. Even there, the prices have dropped massively. And there's one more thing when it comes to space exploration: I know that people are really on both extremes when it comes to opinions on Elon Musk but here are my thoughts: ignore what he says and pay attention to what he does. I'm not entirely sure that he's right on electric cars and I suspect that he might not be on the winning side if synthetic fuels become widely available. The one thing which makes me sway towards them are the billions Porsche is pouring into research in that area and credit where it's due: they have been right throughout the entirety of the automotive history.
5. Industrial purposes. Again looking at what Elon Musk is doing - I think he is giving us a glimpse of what Industrial revolution 2.0 might look like. And again something which was further fueled by the pandemic.
The one thing that I see truly missing in the picture is cheap, fast and easy way to make PCB prototypes - that is still an expensive and complicated endeavor. Or at least I am not aware of a cheap and efficient way to do this. I've personally gone as far as trying to figure out a way to use conductive paint for that purpose. With 0 success so far I'm afraid.
I don't think it ever picked up: It was trying to solve a problem which didn't exist at the time. In the mid 2010's when they started popping up, the economy was growing and most of climate change, lowering carbon footprints and all that was seen as "Greta Thunberg's pretentious and delusional world" to working class citizens. And for the most part that still would have been the case if it wasn't for covid and the accompanying inflation. I don't think average Joe has learned a lesson from it or realizing how fragile our economy is. Almost like enforced necessity: "hey my electric bill is 4 times what it used to be" opens a new market. The ecosystem however was(and sadly still is) appalling: You get a hama wifi enabled light bulb, you need to download their app to set it up. You buy a Phillips one a few months later and you need to download yet another app to set it up. Not to mention the absolute hell that are both google home and alexa. Worst of all is that there are no efforts to open source alternatives(home assistant technically relies on either google or amazon). Privacy aside, their interfacing options are equally annoying. I do have a few wifi enabled light bulbs and I turn them on for my dog when I'm not at home through google and it is just as messy as it was on day one.
Climate change and related issues are driving big changes that large corporates are already having to address regardless of impending legislation.
Energy efficiency, waste management, sustainable computing, carbon markets, regulatory compliance and reporting (ISO50001), smart grids, EV logistics... there are so many areas.
Anything that you choose to focus on next year will be immensely valuable and important when the demand suddenly picks up before the end of the decade. You can build up on your existing technical foundations.
Like a hash map or an array, its text representation is merely a human-readable interface to it. I predict the capabilities of IDEs will expand, and to make their state persistent, they will begin to store IDE-specific files in your source code directory. Eventually this will morph into the source code itself being stored in binary format and opened/searched by editors.
The programming language Unity is pioneering in this domain, but they are too far ahead of their time. The transition to code-as-data will be gradual.
Are you being tongue in cheek because most haven’t realised it in 63 years!!!
[1] https://en.wikipedia.org/wiki/Lisp_(programming_language)
(1) Code spends a huge amount of time in a non-parsable state. I need to be able to save code even when it's not currently parsable into a valid AST of the language I am writing. Sometimes I even need to check in this code to my source control. You cannot have the primary storage of your code be valid, parsed syntax trees for this reason, so you need to invent a brand new format that is different from both text and the AST being modeled. This format needs to be optimized for programmer workflow, clarity, and communication; not optimized for the machine.
(2) You need to re-invent how source control works for your representation if you're not using text. This actually has a lot of potential -- syntax-aware merging done well would be a godsend. But this is a huge undertaking to do well, and problem 1 rears its head strongly here as well.
One way to attack this is via holes, as in https://hazel.org/
Have you heard of https://dion.systems/ that was linked here recently? They are working towards going away from text as the source format.
It remains to be seen whether or not it is a good idea and/or if it will succeed if it is.
> (1)
I guess in something like Dion, you have a source format that doesn't allow syntax errors, since you are not editing something that can be in an invalid state (necessarily).
Always 5 years out, like nuclear fusion. :-(
If it does it can become huge. Not because of TypeScript as a native language. Not because it can create binaries. Not because it has an audited standard library or any other good reason.
But because it includes a simple but flexible way to prevent itself from doing things the author didn't want it to.
If we are extremely lucky other platforms will pick this up.
I hope other runtimes pick it up and I hope package managers pick it up too.
A small bit of confirmation for this in my mind is the increase in companies switching to a business model that is aware of this. "We will host it for you for a fee, but we fully support self-hosting too." ala Gitlab and Ghost (https://ghost.org/docs/hosting/)
If you're thinking of wearables, I personally don't think there's anything interesting there until someone can work out a decent high-bandwidth way of communicating with your device. Gimme something like subvocalisation that doesn't require me to wear something stupid or talk out loud.
Personal bias talking, but I'd expect to see modest uptick in Nix[os] interest
Kubernetes will transition from new and exciting to a mature platform. Expect less new big features and more minor improvements
Just about everything in a NixOS is configured in a declarative way, but that only really scratches the surface. It's the first Linux OS I've used that configuration is done at a wholistic level
Say for example you have a RHEL/Debian Linux server and you want to see how it’s configured. This sounds easy, but can be quite time consuming. You can see what packages are installed but then you’d need to examine all the /etc files. Try and see which ones are modified. Look at all services, look for further configuration that may exist in /opt or /usr. When you get to a certain scale tools like Chef, Puppet or Salt tend to help with managing configuration. Over time to meet compliance and monitoring requirements configuration can grow. And that’s not getting into any filesystem permissions you may set.
If you're using `yum install` or `apt-get` to install packages out of the system repos, you'll get the latest package in that repo. Run that command at different times, you can get a different package version
In NixOS the system and packages are versioned together; makes for very reproducible systems. The downside/upside (depending on your needs) is, updating your kernel will update your packages in lockstep
With NixOS, you can configure a complete system with a single file making Chef, Puppet or Salt obsolete. Once you get over that first hurdle of using NixOS and moving your workloads to it, it tends to be easier to maintain
The major downside I run into is that most of the world does not use Nix[OS]. So if you need something not provided by Nix[OS], you’ll need to learn how to make your own package (derivation)
There are many caveats to everything I said above, but its the general idea
- pots that tell you when they are hot.
- bikes that say their tires are flat.
- weights that track how many reps you did.
- shoes that tell you: stop landing on your heels so hard.
- pillboxes that shove pills down your throat.
- pillboxes that shove politics down your throat.
- chargers that tell you their pronouns are he/him.
- coffee mugs that tell you weather.
- pants that say you've worn them too long.
- windshields that tell you to stop texting.
- food containers that tell you maybe you shouldn't eat that leftover casserole.
IOT is gonna be the next big thing, get on the hype train cause this ones for real. Don't be left behind still writing SQL.
Tell you how? Send you a text? Yeah, no. Do not need.
Tell you verbally (because they expect that you're within earshot of the kitchen)? Maybe.
> bikes that say their tires are flat.
Useful, even if they do it by text.
> weights that track how many reps you did.
Marginally useful. I can count fairly well.
> shoes that tell you: stop landing on your heels so hard.
Useful, but most people won't want them.
> pillboxes that shove pills down your throat.
Pillboxes that remind you to take your pills are useful for those who are forgetful.
"Shove"? Not my pills. I presume that was sarcasm, but if it wasn't, I own a sledgehammer.
And that's my answer to most of the rest of your list. I won't buy it; if I can't buy something without it, I'll disable it if at all possible.
This might happen quite quickly. Thing is how you walk and how much you abuse your legs can be a major source of problems like shot knees in the long run. And these things creep, they don't just happen quickly so you can't remedy it so fast.
And they are definitely not the only player since I recall writing some similar code for another organization in that field.
Getting the data isn't the hard part; knowing how to make it useful is.
> - pillboxes that shove politics down your throat.
If we are not choosing to go there, physics will teach us the hard way (it already begun).
Basically any region/country that is able to do the same, with less hardware, less energy will have a big advantage over the other regions/countries in the upcoming years.
Hardware has massively improved in the power/watt and computation/joule categories. The increased power consumption is because of rebound effect. If we really only used cellphones for telephone calls and SMS, we could build them to last for months on a single charge. Yet we have to charge them every day because they are built to do not just telephony, but also maps, reservations, banking, 3D games, and so on and so forth.
While I agree with you here, I feel like people don't try to optimize an already working base. For example, I recently updated the clock app on my android phone. There is no difference in functionality in the new app, but it has the android 12 design. This time could have been spent optimizing the app in a way or another. I do the same thing on my phone as I did 5/6 years ago: read a lot online, sometimes listen to music, sometimes look at maps, sometimes use apps, telephony. My battery lasts longer these days, but not as much because my phone also has to show sweet animations and be able to run high-performance stuff (I made the error of buying a flagship phone).
When's the last time you heard someone's conversation in the car beside you? Or even just their normal volume music?
This is true even in nice, mild climates.
This example is the same with homes to a degree too. People are addicted to the new, inefficient way of doing things. But I doubt we'll actually go backwards. There will be a kind of morality trend pushing us backwards but nothing much else.
Serverless. Current clouds are a half-step because they partially abstract away hardware. Serverless is the ultimate cloud because it abstracts away all hardware.
Self-hosted open-source alternatives to public clouds. Public cloud providers use proprietary software to provide and manage cloud services. However, open-source alternatives will eventually appear and will only require a pool of machines (virtual or not) to operate in order to provide a set of cloud services - computation, storage, identity management, load balancing, etc. This will lead to decentralization and proliferation of private self-managed clouds.
2032? Hard to say, but it is quite possible that software and the web will actually look quite similar to what we have now. I found the concepts in this presentation quite intriguing [1]. Some stuff like airplanes haven't changed THAT much in the last 50 years, because they are good enough for their purpose.
[1]: https://idlewords.com/talks/web_design_first_100_years.htm
This is likely to be a business change as much as a technological one, but it’s definitely going to have an effect.
I’m hoping for a small revolution in 3rd party libs and a locking down on the supply chain as a start.
I do think it has a place, and is a promising emerging market. Which is why I've been interested in learning development in that area.
I credit much of Web2 kicking off with AJAX, HTML5, and CSS3. Though many others would say it was lead by mobile.
My general thoughts, it isn't one thing, or just one technology. Even Web1 was a combination of TCP/IP, HTML, HTTP, and Mosaic/Netscape.
I'm possibly lacking vision, so I'm wondering if anyone could share interesting examples of that (old) new wave of technology?
I mean those related to: CPUs, NPM, External Libraries, parsers written in unsafe languages
How could it help with that? JNDI lookups were a documented feature of log4j. An incredibly dangerous one, but it was intended to work like that.
I don't know about log4j, but in the case of many such features, there would be a PM or somebody insisting that you have to implement his pet idea, no matter how much the tool screams.
Capability Based Security - I keep hoping this will be the year, as we're going to be in cybersecurity drama land until it gets adopted.
Rich text source - Why not include photos, and other stuff in your source code?
Tools that take source code, compile it into an abstract syntax tree, and let you tweak that tree, then spit back out refactored source code, possibly in a different language. Maybe it's possible to go all the way to LLVM and back to Pascal?
I would hope that someone comes up with a toolkit that puts a UI on the user's machine directly in touch with server code on the back end, without HTTPs or any of that type of cruft.
I bet that:
autonomous cars will still suck.
CPU will just get lower and lower, but nothing fancy except maybe weird shapes concepts.
web (browsers) will still introduce some weird not privacy friendly stuff.
FP-ish languages ain't gonna be mainstream, probably nothing cool enough for purists and good enough for mainstream will appear.
decreasing energy usage seems to be irrelevant cuz people will use that energy in other way anyway.
quant computer still just fancy thing in lab.
__________________
or I've found one that I hope will be big! air purifier's cost and efficency improvements! shit's so expensive, yet so important
I was impressed by it being a “Framework IDE.” It contains hundreds of visual tools and workflows where actual source code files are a small component which you drag and drop into widgets. Each widget is a visual representation of a class, and it’s source code is irrelevant.
Some of these tools are visual state machines, reactions to events, version control, collaboration. Most of us won’t like that change, as we’d lose a lot of control to opinionated rigid tools.
Maybe XCode and Android Studio will evolve to that for the next generation of developers.
It's much bigger than games.
There are some frameworks that are just now hitting their stride that make it 10x easier to build virtual worlds. Unreal Engine 5 in particular has been interesting to me. Even today we are seeing people who work full time in VR now. (mostly lower wage employees in low cost of living countries). But I've also met people who are self employed in VR making avatars for people in VR chat or that sort of thing.
It's harder now with covid but if you have a chance to try VR somewhere definitely do, it helps if you can experience it first hand.
(1) The hardware is better: higher resolution, faster fps, cable-less.
(2) Authors are starting to figure out how to tell a good story in a VR/AR environment.
(3) Artists have figured out what works in a 3D immersive environment. I have seen some really clever renderings.
* Better GPU API on web and native with WebGPU
* Use of compute shaders to interface with trained NN models or to "replace" css.
* Easy reactive programming using immediate mode UI powered by GPU instead of CPU
* Data driven design ala ECS where your ECS lives in the cloud.
Not just for 3D AR/VR but also business/productivity apps in 2D.
Heterogeneous computing is going to be the norm in everything. Since we’ve trained a generation of programmers to be hardware unaware, there is going to be increasing need for people who can understand all the concepts of how to tie all these different devices together to keep this huge group of people productive. I would also lump network devices into this category as the trend to disaggregate accelerates and lower latency access protocols/methods are needed.
Embedded SW is going to be more important as devices get more powerful. If we are truly to see AR devices I think this is definitely the case. The difference between FW/SW will continue to blur. Will also need people who understand HW to best optimize for power consumption.
Power consumption aware computing and profiling. As we hit physical limits of power density in data centers, we will need good ways to profile power consumption of code and power based optimization of code. This is obviously a thing already in mobile devices. But expect power aware computing to become more and more prevalent everywhere over time.
IMO, VR will skyrocket when:
We have a portable headset that is:
Affordable
4k resolution per eye
Has decent mixed reality capabilities (e.g. see the Varjo XR 3 as an example on YouTube)
Has a good omnidirectional threadml that is affordable (i.e. walking, running and moving should be possible as it is normally). I find the current threadmills that I see (e.g. KatVR) a good step in the direction but still too problematic.
Killer apps are (from concrete to abstract):
Having multiple monitors in your room. Now you can travel with 10 monitors in your backpack.
90% real simulations (try Golf+, Eleven Table Tennis and Thrill of the Fight — those games are already there).
Mark Zuckerberg his vision of the Metaverse, which I interpret as: being able to mix and match hanging out and playing games together in VR (note: more companies than only Meta could work on this). Reasoning: gaming together is simply a specialized form of hanging out.
Software-dizing hardware interfaces. The more stuff we put in VR/AR (especially force feedback mechanisms), the better we can mimic the feel of hardware interfaces. In certain cases it will feel real enough and then you can import the entire hardware device into software/VR/AR and suddenly thr production of such a device is now much cheaper. For example: a realistic electronic keyboard in VR. I don’t know how to solve for the force feedback in this case but I do know that there is other hardware for which this must be easier.
Source: I bought an Oculus Quest 2 a month ago to play around with VR while constantly asking what it is lacking and what will make it awesome.
Imagine a personal assistant that you could have a full on conversation with. I don't believe this requires full-blown AGI to achieve, but improvements in language and human understanding by ML might get us there.
Think something like the Computer from Star Trek NG.
(2) Once Microsoft work enough of the bugs out, which I'm guessing will take another 2-3 years, I suspect Windows on ARM will be the Next Big Thing, or at least one of the Big Next-ish Things. ARM supplanting Intel will be a general Thing.
Maybe the next big thing is doing more with less. Rust and Zig come to mind.
If all of reality is able to be piped into Unity (structure of static environment, motion of sensors, dynamic object poses) you can build Reality Apps the same as you can build video games.
You can give people spidey-senses or "the force". Everything will have a UX.
There’s lots of reasons why robots aren’t currently picking up trash across every beach in America 24 hours a day. Or cooking for you whenever you want.
One of them is the inability to identify objects the way humans do. But it’s getting better. Slowly. There’s no fundamental wall that’s been hit yet.
Think about that for a moment. Let it simmer.
Think about cameras that can identify humans and structures. Roombas that can identify cats and walls before it hits them.
Think about all the work that can suddenly be automated because object representation hits an inflection point.
It’s going to change humanity. The story of our species. It’s going to be a perennial wonder.
But to me it looks like some things to keep on the radar: quantum computers, machine learning and more applications of it, possibly blockchain/smart contracts (I'm very unsure about this one).
It's so obvious that visual mediums are just going to continue to dominate time spent on screens. It seems odd that lots of the pixels we see today are manually put there by an artist or a sensor.
WebGPU is a different story.
Not: Web3, blockchain, or cryptocurrency
I mean actual online communications not requiring a server, account, or some Ponzi scheme.
That doesn't mean we won't be getting laser retinal projection in the next 10-20 years.
So many PC type interactions we do in 2D today will be both more functional and more lovely to use when mapped into 3D space.
VR will never be a thing outside of gaming, porn and education.
/s
The big investment in your career will be ideas that stand the test of time. Relational Databases, data structures, programming paradigms, math, etc. Even in machine learning, just knowing core statistics and regression is more important than HottestNewArchitecture :TM:.
Learn the ideas underneath these ideas, and you'll really grow and be able to better evaluate / learn new ideas.
This is spot on in my experience.
As I grow in my career as a software engineer, it's funny how much more often I notice that the things that set one apart in the field is a level-headed understanding of the fundamentals and a calm resolve to take into consideration what's worked in the past, much more than one's ability to "chase the shiny".
Honorable mention of the Lindy Effect [1] here - one of my favorite ideas from Antifragile [2].
[1] https://en.wikipedia.org/wiki/Lindy_effect [2] https://www.amazon.com/Antifragile-Things-That-Disorder-Ince...
- Architecture/patterns. Managing complexity, now and in future, is the primary thing that differentiates a "senior" from a junior IMO. Making complex stuff simple is extremely difficult.
- CI/CD. Improving "shippability" and "shipfriendlyness" helps efficiency and allows getting your software to customers faster.
- TDD/BDD/DDD. Ability to distill features and value from vague customer-feedback and domain-expert. Committing that in specifications, and turning that into automated, and measurable setups. the #1 skill to building software that helps your users, IMO.
While there will remain a shortage of developers in near future, the absolute amount of people producing software will grow significant. The amount of software produced will grow significant while existing software will continue to be there too.
The only way to stand out is to provide real value. To provide that fast. To continue providing that. And to remain able to react to the market quickly.
I therefore believe that skills and techniques that allow you to move faster, be more efficient today and in future, is far more important than learning about web3, kafka, rust, go, kotlin, no-code, or the latest JS framework.
(a) Important stepwise changes in a domain are actually rarer than we think. Transformers & deep learning being one good example.
(b) Focusing on the background information prepares you for that stepwise change, and recognize the stepwise change when it happens
Instead of trying to suss out from the tech literatti every new thing and chase that, I'd rather spend my time on "old things" and be better prepared for the right stepwise changes.
There's a lot of 'revolutionary' and 'big ideas' that in reality are marketing and/or repackaging old ideas.
A LOT of the old things were ahead of the time and forgotten. Also, a lot are still in their infancy (I think RDBMs are still too immature!).
Is likely that marrying that old things with (1, at most 2) new things is the way to go.
Agreed! In my earlies as a data scientist, I was always looking forward to implementing deep learning and new fancy algorithms.
For some real use cases, the explainability provided by a simple regression is better than a more complex algorithm that provides the best metric.
Privacy and accessibility are extremely difficult and challenging tasks. Fake news, disinformation, echo chambers and cultural bubbles are growing problems. We basically need to rebuild plenty of things that are part of our daily life, and this will distract significant resources from the „next big things“. More likely digital society 2.0 is the next big thing, that will replace Meta and Google.
Sorry I ran out of buzzwords
In short, everyone will participate in the wholesale markets (on the retail side) through automated bids. You put in how much you want to pay and as electricity becomes more expensive, eventually you're curtailed. With uncertainty in a fully renewable fleet (assuming nukes don't get built in mass), the demand will have to match whatever supply is available. This is starting in baby steps today, but will likely extend in other areas as well. This will take a lot of software at several levels.
2.) Not something I'd expect to happen in the next decade, but I think automatic and frequent voting will eventually happen if security is ever improved.
As of now, it is still a long ways off and there is a relevant xkcd about a developer horrified about exposing voting to modern software development. The "demarchists" from the "Revelation Space" series by Alastair Reynolds do this where they're constantly polled and vote on issues and government is largely based off of that. I can't see that happening in the US (a true democracy and not a representative based one), but it could be used as a tool to help those in power make decisions. We have smartphones that could do this today.
3.) I'd really like to move away from Windows/Mac/Unix at some point in the next 50 years for something far more simple.
Tablets don't seem very productive and the average desktop os is an absolute cluster f. Honestly, I'd love to have a very simple computer with a fast processor and lots of RAM that is somehow similar in nature to a C64 in that it's fairly simple to just boot right in and give it some commands to move something around the screen and build a game in a half hour. I want more though... something similar to Wolfram Mathematica built-in. The internet, but no web browser black hole [you'd have to fix the internet first :) ]. In short, throw out the unmaintainable mess that exists today in favor of a better, more holistic design. Maybe the Smalltalk-80 method, but Forth, Rebol, and Tcl stick out more to me. Maybe something like the power of a modern computer with a far greater simplicity in mind. No automatic spyware pushed by Microsoft or incomprehensible bloat. There was a group looking into this sort of thing that reached out to me on HN once, but I've been unable to find their page. I believe they tried to use sea vessels as a metaphor for computing where a "dinghy" is what you would ultimately want. I know things are built off of the shoulders of Giants, but computing seems to have lost its way in some respect. Why is it so hard to do GUI stuff in 2021? There are 1000 frameworks and they're all insanely complicated.
Projects like Zig I think are the first signs that we are getting fed up with what we have.
Security is to me the number 1 reason to reduce bloat in any application. By limiting the number of external dependencies, and maybe even the number of features, you end up with a more secure product.
It something that didn't matter as much a decade ago, but is now very relevant.
Then there's all the other reasons, like responsiveness, download size, developer experience etc, but they haven't been the priority of most businesses