Forget about apps, could the future be in the mobile browser?

Post on 13-Apr-2017

245 views 0 download

Transcript of Forget about apps, could the future be in the mobile browser?

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.

Guitar tuner in the browser

guitar-tuner.appspot.com

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.

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/

Demo time: Google IO 2016

events.google.com/io2016

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.

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.

Geolocation API

Support

Don’t forget the fallback

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