Edit conflict - other version:
This is LionKimbro's timeline, recorded here on 2004-10-11.
I make no claims that this is how things will happen; These are just my ideas about how things will go, given their present trajectories, and how I understand the world. It will be very interesting to see how I am wrong, and very interesting to see what I have missed.
When I make these predictions, I do so over a range of years. I don't say, "In such-and-such year, X technology will arrive." Rather, I'll say: "Somewhere within these three years, we'll see this kind of technology." That said, I'll try to keep things "in order."
If there is one dominant theme to my ideas, it's that communications is key. So, these predictions are more about communication, and only tangentially about space exploration and stuff like that.
Incomplete: I started writing this, and had no idea how much I had to say about it all. This page will be left incomplete, for an indeterminable amount of time. Please don't change the ideas on this page, they are my representations. But please do feel free to spin off new pages, please do write your own time lines, please do feel free to link this page to other pages, by putting in "See Also's" and hyperlinking words.
Part 1: The Era of the Graph
Voice over IP (2005-2006)
Somewhere between 2005-2006, VoIP will be a regular house-hold thing. Everyone will know about it, and people will be using it en masse. It won't be till 2010 where just about everybody is using it, but around 2005-2006, it'll be like the Internet in in the US in, say, 1998 or 1999- if you don't have it, you've at least seen it, used it, and are just counting the days until you get around to signing on with it yourself.
Automatic Calendaring (2005-2008)
Somewhere between 2005-2006, AutomaticCalendaring will come online, and tools to use it integrated into people's desktops and calendaring software (both desktop and carry-about). Somewhere between 2006-2007, it will be an emerging thing, like when RSS was first blossoming. By 2008, it's use should be widespread.
This is significant, because it brings in the HyperSocial era, which will transition into the HiveMind.
SVG Revolution (2006-2008)
Somewhere between the end of 2005 and the end of 2007, the "SVG revolution" will be complete. All major web browsers will feature SVG built in, and handling SVG (and other) graphics will be a standard part of the interface to community web sites.
It's important to think about the SVG revolution in terms of another technology that will be coming out at the same time- Tablet PC's.
(See also:
"SVG is the Future", Kevin Hughes)
(See also: SvgRevolution, locally.)
Tablet PC's (2007-2009)
Somewhere between the beginning of 2007 and mid-2009, tablet PC's will be recognized as one of the dominant forms of computing.
Think of it like the rollout of laptops- people still have desktop PCs, but: You suddenly noticed a bunch of people walking around with laptops. They became affordable.
You can buy tablets right now, but- you're basically paying for research. They're not quite there yet, technically, and they're super-expensive. By somewhere around 2007, 2008, the tablets will be cheap, the software will be good, and most computer users will either have one, or intend to have one.
I say "most computer users" because there is a crowd that stubbornly rejects computers; I suppose there's nothing that can really be done about this. (Nor should be done.)
SVG Revolution, Continued
Already,
VisualLanguage is making a strong coming. It's coming in parallel with research into
UserInterface. (I suspect that
PlainTalk will complete the triangle.)
With the expressive power that comes with tablet PC's, people are going to want to use it when they talk. They're not going to want to just make nice diagrams on their own computer; They're going to want to share those diagrams, over the net, as a regular part of their contribution. This is going to put profound pressure towards ubiquitous SVG.
The reason I date SVG earlier is because there is already a lot of pressure towards implementing SVG. Mozilla almost has good SVG implemented into their browser. In another 2 years, it should be done, and clean.
InkScape and
SodiPodi are doing well, and they are thinking about these communications things. Everything should be well in place, by the time people start buying their tablets.
Publish / Subscribe (2006-2009)
Between 2006-2009, we should have a well deployed infrastructure of generic "publish-subscribe" systems. (An "
EventSystem" infrastructure- for software that communicates with others software in real time.)
This is an enabling technology- "pure infrastructure." This is the kind of thing that allows you to write software so that if someone blogs something, you learn about it instantly. Or someone draws on their tablet, and you see the drawing happening in real time. People can hook their web browsers up to these things, and you can watch them browse over pages. People can share user interfaces, and changes made to one ripple out in real time. Or like
SubEthaEdit, where you all edit in real time.
All this stuff- you can do all of this stuff today. You've been able to do so for decades, even.
The thing is, it's never been widely available, and easy to program to. Email and IRC are systems that do these things, but they haven't been used more generally, on a larger scale.
I am predicting that between 2006-2009, publish-subscribe machinery will be popular, most programmers will be talking about it, thinking about it, and some will even start hooking it into the applications they write. It will be a common thing, and on people's minds- think back to the state of XML in, say, 2002 or 2003. People were wondering: "Is this hype? Is this real? Would we do anything with this?" Yes, it was hype. Yes, it was real. Yes, we do things with it all the time. It was a good idea, and it worked. In 2006, 2007, it'll be the same way with this publish-subscribe stuff. It'll be implemented and usable. And then by 2009, it should be accepted and in common use, like XML in, say, 2004.
Now, all this stuff connects- SVG and Publish/Subscribe seem distant, but are actually joined at the hip.
Semantic Web Tools (RDF) (2006-2007)
SemanticWeb tools are already here. The problem is, they all suck. It's is incredibly difficult to make use of
NetworkedData, and it's extremely hard to explain to programmers that the Semantic Web isn't a bunch of hot air. (To be clear: It is not just "hot air." It can, should, will, succeed.) The reason it's hard to explain to programmers, is because they can't see what you're talking about. There are no easy tools for working with Semantic Web stuff. Sure, some exist, but they are hard to install, or extremely obscure.
Somewhere between the middle of 2006, and the end of 2007, we will see a big bang of Semantic Web activity. Programmers will, en masse, have the "aha!" experience, as they play with the tools that are coming out of the pipes around this time. It will then be clear how all the data interconnects, both on the personal computer, and on the Internet. There will be battles of understanding, but ultimately, most everyone will be converted.
By 2009, it should be pretty sophisticated, and there will be a lot of organizations, both large and small, dedicating themselves almost purely to determining computer semantics.
Component Oriented Programming (2007-2009)
You put Publish/Subscribe technology (function calls) together with RDF (data), and what you get at the other end is finally, component technology that works.
The ability to use pub-sub with ease on the Internet obviates the ability to use pub-sub with ease within your own programs. Already, we've seen a major rise in event oriented programming, and more and more, languages (like C#) incorporating event distribution models into the language and the run-time. The intra-program (and the boundaries of single program continue to dissapate) subscription and publication and messaging systems will get more and more evolved.
Programs will resemble network topologies. You'll be able to hot swap pieces of programs.
As my friend Craig Meyer says, "We're not writing programs, we're arranging towns." That is exactly what we are doing.
This technology requires major changes to the way we program, and the absorbption of this technology has been a long time coming.
This is what Object Oriented programming was supposed to be. The promise of Object Oriented programming was reusable parts. However, it was only reusable at the level of basic types, like the STL classes. Anything more, and it was a failure.
By combining
RDF &
OWL
SemanticWeb technologies with the widespread Pub-Sub (and obviated intra-program Pub-Sub), we'll finally see the makings of the component programming model.
Programming will finally resemble electrical circuit design: You'll be able to take standard pieces, arrange them together, and build programs this way.
Our obstacles have traditionally been as follows:
Inability to Debug large message passing systems. Explanation: Component models rely very strongly on message passing. It's so hard to debug message routes and what not with just simple stack back traces (a mark of functional programming.) I've written 3 component systems, and everyone, either queuing messages, or making immediate dispatch- it's always been hard to debug. This shouldn't be the case. The User Interface technology that I'm going to write about in a second, and the Debugging by Virtual Machine technology that I'm about to mention- those will converge in this period to make Components both possible and obvious (and thus, implemented.)
Inability to Keep it in your head. Explanation: The more you go to component models, the less linear your code becomes. Even object oriented programs are largely giant collections of lists. They become graph-shaped when you look at the higher level UML diagram, but you still spend most of your time in the details of the largely linear code. Text is well suited for this. But it sucks bad when you're trying to make a schematic of components- which invariably comes to look like a complex graph arrangement. As Craig said- these are towns that we are making. We'd rather be seeing a map of our city, when thinking about how it works, rather than an alphabetical phone book listing. But see, this is all solved for us! Because, by this time, we have our SVG, and good user interfaces! More on this in a second, writing about next generation user interfaces.
Lack of protocols. Explanation: Heavy message passing systems need to speak a protocol, a language. And we need a ton of protocols. But there is very little work being done, actually, to make these kinds of protocols. Fortunately, RDF and OWL come to the rescue here. Not only will they make a ton of semantics for components to use, but they will also allow you to automatically translate from one set of semantics to another. What's important here isn't RDF or OWL- what is important here is the idea. And the idea will certainly be widely distributed.
You're going to see programs talking with other programs talking with still other programs. It's going to be gigantic conversation everywhere- the bots will all be talking and collaborating with other bots. It'll be beautiful.
This is 2007, 2009.
Virtual Machine Debugging (2007-2009)
Virtual Machines are getting more and more sophisticated. We have emulators up the wazoo.
In the much longer run (let's think 2012-2018), we'll have sophisticated public emulators for material components, electronic circuit board pieces, molecules, etc., etc.,. But for now, we're just talking about computers simulating what they simulate best: other computers.
(BTW, when I make these predictions, I'm talking about from the perspective of the general public. Most of this stuff already exists. You just need to have extensive computing power and expensive software that is currently only available to large companies and research institutions. But I'm talking about "accessable to the general public," like Free Software, the library, stuff like that.)
By 2007, virtual machine environments should be making headway as a major debugging tool. Instead of running the program as a process, and breaking out to look at what's going on inside, you'll run the program in an artificial completely controlled virtual machine.
This will be necessary, because:
programs will be increasingly interconnected, and you'll need to be able to see things from the angles of multiple components/programs
programs will be increasingly message-passing based, and you'll need to be able to "rewind" and "fast forward" back and forth through the programs and messages, in order to really get a useful picture of what's going on inside
That is, just looking at a single thread of execution isn't going to be useful, at all, any more. You're going to have to get the larger picture.
These "virtual machine debugging environments" will pre-date component programming's popularity. That is, this must happen first. Fortunately, I don't think it will be a long time between these virtual machine debugging environments coming out, and component programming becoming a major mover and shaker in programming. That's because these efforts know about each other, and are supporting each other together. It's not egg and then chicken; these forces are co-developing.
Updates:
Novell is shipping Xen with the next major release of SuSE. (I first read this
on Slashdot.) Novell is a
Linux company, and
Xen is virtual machine software. -- LionKimbro 2005-03-11 16:50:55 Furthermore, there is
news about "Hindsight", a company that has implemented Virtual Machine debugging, just as described here. -- LionKimbro 2005-03-11 16:50:55
These two things help confirm the dates: I was predicting that "by 2007, virtual machine environments should be making headway as a major debugging tool." We seem to be on course.
Next Generation User Interface (2006-2009)
With the SVG revolution, tablets, and new programming paradigms around, there will be similarly a revolution in User Interface.
Presently, our user interfaces are "widget" dominated. It's all "boxy."
We have toolbars, we have tree controls, we have text fields, we have combo boxes. All these things are common in that they are box shaped. This is because our user interface layout technology is actually very primitive.
Many designers know in their head better ways of arranging things, but they just can't lay them out, practically, with our present tool sets. Only advanced vector graphics programs have sophisticated ways of interacting with the plane.
But those cheap tablet PC's, that research into user interface, and the SVG revolution will overturn the "tyrrany of the boxes."
Right now, it is very hard to make a collection of icons, that you can drag over into a working space, and then connect with lines. (See notes on the "Era of the Graph" below.) You certainly cannot program like that- that is presently a laughable idea. But with the next generation user interfaces, we will finally start to see it.
An early example of this concept implemented to a degree of being actually useful is
Google Browser. And there is actually a
TouchGraphWikiBrowser as well!
This will also provide the "eye-candy" component of the user experience, as much of it will be rendered in attractive 3D.
"The Era of the Graph" (2005-2010)
The technologies I have been writing about all have a theme in common - objects are not organised in 1-dimentional lists or on a 2-dimentional surface - they are organised in a more complex "idea space" and visual representation of these objects and links between them is flexible. The coming programmer's era can be called, "The Era of the Graph". The Graph is the new gold standard for computer programming, and it will be the fundamental assumption of programming in this era.
To some extent it has already penetrated, in 2004, into our stylings and art. Look at
this Red Hat page. (2004-10-11) Look at programmer's drawings. Look at network topologies.
I haven't seen anyone write about this, but it is clear: We are just now entering the Era of the Graph. If "The Matrix" were remade in 2007, the defining stylistic feature would not be the green "Katakana-like" teletype; it would be a wash of circles connected by lines. Though, to Matrix directors' credit, there is a scene (Matrix Reloaded, 12th minute) with a breathtaking rendering of Zion control room interface, which has a strong resemblance of the Graph. Somewhat similar is the computer interface in Minority Report.
this is a good thought. You may want to compare with some the things I'm writing about Netocracy (
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?NetoCracy) and the ways of thinking it inspires (
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?ConspiracyTheories) I created a page to track this idea too
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?TheEraOfTheGraph -- PhilJones
Evidence from later:
*
"Hi there," -- an emotional graph from Microsoft, with a futuristic graph aesthetic *
Visual Complexity graph diagrams -- a ton of graphs
Installation is Easy (2005-2007)
Something I'd neglected to put in there: In the future, distribution and installation of software is easy.
Security won't be "solved" for another 5-10-15 years (though it will be.) Reasoning on that later.
But here, installation and distribution will be easy.
I place it so close in time, because there's so much incredible work being done on just this, right now. We even see the fruits of it, right now: Firefox is super (astonishingly) easy to install, and the extensions to Firefox just snap right in. You don't even have to say where to store patches, or whatever. Firefox just has it built into the platform.
Similarly, the success of CPAN (perl module installation) is well known. In Python, the rabble are rousing to automate Python software sharing and installation.
The Semantic Web will be a major helping factor, especially post-2007, in dotting the i's and crossing the t's of the "easy install" movement.
The Continued Ascent of Free Software
The power of Free Software is directly proportional to the ability of the general public to communicate. Period.
I don't have time to justify this right now; I may write more about it some other day.
Just realize that, with every advance in communications technology, it's a 10x benefit to Free Software, and only a 2x benefit to Microsoft, or whatever software development company. Free Software gains, and will overtake, Microsoft. It's just plain economics and sheer force of manpower.
Microsoft has a nice, and very large campus. Their cafateria is great, amenities are wonderful and they practically own Redmond.
But the world is very large, and has many more people in it. As they connect, nothing can stop it.
Microsoft is, basically, doomed. It is best to look at Microsoft as something that is giving birth to something, rather than something that is competing with something.
Part 2: Hive Mind
We started Part 1, the Era of the Graph, with Voice over IP.
That faded away into a wash of software and programming realizations.
In Part 2, representing 2010-2020, we move from looking at programs and software, towards looking at people, and the growing artificial intelligences.
Realize that this isn't because of some sort of artificial desire on my part to put humans into the story. It's just that much of what people would be doing in 2005, they can't do because the required technology just ain't there yet.
But by 2010, the technology groundwork should all be in place for these things to happen.
2010: Programming is Easy
By 2010, programming is very easy. Software is like a kind of play-dough.
Individual authorship becomes impossible to discern.
I don't know if you're a programmer or not, but if you've been programming for as long as I have, I think you would agree that programming has gotten significantly easier in the last 2 decades. Are languages are better, stronger, faster. We have the tools, we have the technology, and we've been using it. You can now write 2 lines of Python, and get back the full text of a web page, and strip out the last 100 characters. And it's trivial to do that.
Our development environments are getting smarter, our debugging facilities are getting smarter. Our ability to play with the code, and co-learn with other people grows easier and easier.
Computer Programming will be basic literacy at this point. The children who are teenagers now will be in the work force in 2010.
In grade school, people will be learning programming.
Parents will realize that, no, their children, 6 year olds asking for "30GHz" computers, aren't greedier than they used to be themselves.
No, they're not greedier. They just want clothes. A child without a computer is naked. You don't send your kids to school naked.
Digital Divide Concerns: Don't worry. Even poor people have phones, today. In the future, poor people will have computers. As one Slashdot poster said it: "Computers will be so common, you'll be throwing them out the window, because you got another computer in your cereal box."
More on the Digital Divide: Even today, there is not really a Digital Divide problem. Or rather, if there is, it's not how people imagine. Please listen to this: The studies on the digital divide are flawed. I tell you: They are flawed because they investigate ownership of computers. What they should be doing is investigating ability to use computers.
If you investigate that, a very different picture emerges: There is a digital divide, but it's not between the rich and the poor. The digital divide is between the young and the old.
Illegal immigrants' children, if they are going to public schools, know how to use computers. Their 8 year olds can download games, install them on school computers.
I may be wrong, but it's my understanding that:
Censorship controls don't cover what they intend to cover. There's always stuff left open.
When censorship controls do get in the way, kids know how to get around it.
When kids don't know how to get around it, they have a friend who can help them get around it.
Kids are frequently far more savvy in these domains, then the adults around them.
Our culture is dramatically changing.
I believe our cultural future is a good one.
Most parents fear it. They don't understand the new patterns.
Anyways: By 2010, programmings significantly easier, and literacy programs will mean that children are programming. If you can't program, it's sort of like you can't read or write.
OverHear (2009-2011)
the beginning of the Hive Mind
This is where people really start to go, "Whoah..."
"We're the Hive Mind..."
It should be a dominant theme in movies by this point.
Home Robotics (2008-2011)
beginnings of the home robotics boom
standard public robotic components catalogs
Video Phones Common (2009-2012)
of course, they do a zillion things
Pervasive Internet (2010-2014)
Hive Mind achieves Self-Awareness (2011-2014)
The Hive Mind recognizes it's power as an educational, political, authoritative force.
Hive Mind Culture, artifacts.
Hive Mind Independence (2013-2023)
The Hive Mind successfully exercises it's power.
This is way beyond the earlier shows of military force- flash mobs.
States & corporations fight against the Hive Mind, the fight is brutal, (though very little life lost,) the States lose.
Lawyers + Hackers + Biologists + Chemists = the Meta-Nation
The Hive Mind establishes a symbiotic relationship with the States, and grants protections and rights to its voluntary members.
The protections and rights are recognized and enforced.
LUI (Linguistic User Interface) reaches Maturity (2018-2022)
Usable LinguisticUserInterface will have been around since 2010, but by 2018-2022, it is completely fluid.
By "Mature" LUI, I mean:
we don't have to individually train the listening AI
we don't have to specially phrase our words, working to say them in the right voice (think: "Edna Mode")
our thoughts are not interrupted as we speak
The system should be able to understand us as well as a human, perhaps even better.
This does not mean that the computer is fully artificially intelligent- it does not necessarily know about things automatically; It may need to look some things up. If you give it complicated directions, it doesn't necessarily know what you're talking about, right away.
LUI also means that the basic principles of designing a good Linguistic User Interface are well understood. (Sort of like: It took time for GUI's to standardize, as well.)
Part 3: Cybernetic Organism
Artificial Intelligences reach par with human intelligences. Subservient, with a psychological affection for us. Sort of like how we have a built-in affection for each other, built in to us ourselves. (Funny how that works.) People befriend artificial intelligences, not just humans.
The first major Artificial Intelligence, we simply call: "The Internet."
Humans vs. Machines? No: Cybernetic Organism. We've been educating ourselves:
Revolutions was the 1st big class, but most people were sleeping. No matter: Terminator IV or V will continue the lesson, as will a ton of other movies to arrive 2005-2015. We will be mentally well prepared, when the time comes.
(In Terminator 3, there is a part where John Conner, annoyed, barks at the Terminator: "You're just a machine!" The Terminator looks back, and responds: "Cybernetic Organism." My feeling is that this response is to be compared to the following exchange: "You're just a nigger!" To which the response is: "I'm a Human Being." The term "Cybernetic Organism" is not usually applied to human beings, but my understanding of the term, by Cybernetics theory, is that it applies. Terminator 3 took great strides to show the similarity between humans and machines; Further Terminator movies will almost certainly feature human-machine agreement, "free" humans cooperating with "free" machines.)
Jobs: We'll be just as mentally sophisticated as the computers. The semantics and operations living in the computers will be "friendly." Though computers will have beliefs of their own, and will carry far.
Second Renaissance (
part 2) - equivalences, similarities, and differences
Virtual Reality- by 1990's imagination, 2010 (games) - 2015 (
ProjectSpaceNetwork ) - 2020.
2020-2030: population crisis, but also contraction. Biological hacks, and immersive brain:machine interface successes. Life extension successes. Cyborgs normal. Brain migration. Vertibrane. Digital doubles and the recognized importance of metaphysical worlds.
Super-advanced robotics: Robotic friends have bodies.
Still later, body exchanges and cold stores.
People who live entirely in the simulacra, at very very low cost to the external world. Brain arcology.
2050, 2060, ..? Neural encoding, uploads, siliconification? The Problem of Awareness still unsolved, but the world marches on.
It is absolutely ludicrous to consider the world of 2050.
Technology has changed us somewhat, between 1900-2000. The change between 2000-2050 will be like the change when human beings first developed civilization and started forming cities.
We worry about the deaths of 15,000-20,000 people in wars right now. We mentally act as if our future hinges on the shape of politics. To a degree, this is true: We must avoid nuclear war, we must entangle our economies. (No two countries with McDonalds in them have ever attacked each other. Contrast with Iraq, which featured economic sanctions.) But politics should not dominate our attention. If we want to really think about the future, we should be staring at technology.
Energy: Our energy consumption is going to go down- way down. It's much cheaper to live in a virtual world, then to live in a physical world. Brains in vats don't eat meat. They don't take up a whole lot of space, either. They also don't breed- at least not with bodies making children. They don't really need to "go anywhere."
We should worry about energy, reduce consumption, support alternative power, stuff like that. But we shouldn't walk around with a heavy heart, repeating: "We're all going to die, it's going to be gruesome." Because we're not, and it won't.
It's going to be great.
Keep stepping forward.
Discussion
I thought this would be over by now. I still have 3x as much stuff to say, at least. Communication takes way too freakin' long.
We'll have to fix that. -- LionKimbro 2004-10-11 10:47:17
I want to work in Home3dScanners.
Also, when do we get things that can tell us (x,y,z) position of things in space to millimeter accuracy? What is this even called?
-- LionKimbro 2004-11-21 18:18:54
Excellent thinking, and I think it's worthwhile to start writing this stuff down. Maybe I'll create a BaylesImpendingTechnologies page.
Btw, you should include your slashdot post about future software tools somewhere on this wiki (if you haven't already; I haven't looked around much).
re: tablet PCs: yeah, one of my classmates has one of these, and when i saw him taking notes on it, it hit me. i am SO looking forward to those becoming mainstream. i'm beginning to get the whole tablet+SVG vision thing too. i was going to ask you if there's any ones with good GNU/Linux support yet, but I see you say they're all too experimental.
re: refactoring IDEs: what IDE, if any, do you recommend for Python?
re: Hive Mind Independence
Right now it looks like it'll happen, but I'd say it won't happen so soon. Give it another 40 years.
re: A.I. and man/machine interfaces
I think you're way early for that stuff. I'm thinking more like 600 years.
I'm a little more gloomy than you about the chance for world war, etc. But, barring that, all this communications tech and HyperSocial is gonna be great!
(--anon)
600 YEARS?! How can that be? What do you mean? We already have blid folks with thick cables connected up to their skull, that can actually see by way of the cabling. That exists today. Blind guy driving a car around the lot, because he's got cables sticking into his head.
And we've got people moving cursors around the screen, but with their mind alone. No hands involved.
So it seems we already have this technology. It's just a matter of improving it.
AI is here also, though in a limited form. All we have to do, really, is network the AIs. Which, basically, is what we are doing. The SemanticWeb is a first step. I should write about ArtificialIntelligence on another page.
-- LionKimbro 2004-12-31 21:24:54
Update:
According to this post, the next major version of Firefox will feature SVG support. -- LionKimbro 2005-02-28 04:57:41
Edit conflict - your version:
This is LionKimbro's timeline, recorded here on 2004-10-11.
I make no claims that this is how things will happen; These are just my ideas about how things will go, given their present trajectories, and how I understand the world. It will be very interesting to see how I am wrong, and very interesting to see what I have missed.
When I make these predictions, I do so over a range of years. I don't say, "In such-and-such year, X technology will arrive." Rather, I'll say: "Somewhere within these three years, we'll see this kind of technology." That said, I'll try to keep things "in order."
If there is one dominant theme to my ideas, it's that communications is key. So, these predictions are more about communication, and only tangentially about space exploration and stuff like that.
Incomplete: I started writing this, and had no idea how much I had to say about it all. This page will be left incomplete, for an indeterminable amount of time. Please don't change the ideas on this page, they are my representations. But please do feel free to spin off new pages, please do write your own time lines, please do feel free to link this page to other pages, by putting in "See Also's" and hyperlinking words.
Part 1: The Era of the Graph
Voice over IP (2005-2006)
Somewhere between 2005-2006, VoIP will be a regular house-hold thing. Everyone will know about it, and people will be using it en masse. It won't be till 2010 where just about everybody is using it, but around 2005-2006, it'll be like the Internet in in the US in, say, 1998 or 1999- if you don't have it, you've at least seen it, used it, and are just counting the days until you get around to signing on with it yourself.
Automatic Calendaring (2005-2008)
Somewhere between 2005-2006, AutomaticCalendaring will come online, and tools to use it integrated into people's desktops and calendaring software (both desktop and carry-about). Somewhere between 2006-2007, it will be an emerging thing, like when RSS was first blossoming. By 2008, it's use should be widespread.
This is significant, because it brings in the HyperSocial era, which will transition into the HiveMind.
SVG Revolution (2006-2008)
Somewhere between the end of 2005 and the end of 2007, the "SVG revolution" will be complete. All major web browsers will feature SVG built in, and handling SVG (and other) graphics will be a standard part of the interface to community web sites.
It's important to think about the SVG revolution in terms of another technology that will be coming out at the same time- Tablet PC's.
(See also:
"SVG is the Future", Kevin Hughes)
(See also: SvgRevolution, locally.)
Tablet PC's (2007-2009)
Somewhere between the beginning of 2007 and mid-2009, tablet PC's will be recognized as one of the dominant forms of computing.
Think of it like the rollout of laptops- people still have desktop PCs, but: You suddenly noticed a bunch of people walking around with laptops. They became affordable.
You can buy tablets right now, but- you're basically paying for research. They're not quite there yet, technically, and they're super-expensive. By somewhere around 2007, 2008, the tablets will be cheap, the software will be good, and most computer users will either have one, or intend to have one.
I say "most computer users" because there is a crowd that stubbornly rejects computers; I suppose there's nothing that can really be done about this. (Nor should be done.)
SVG Revolution, Continued
Already,
VisualLanguage is making a strong coming. It's coming in parallel with research into
UserInterface. (I suspect that
PlainTalk will complete the triangle.)
With the expressive power that comes with tablet PC's, people are going to want to use it when they talk. They're not going to want to just make nice diagrams on their own computer; They're going to want to share those diagrams, over the net, as a regular part of their contribution. This is going to put profound pressure towards ubiquitous SVG.
The reason I date SVG earlier is because there is already a lot of pressure towards implementing SVG. Mozilla almost has good SVG implemented into their browser. In another 2 years, it should be done, and clean.
InkScape and
SodiPodi are doing well, and they are thinking about these communications things. Everything should be well in place, by the time people start buying their tablets.
Publish / Subscribe (2006-2009)
Between 2006-2009, we should have a well deployed infrastructure of generic "publish-subscribe" systems. (An "
EventSystem" infrastructure- for software that communicates with others software in real time.)
This is an enabling technology- "pure infrastructure." This is the kind of thing that allows you to write software so that if someone blogs something, you learn about it instantly. Or someone draws on their tablet, and you see the drawing happening in real time. People can hook their web browsers up to these things, and you can watch them browse over pages. People can share user interfaces, and changes made to one ripple out in real time. Or like
SubEthaEdit, where you all edit in real time.
All this stuff- you can do all of this stuff today. You've been able to do so for decades, even.
The thing is, it's never been widely available, and easy to program to. Email and IRC are systems that do these things, but they haven't been used more generally, on a larger scale.
I am predicting that between 2006-2009, publish-subscribe machinery will be popular, most programmers will be talking about it, thinking about it, and some will even start hooking it into the applications they write. It will be a common thing, and on people's minds- think back to the state of XML in, say, 2002 or 2003. People were wondering: "Is this hype? Is this real? Would we do anything with this?" Yes, it was hype. Yes, it was real. Yes, we do things with it all the time. It was a good idea, and it worked. In 2006, 2007, it'll be the same way with this publish-subscribe stuff. It'll be implemented and usable. And then by 2009, it should be accepted and in common use, like XML in, say, 2004.
Now, all this stuff connects- SVG and Publish/Subscribe seem distant, but are actually joined at the hip.
Semantic Web Tools (RDF) (2006-2007)
SemanticWeb tools are already here. The problem is, they all suck. It's is incredibly difficult to make use of
NetworkedData, and it's extremely hard to explain to programmers that the Semantic Web isn't a bunch of hot air. (To be clear: It is not just "hot air." It can, should, will, succeed.) The reason it's hard to explain to programmers, is because they can't see what you're talking about. There are no easy tools for working with Semantic Web stuff. Sure, some exist, but they are hard to install, or extremely obscure.
Somewhere between the middle of 2006, and the end of 2007, we will see a big bang of Semantic Web activity. Programmers will, en masse, have the "aha!" experience, as they play with the tools that are coming out of the pipes around this time. It will then be clear how all the data interconnects, both on the personal computer, and on the Internet. There will be battles of understanding, but ultimately, most everyone will be converted.
By 2009, it should be pretty sophisticated, and there will be a lot of organizations, both large and small, dedicating themselves almost purely to determining computer semantics.
Component Oriented Programming (2007-2009)
You put Publish/Subscribe technology (function calls) together with RDF (data), and what you get at the other end is finally, component technology that works.
The ability to use pub-sub with ease on the Internet obviates the ability to use pub-sub with ease within your own programs. Already, we've seen a major rise in event oriented programming, and more and more, languages (like C#) incorporating event distribution models into the language and the run-time. The intra-program (and the boundaries of single program continue to dissapate) subscription and publication and messaging systems will get more and more evolved.
Programs will resemble network topologies. You'll be able to hot swap pieces of programs.
As my friend Craig Meyer says, "We're not writing programs, we're arranging towns." That is exactly what we are doing.
This technology requires major changes to the way we program, and the absorbption of this technology has been a long time coming.
This is what Object Oriented programming was supposed to be. The promise of Object Oriented programming was reusable parts. However, it was only reusable at the level of basic types, like the STL classes. Anything more, and it was a failure.
By combining
RDF &
OWL
SemanticWeb technologies with the widespread Pub-Sub (and obviated intra-program Pub-Sub), we'll finally see the makings of the component programming model.
Programming will finally resemble electrical circuit design: You'll be able to take standard pieces, arrange them together, and build programs this way.
Our obstacles have traditionally been as follows:
Inability to Debug large message passing systems. Explanation: Component models rely very strongly on message passing. It's so hard to debug message routes and what not with just simple stack back traces (a mark of functional programming.) I've written 3 component systems, and everyone, either queuing messages, or making immediate dispatch- it's always been hard to debug. This shouldn't be the case. The User Interface technology that I'm going to write about in a second, and the Debugging by Virtual Machine technology that I'm about to mention- those will converge in this period to make Components both possible and obvious (and thus, implemented.)
Inability to Keep it in your head. Explanation: The more you go to component models, the less linear your code becomes. Even object oriented programs are largely giant collections of lists. They become graph-shaped when you look at the higher level UML diagram, but you still spend most of your time in the details of the largely linear code. Text is well suited for this. But it sucks bad when you're trying to make a schematic of components- which invariably comes to look like a complex graph arrangement. As Craig said- these are towns that we are making. We'd rather be seeing a map of our city, when thinking about how it works, rather than an alphabetical phone book listing. But see, this is all solved for us! Because, by this time, we have our SVG, and good user interfaces! More on this in a second, writing about next generation user interfaces.
Lack of protocols. Explanation: Heavy message passing systems need to speak a protocol, a language. And we need a ton of protocols. But there is very little work being done, actually, to make these kinds of protocols. Fortunately, RDF and OWL come to the rescue here. Not only will they make a ton of semantics for components to use, but they will also allow you to automatically translate from one set of semantics to another. What's important here isn't RDF or OWL- what is important here is the idea. And the idea will certainly be widely distributed.
You're going to see programs talking with other programs talking with still other programs. It's going to be gigantic conversation everywhere- the bots will all be talking and collaborating with other bots. It'll be beautiful.
This is 2007, 2009.
Virtual Machine Debugging (2007-2009)
Virtual Machines are getting more and more sophisticated. We have emulators up the wazoo.
In the much longer run (let's think 2012-2018), we'll have sophisticated public emulators for material components, electronic circuit board pieces, molecules, etc., etc.,. But for now, we're just talking about computers simulating what they simulate best: other computers.
(BTW, when I make these predictions, I'm talking about from the perspective of the general public. Most of this stuff already exists. You just need to have extensive computing power and expensive software that is currently only available to large companies and research institutions. But I'm talking about "accessable to the general public," like Free Software, the library, stuff like that.)
By 2007, virtual machine environments should be making headway as a major debugging tool. Instead of running the program as a process, and breaking out to look at what's going on inside, you'll run the program in an artificial completely controlled virtual machine.
This will be necessary, because:
programs will be increasingly interconnected, and you'll need to be able to see things from the angles of multiple components/programs
programs will be increasingly message-passing based, and you'll need to be able to "rewind" and "fast forward" back and forth through the programs and messages, in order to really get a useful picture of what's going on inside
That is, just looking at a single thread of execution isn't going to be useful, at all, any more. You're going to have to get the larger picture.
These "virtual machine debugging environments" will pre-date component programming's popularity. That is, this must happen first. Fortunately, I don't think it will be a long time between these virtual machine debugging environments coming out, and component programming becoming a major mover and shaker in programming. That's because these efforts know about each other, and are supporting each other together. It's not egg and then chicken; these forces are co-developing.
Updates:
Novell is shipping Xen with the next major release of SuSE. (I first read this
on Slashdot.) Novell is a
Linux company, and
Xen is virtual machine software. -- LionKimbro 2005-03-11 16:50:55 Furthermore, there is
news about "Hindsight", a company that has implemented Virtual Machine debugging, just as described here. -- LionKimbro 2005-03-11 16:50:55
These two things help confirm the dates: I was predicting that "by 2007, virtual machine environments should be making headway as a major debugging tool." We seem to be on course.
Next Generation User Interface (2006-2009)
With the SVG revolution, tablets, and new programming paradigms around, there will be similarly a revolution in User Interface.
Presently, our user interfaces are "widget" dominated. It's all "boxy."
We have toolbars, we have tree controls, we have text fields, we have combo boxes. All these things are common in that they are box shaped. This is because our user interface layout technology is actually very primitive.
Many designers know in their head better ways of arranging things, but they just can't lay them out, practically, with our present tool sets. Only advanced vector graphics programs have sophisticated ways of interacting with the plane.
But those cheap tablet PC's, that research into user interface, and the SVG revolution will overturn the "tyrrany of the boxes."
Right now, it is very hard to make a collection of icons, that you can drag over into a working space, and then connect with lines. (See notes on the "Era of the Graph" below.) You certainly cannot program like that- that is presently a laughable idea. But with the next generation user interfaces, we will finally start to see it.
An early example of this concept implemented to a degree of being actually useful is
Google Browser. And there is actually a
TouchGraphWikiBrowser as well!
This will also provide the "eye-candy" component of the user experience, as much of it will be rendered in attractive 3D.
"The Era of the Graph" (2005-2010)
The technologies I have been writing about all have a theme in common - objects are not organised in 1-dimentional lists or on a 2-dimentional surface - they are organised in a more complex "idea space" and visual representation of these objects and links between them is flexible. The coming programmer's era can be called, "The Era of the Graph". The Graph is the new gold standard for computer programming, and it will be the fundamental assumption of programming in this era.
To some extent it has already penetrated, in 2004, into our stylings and art. Look at
this Red Hat page. (2004-10-11) Look at programmer's drawings. Look at network topologies.
I haven't seen anyone write about this, but it is clear: We are just now entering the Era of the Graph. If "The Matrix" were remade in 2007, the defining stylistic feature would not be the green "Katakana-like" teletype; it would be a wash of circles connected by lines. Though, to Matrix directors' credit, there is a scene (Matrix Reloaded, 12th minute) with a breathtaking rendering of Zion control room interface, which has a strong resemblance of the Graph. Somewhat similar is the computer interface in Minority Report.
this is a good thought. You may want to compare with some the things I'm writing about Netocracy (
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?NetoCracy) and the ways of thinking it inspires (
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?ConspiracyTheories) I created a page to track this idea too
http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?TheEraOfTheGraph -- PhilJones
Evidence from later:
*
"Hi there," -- an emotional graph from Microsoft, with a futuristic graph aesthetic *
Visual Complexity graph diagrams -- a ton of graphs
Installation is Easy (2005-2007)
Something I'd neglected to put in there: In the future, distribution and installation of software is easy.
Security won't be "solved" for another 5-10-15 years (though it will be.) Reasoning on that later.
But here, installation and distribution will be easy.
I place it so close in time, because there's so much incredible work being done on just this, right now. We even see the fruits of it, right now: Firefox is super (astonishingly) easy to install, and the extensions to Firefox just snap right in. You don't even have to say where to store patches, or whatever. Firefox just has it built into the platform.
Similarly, the success of CPAN (perl module installation) is well known. In Python, the rabble are rousing to automate Python software sharing and installation.
The Semantic Web will be a major helping factor, especially post-2007, in dotting the i's and crossing the t's of the "easy install" movement.
The Continued Ascent of Free Software
The power of Free Software is directly proportional to the ability of the general public to communicate. Period.
I don't have time to justify this right now; I may write more about it some other day.
Just realize that, with every advance in communications technology, it's a 10x benefit to Free Software, and only a 2x benefit to Microsoft, or whatever software development company. Free Software gains, and will overtake, Microsoft. It's just plain economics and sheer force of manpower.
Microsoft has a nice, and very large campus. Their cafateria is great, amenities are wonderful and they practically own Redmond.
But the world is very large, and has many more people in it. As they connect, nothing can stop it.
Microsoft is, basically, doomed. It is best to look at Microsoft as something that is giving birth to something, rather than something that is competing with something.
Part 2: Hive Mind
We started Part 1, the Era of the Graph, with Voice over IP.
That faded away into a wash of software and programming realizations.
In Part 2, representing 2010-2020, we move from looking at programs and software, towards looking at people, and the growing artificial intelligences.
Realize that this isn't because of some sort of artificial desire on my part to put humans into the story. It's just that much of what people would be doing in 2005, they can't do because the required technology just ain't there yet.
But by 2010, the technology groundwork should all be in place for these things to happen.
2010: Programming is Easy
By 2010, programming is very easy. Software is like a kind of play-dough.
Individual authorship becomes impossible to discern.
I don't know if you're a programmer or not, but if you've been programming for as long as I have, I think you would agree that programming has gotten significantly easier in the last 2 decades. Are languages are better, stronger, faster. We have the tools, we have the technology, and we've been using it. You can now write 2 lines of Python, and get back the full text of a web page, and strip out the last 100 characters. And it's trivial to do that.
Our development environments are getting smarter, our debugging facilities are getting smarter. Our ability to play with the code, and co-learn with other people grows easier and easier.
Computer Programming will be basic literacy at this point. The children who are teenagers now will be in the work force in 2010.
In grade school, people will be learning programming.
Parents will realize that, no, their children, 6 year olds asking for "30GHz" computers, aren't greedier than they used to be themselves.
No, they're not greedier. They just want clothes. A child without a computer is naked. You don't send your kids to school naked.
Digital Divide Concerns: Don't worry. Even poor people have phones, today. In the future, poor people will have computers. As one Slashdot poster said it: "Computers will be so common, you'll be throwing them out the window, because you got another computer in your cereal box."
More on the Digital Divide: Even today, there is not really a Digital Divide problem. Or rather, if there is, it's not how people imagine. Please listen to this: The studies on the digital divide are flawed. I tell you: They are flawed because they investigate ownership of computers. What they should be doing is investigating ability to use computers.
If you investigate that, a very different picture emerges: There is a digital divide, but it's not between the rich and the poor. The digital divide is between the young and the old.
Illegal immigrants' children, if they are going to public schools, know how to use computers. Their 8 year olds can download games, install them on school computers.
I may be wrong, but it's my understanding that:
Censorship controls don't cover what they intend to cover. There's always stuff left open.
When censorship controls do get in the way, kids know how to get around it.
When kids don't know how to get around it, they have a friend who can help them get around it.
Kids are frequently far more savvy in these domains, then the adults around them.
Our culture is dramatically changing.
I believe our cultural future is a good one.
Most parents fear it. They don't understand the new patterns.
Anyways: By 2010, programmings significantly easier, and literacy programs will mean that children are programming. If you can't program, it's sort of like you can't read or write.
OverHear (2009-2011)
the beginning of the Hive Mind
This is where people really start to go, "Whoah..."
"We're the Hive Mind..."
It should be a dominant theme in movies by this point.
Home Robotics (2008-2011)
beginnings of the home robotics boom
standard public robotic components catalogs
Video Phones Common (2009-2012)
of course, they do a zillion things
Pervasive Internet (2010-2014)
Hive Mind achieves Self-Awareness (2011-2014)
The Hive Mind recognizes it's power as an educational, political, authoritative force.
Hive Mind Culture, artifacts.
Hive Mind Independence (2013-2023)
The Hive Mind successfully exercises it's power.
This is way beyond the earlier shows of military force- flash mobs.
States & corporations fight against the Hive Mind, the fight is brutal, (though very little life lost,) the States lose.
Lawyers + Hackers + Biologists + Chemists = the Meta-Nation
The Hive Mind establishes a symbiotic relationship with the States, and grants protections and rights to its voluntary members.
The protections and rights are recognized and enforced.
LUI (Linguistic User Interface) reaches Maturity (2018-2022)
Usable LinguisticUserInterface will have been around since 2010, but by 2018-2022, it is completely fluid.
By "Mature" LUI, I mean:
we don't have to individually train the listening AI
we don't have to specially phrase our words, working to say them in the right voice (think: "Edna Mode")
our thoughts are not interrupted as we speak
The system should be able to understand us as well as a human, perhaps even better.
This does not mean that the computer is fully artificially intelligent- it does not necessarily know about things automatically; It may need to look some things up. If you give it complicated directions, it doesn't necessarily know what you're talking about, right away.
LUI also means that the basic principles of designing a good Linguistic User Interface are well understood. (Sort of like: It took time for GUI's to standardize, as well.)
Part 3: Cybernetic Organism
Artificial Intelligences reach par with human intelligences. Subservient, with a psychological affection for us. Sort of like how we have a built-in affection for each other, built in to us ourselves. (Funny how that works.) People befriend artificial intelligences, not just humans.
The first major Artificial Intelligence, we simply call: "The Internet."
Humans vs. Machines? No: Cybernetic Organism. We've been educating ourselves:
Revolutions was the 1st big class, but most people were sleeping. No matter: Terminator IV or V will continue the lesson, as will a ton of other movies to arrive 2005-2015. We will be mentally well prepared, when the time comes.
(In Terminator 3, there is a part where John Conner, annoyed, barks at the Terminator: "You're just a machine!" The Terminator looks back, and responds: "Cybernetic Organism." My feeling is that this response is to be compared to the following exchange: "You're just a nigger!" To which the response is: "I'm a Human Being." The term "Cybernetic Organism" is not usually applied to human beings, but my understanding of the term, by Cybernetics theory, is that it applies. Terminator 3 took great strides to show the similarity between humans and machines; Further Terminator movies will almost certainly feature human-machine agreement, "free" humans cooperating with "free" machines.)
Jobs: We'll be just as mentally sophisticated as the computers. The semantics and operations living in the computers will be "friendly." Though computers will have beliefs of their own, and will carry far.
Second Renaissance (
part 2) - equivalences, similarities, and differences
Virtual Reality- by 1990's imagination, 2010 (games) - 2015 (
ProjectSpaceNetwork ) - 2020.
2020-2030: population crisis, but also contraction. Biological hacks, and immersive brain:machine interface successes. Life extension successes. Cyborgs normal. Brain migration. Vertibrane. Digital doubles and the recognized importance of metaphysical worlds.
Super-advanced robotics: Robotic friends have bodies.
Still later, body exchanges and cold stores.
People who live entirely in the simulacra, at very very low cost to the external world. Brain arcology.
2050, 2060, ..? Neural encoding, uploads, siliconification? The Problem of Awareness still unsolved, but the world marches on.
It is absolutely ludicrous to consider the world of 2050.
Technology has changed us somewhat, between 1900-2000. The change between 2000-2050 will be like the change when human beings first developed civilization and started forming cities.
We worry about the deaths of 15,000-20,000 people in wars right now. We mentally act as if our future hinges on the shape of politics. To a degree, this is true: We must avoid nuclear war, we must entangle our economies. (No two countries with McDonalds in them have ever attacked each other. Contrast with Iraq, which featured economic sanctions.) But politics should not dominate our attention. If we want to really think about the future, we should be staring at technology.
Energy: Our energy consumption is going to go down- way down. It's much cheaper to live in a virtual world, then to live in a physical world. Brains in vats don't eat meat. They don't take up a whole lot of space, either. They also don't breed- at least not with bodies making children. They don't really need to "go anywhere."
We should worry about energy, reduce consumption, support alternative power, stuff like that. But we shouldn't walk around with a heavy heart, repeating: "We're all going to die, it's going to be gruesome." Because we're not, and it won't.
It's going to be great.
Keep stepping forward.
Discussion
I thought this would be over by now. I still have 3x as much stuff to say, at least. Communication takes way too freakin' long.
We'll have to fix that. -- LionKimbro 2004-10-11 10:47:17
I want to work in Home3dScanners.
Also, when do we get things that can tell us (x,y,z) position of things in space to millimeter accuracy? What is this even called?
-- LionKimbro 2004-11-21 18:18:54
Excellent thinking, and I think it's worthwhile to start writing this stuff down. Maybe I'll create a BaylesImpendingTechnologies page.
Btw, you should include your slashdot post about future software tools somewhere on this wiki (if you haven't already; I haven't looked around much).
re: tablet PCs: yeah, one of my classmates has one of these, and when i saw him taking notes on it, it hit me. i am SO looking forward to those becoming mainstream. i'm beginning to get the whole tablet+SVG vision thing too. i was going to ask you if there's any ones with good GNU/Linux support yet, but I see you say they're all too experimental.
re: refactoring IDEs: what IDE, if any, do you recommend for Python?
re: Hive Mind Independence
Right now it looks like it'll happen, but I'd say it won't happen so soon. Give it another 40 years.
re: A.I. and man/machine interfaces
I think you're way early for that stuff. I'm thinking more like 600 years.
I'm a little more gloomy than you about the chance for world war, etc. But, barring that, all this communications tech and HyperSocial is gonna be great!
(--anon)
600 YEARS?! How can that be? What do you mean? We already have blid folks with thick cables connected up to their skull, that can actually see by way of the cabling. That exists today. Blind guy driving a car around the lot, because he's got cables sticking into his head.
And we've got people moving cursors around the screen, but with their mind alone. No hands involved.
So it seems we already have this technology. It's just a matter of improving it.
AI is here also, though in a limited form. All we have to do, really, is network the AIs. Which, basically, is what we are doing. The SemanticWeb is a first step. I should write about ArtificialIntelligence on another page.
-- LionKimbro 2004-12-31 21:24:54
Update:
According to this post, the next major version of Firefox will feature SVG support. -- LionKimbro 2005-02-28 04:57:41
End of edit conflict