Hello HWSW mobile!

HWSW mobile!
Budapest, 2016. november 23.

The Web or Bust

About me

  • Szmozsánszky István “Flaki”
  • JS dev, HW hacker, Inline Skater
  • Mozilla, Tessel Project, Skylark.ee
  • @slsoftworks

Mobile is eating the world

It really is

But it’s almost exclusively native apps

Okay, I’m Team Native anyway, why should I care?

Native is
not
inherently better

Facebook app size

Delta updates on iOS

Facebook Lite

Well, if you are facebook, sure, you have the resources to maintain two completely different apps…

Facebook Litelessness

…except it’s only available in select Asian, African & LATAM markets… :) Oops!

So what’s up with the web then?

Lyft app size

This and other videos can be found at the Chrome Dev Summit 2016 youtube-channel, highly recommended.

Platform lock-in

Walled gardens

WhatsApp

WeChat

Gatekeepers

A platform – not owned:

Content Gatekeepers

It’s not just giving up your revenue, Pebble folks learned the perils of developing for owned platforms first-hand, upon the release of their Pebble Time smartwatch.

Dash

…as did the creator of Dash.

It’s a risk

Surrendering that control to the platform owner is a risk, and it pops up every step of the way - such as with React Native’s flavor of code exectution, which is still a “grey area”.

Tracking

Exposure of a plethora of personally-identifiable datapoints

Stealing other “nice” ideas from the web

You know who did that first?

The cookie did that…

Unleash the cookie

Democratizing access to userdata The question is Access

  • Google Analytics
  • Facebook Like Button

Privacy

Uber

Battery API

Too hard fix for dubious returns

The Battery API has proven too hard to fix, and having dubious returns in terms of usefulness.

Lukasz Olejnik has a security review.

The spectre of fingerprinting on the web (as well)

Access

Uber goes mobile Web

No wonder, the web is much easier accessed.

Okay, so we need to take back the web on mobile?

But how?

Freaking out

Canvas-rendered mobile web apps

With more gatekeeping?

You decide.

The “how” might not matter, but the fact that you act, and fast.

Meeting your first Progressive Web App

Web Apps or Web APIs?

Comedy gold - but sometimes reality trumps comedy

  • Streaming apps on Android
  • Deep linking …are all great example of native platforms borrowing perks the web already has.

Web APIs vs Native capabilities

So hey! You don’t really need Dash!

devdocs.io is a very capable browser-based documentation service that takes its content from open-source/free sources and packages them in an easy-to-use, offline-capable web application.

A “Progressive Web App”?

Fully offline capable

Hey who cares about offline? Not my boss!

Downtime

Bugzilla maintenance

Offline is "I’m on the underground" Offline is "server is down" Offline is “the global DNS infrastructure is under DDOS attack”

So what’s new?

New APIs

Traditionally native had access to technologies the web didn’t have.

  • A set of technologies & new web APIs
  • Offline-capable web applications
  • Access to home screen, notifications
  • Generally better usability and features

Native is not inherently better

… except when they not :)

We have tried this before… why now?

It’s just the web

Soledad Penades refers to them in a blogpost as "proper webapps" This is how the web should have been done from the get-go.

…the Web on Steroids

"a website that took all the right vitamins"

The web has some pretty cool properties:

  • The web is Universal – for devices of various shape and form.
  • The web is Accessible – for Users and developers.

And because PWA is “just the web”, it respects all that. It’s basically just a “Website on Steroids” (as put by Alex Russell).

Captain America of the web

Progressive Web Apps should be regarded as “the perfect embodiment of what the web is capable of”

To link or not to link?

Interactions between things

  • Physical web advantage
  • Websites are “things”, too! Just “Virtual Things”!
  • Links

In (Web)VR

(a)cross-browser(s)

There’s no Malicious Apple, no Evil Microsoft

I wish I could send a Screenshot of this Event back in time. People would not believe me :)

PWA Support for Edge

Safari

Service worker meeting notes - parties present

Native apps are currently the best way to interact with a platform

but that doesn’t mean they’ll always be the best way of interacting with a platform.

Is it real?

Smashing Magazine goes Offline

Smashing Magazine has a service worker

Yes, implementing a service worker does get you some offline functionality (if implemented well), but the real boon is actually the performance improvement.

Performance improvements of a SW

Any byte not transferred is a byte saved! :)

Real world performance of a PWA

HTTP/2.0 has to be utilized well and that’s hard to do in a transitional period. The HTTPS requirement will impact performance (handshake delay), but that can be compensated with SW improvements.

HTTPS is a must, anyway

Privacy and security in a PWA world

Securing the data of your users is becoming even more important, especially with a service worker - insecure connection or an XSS injection could easily lock your user out of server updates with a malicious intercepting SW JS.

HTTPS jumpstart

Let's Encrypt

There are already a number of services to get started with, for free.

Push Notifications

Using push notifications

Hear more of the struggle

Peter Gasston isn’t new to the woes of “web versus native apps”.
Surveying the Landscape – Slides / Blogpost




Thank you!

@slsoftworks
flaki.github.io/talks/web-or-bust/hwsw/