A Brief Overview of the Future of Drupal: Short Term and Long Term
Last summer, nearly every client that I talked with who wanted a CMS would ask for Mambo. This was in spite of Drupal's obvious superiority in terms of code, flexibility, and power.
I was forced to conclude that Drupal's biggest weakness was the first impression it was making. I spent about 2 minutes looking at drupal.org, and Mambo's homepage, and the cause of Drupal's weak first impression was dead obvious:
Generally, "Power in Simplicity" makes a better first impression than "Community plumbing".
Hardly an Earth shattering observation. You could ask a 5 year old which slogan is better, but they'll probably be laughing too hard at the implications of "community plumbing" to answer the question with words.
Today, I can't remember the last time anyone mentioned Mambo to me. So, 9 months after I wrote that article, I am going to go out on a limb and say it: Drupal, as a platform and community, won. We've left the competition in the dust. (and funnily enough, those who make up the competition seem blissfully unaware of the fact).
We won in spite of the fact that we still advertise the idea of plumbing together as a community; its clear the drupal community is not plumbing anymore; we're kicking serious ass. The number of users, and nodes at drupal.org as DOUBLED since I wrote that article. In one year, it was estimated (somewhere, Zack Rosen mentioned this) that the overall economy of drupal increased by 10 fold. And don't even get me started about what the forms API, CCK, Views, Relationships, CiviCRM, OG, blah blah blah ... let's talk about something else:
The Imminent Release of Drupal 4.7.0 is only the Beginning
So, where is drupal going to be in another 9 months? We probably won't have made it to the cover of Time magazine... yet... However, based on my conversations with Adrian (for all practical purposes the inventor of PHP-template and Forms API), here are just a few things that the future of drupal holds:
The Drupal of the Near Future
1. AJAX Form Creator -- Give this app a spin. Someone is going to build this for drupal (yes you, aspiring summer of coders, this trophy can be yours). Hopefully it will be in a usable beta by the end of the summer. This one of the reasons for the forms API --- it makes it possibile to build gizmos like this. That's why painful updates are necessary for Drupal. Other CMS's would not have been able to stomach updates like 4.6 to 4.7. This a key thing that sets drupal apart from other CMSs -- we aren't afraid of pain, we're afraid of obsolete code.
Folks, thanks to the Forms API, the future versions of Drupal will make sure that you never have to code a form array again. Sorry, masochists.
2. Simplification of Form Functions -- On the coding level, forms will be a synch to render. Say I want to have an inline login form in some random spot on a page. I will have to do some serious programming to get it there. In order to carry over all of the forms validation, fields, actions, etc, I must use a scary byzantine block of code: "print_r(form('user/login', 'inline'));"
3. Death to function theme_foo -- In the drupal module's of the future, every theme function will be replaced by hook_foo.tpl.php files. This means that there will not be a single themed output of a module that can't be directly styled, and edited via HTML and CSS. I hope to work with Adrian on this very soon. Say good by to drupal core styles. And yes, this means death for misc/drupal.css! But more importantly...4. A Real Theme Editor ...because of the reworking of theme functions from the .module files and into tpl.php files, we'll be able to build a theme editor that is unlike anything the internet has ever seen. No joke.5. Modularization of Themes/single themes obsolete -- Thanks to the forms API, we can store multiple styles for themeable functions. Take blocks for instance: the drupal of the future will let you select a different tpl.php file and style for each of your blocks. Now think about this folks: consider the fact that I could convert these sets of lists into drupal blocks over a long weekend. Yes, switching tpl.php files is very cool.
6. New Menu API -- Has anyone else been having trouble getting the menu system to do what you want it to do? I have news for you: you are not alone. Actually, truth be told, the menu system doesn't make a whole lot of sense -- in the same way as the forms API used to not make any sense. Expect a menu_api by 4.8, or 4.9 latest (fyi, some of us might start working on the beginnings of 5.0 very soon).
7. Drupal Version 5.0 -- This where things get psychedlic. The output of drupal in 5.0 will be abstracted to the point that drupal could easily power an entirely flash-based site using drupal. Drupal sites are also going to begin talking to each other (once you give a user at both site's the right permissions.) So, say you want to publish a node on your blog, at groups.drupal.org, and the drupal.org forms. The future drupal will allow you to do that: one node, one submit, but published at as many sites as you have access to. Edits of these nodes will also map over. (with the right permissions.)It gets better. 8. Drupal and the Command Pattern Design Pattern -- This may all sound like an acid dream, but it can actually be accomplished using the Command pattern. This design pattern is used all over the place. Typically its used for recording macros, Wizards, rollbacks and versioning, and other situations in a number of complex actions need to happen. So, in future installations of drupal, you can record a certain configuration, and then share it with other drupal sites. There will probably be a configuration library at drupal.org, where users contribute various configurations suited for different needs -- a preconfigured rock band's site, a preconfigured blog, a preconfigured ad-based publication, etc... Excited yet?Every day a new brillaint mind is entering the community, and the only thing that is certain is that its a great time to be involved in drupal. And we ain't seen nothing yet.
Looking ahead to the Drupal of 2016
Wrapping this bit up, I wondered what is the pattern to all of these advances that are planned for 5.0? I had a feeling that I was looking at something very familiar. And indeed, I think I now see it.
However, this needs to be kept in perspective.10 years ago, it was 1996. The bubble was expanding out of control; it was the era of pets.com. Most of america used AOL!! Ask yourself: how much has changed in 10 years?
Could you imagine the internet of 2006? An internet where every 15 year old has a myspace blog. An internet where strange forms of collective intelligence emerge... just look at del.icio.us. Could you imagine del.icio.us in 1996?
Wikis, blogs, tags, RSS -- the way these technologies are beginning to converge is some WEIRD stuff. This strange web of information -- just for one moment, I want you to revel at how ridiculous, strange, trippy, and out of this world it is. (dude.. seriously...)
I only mention this because I don't consider this prediction outlandish; I insist its very possible. Moreover, I happen to believe we "invent" the future with predictions in technology(and especially the internet).
So when it comes to technology, remember: every prediction is also an invention.
Drupal 2016: The world's Most Powerful Website Operating System
In 2016, drupal will no longer be classified as a CMS. I think its closest relative will be the traditional desktop operating system. For practical purposes, we'll just call it a "website operating system" similar to osX, or Windows. I'm using the word "website", but the I as you will see, the website of 2016 is a much different beast.
Here's the basic relationships:
Drupal OS | Windows XP
module = application
core include = system folder
nodes = generic documents
menus = abstractions of applications and directories (start menus in Windows, dashboards in Mac OS)
logs = n/a -- the desktop operating system isn't social.t
hemes = themesconfigurations = configurations
Drupal is evolving to the internet like a biological creature, and our current enviroment is rewarding applications that move us closer in the Website OS direction. In fact let me go out on a limb: the Web 0S is what all of this web 2.0 hype has been about.
What People Will Be Using Drupal for in 2016
1. Managing and Composing Email
2. storing, sharing, and organizing camera phone photos
3. Integration of mobile devices, the web, and their computers.
4. managing their virtual identity (a good virtual identity will quickly become a pre-requisite for success)
5. Composing, storing, editing, and sharing "documents"... I think, however, that microsoft word documents, and PDF's and dead. Who needs a mywriting.doc file when they can just publish it, or publish it for a few people, or put it away until its ready? Really, there is no need for any text.doc in 2016. Its just a middleman between writing content, and someone reading it.
6. Coordinating their social life -- with the integration of mobile devices, and the already emerging crazy mobile businesses like Dodge Ball, it seems that we can't even imagine the role mobile is soon going to play in our lives. I hope drupal takes the carrot that is tangling in front of it, and begins the process of becoming the most popular mobile-to-web content management tool.
6. Remember how I mentioned that drupal sites will all talk to each other in 5.0? This has huge implications on the Web OS. Say publication a has 20 writers, and 3 editors. which is easier: asking them all to come to one site, where they compose documents, and editors read them, or linking the Web OS's of all of them together via the website's 2016 version of the publication.module. Each user has their own workspace, and ownership of drafts. When they are ready to submit, they do so with one button from their web OS.
7. Who knows -- maybe games.... who knows though
8. who really knows -- I think I just touched up on the obvious ones though. A key problem for trying to predict this stuff is that several key concepts and technologies that will affect the path of Drupal have not been invented yet.
After Thoughts
Predictions are -- to put it mildly -- usually wrong. I feel however, these predictions are ,at least, a bit more solid than the future that was predicted in the 60's: the one where we had jetpacks, flying cars, and were living in space needles. The real future was Microwave ovens, plastics, computers, and the internet. At the very least, I think this proposition is practical, and serves needs that are only beginning to be filled. Also don't forget: in technology, predictions are often inventions.