Hello NLHTML5!

The Web or Bust

About me

  • Szmozsanszky Istvan “Flaki”
  • JS dev, HW hacker, Inline Skater
  • Mozilla, Tessel Project, Skylark.ee
  • @slsoftworks

Mobile is eating the world

It really is

Why?

Stuff is becoming fast

"The iPhone 7 scores better on both single- and multi-core than any MacBook Airs ever made, and performs comparably to a 2013 MacBook Pro.

…and small. Cheap, too.

PINE64 PADI IoT StampCortex M3, 83MHz - $1.99

BUT the web is losing to native on mobile

Why… how?

JavaScript is on it’s way to world domination

and it’s even conquering wearables

Pebble Time

JavaScript on a watch - Cortex M4, 100 MHz

and IoT in general

The ESP8266 microcontroller is capable of running an "Espruino" JavaScript-enabled MCU firmware – and is a wifi-accessible device that costs less than $5.

Okay, so it’s not JavaScript, BUT THEN WHY?

UX
Especially end-user user experience.

Native’s perks

Native is traditionally better at

  • Hardware, sensor access
  • performance
  • offline capabilities

The Crisis of the web platform

The web platform is facing a huge crisis. Peter Gasston’s reflections are a nice read here.

Let’s zoom out a bit

Speaking of Peter Gasston, he’s not new to the woes of “web versus native apps”.
Surveying the Landscape – Slides / Blogpost

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

Platform lock-in

Walled gardens

WeChat

WhatsApp

Privacy

Privacy

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…

Okay, so now you are saying we need to take back the web on mobile? How?

Freaking out

Canvas-rendered mobile web apps

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

(a.k.a.) Gatekeepers

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

On the web?

A platform – not owned:

Uber goes mobile Web

No wonder, the web is much easier accessed.

..so is the web all dandy?

AMP - some webby gatekeeping

I’m trying really hard here, okay?!

PWA?

Installing

Installing

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.

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

So PWA – what are they?

  • A set of technologies & new web APIs
  • Offline-capable web applications
  • Native-like user experience

Unleash the API

Access to user data - good or evil?

  • Google Analytics
  • Facebook Like Button

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”

Keepin' It Real (webby)

As “Progressive Web App”-s become more and more app-like, they start facing issues similar to those one already needs to consider while building native apps.

  • download size
  • trade-offs of performance & webbiness

Human-to-computer interaction

  • Punchcards
  • Keyboards
  • Mice
  • Touch

What’s Next?

Interactions between things

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

Controversies

any effort to address the mobile gap must be welcomed, even if it falls short of perfection. We should be careful, however, not to sacrifice the best parts of the web in the process.

To link or not to link?

In (Web)VR

Safari

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 :)

But…

  • Vendor lock-in, walled gardens
  • Using market power to unfair advantage
  • Privacy misconducts are very real.

It’s our choice what we do about them.

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.

Twitter

  • Multiple accounts
  • Multiple tabs
  • Search for a tweet

PWA Push

PWA resources - a definitive list by Opera.Dev




Thank you!

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