But what was really difficult was to get all the touch interaction right. It’s really not a page, it’s more like Google Maps, for example. We actually looked at that a lot for the interactions, because you can pan, you can zoom, you have all of these interactions and it’s really not a page that you want to scroll on. Then we just struggled with stuff like the browser bar. If you want to scroll, maybe you have a scroll container somewhere inside, and then the browser bar appears and disappears. And you don’t get resize events when the browser bar is in the process of disappearing, it just resizes after the browser bar disappears completely. Maybe in between it’s not going to look so nice. Also things like vh, the viewport height […] I don’t entirely remember all the details, I just remember that it was different across browsers. I think whether the scrollbar is considered part of vh height is a little bit undefined, and it’s definitely different in Safari and Chrome. The safe areas on iPhone X, that’s another thing you have to take in. There’s not much specification around that, it’s just vendors doing their own things, adding their own overlays. I think Samsung Internet also has their own overlays at the bottom and you don’t really have access to get information about how much space they take in, so you can move your interface around them. Also a lot of how scroll detection itself works. […] Like what Google Maps does on the native app, I don’t know if they do it on the web, where you have this bar that you can pull up from the bottom. If you select something, you can pull it up from the bottom, then you have the details about a place. We had something similar to that for individual products on the wall. First we wanted that to have that be a native scroll interaction because we thought if it’s just a native scroll it’s going to be fast, it’s going to be hardware accelerated, it’s going to feel the nicest. But if you’re working with native scroll it’s very difficult to control it, because for example scroll event listeners are – for a good reason – passive now on Chrome and on Safari I think that’s also the case now, but it’s not super consistent, also again not really standardized, I think.
Made with FlippingBook - professional solution for displaying marketing and sales documents online