Profile

Cover photo
Rick Byers
Works at Google
Attended University of Washington
Lives in Waterloo, ON, Canada
1,127 followers|847,170 views
AboutPostsCollections

Stream

Rick Byers

Shared publicly  - 
1
Add a comment...

Rick Byers

Shared publicly  - 
 
 
The Chrome OS team uses a cool robot built by the Finnish company OptoFidelity to measure end-to-end latency of Android and Chrome OS devices.

Video below captured by a high speed video camera shows you how drawing a line on a screen is actually drawn in segments that fade in slowly.
Touchbot source code is open-source and available for everyone at https://chromium.googlesource.com/chromiumos/platform/touchbot.

You can even go to http://crostouchlatency.appspot.com to play with all latency tests.
23 comments on original post
2
Add a comment...

Rick Byers

Shared publicly  - 
 
Hurray, the UI layer for Chrome Android is finally open source along with the rest of Chrome!

I've argued before (https://plus.google.com/+RickByers/posts/Uq4RR9MuLHs) why I think this is important for the web.
Google Groups allows you to create and participate in online forums and email-based groups with a rich experience for community conversations.
4
1
Rick Byers's profile photoKenneth Rohde Christiansen's profile photo
2 comments
 
Right.  And if users vote with their feet by choosing a browser, for example, that "doesn't send stuff back to Google" then it's our responsibility to compete by addressing user concerns (eg. clearly explaining how data sending is opt-in, respectful of privacy, and how it ultimately benefits the user by ensuring the sites they care about continue to work and perform well).
Add a comment...

Rick Byers

Shared publicly  - 
 
Chrome supports using hover-capable touchscreens (such as on the Galaxy S4/S5) by triggering :hover styles and mouseover/move/out handlers (just like it does for a stylus or mouse device).

If you have such a device, try enabling this feature at chrome://flags/#enable-touch-hover.  Do you find this useful in practice for navigating websites designed for a mouse, or is it only a gimmick?  Even for sites designed to work well with both touch and mouse, do you like seeing the hover effects with touch?

See http://crbug.com/418188 for details.
5
1
Dan Snel's profile photoKlokie Grossfeld's profile photoRick Byers's profile photoElijah Lynn's profile photo
4 comments
 
+Klokie Grossfeld Oh I should write a post on that. We've debated it seriously with other browser vendors. When it works its good for users but its a terrible hack that web developers can't reason about. Its not as simple as you describe (only triggers if "something happened" on the hover) and even Apple doesn't document how it works (what does "something happened" mean and how can the developer correct the behavior when its wrong).

Making desktop centric sites work well on phones is a loosing battle. The only way for a great experience is to design the site for a phone. All that's left is to do the best we can without screwing up the platform.
Add a comment...

Rick Byers

Shared publicly  - 
 
Chrome 42 now reports fractional scroll offsets on high-dpi devices (virtually all Android devices). [edit: we just decided to postpone this, probably to Chrome 44.  http://crbug.com/468513]

Chrome (and all other major browsers) have reported scroll offsets (eg. window.scrollY and Element.scrollTop) as integers, even though scrolling can occur at the granularity of device pixels. The CSS spec was updated awhile ago to use "double" instead of "long" for these APIs (http://dev.w3.org/csswg/cssom-view/#extension-to-the-element-interface). As of Chrome 42, we're no longer doing any truncation / rounding of scroll offsets, reporting the full precision values to JavaScript. So on a device with device scale factor = 2, you should expect to see scrollTop values like 10.5 (instead of just 10 or 11).  Demo: http://jsbin.com/dejoxo/

This will immediately improve the behavior of code which tries to transform an element in-sync with scrolling. Eg. In this simple example, JS is transforming the green box to try to keep it aligned with the red box scrolling with the page: http://tdresser.github.io/sync-scroll-offset-test/index.html. On a high-dpi device prior to Chrome 42 you can see the green box wiggle up and down noticeably when scrolling slowly due to scrollTop truncation to integers. In 42 (currently Beta) it's positioned precisely at the right location. A more realistic example is a scroll header like https://www.polymer-project.org/0.5/components/core-elements/demo.html#core-scroll-header-panel.

Note that this could cause some compat problems if your code isn't expecting to see non-integer scroll offsets. But we have yet to encounter issues in practice.

9
1
Alexander Lent's profile photo
Add a comment...

Rick Byers

Shared publicly  - 
 
Pinch-zooming pages with fixed position elements now behaves rationally in Chrome 40 for Android

We're shipping a feature called "virtual viewport".  The mental model which I argued for is that a zoomed page will look as if you had held a magnifying glass up to the screen.  Eg. when you pan the viewport sideways, you'll also be panning any top header (no more seeing only the top left of nav bars when zooming!).  Try this comparing Chrome Stable (39) on http://videojs.com (or the desktop version of http://nytimes.com) to Chrome Beta (40).  Essentially we're splitting the notion of "the viewport" into "the layout viewport" (where fixed position items are attached) and "the visual viewport" (what you actually see).

In this regard, Chrome now (mostly) matches IE's behavior instead of doing something kinda like Safari's weird behavior.  Interestingly, we came to the conclusion that this was the right behavior completely independently from the IE team (it was fun to be able to show them a demo when they described their new model to us).  Now we're working together to try to get the CSS specs updated to accommodate it.

For details see: 
https://docs.google.com/presentation/d/1nJvJqL2dw5STi5FFpR6tP371vSpDWWs5Beksbfitpzc/edit
http://www.quirksmode.org/mobile/viewports2.html
http://crbug.com/148816
30
13
Marzio Massari's profile photoSam Dutton's profile photoDavid Barber's profile photoElijah Lynn's profile photo
12 comments
 
Damn, looks like the embedded link view doesn't update when the text does.  I just removed it.
Add a comment...
In his circles
144 people
Have him in circles
1,127 people
Mitch Weight's profile photo
Hisar Dost's profile photo
Ying Chiong's profile photo
Mike Averto's profile photo
Richard Yazmajian's profile photo
Romuald-Abel Blé's profile photo
Amos Werner's profile photo
Andrew de los Reyes's profile photo
ewevsbea vivian's profile photo

Rick Byers

Shared publicly  - 
 
We're finally going to make scrollTop behave consistently between all browsers!  Make sure you're not relying on WebKit-specific behavior (eg. by using the new document.scrollingElement API).
The CSSOM View specification has a handful of widely-implemented properties on the Element interface related to scrolling: scrollTop , scrollLeft , scrollWidth , scrollHeight . These give the current scroll position of the element, and the size of the scrolling area. scrollTop and scrollLeft can ...
4
1
Aswathy Nath.J's profile photo
Add a comment...

Rick Byers

Shared publicly  - 
 
Great post highlighting the low-friction "pay for play" nature of the modern web.
3
1
Ojan Vafai's profile photo
Add a comment...

Rick Byers

commented on a video on YouTube.
Shared publicly  - 
 
Interesting. I can't reproduce this. Can you narrow it down to specific devices, versions of Android or versions of Chrome? Can you reproduce in an Android native app? Sounds more like a touchscreen firmware thing to me (noise avoidance algorithms can delay recognition of fast taps).
1
Patrick Lauke's profile photo
 
+Rick Byers ah, so focused on testing web content, that i didn't even consider testing native apps etc. You're absolutely right, this seems to be a system-wide behavior (it's a Nexus 5/Lollipop device). Doing those super-fast taps on browser controls themselves, and really anywhere/in any other apps, has the same subtle delay. So...as you were :)
Add a comment...

Rick Byers

Shared publicly  - 
 
We've heard your feedback loud and clear.  We're restarting efforts to implement Pointer Events in blink.
Contact emails. rbyers@chromium.org, mustaq@chromium.org. Summary. The Pointer Events API is a low-level input API for mouse, touch and stylus introduced by IE. Pointer Events extends the MouseEvent model while offering a replacement for all uses of Mouse and Touch events.
15
7
Peter Kasting's profile photoValery Arkhangorodsky's profile photoAndrii Trybynenko's profile photoFlorian Sauvestre's profile photo
 
Thank you!
Add a comment...

Rick Byers

Shared publicly  - 
 
Chrome now reliably honors overflow: hidden on html/body

As part of shipping our "virtual viewport" feature (https://plus.google.com/+RickByers/posts/bpxrWN4G3X5), we're finally able to fix a long-standing bug where setting "html { overflow: hidden; }" had inconsistent behavior (http://crbug.com/175502).  It now reliably prevents scrolling of the document.  *WARNING* This has broken a couple pages which were relying on the bug (see http://crbug.com/444581).

To demonstrate, try loading this simple JSBin in your browser: http://jsbin.com/puzimo/1/edit?html,css,output.  In Chrome (prior to virtual viewport) and Safari the behavior is inconsistent.  When displayed in an iframe, the document won't scroll as expected.  But when you click the "pop out" button to load http://jsbin.com/puzimo/1 into it's own document, now the document scrolls!  This is because the compositor-accelerated scrolling done by default for documents wasn't smart enough to understand scrolling should be disabled.  In chromium we couldn't easily disable scrolling here without also disabling panning the pinch viewport.

The CSS spec is clear on the expected behavior here (http://www.w3.org/TR/CSS21/visufx.html#overflow): "UAs must apply the 'overflow' property set on the root element to the viewport".  IE and Firefox appear to implement this correctly already. 

With the virtual viewport feature enabled (default in Chrome 40 for Android and ChromeOS, and Chrome 41 for Windows/Mac/Linux), we now properly disable scrolling without breaking pinch-zoom.
Pinch-zooming pages with fixed position elements now behaves rationally in Chrome 40 for Android We're shipping a feature called "virtual viewport".  The… - Rick Byers - Google+
1
Add a comment...

Rick Byers

Shared publicly  - 
 
Awesome new devtools feature.
 
#DevTools Tip: Paint Profiler

Use the paint profiler to see exactly what draw calls were executed to draw a page. You can scrub through the profile to find only those portions you are interested in.
4
Add a comment...
Rick's Collections
People
In his circles
144 people
Have him in circles
1,127 people
Mitch Weight's profile photo
Hisar Dost's profile photo
Ying Chiong's profile photo
Mike Averto's profile photo
Richard Yazmajian's profile photo
Romuald-Abel Blé's profile photo
Amos Werner's profile photo
Andrew de los Reyes's profile photo
ewevsbea vivian's profile photo
Work
Occupation
Software Engineer
Employment
  • Google
    Software Engineer, 2010 - present
  • Microsoft
    Software Engineer, 2004 - 2010
  • NeoEdge Networks
    Software Engineer, 2002 - 2004
  • Quack.com
    Intern, 2000 - 2000
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Waterloo, ON, Canada
Previously
Seattle, WA, USA - Toronto, ON, Canada - Sunnyvale, CA, USA - Welland, ON, Canada
Story
Tagline
Software Engineer on Google Chrome and ChromeOS in Waterloo Canada
Introduction
I'm a software engineer at Google on the Chrome team.  I lead a team working on input in Chrome and Blink.  I'm the Google representative in the W3C touch events community group and pointer events working groups advancing web standards for touch input.


Bragging rights
Lead chrome work for the Chromebook Pixel (touch, high-dpi), helped drive new 'Aura' UI in ChromeOS, and drove the design of .NET support for WinRT in Windows 8
Education
  • University of Washington
    Masters of Science - Computer Science / Computational Biology, 2006 - 2009
  • University of Waterloo
    Bachelors of Math - Computer Science, 1997 - 2002
Basic Information
Gender
Male
Relationship
Married
Other names
Richard Byers