The Drupal 8 Mobile Initiative
by John Albin Wilkins
Just a few months ago, Brian Fling, a pioneer in the mobile industry, said
I took that as a challenge to help make Drupal the leading mobile CMS platform. Certainly, there are some fantastic contributed modules that already make Drupal a great starting point for mobile solutions; modules like Mobile Tools, Domain Access, Responsive Images, as well as a whole slew of new ones that have been released in the past few months. But in order for a CMS to earn the moniker "mobile-friendly", setting it all up needs to be easy.
Right now, Web development experts are building mobile apps and websites while looking for integration with existing CMSs. And they are having to build a lot of the tools themselves because there are very few mature tools. The Web development industry as a whole is still trying to figure out the best way to build mobile sites and Drupal needs to engage and become a leader as that work continues.
By my count, there are currently five different ways to provide mobile solutions:
- Native apps (code compiled to run natively on iPhones, Androids, etc.)
- Mobile/desktop domain switching (parallel websites: one for desktop and one for mobile, with device detection to switch between the two.)
- Responsive design (a single HTML source that uses CSS3 media queries to respond to different device capabilities)
- RESS: Responsive Design + Server-side Components (a hybrid approach that uses Responsive Design techniques combined with a light amount of device detection to alter the markup before being sent to the user.)
And Drupal (whether in core or contrib) should support all of them.
Now that’s a pretty broad spectrum of things to cover and we can’t include them all in core. But, to reach that “mobile-friendly CMS” status, what are the top issues Drupal 8 core should provide?
- Web services for native app integration
- HTML5 elements necessary for HTML5 Web apps
- Ability to use Drupal’s administrative forms in mobile devices
- All of Drupal 8’s core themes should be responsive
- Front-end performance improvements
Fortunately, the first two points are already covered by the Web Services and Context Core Initiative and the HTML5 Initiative. The Drupal 8 Mobile Initiative will be closely following their progress, but if you are interested in integrating native apps or HTML5 Web apps with Drupal, the bulk of that work will be done in the WSCCI and HTML5 initiatives, so go help out now!
That just leaves the last three items for the Drupal 8 Mobile Initiative to focus on at first. Let’s break down what each of them means.
If users can’t create content or administer a Drupal site while on a mobile device, we have a serious problem. Those are the first tasks attempted by users on new Drupal websites. Much as the “ugly themes in Drupal 6” made a bad first impression of Drupal to Web designers, not providing mobile administrative solutions will leave a sour taste in the mouths of mobile developers evaluating CMS solutions. To complete this task, we’ll have to look at the complete stack for administrative tasks, including form definitions, form submit handlers, the Toolbar, the Overlay, and the Seven theme.
Responsive Web design
Responsive design is the hottest technique in producing mobile friendly websites because, relative to traditional mobile building techniques, it lowers the development cost for including mobile device support. Websites that only support large screens will become an anachronism, so converting all of core’s current themes to have mobile-first responsive designs is essential for Drupal to remain relevant. (Incidentally, the Drupal 8 Design Initiative, which is focusing on building new themes for Drupal 8, will also ensure its themes are responsive.)
Lastly, performance has always been a priority for websites, but with mobile it becomes critical. Some studies show up to 97% of a page’s render time takes place in the front-end. There are a laundry list of best practices for front-end performance that will help mobile and desktop users. And I’ve seen several members of the Drupal community speak about these issues multiple times this past year.
However, when dealing with responsive design, the single biggest performance concern is image handling. The first demo of responsive design had over-large images being sent to mobile devices. While no single best solution has yet been found, I’m sure we can leverage Drupal 7’s image styles to solve this issue.
I’m very pleased that the founder of Drupal, Dries Buytaert, has asked me to lead the Drupal 8 Mobile Initiative. As initiative leader, my primary work won’t be to code the majority of Drupal 8’s mobile solutions (I’ll help, but I’m counting on all of you to do that). Instead, I’ll be focused on looking at Drupal 8’s mobile experience in a holistic manner. I’ll ensure that the myriad of issues in Drupal 8 will have a consistent approach to mobile and that we don’t let major pieces slip through the cracks.
The best way to accomplish that is to research and listen to the larger mobile development community. Since this cross-pollination is also essential for Drupal’s continued relevance and vitality, I’ll be tracking and engaging (and encouraging others to engage) with the larger web and mobile development community as it develops mobile solutions.
Since many of the existing Drupal 8 initiatives touch on mobile, I’ll also be coordinating closely with the other D8 initiative leaders on those issues that have a mobile aspect (in particular the Services, HTML5 and Design initiatives).
To help me in my role, my employer, Palantir, has donated part of my work week so I can focus on the Drupal 8 Mobile Initiative every week. Thanks, Tif and George!
So, let’s go!