Front-end standards group/2015-12-02



No social items on agenda this time.

Action & CodeEdit

New questsEdit

Spike: Does HTML minification gain us anything? (JR)
ES: A typical HTML minification gains about ~ 3% of file size before gzipping

Great to see work on requestIdleCallback completed! Any announcements or suggestions on how to use it (other than what's in the code and the commit message)? (AG)
> Timo to write release notes and send announcement to wikitech to encourage adoption.
TT: Standardized way to know how much rendering time is left per frame, action items as above

Migrating from cookies to sessionStorage and localStorage as current performance guidelines suggest (AG)
For this purpose, CentralNotice added a LocalStorage-based key-value store[2][3], developed in part following suggestions from Performance folks. The store provides an expiry mechanism (which LocalStorage on its own does not). Might there be any interest in including this or something like it in core?

JR: A lightweight API
TT: Doesn't do anything besides get/set. Would propose something upstream lib, instead of writing our own. jStorage is heavyweight, seems like ttl is a popular use case, we shouldn't reinvent the wheel, but external lib.
AG: Eventually, we hope to use this to replace most or all of the cookies that Fundraising uses for banner display logic. A recent sample of banner history logs seems to show that LocalStorage is unsupported on only 0.06% of pageviews for clients that can show banners. So a fallback mechanism to cookies may not be needed.
TT: With drop of IE7, there's no browser left without localStorage -> Op Mini (interrupted JS) or users without Cookies enabled
AG: Will file Phab task

Standardise on how to access/register JavaScript interfaces (TT, JR)

Proof-of-concept for RL module public interfaces without globals

Postponed to/scheduled for next meetingEdit

  • Skinning System: current problems, possible future solutions
  • TP: We should switch to BlueJeans for capacity reasons (+1mtg)


RobLa used the first part of the meeting with a request for help coordinating (<>). RobLa explained the larger context that this working area fits into (<>). Volker volunteered to take this on, provided he is able to get assistance from someone on the team. Timo volunteered to help out.


  • Andrew (AG)
  • Bartosz (BD)
  • Ed (ES)
  • Julien (JG)
  • Prateek (PS)
  • Roan (RK)
  • Rob (RL)
  • Trevor (TP)
  • Timo (TT)
  • Volker (VE)