Slide 1

Slide 1 text

View Exit ✉ 12:30 ⏚ ⏍ What happened to my javascript phone? Garann Means @garannm JSConf EU 2019

Slide 2

Slide 2 text

hands up if you have a hacker phone

Slide 3

Slide 3 text

Why not use a hacker phone camera display fast, reliable connection not crashing all the time you have too many thousands of dollars

Slide 4

Slide 4 text

You carefully researched phones and bought the best one for you? Is it iPhone or Android? E-X-C-E-L

Slide 5

Slide 5 text

View Exit ✉ 12:30 ⏚ ⏍ yay the free market https://www.cnet.com/news/qualcomm-is-a-monopoly-and-must-renegotiate-deals-judge-rules/

Slide 6

Slide 6 text

Step into my time machine PhoneGap/Cordova/& friends Node Nodebots

Slide 7

Slide 7 text

early mobile apps

Slide 8

Slide 8 text

early mobile apps

Slide 9

Slide 9 text

View Exit ✉ 12:30 ⏚ ⏍ Like a11y but implemented

Slide 10

Slide 10 text

JavaScript on the backend? That’s hot but what do you use for a server Node.js.com™

Slide 11

Slide 11 text

One of these days i'm gonna get this nodebot back on the road and really open 'er up https://www.flickr.com/photos/4nitsirk/33313210766/

Slide 12

Slide 12 text

View Exit ✉ 12:30 ⏚ ⏍ Oh and also https://www.flickr.com/photos/quattrovageena/2663223167 84

Slide 13

Slide 13 text

smartphones are intuitive and fun

Slide 14

Slide 14 text

Things we used to hate Nonstop problems connecting to wifi Maps that gave directions from alternate dimensions Carrier-installed apps Only being able to install ringtones you paid for * not a smartphone issue but still bullshit

Slide 15

Slide 15 text

View Exit ✉ 12:30 ⏚ ⏍ Missing:

Slide 16

Slide 16 text

phones are different

Slide 17

Slide 17 text

To make a phone a phone Become a carrier License some protocols Embed them in your hardware Get signoff from local agencies where your phone will be used Get certification from any commercial carrier whose network your device will connect to

Slide 18

Slide 18 text

View Exit ✉ 12:30 ⏚ ⏍ Mean time to failure and other fun tests

Slide 19

Slide 19 text

SoC: System on a Chip processor modem antenna camera speaker

Slide 20

Slide 20 text

The past is so in right now https://www.flickr.com/photos/novecentino/9896884705/

Slide 21

Slide 21 text

View Exit ✉ 12:30 ⏚ ⏍ What happened to your javascript phone

Slide 22

Slide 22 text

View Exit ✉ 12:30 ⏚ ⏍ What happened to your javascript phone

Slide 23

Slide 23 text

So I can’t have a javascript phone? That’s a philosophical question

Slide 24

Slide 24 text

You could still.. Build a hobbyist phone Flash your firmware Write PWAs and JS-to-native apps Start a revolution

Slide 25

Slide 25 text

View Exit ✉ 12:30 ⏚ ⏍ Just a telephony api app.get('/answer', async (request, reply) => { let nexmo_call_control = [{ action: 'connect', endpoint: [{ type: 'websocket', uri: 'http://localhost:34567', 'content-type': 'audio/l16;rate=16000' }] }]; return nexmo_call_control; });

Slide 26

Slide 26 text

And a little hardware TiLDA badge: https://badge.emfcamp.org/wiki/TiLDA_MK4 “Yes your TiLDA Badge is also a mobile phone.” GSM shield: http://www.espruino.com/arduino-sim900 “GSM/GPRS module that can provide internet access via an AT command set”

Slide 27

Slide 27 text

your imagination is the only limit* * that and licensing monopolies

Slide 28

Slide 28 text

View Exit ✉ 12:30 ⏚ ⏍ New hardware ideas https://www.thelightphone.com https://www.punkt.ch/en/products/mp02-4g-mobile-phone/ https://www.fairphone.com/en/

Slide 29

Slide 29 text

Alternate operating systems LineageOS: https://lineageos.org/ Ubuntu Touch: https://ubports.com/ OSes on alternate hardware: KaiOS, Librem, Sailfish OS

Slide 30

Slide 30 text

no OS, no drivers

Slide 31

Slide 31 text

if you insist on being reasonable PWAs Cordova etc. Learn native language(s) $

Slide 32

Slide 32 text

View Exit ✉ 12:30 ⏚ ⏍ One for the dustbin of history

Slide 33

Slide 33 text

View Exit ✉ 12:30 ⏚ ⏍ Or is it https://www.webstandards.org/

Slide 34

Slide 34 text

Excel me when the revolution happens

Slide 35

Slide 35 text

More reading.. https://www.makeuseof.com/tag/linux-smartphone-operating-systems/ https://fossbytes.com/whats-inside-smartphone-depth-look-parts- powering-everyday-gadget/ https://www.electronics-notes.com/articles/connectivity/cellular-mobile- phone/how-cellphone-works-inside-components.php https://www.electronicdesign.com/communications/11-myths-about- cellular-carrier-certification-requirements https://www.howtogeek.com/387934/your-smartphone-has-a-special- security-chip.-heres-how-it-works/

Slide 36

Slide 36 text

View Exit ✉ 12:30 ⏚ ⏍ thanks! Garann Means @garannm JSConf EU 2019