Profile

Cover photo
Boris Smus
Works at Google
Attended Carnegie Mellon University
Lives in San Francisco
15,917 followers|1,242,698 views
AboutPostsPhotosReviews

Stream

Boris Smus

Shared publicly  - 
 
Hi readers, I'm running a quick poll about saving memorable quotes from books while reading. Many thanks for filling it in! #lazyweb
48 votes  -  votes visible to Public
I save quotes using Kindle highlights
10%
I save quotes on another e-reader
4%
I save quotes digitally using photos/doc
8%
I write quotes down using paper & ink
8%
I don't save quotes while reading
69%
2
Simon Sarris's profile photoTaylor Marshall's profile photoMatt Henkel's profile photoMax Smolev's profile photo
4 comments
 
I read werewolf books. The quotes would be too stereotypical :P
Add a comment...

Boris Smus

Shared publicly  - 
 
I'm running a quick poll on reading preferences (ebooks vs. physical books). Many thanks for filling it in!  #lazyweb  
107 votes  -  votes visible to Public
I read only physical books
14%
I read only e-books
29%
I read both
55%
I don't read
2%
3
Christiaan Adams's profile photoRichard Vowles's profile photoGregory Folk's profile photoBoris Smus's profile photo
9 comments
 
Thank you all for responding!
Add a comment...

Boris Smus

Shared publicly  - 
 
Don't eat this mushroom mushroom
21
1
Simon Sarris's profile photoEd Murphy's profile photoLindsey Simon's profile photoකසුන් ගීතාජ්'s profile photo
6 comments
 
If you boil it twice in water it won't make you hallucinate when you eat it. ;)
Add a comment...

Boris Smus

Shared publicly  - 
 
We can no longer have a one-web-for-all approach. We need many different webs each specializing on a particular subset of use cases and devices.
7
2
Daniel Upstone (Zeal Vurte)'s profile photoAbraham Williams's profile photoAde Oshineye's profile photo
 
First off, on the topic of games, there's many out there that use HTTP, and even some of the presentation layer, as a fundamental part of it (Firefall is one I play that comes to mind), and then some included embedded browsers.

Other than the bloat of the presentation layer being an obvious drawback to performance vs. native, I fail to see the divergence you bring up -- especially in devices. You talk about the issue of different native UIs, but don't then point out that the presentation layer of the web makes UIs portable and thus solves that at a cost of performance. The presentation layer shouldn't and isn't -- by only a small fraction -- limited to visual displays.

Of course those that don't need or want the presentation layer just won't use it, but that doesn't make them a separate web, just a service only they develop for, and it certainly doesn't signal a new norm in web development for the general community. Everything that needs to be done, can be done by the presentation layer or eventually will be able to.

Now ,if HTML and the rest of the presentation layer become more modular, so that devices could just support subsets they need and drop much of the legacy to the wayside, we'd start heading towards replacing native with web being a no-brainer.

Quite honestly, I'd like it to become the norm for XML to replace HTML for data structure, and a new XML based presentation layer to replace the HTML+CSS combo.
Add a comment...

Boris Smus

Shared publicly  - 
 
Awesome, thanks Ilya!
 
Looking for an awesome intro to Web Audio API? +Boris Smus has you covered: http://bit.ly/1nJdUzE - free book with lots of great demos!

Had a fun time playing with it over the weekend...
4 comments on original post
30
9
Denzil Ferreira's profile photoMichele Cipriani's profile photo
Add a comment...

Boris Smus

Shared publicly  - 
 
A proposal for how media controls (media keys, remote controls, second screens) can work in web browsers. What do you think?
When the world wide web was first conceived, it was as a collection of interlinked textual documents.
18
4
Zachary Hardy's profile photoRaul Santos's profile photoMaimaje Bello Abdullahi's profile photoScott Jenson's profile photo
 
What about an API method to ask for priority(?) or on-demand controller access. In other words, when I am reading a blog and have music playing a background tab and want to hit my "pause/play" button, I don't necessarily want some media that happens to be in the active tab to start playing (stopping my music).

So maybe at the top of the conditions list, have a "if any tab has been granted priority access..." rule. I would imagine it would ask for access similar to location access or similar service.
Add a comment...

Boris Smus

Shared publicly  - 
 
 
WebView-based Android apps may experience some touch-related issues in migrating to KitKat.  Here's the most common issues I've seen, and how to fix them.

As you've probably already heard, WebView in Android KitKat is based on Chrome, instead of the older WebKit implementation in previous versions of Android (http://blog.chromium.org/2013/11/introducing-chromium-powered-android.html).  In rare cases, this can result in some bugs in Android applications when run on KitKat.
 
First of all, none of the issues I'm discussing here are really about Android WebView.  Web pages tested only on the Android browser would have similar issues when run in Chrome.  But in practice most websites are tested on a few browsers and so avoid these issues from the start.  If you're testing only against the Android browser code, then it's easy to have bugs that depend on it's behavior.

Issue #1: Failing to listen for touchcancel events
I've talked about this before outside the context of WebView (https://plus.google.com/+RickByers/posts/Ny6ZXuzWdN5).  This problem manifests most often as your app thinking a finger is stuck down when the user scrolls. The guidance for WebView is the same as for other browsers - whenever you listen to touchend, you need to also listen for touchcancel.  You can confirm this is the source of a problem by using Chrome dev tools to add event listener breakpoints on 'touchend' and 'touchcancel'.  If you see the breakpoint being hit when you tap, but no breakpoint being hit when you scroll, then this is probably your bug. 

Issue #2: Relying on preventDefault on touchend being ignored
Calling preventDefault on a touchend event is supposed to suppress the generation of any 'click' events for the touch.  The classic Android WebView has a bug (as do old versions of the Android browser) where calls to preventDefault on touchend events are ignored.  Some code (including old versions of FastClick - https://github.com/ftlabs/fastclick) depend on this bug in order to get click events in some scenarios (such as when tapping on an input field).  When run in Chromium such code properly suppresses the generation of click events, resulting in taps not having their intended impact.  Usually the solution is to update the version of FastClick (or other library) your app depends on (possibly to disable itself entirely when run in Chrome - https://plus.google.com/+RickByers/posts/ej7nsuoaaDa), or to change your code to not call preventDefault on touchend events.  An easy way to test whether this is the problem with your app is to use Chrome devtools to cause calls to preventDefault on touchend events to be ignored by entering the following into the console:
var origTouchEventPreventDefault = TouchEvent.prototype.preventDefault;
TouchEvent.prototype.preventDefault = function() { if (this.type=='touchend') console.log('Skipped preventDefault on ' + this.type); else origTouchEventPreventDefault.call(this); }

That's it.  All the other issues I looked into were bugs in Chrome that we fixed in time for the KitKat release!  Android app compat testing has actually been some of the best test coverage we've gotten for the touch event handling in Chrome, so no only does Chrome make KitKat better, but KitKat made Chrome better too!

#touch   #androidkitkat   #Chrome  
7 comments on original post
10
5
Danilo Cuculić's profile photoGabor Orosz's profile photoPatrick Bashizi's profile photoMyra Nickla's profile photo
Add a comment...
Have him in circles
15,917 people
Jitendra Patel's profile photo
Daniel Gibson's profile photo
Jose Rodriguez's profile photo
Jason Howell (raygun01)'s profile photo
Metching Olivier's profile photo
Flavio Marano's profile photo
Alain Thioliere's profile photo
Xernan Pascua's profile photo
Scott Rattray's profile photo

Boris Smus

Shared publicly  - 
 
 
Chrome 42 Beta! Now with push notifications, better Add to Home Screen functionality and ES6 Classes!

The newest Chrome Beta channel release includes support for ES6 Classes and several new features that allow developers to create more immersive web applications. Unless otherwise noted, changes described below apply to Chrome for Android, Windows, Mac, Linux and Chrome OS.
18 comments on original post
8
Add a comment...

Boris Smus

Shared publicly  - 
5
Add a comment...

Boris Smus

Shared publicly  - 
 
Vancouverites! Developers! Come to this thingy. I'll give a talk about developing VR apps for Cardboard.
 
TICKETS go on sale October 15 at DevFest.ca 

DevFest is a week-long technology workshop-series and hackathon centred around bleeding-edge technologies and catered towards experienced software-developers, set to take place in downtown Vancouver this coming this November 3-9.

The technologies covered in this year's series are:
- crypto-currencies
- cloud-computing
- smart-televisions
- wearable-electronics
- micro-controllers
- virtual-reality
DevFest Vancouver
Mon, November 3, 2014, 6:00 PM PST
375 Water St

4 comments on original post
2
Add a comment...

Boris Smus

Shared publicly  - 
 
Beautiful day at Squaw.
22
Charlie Hohn's profile photoMichela Schirru's profile photo
2 comments
 
Ti toglie il fiato!
 ·  Translate
Add a comment...

Boris Smus

Shared publicly  - 
 
Thanks Eiji!
 
O'Reilly の Web Audio API 本 (by +Boris Smus) が無料で読めるようになっています。(英語) http://chimera.labs.oreilly.com/books/1234000001552
 ·  Translate
View original post
8
Add a comment...
People
Have him in circles
15,917 people
Jitendra Patel's profile photo
Daniel Gibson's profile photo
Jose Rodriguez's profile photo
Jason Howell (raygun01)'s profile photo
Metching Olivier's profile photo
Flavio Marano's profile photo
Alain Thioliere's profile photo
Xernan Pascua's profile photo
Scott Rattray's profile photo
Work
Occupation
Software prototyping
Employment
  • Google
    Research Software Engineer, 2012 - present
  • Google
    Chrome Developer Relations Engineer, 2011 - 2012
  • Apple Inc.
    iWork Software Engineer, 2007 - 2009
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco
Previously
Vancouver - St. Petersburg, Russia - Toronto - Pittsburgh - Funchal, Portugal
Links
YouTube
Contributor to
Story
Tagline
Research Prototypes at Google
Education
  • Carnegie Mellon University
    MHCI, 2009 - 2010
  • University of British Columbia
    BMath/CS, 2002 - 2007
Basic Information
Gender
Male