D8 Mobile Initiative IRC Meeting #2

JohnAlbin's picture
2012-02-02 19:00 - 20:00 UTC
Event type: 
Online meeting (eg. IRC meeting)

Please join us for our second IRC meeting to discuss issues related to the Drupal 8 mobile initiative. The meeting will be held in #drupal-mobile on IRC at 19:00 UTC on Thursday, February 2. Using IRC is easy; Drupal.org provides a guide to using IRC.

Thursday, February 2:
San Francisco — 11am
New York — 2pm
London — 7pm
Taipei — 3am (Friday)
Convert to your timezone


As a reminder, the scope of the D8 Mobile Initiative includes:
- Mobile-friendly Drupal admin
- Responsive design issues
- Front-end performance
- Converting existing D8 themes to be responsive

The agenda will be driven by the questions and suggestions given by attendees.

Please post your proposed discussion topics in the comments.


Please correct the date

asifnoor's picture

Please correct the date. It is coming as December 22nd in the mail :)


JohnAlbin's picture

Copy and paste error. Fixed.

Thanks for the note!

  - John (JohnAlbin)

Mobile Handbook

JohnAlbin's picture

Personally, I'd like to talk about the Mobile Handbook. http://drupal.org/node/1380356

  - John (JohnAlbin)


nod_'s picture

I was looking for initiatives around JS, HTML5 wasn't quite what I was looking for but js lazy loading is on the mobile handbook.

I'd like to talk about using things like requirejs, curl.js to load JS and CSS lazily, It's not really mobile specific but hey, I have to try.

Front End Performance

JohnAlbin's picture

When I was talking to Dries about the initiative I always made sure that Front End Performance was part of the Mobile initiative. Even though FEP is important for all sites, its critical for mobile sites. That's why its in the handbook/on the initiative page/etc.

I was reading up on YepNope (which is also included with Modernizr) and how it lazy loads stuff. http://yepnopejs.com/

  - John (JohnAlbin)

async, lazy loading, and defer

rupl's picture

Lazy loading is a very small subset of asynchronous resource loading. We shouldn't confuse the two terms as we make plans for Drupal's future.

In one scenario, scripts are loaded by JavaScript itself (yepnope.js, LABjs and others) to avoid blocking the rendering of the web page. Although it performs additional HTTP requests, when configured properly it often speeds up the rendering of a web page on the desktop. There is still debate as to whether or not blindly using async script loading is beneficial on mobile (think LABjs), but combined with conditional async loading, you almost always achieve gains by the very fact that you download only what you need. This is why yepnope.js and Modernizr are such a great pair: Modernizr has all the conditionals, yepnope does the loading.

Lazy loading, however, normally involves delaying the loading of assets until the page thinks they're needed. Most often we see this in the form of lazy-loaded images on a high-traffic blog. We do not want to bake lazy-loading into Drupal core. I imagine it would be a delightful feature for displaying long lists of media, like in Views.

There is another option we have available to us, which is deferred scripts. In some cases, you can set an HTML attribute defer on your script tags directly, which tells the browser to simply download the script and wait until the page has finished fetching other assets before blocking the page render and executing the script. This is precarious for historical reasons, which require the developer to essentially make a "pledge" (which can be broken with no warning) to write code that never uses the features of JavaScript that block rendering (document.write() is an example of a function you cannot use with defer).

Finally, there are rumblings of introducing a similar async attribute to script tags, which would no only defer, but also execute asynchronously. There is no "developer pledge" required in this case because it's always async so those rules apply. It would not alleviate the need for JS-based async script loaders because they are the only means to conditional loading at this time, which is what mobile is all about.


nod_'s picture

That's why I'm not sure this is the right place to talk about what I have in mind which is turning all core js into AMD (Asynchronous Module Definition) and load thoses modules only when they are needed with whatever script loader is trendy and supports AMD.

I'm not really interested in conditional polyfill loading or the mobile side of the issue (besides having the possibility of loading only needed parts). I'll drop by for the meeting anyway, just in case :)

Current core discussion

JohnAlbin's picture

I think everyone who commented on this thread knows about this core issue, but others should know about it. https://drupal.org/node/1033392

  - John (JohnAlbin)

I would love to know what the

Bojhan's picture

I would love to know what the goals are for D8. I am quite confused, what the plan is to make D8 mobile friendly - beyond just doing everything possible; is there a certain timeline, are there distinct topics, what is part of this initiative and what is not.

I'll drop in as I'd love to

janusman's picture

I'll drop in as I'd love to know more about the various goals & strategies that are in discussion/have been decided upon/etc.

It'd be great to have some links to discussions, proposed game plans, etc. that would help fill in gaps for us #d8mi beginners before going into this talk.