Building a Better Drupal
In his semi-annual “Driesnote” at DrupalCon Barcelona last month, Drupal founder and project lead Dries Buytaert spoke openly and frankly about some of the challenges facing the Drupal project and ecosystem. One of those challenges is the increasing amount of time it’s taken to develop each release as Drupal has grown larger and more complex.
In my session the next day, Architecting Drupal Businesses that Are Built to Last, I discussed how building complex software is in many ways like building a large building. Much as the way that we’ve approached construction has changed over time, so has the way that we approach building websites.
For most of recorded human history our largest structures were made simply by piling huge stones on top of each other. The Great Pyramid of Giza was built by thousands of laborers over a period of 10-20 years and completed around 2560 BC. For nearly four thousand years, it was the largest structure in the world at about 481 feet.
This is also pretty much how we built websites back before content management systems became widespread; there was a vision of what the end product needed to look like, and we’d just keep piling on more code and markup until it was done. It was usually a very labor-intensive process that took a long time to complete, and you didn’t have a lot of flexibility with the end product, but it got the job done.
The Great Pyramid was surpassed in height only in the 14th century by the Lincoln Cathedral in the United Kingdom’s East Midlands. At 525 feet tall, it was reputedly the tallest building in the world from about the year 1300 until its central spire collapsed in 1549 and was not rebuilt.
Cathedral construction in the Middle Ages was a community-funded and supported effort, frequently taking decades or even centuries to complete. When building a cathedral, the general approach was to get something fully functional up first, usually the chancel, which is where the high altar sits and the choir sings. Once this “minimum viable product” was completed, you could then extend outward as time and money became available, all the while maintaining a working place of worship. Because these buildings were built in stages over long periods of time, they also could evolve during construction and there was a fair amount of architectural experimentation and innovation as a result.
And this is what building a website with a content management system can get you; you can get a basic site up and running fairly quickly, then build on top of it and innovate over time without having to take it down or over from scratch. Like the cathedrals of the Middle Ages, open source content management systems like Drupal, WordPress, and Joomla! are community projects that are supported and maintained by a wide variety of agencies, paid developers, and volunteers.
The Washington Monument, which was completed in 1884, is the world’s tallest stone structure even today at 555 feet tall. It’s very large and impressive, but like the pyramids, cathedrals and other monuments that came before it, the Washington Monument is primarily not functional in nature, but ornamental. Despite their tremendous diversity of shapes and sizes, the kinds of tall buildings that were constructed up until the late 19th century were designed as places of worship and monuments to kings, emperors, and presidents, not as places that you could live or work in every day.
And this is also the limitation of many websites that are designed as completely bespoke solutions. They’re great expressions of the business needs that existed at the time and place in which they were built, but all too often they aren’t built to adapt as those needs change over time.
In 1884, the same year that the Washington Monument was completed, a Chicago architect named William Le Baron Jenney made a huge innovation with the Home Insurance Building, which was built using a load-bearing structural steel frame that supported the entire weight of the walls, instead of load-bearing walls that carried the weight of the building. This was called the Chicago Skeleton method. For the first time, it was possible to have a tall building with usable space all the way up to the top floor.
Steel replaced stone architecturally, and the age of the skyscraper began. Its pinnacle was reached in 1931 with the construction of the Empire State Building, which is 1,250 feet in height. These skyscrapers were a huge leap forward, but they were ultimately limited by the both the cost of building them and the inflexibility of the skeleton method; you could pretty much just build a tower straight up. The Empire State Building remained the tallest building in the world for 40 years.
This is the point that we have reached with Drupal 7. While the raw size and functionality of the sites we can build has scaled greatly, we’ve also hit the limits of Drupal’s cost effectiveness, technical overhead, and flexibility. Drupal 7 as a project has had difficulty adapting to meet some of the needs of today’s Web. It’s often cheaper and easier to use a framework than it is to use Drupal, and while that’s true for sites of all sizes, it’s particularly true for the largest customers, who often choose to create their own bespoke platforms. It’s been very clear for some time that something needs to change.
In 1969, Skidmore Owings and Merrill (SOM) were hired to create a building with 3 million square feet of office space for thousands of Chicago-based employees of the Sears Corporation. To meet this challenge, SOM architect Bruce Graham and engineer Fazlur Kahn designed an approach that combined nine individual “tubes”, each of which was essentially an independent building, clustered in a three-by-three matrix. The Sears Tower was completed in 1974, and reached a height of 1,729 feet.
The advantages of the bundled tube structural system is that it provides great economic efficiency, because it required less steel, and offers greater flexibility for buildings to take on more shapes. The structural innovations introduced by the Sears Tower four decades ago brought about a renaissance in skyscraper construction that continues to this day.
This kind of renaissance is also what Drupal 8 offers with its object-oriented approach, configuration management, improved APIs and native Web services support. Drupal 8’s more modular architecture makes it much easier to create so-called “headless” or “decoupled” websites that play nicely with a wide variety of frameworks and Web services.
When you have this kind of flexibility, all sorts of things are possible. This is the direction Drupal needs to go in order to remain competitive with other platforms like WordPress, Typo3, Adobe Experience Manager, and Sitecore.
Drupal answers the increasing call for skyscraper websites. It can and does support some of the largest, most trafficked, most complex sites on the planet, and with Drupal 8 we’ll be even better equipped to do so.
Images used in this post are done so under Creative Commons. In order:https://flic.kr/p/7BUH63 - CC BY-SA 2.0https://flic.kr/p/7sxMP9 - CC BY-SA 2.0https://flic.kr/p/dERZT6 - CC BY 2.0https://flic.kr/p/mZU9d2 - CC BY 2.0https://flic.kr/p/o8AnpS - CC BY-ND 2.0