Upload
stephanie-walter
View
245
Download
0
Embed Size (px)
Citation preview
Forget about apps
Could the future be in the mobile browser?
Stéphanie Walter – Nightlybuild 2016
Web & UX designer. Mobile enthusiast Pixel and CSS Lover.
www.stephaniewalter.fr @WalterStephanie
Freelance Designer and working for Alsacréations
Illustration by Laurence V.
Chapter 1.
Accessing and handling images, video and audio directly in the browser.
Video and audio conference in the browser
No need to install, maintain update any third part plugin or native application.
apprtc.appspot.com
WebRTC
Opens a direct real time communication channel between two clients.
You can share sound, video and any other data.
WebRTC Support
WebRTC getUserMedia/Stream API
Taking a profile picture in the browser
3 values for the accept attribute: image, video and audio.
<input type="file" id="take-picture" accept="image/*">
Taking a profile picture in the browser
If you want to skip the selection dialog and directly access the camera to take the picture you can add the capture attribute.
<input type="file" id="take-picture" accept="image/*">
Taking a profile picture in the browser
Now the user can take the picture and upload it as her profile picture.
<input type="file" id="take-picture" accept="image/*">
Instagram totally in the browser?
<input type="file" id="take-picture" accept="image/*” capture> + CSS filters.
Chapter 2.
Enhancing a conference website into a Web App
Installating and launching the site as a Progressive Web App
W3C Web App Manifest
The manifest.json file will help you enhance your website.
manifest.json
Favicon for the Home Screen
A small banner helps the user discover that she can add the site to the Home Screen. (Chrome 42+ Android)
Favicon for the Home Screen
Even without a banner it is possible to add the site to Home Screen directly from the browser. Unfortunately not a lot of user know about that.
Launch icon on 3 different OSs
The user can launch the site directly from her Home Screen
Boursorama: became full responsive, removed the native application and informed her customers about it
"
Launch Screen
Chrome 47 >: the browser uses the manifest
theme_color, background_color , name and
favicon to generate a Launch Screen while the
site loads.
"display": "standalone"
Customizing the Display Type
Standalone mode: developers can
choose to launch the site into a full
screen mode without any URL bar.
(Chrome + Opera)
"display": "browser" VS "display": "standalone"
Customizing the Display Type
The<meta name="apple-mobile-web-app-capable”> on iOS
By default, it opens the launched page in full screen, then any URL in a new tab.
<meta name="theme-color" content="#db5945">
Changing the color of the URL bar
“theme_color": “#133742"
Providing a site-wide theme color via manifest.json
One tool to generate them all
realfavicongenerator.net
Notification access
Asking user access to notifications
User must allow access through the browser dialog.
She needs to understand what she will gain from giving you access to notifications.
The notifications are integrated into the OS
Notifications will pop even if the browser and
the site are closed. They also get displayed in
the native notification center of the device.
Push API + Service Worker
A Service Worker is JavaScript running in the background once installed. It acts as sort of small proxy. It’s used to push notifications to the browser.
Support
Service Worker Push API
Play time: notification testing tool
notification-generator
Offline schedule access
Caching the schedule for offline access
Service Worker can intercept the request and provide cached files to display the page faster with or without a connexion. It can also check if the files need to be updated.
Some Offline examples
https://www.pokedex.org/ https://2048-opera-pwa.surge.sh/
Going full Progressive Web Apps ready
Instant Loading Web Apps With An Application Shell Architecture By Addy Osmani & Matt Gaunt
With great power…
There’s currently a lot of debate in the community about hidding the URLs and the potential issues of Progressive Web Apps
Chapter 3.
Adapting the website to user’s current needs and context.
Image michael davis-burchat
Detect Ambiant Light
Using light sensors on the device, we could
adapt the luminosity or contrast of a website
to the ambiant light.
Support
Ambient Light API Environment Media Features
@media (light-level: dim | normal | washed)
Working Draft, No support yet.
Bluetooth URL transfer
How about Conference Feedbacks Enhancement?
Paper feedbacks: staff put a lot of work into this to summarize and share feedbacks to speakers.
The Physical Web
How about Conference Feedbacks Enhancement?
A Bluetooth Low Energy (BLE) beacon supporting Eddystone protocol specification is embedded into the conference poster next to the door.
How about Conference Feedbacks Enhancement?
The beacon broadcasts a URL, the browser can scan and display those URLs.
How about Conference Feedbacks Enhancement?
The user then opens it directly in the browser and can fill the feedback form online.
Bluetooth API
In the future we will be able to directly connect object (watches, sensors, smart thermostats, etc.) to a browser through Bluetooth.
Like this little Bluetooth controlled Turtle!
https://www.youtube.com/watch?v=1LV1Fk5ZXwA
Geolocation and battery status
Geolocation to go back home
We can access to user’s current static location, and also monitor changes in location when she moves.
Adapting to battery level
Let’s propose less battery consuming
ressources when the battery is low! This would
be really useful for battery consuming functions
like GPS, P2P, animations, etc.
Battery Status API
An API that gives you access to the battery level of the device.
Now it’s your turn!
This is just the beginning of a promising future for the Applications in the mobile browser.
Web & UX designer.
Mobile enthusiast Pixel and CSS Lover.
www.stephaniewalter.fr @WalterStephanie
Illustration by Laurence V.
Attribution-NonCommercial-NoDerivs 3.0 France (CC BY-NC-ND 3.0 FR)
inpx.it/mobile-nb2016
• APIs and Browsers:
– HTML5 APIs: https://whatwebcando.today/
– Mobile compatibility: http://mobilehtml5.org/
• Media, audio, video
– Tutorial : Getting Started with WebRTC
– 100% video conf in the browser demo
– Camera API demo
• On Progressiv Web Apps:
– Getting started with Progressive Web Apps , Installable Web Apps with the Web App Manifest in Chrome for Android
and Progressive Web App: A New Way to Experience Mobile + How we made the RioRun progressive web app
– Regressive Web Apps
– https://pwa.rocks/
Crédits & Bibliographie
• Notifications
– UX guidelines for notifications
– Testing the notifications : https://tests.peter.sh/notification-generator, https://simple-push-
demo.appspot.com/ and http://goroost.com/try-web-push
– Introduction to Service Worker for an introduction Service Workers and Beyond Offline for other cool things
you can do with Service Workers
– Using the Push API
– Service Workers status : isserviceworkerready
• Other ressources
– The Physical web
Crédits & Bibliographie