jQuery Mobile Team Meeting – May 17 2011

##Navigation re-write status update

##Targeting Ajax navigation and animated page transitions (Scott) Currently in jQuery Mobile, if a browser supports media queries or is Internet Explorer, we enhance the page to the full experience, including Ajax-based navigation for animated page transitions. The issue we’re seeing now is that there are browsers that support all the advanced enhancements but don’t properly track hash changes as history stack events so the back button is essentially broken on both Blackberry 5 and Symbian. Opera Mini also has issues with the Ajax navigation system because of the way it’s proxy-based rendering works.

###Suggested action:

link Restore user zooming capability

  • Right now, all our demos and docs have this meta tag:

<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">

The issue is that the minimum-scale=1, maximum-scale=1"portion completely disables the pinch- or double-tap-to-zoom feature which isn’t very “webby” so we’re going to change our meta tag to set a better example of how to code a page in jQuery Mobile. The meta tag is part of the user’s page content so this isn’t a change to the library per-se, but our demos are used as a template for many users so this is important to evangelize.

  • The proposed meta tag we’ll use will look like this:

<meta name="viewport" content="width=device-width, initial-scale=”1”">

On iOS, there is a bug that will incorrectly scale the page when you change orientation which is the reason why we originally used the current meta tag configuration, but we don’t think it’s worth disabling the user’s zoom feature to workaround an iOS bug that may be fixed in the near future. A bug was submitted to Apple by Filament Group, and there’s a description here: http://filamentgroup.com/examples/iosScaleBug/

JavaScript can be used to manipulate this tag dynamically but this approach is far from fool-proof and causes some performance issue so we want to start with the simplest option (leaving the browser feature untouched) and think about alternatives to improve this for 1.0. Jeremy Keith has a great article on this topic: http://adactio.com/journal/4470/

Ticket for this change here: https://github.com/jquery/jquery-mobile/issues/1645

Fix provided here: https://github.com/jquery/jquery-mobile/commit/8ba4c27300da72f5792c98a6aeb53e2f2fd4b02c

and here: https://github.com/jquery/jquery-mobile/commit/04cb9c185040994265ffbd3e40a9ab2cb3ab1dbb

##Remove dynamically injected viewport meta tag

This was deprecated in alpha 4 due to Windows Phone 7’s lack of support for dynamically injected viewport elements. In the end, we think this should be in the page to start anyway, so we’re recommending that users of jQuery Mobile write the meta viewport tag into the head of their page (with content=”width=device-width, initial-scale=1”).

Fix here: https://github.com/jquery/jquery-mobile/commit/adf3808e842677feb23e9d1102c7203ab82a42a3

##Git repo size

The jQuery Mobile repo's large and it may be due to obsolete branches.

##Transition encapsulation and packaging (current state: fuzzy idea)

  • (From Steve) Currently we have jquery.mobile.transition.js package (for css3 transitions) and jquery.mobile.navigation.js acting as a transition “god object” (as it were). Possibly better: navigation triggers at the appropriate junctures, and transitions, as a self-sustained independent package, listens and acts, or not. Acid test: navigation would know nothing about transitions.

###Probably good: Audit, eliminate setTimeout() wherever possible

  • Expecting that some of these can be engineered with $.deferred instead.
  • Currently we have 15 setTimeout() calls in Master.
    • 2 in core.js
    • 2 in event.js
    • 2 in footer.js
    • 3 in select.js
    • 1 in textinput.js
    • 1 in hashchange.js
    • 3 in navigation.js
    • 1 in vmouse.js

jQuery Core Team Meeting – May 16 2011

Minutes (Notes) of the meeting of jQuery

Location: #jquery-meeting on Freenode

Time: Noon ET

Official Agenda:

jQuery 1.6.2 Status

http://bugs.jquery.com/query?status=!closed&milestone=^1.6.2&order=priority

Blockers

No major rush, just keep fixing bugs. We’ll set a date soon (likely in a month or so)

jQuery 1.7 Roadmap

jQuery UI Team Meeting – May 11 2011

Recent Progress

Todos

  • Scott G: Add a link on developer links section of jqueryui.com for jquery-ui.git
  • Adam: Update tests for Tooltip
  • All: Write demos and docs for Tooltip http://wiki.jqueryui.com/Tooltip see TODO section at top
  • Corey: Start figuring out how to document effects using new XML format
  • Themeroller refactor: Need to identify scope and requirements. Need a project lead
  • Scott G: remove the queuing logic in tabs which is blocking 1.9m5
  • Adam and Corey: start helping more with the pull request queue, esp. as Scott is focused on 1.9m5
  • All: We need more sponsors for the ARIA Hackathon planned for July http://wiki.jqueryui.com/ARIA-Hackathon
  • All: Meet after 3pm today if you can help clear Pull Request queue for 1.8.13
  • Scott G: Do 1.8.13 release after today

Still open

  • Ralph: move build checklists to wiki
  • Richard: create a wiki page for new docs XML and XSLT effort
  • Scott G: ping JD about Jenkins-TestSwarm plugin
  • Dan: Hotlinking issue with Themeswitcher
  • Dan: See if we should move swarm.jquery.org
  • Adam: Finish widget factory documentation update at http://wiki.jqueryui.com/Widget-factory
  • Download builder rewrite: Waiting for front-end and back-end teams to have a planning meeting

jQuery Core Team Meeting – May 10 2011

Minutes (Notes) of the meeting of jQuery

Location: #jquery-meeting on Freenode

Time: Noon ET

Official Agenda:

jQuery 1.6.1 Status

Blocker Status: http://bugs.jquery.com/query?status=!closed&milestone=^1.6.1&order=priority

Unhandled exception: document.defaultView.getComputedStyle(div, null) is null (FF, hidden iframe)

when hover over a child of an element, mouseleave fires when using live or delegate

  • John fixed this.

Order of hide() callbacks has changed

Changes to $.data illogical in certain case

  • John fixed this.

:reset pseudo-selector broken

  • John: I got this.

Release Dates:

  • RC on Tuesday the 10th
  • Final on Thursday the 12th

jQuery Mobile Team Meeting – May 10 2011

###Datepicker fixes

Outcome: Looks good, but we need tests.

###Navigation Extensibility:

  • https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation.js-A4.1-extensibility
  • A solid philosophy suggestion for hooks:
    • Events trigger, or call methods, always.
    • Conditional pre-hook the events (@ top)
    • Post hook methods (@ bottom)
  • Currently some of our hooks are at the same juncture. These are effectively the same hook.
    • Example: beforehide and beforeshow are separated by 2-lines, and pagehide and pageshow are separated by 2-lines
  • URL hooks (upon get especially) are probably critical things to add.
  • Not documented in the wiki yet: authoritative user gestures like swipeleft or swiperight; ability to override any pre-specified transitions at that juncture.
  • Not really a hook, but listed on that wiki page: allowing re-loading the same page including transition for apps that munge the same target container over and over.

###Pull: Input/selects with dots in with ID

###Opera Mini: ajax and scrolling issues

  • The problem: Opera Mini prior to V6 times-out after 2.5 seconds. See Issue 1276. https://github.com/jquery/jquery-mobile/issues/1276
  • One notion is the progressive enhancement crutch is expensive for Opera Mini because we do a lot of expensive DOM insertions and manipulations that, in the end, never render anyway. A link is never a button or a bar when rendered in Opera Mini; it stays a simple link. Therefore maybe we should option-out of expensive markup, especially DOM insertions, transitions, and some setTimeout() kluges in some key situations like Opera Mini.
  • Another notion: drop Opera Mini which is expensive in terms of the wider mission for jQuery Mobile.

###Targeting Ajax navigation and animated page transitions

Currently in jQuery Mobile, if a browser supports media queries or is Internet Explorer, we enhance the page to the full experience, including Ajax-based navigation for animated page transitions. The issue we’re seeing now is that there are browsers that support all the advanced enhancements but don’t properly track hash changes as history stack events so the back button is essentially broken on both Blackberry 5 and Symbian. Opera Mini also has issues with the Ajax navigation system because of the way it’s proxy-based rendering works.

Due to these limitations, we’re currently exploring how to better target Ajax navigation only to a subset of capable browsers because the animated page transitions that Ajax enables seems like a “nice-to-have” enhancement that we should layer on only if confident we won't negatively impact the user experience. We don’t believe that using user agent detection is a sustainable way to make this divide so we’re investigating feature-based detection to allow us to only opt only fully capable browsers into the Ajax navigation system.

Testing Team Meeting – May 07 2011

Status

  • Presented QUnit and TestSwarm at sapo.pt and MS HTML5 WebCamp in Lisbon, teasered Jenkins-Hudson integration
  • Aloha Editor started using QUnit, posted some testing strategy advice to their developer mailing list
  • Nothing new on Jenkins-TestSwarm plugin, still working on that

Todos:

  • Need a roadmap for both QUnit and TestSwarm to find contributors.
  • Look at code coverage tools, see if they could be used for jQuery projects, maybe integrated with Jenkins

jQuery UI Team Meeting – May 04 2011

Recent Progress

  • Download builder seems ok after latest fix
  • Adam and Richard talked with a couple guys from Microsoft about helping out with Widget Factory docs as they've been getting to know it quite well
  • Richard and Andrew met about docs xml and xslt, split task into two, each took a half. Richard will focus on Mediawiki to XML transform using ???, maybe Mediawiki. Andrew will focus on XML to HTML transform using XSLT
  • E-board decided there should be temporary sub-teams formed for Download Builder rewrite and ThemeRoller refactor projects
  • Some discussion of whether next version of ThemeRoller should do away with theme gallery/pre-built themes. Discussion will continue on wiki with rework

Todos

Still open

  • ???: Need a link on developer links section of jqueryui.com to jquery-ui.git
  • Richard: create a wiki page for new docs XML and XSLT effort
  • Todd: create a wiki page gathering ThemeRoller rewrite status and forward-looking requirements and needed changes, ideally to support 1.9 and looking ahead to mobile+swatches
  • Dan: Jenkins-TestSwarm plugin
  • Dan: Hotlinking issue with Themeswitcher
  • Dan: See if we should move swarm.jquery.org

jQuery Mobile Team Meeting – May 03 2011

##New volunteer: Alex Kessinger, developer at Mixed Media Labs and their jQM/native hybrid PicPlz app, and speaker at last jQuery Conf. Can’t be on the call but will check in after.

###Navigation re-write status update and planning

  • URL handling:

    • in-progress, test written, code changes this week by Kin
  • Extensibility hooks: need to document on wiki page

    • Steven Black will start a wiki page with suggesitons
  • Caching: a simple "don't cache" flag per page

    • A new data-cache attribute on the page div to tell framework to re-load it if shown again, default is “true” (re-use the page) but you can set data-cache="false" to tell the framework to re-load ever time it’s viewed
    • $( "[data-role='page'][data-cache='false']" ).live( "pagehide", function(){ $(this).remove(); });
    • Issue: https://github.com/jquery/jquery-mobile/issues/1554
  • Memory management: how to keep the DOM from getting too big?

    • A new global configuration option to set the max number of pages to keep in the DOM at once. Once that max is hit, we run a a document-wide $("selector").remove() at the appropriate juncture in every changePage invocation (post Ajax success) that finds all pages that are data-cache="false" or oldest in the stack and delete them. We’ll need to check for alreadyLocalPage = ("[data-url='...']:not([data-cache='false']")
    • Default to a sensible number like 15-20 pages but this can be overridden to any number more than 2 (to allow for transitions) or turned off completely
    • Issue: https://github.com/jquery/jquery-mobile/issues/1555
  • Focus: can we handle this better?

    • we need to have focus brought to the top of the current page on transition for accessibility and keyboard/focus-based navigation
    • Scott Jehl will create a wiki page with suggestions
  • Transitions: how to smooth out, eliminate blinking

    • Kin will tackle this after URLs

https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation-paths

https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation.js-A4.1-structure

https://github.com/jquery/jquery-mobile/wiki/Refactor:-Transition-dependencies

https://github.com/jquery/jquery-mobile/wiki/Refactor:-changepage

###Radiobuttons can't be selected once they are selected, then de-selected

###Opera Mini Page ScrollTo issues - blank & cut off pages

###Blackberry 5 support - A or C grade TBD based on performance.

###Checkbox array support

##PULL REQUESTS

###listview.filter / data-filter performance optimization

###Decoupling Navbar State from Button "active" State

###Images with full URL broken in FF

###Theme inheritance in dialogs

###Update functional tests: bind click event to objects

###Dynamically insert thumbnail item at 0-index position doesn't update all style after listview refresh

###Several patches - Faster data filter / control what is filtered + Load dialog content from other base URL

###Patch for issue #1024 (Duplicate pages created in DOM)

jQuery Core Team Meeting – May 02 2011

Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Time: Noon ET

Official Agenda:

jQuery UI Team Meeting – Apr 27 2011

Recent Progress

  • Jörn pushed 1.8.12 release live on jqueryui.com
  • Dan and etiger13 fixed Download Builder issues that cropped up after 1.8.12 release went live on jqueryui.com

Todos

  • ?: add jquery-ui-git to Developer Links on jqueryui.com
  • Dan: by next week, add past UI releases to code.jquery.com
  • Dan: by week after next, master index for code.jquery.com
  • Scott: manually (for now) to add future releases to code.jquery.com as part of release process
  • ?: Automate addition of future releases to code.jquery.com as part of release process
  • ?: Move release checklists from Basecamp onto wiki
  • Dan: by next week, dir listing for view.jqueryui.com
  • Adam: complete widget factory documentation refresh, hopefully with some help from some folks at MS
  • Richard: create a wiki page to coordinate new docs effort (XML, XSLT)
  • Andrew Wirick: work with Richard on new docs effort
  • Richard: talk to Yehuda about getting a member of his team to join us in working on Download Builder rewrite
  • Todd: create a wiki page gathering ThemeRoller rewrite status and forward-looking requirements and needed changes, ideally to support 1.9 and looking ahead to mobile+swatches
  • Pull requests: trying to get back down to 0 from 22

Still open (likely longer term than within the next week)

  • Dan:
    • Jenkins-TestSwarm plugin
    • Hotlinking issue with Themeswitcher
    • See if we should move swarm.jquery.org
  • Scott
    • Tabs API redesign review
    • Dailog tickets review to complete and announce API redesign

Upcoming