Profile

Cover photo
Boris Smus
Works at Google
Attended Carnegie Mellon University
Lives in San Francisco
15,795 followers|1,221,311 views
AboutPostsPhotosReviews

Stream

Boris Smus

Shared publicly  - 
 
Don't eat this mushroom mushroom
20
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'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  - 
 
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...

Boris Smus

Shared publicly  - 
 
 
In today's special episode of Android Design in Action, +Nick Butcher, +Adam Koch and I talk about some of the key aspects of Android 4.4 KitKat that all Android designers should be aware of. Specifically:

1) The new Nexus 5, with a beautiful 5-inch / 1920x1080px / 640x360dp / XXHDPI (480dpi) display.

2) The new Your Branding section of the Android Design guide (developer.android.com/design), including KitKat's use of a more neutral system color palette to let your brand colors shine.

3) Changes to touch feedback, specifically the more subtle pressed visual state.

4) The new Full Screen design guide section, including a description of the lean back and immersive approaches. Immersive mode allows your app to go truly fullscreen, hiding the status and navigation bars while consuming all touch events.

5) The new translucent bars mode that allows your app to draw behind the status and navigation bars with automatic background protection.

6) The ability to inset map controls with the Google Maps Android API v2; this feature was recently made available in Google Play services.

7) The introduction of new XXXHDPI (640dpi) launcher icon assets due to the Nexus 5 launcher's icon scaling behavior.

8) Documentation of new double touch gesture behavior, especially double touch drag.

9) The ability to capture video of your device's screen.

10) A new scenes and transitions API for developers that makes it easy to animate between states.

Check out the attached slides for a summary of the new stuff, or catch the full video recording here: Android Design in Action: New in Android 4.4

#AndroidDesign #ADiA
49 comments on original post
5
Add a comment...

Boris Smus

Shared publicly  - 
 
Refresh refresh refresh!
1
Add a comment...
Have him in circles
15,795 people
Peter Travers's profile photo
Rick Vanover's profile photo
Zigg Downloads's profile photo
Création internet Bruxelles's profile photo
Atusi Nakamura (中村 敦)'s profile photo
Thu Tu Koelling's profile photo
Dylan Tittel's profile photo
sanjay kumar's profile photo
Reedia's profile photo

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  - 
 
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...

Boris Smus

Shared publicly  - 
 
Looking forward to playing with:

- hardware sensor batching
- support for hw pedometers
- screen recording
- hw audio tunneling
- ui transitions framework
8
1
John Ruble's profile photoBrett Holcomb's profile photogeorge oloo's profile photo
2 comments
 
Seen any cool demos of the UI Transitions in action yet?

I watched parts of a DevBytes with Chet Haas that showed some developer targeted examples, but nothing particularly pretty.
Add a comment...

Boris Smus

Shared publicly  - 
 
Woohoo, add to home screen is in the latest Chrome Beta!
11
1
Rob Becker's profile photoBoris Smus's profile photoLeandro Graciá Gil's profile photoGabor Orosz's profile photo
5 comments
 
Hmm... this feature (for bookmarks) originally used favicons with some background color when creating shortcuts. If new larger icons are used I wonder how this handles poor-resolution favicons from the pages. I guess I'll have to check it out.
Add a comment...
People
Have him in circles
15,795 people
Peter Travers's profile photo
Rick Vanover's profile photo
Zigg Downloads's profile photo
Création internet Bruxelles's profile photo
Atusi Nakamura (中村 敦)'s profile photo
Thu Tu Koelling's profile photo
Dylan Tittel's profile photo
sanjay kumar's profile photo
Reedia'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