Press "Enter" to skip to content

GOTO 2015 • 50,000 Lines Of Code to Brew a Coffee • Martin Comfort & Michael Fait


Signore e signori benvenuti al nostro discorso
cinquantamila lire di codice per
tazza di caffè siamo entrambi molto felici di
essere qui siamo molto orgogliosi di presentare il tuo
progetto e siamo davvero felici che tu
scegli tra tutti i possibili
ore di presentazione quindi cercheremo di
intrattenerti per la prossima mezz’ora
quindi parliamo di cinquantamila righe di
codice era molto interessante
progetto innovativo e prima di tutto noi
voglio mostrarti perché scegliamo il
titolo ovviamente come riferimento a Julian
20.000 leghe sotto i mari e se tu
Conoscere il libro è stata una grande lotta
fu un’epica lotta sotto il mare
20.000 miglia e questo è anche il modo in cui ci sentiamo
nel modo del progetto di superare ogni tipo
di diverse difficoltà e sfide
tutto ciò di cui parleremo in a
minuto e quindi è come quello che abbiamo fatto
e anche perché è andata con un tale
innovatore tecnologico e così è
riferimento a lui 20.000 leghe sotto
il mare è più importante ma se vedi
questo come sorprendente discoteca da principe in mezzo
come una tazza di caffè e cinquantamila
linee di codice cinquantamila righe di
codice non è enorme non è enorme ma
è ancora una quantità notevole di codice
e dall’altra parte hai una tazza di
il caffè sembra essere un tale
cosa anacronistica sai tazza di
caffè di acqua come te hai i fagioli
avere vapore hai energia e basta
e d’ altra parte ne hai cinquanta
migliaia di righe di codice che sembrano essere
un po ‘esagerato sull’altro
mano parliamo tanto di IOT su IOT
I dispositivi IT pensano che arriveranno
progetti verranno e così tutti
questi progetti tutti questi dispositivi
intendo rendere la nostra vita più preziosa
in questo caso specifico abbiamo un caffè loro
sarà più individualizzato sarà
più a tuo gusto sarà esattamente
se i millilitri di ciò che si vuole
in realtà twink in questo stato d’animo specifico e
in confronto a quello se cinquantamila
le linee di codice non sono praticamente nulla
quindi questo è dove siamo poche migliaia
linee di codice ti mostreranno le lezioni
le sfide apprese che abbiamo superato
ha vinto la sfida che siamo ancora
lottando con e anche senza simili
andare troppo lontano e senza rovinarmi
qualsiasi cosa con due cose importanti
qui prima di tutto I OT è un po ‘come
caldo in questo momento ed è interessante
ora sarà vecchio in una merce in no
tempo sai se ti guardi indietro come a
alcuni anni fa su ABS un po ‘di più
anni fa sui siti web erano alla moda
erano grandi in quel momento oggi
sono proprio come le merci, quindi lo farò
essere merce e se parlo con noi
sviluppatori ti piaceranno un sacco di
Progetti IT in futuro e lo farebbe
solo essere come una cosa come l’altra
quelli e quindi anche come quanto è
nuovo se mi piace proprio lì è come nuovo
IOT tutta la nuova macchina per il caffè tutto ciò che sai
non sono sicuro che scoprirai che c’è
un sacco di cose che già conosci io
significa che si tratta di programmare
testare la sua integrazione e poi
c’è una piccola parte in là per il
poco sapeva di tutte le sfide
che ci piacciono e Michael lo farà
iniziare o la loro introduzione del prodotto così
il cliente è venuto da noi e ha detto che vogliamo
per iniziare un progetto con te, c’è
questa macchina ed è una macchina da caffè
ed è una macchina da caffè davvero straordinaria
è una pura gioia liquido nera che sta arrivando
fuori e può fare bevande fredde che può fare
bevande calde e si può aggiustare
tutto quello che vuoi e lo fa davvero
davvero bella, ma ma non è così
perché ci sono molte macchine come
che la macchina sarà connessa così
non sei legato a quello schifoso
spostare sulla macchina e e e il
i pulsanti che sono lì non lo farai
avere un’app e puoi configurare il tuo
il tuo drink la tua ricetta esattamente in questo modo
lo vuoi così puoi prendere il tuo
segno preferito e regolare i sospiri drink
quindi è perfettamente pieno hai il
quantità esatta di una schiuma che si desidera e
l’esatta quantità di latte che vuoi e così via
puoi averlo sempre con te e se
hai le tue ricette sul tuo telefono tu
può anche andare a casa di un amico che ha
la stessa macchina da caffè o in un negozio o
tu compri il
cap pantaloncini e non si deve
configuralo di nuovo e basta
dal tuo telefono premi un tasto e
hai esattamente il caffè che vuoi
sembra interessante e la macchina lo farà
essere collegato ad altri servizi proprio così
la macchina parlerà con i servizi nel
lo sfondo all’aeroporto parla con
servizi in background e quindi se tu
se vuoi cambiare bene il tuo telefono
tutti i tuoi dati sono già nel back-end
servizio e puoi solo sapere il login
di nuovo e hai tutte le tue cose lì
se vuoi più capsule se ne hai bisogno
pulizia set giusto basta premere a
pulsante sulla macchina o sull’app e
avrai il tuo set di pulizia mio
collega Matt Henschel che passa abbastanza
un bel po ‘del suo tempo a pensare
ecosistemi intelligenti e dispositivi connessi
e ha inventato questo con quelli
spiega come puoi strutturare e pensare
sui dispositivi connessi e il
ecosistemi intorno a questo e questi strati
applica al nostro progetto anche tu
inizia con un prodotto e il prodotto ha
alcune funzionalità fondamentali in questo
caso si prepara il caffè e poi si mette
Qualche altra logica in esso ce la fai
un prodotto intelligente che di solito è in
firmware in modo da scrivere un po ‘di
codice e lo metti su quella e tutti
all’improvviso questa cosa stupida questo prodotto
è diventato un prodotto intelligente il passo successivo è
lo si collega lo si collega con
dispositivi che questa macchina non ha
di solito parla con questo pisolino che questo può fare
essere internet ma all’improvviso il tuo
l’intero ecosistema è già connesso
prodotto e per noi l’ultimo passo è stato
avere quei servizi in background
e poi lo chiami un sistema di prodotto
e questo è dove almeno il nostro progetto
finisce se chiedi di incontrarlo ne disegna un altro
cerchiate intorno a lui e lui dirà il
il prossimo passo sarebbe un multistrato
ecosistema che in questo caso cosa significa
non c’è solo una macchina per il caffè
parlare a Internet e parlare con a
pisolino c’è un frigorifero e un forno e
sono collegati su tutti diversi
livelli in modo che parlino direttamente a ciascuno
altro ma anche agli strati
in cima quindi ora un caso andiamo un po ‘di più
bene specifico abbiamo avuto questa macchina
onestamente non abbiamo costruito l’hardware
non siamo bravi a quello dei pensieri
non ancora non lo so, quindi c’era un
società di hardware che ha effettivamente costruito il
pezzi e pezzi per quello e questo era
la società in realtà che ha anche costruito il
firmware in cima così questo è
probabilmente scritto in qualche dialetto di C noi
non l’ho scritto , ma ovviamente
stavamo parlando con loro costantemente dentro
lavorando a stretto contatto con loro così tante ore
a parte effettivamente iniziato dove le cose si fanno
collegato così costruiamo una app iOS che abbiamo
è stata un’app Android ovviamente se tu
hai una macchina da caffè collegata che ti serve
un’app di controllo e abbiamo creato il back-end
servizi sul sito web e sul negozio
dietro quello per questo discorso che voglio fare
è un po ‘più semplice perché altrimenti
mi perdevo nei dettagli tutto il tempo
quindi questo top vogliamo concentrarci su quelli
tre componenti la macchina l’app
qualunque sia la piattaforma e la parte posteriore
fine solo per visualizzare alcuni dei
esempi e dopo abbiamo capito cosa
il progetto riguardava tutti
davvero entusiasta perché è così
come si, questo sembra fantastico questo che vogliamo
per costruire questo diritto così ci siamo detti ok
dacci solo due o tre prototipi di
la macchina e quindi possiamo iniziare bene
via quindi il cliente era come un fatto divertente
non c’è una macchina che conosci il progetto
andrà avanti per alcuni mesi e un anno
quindi ad un certo punto potresti ricevere un
prototipo ma non sappiamo quando
e non sappiamo davvero cosa sia questa cosa
allora lo faremo davvero così abbiamo iniziato
fondamentalmente bene con l’editor vuoto e
un IDE vuoto e l’obiettivo di preparare il caffè
e c’era c’era fondamentalmente il nostro
prima sfida prototipazione perché se
Michael dice che c’era un fatto divertente
non ho una macchina ma in realtà c’era
la realtà per noi e in realtà è a
sfide strane prima di tutto se tu
non hai un dispositivo di test che non puoi testare
Voglio dire, ovviamente, ma lo siamo anche noi
gli sviluppatori di software non sono usati
avere come ogni problema hardware
Normalmente il duro lavoro che abbiamo bisogno per la
il nostro prodotto che possiamo semplicemente comprare possiamo
come metà possiamo fare come un coro, io posso
non so che non è molto grande
problema così in questo caso specifico che abbiamo fatto
non ho un prototipo e davvero
è diventato come una parte interessante e così
è interessante se tu se guardi
prima di tutto su come normalmente
sviluppare software quindi da confrontare a piacere
in questo caso con l’hardware
sviluppo anche in grandi progetti o
in particolare un grande progetto che potremmo avere
come all’inizio di un manichino
quello non è davvero un software funzionante
utilizzare e proprio come fare clic su di esso il
il cliente ha una certa impressione
puoi renderlo certo
qualsiasi cosa app app frontale e cose ma
alla fine è proprio come una piccola cosa
e da allora in pratica hai duro
software di lavoro dall’inizio
comunque vuoi chiamarlo se è come
l’alfa o il meglio è con il
rilascio o qualsiasi altra cosa con cui lavori sempre
software di lavoro questo è quello che facciamo quando
il nostro approccio incrementale in qualsiasi modo
direzione che vuoi andare tu aggiungi qualcosa
più ne aggiungi di più è come meglio
Meglio una bella bella una bella più bella ma
potresti anche interrompere il progetto
punto di tempo e tu ne hai voglia
tipo di prodotto, quindi è così che facciamo
e possiamo davvero tirarci dentro
in una piccola quantità di tempo intendo
qualunque cosa tu voglia chiamare è come
le settimane sono giorni è nostra ma piace
il software di lavoro è qualcosa che noi
ottenere frequentemente e come molto facilmente
usato è molto diverso quando tu
parlare di sviluppo dell’hardware e poi
veniamo ai nostri diversi prototipi
il primo passo è anche una sorta di a
dummy non è un clic fittizio in questo
caso specifico è un po ‘sfocato
come vedo da qui, ma è a
Styrofoam è una macchina di polistirolo lì
era come la prima idea che avevamo
c’era il cliente ci ha dato questo è un
blocco di polistirolo non c’è
funzionalità nulla dentro tranne per
Styrofoam quindi quello che abbiamo fatto ci piace pin
alcuni display su di esso abbiamo colpito questo
un ragazzo ai clienti effettivamente fatto
suona a questo non so esattamente perché cosa
ha fatto come questo è un pulsante hmm
quindi tutti i tipi di cose che ti piacciono
come se fossimo come se avessimo cerchiato alcuni
pulsanti in alto ma era come te
lo so molto prematuro e non potremmo farlo
molto con esso tuttavia e ci fu
come mostrato in come il diverso
i prototipi di ocho lo aspettano sempre
servito sei certo scopo così tanto
prima idea del nostro caffè styrofoam 3d
macchina abbiamo iniziato a sviluppare e noi
presto capito che avevamo bisogno di come
una specie di controparte e ovviamente
non c’era la macchina del caffè come il
controparte così sviluppato che falso
servire la cosa che in realtà
vedere lì che è in realtà il
prototipo del display com’era
dovrebbe sembrare così ci siamo sentiti quasi
come fare l’interfaccia utente, avremmo potuto farcela
in ogni modo, rendendo l’interfaccia utente in questo
il modo in cui sembrava quasi che stia avendo
come un pezzo della macchina che conosci
meno il display, quindi quello che eravamo in grado
per fare questo è come quando ci piace inviare
alcune informazioni dal nostro tipo di like
amplificatore falso al servizio falso quindi abbiamo ottenuto
come una risposta falsa e ci siamo sentiti come a
meno mi piace come una specie di
la connessione in esso è come la nostra
prototipo della seconda ondata e noi rapidamente
capito che questo non è abbastanza
perché puoi solo andare così lontano e
siamo entrati in una funzionalità più profonda
e non una grande sorpresa siamo venuti a
connessioni perché è tutto
dispositivi connessi, quindi l’abbiamo sviluppato
cosa è che è un BeagleBone è un
più grande era chiamato il nostro falso
anche la macchina come qualcosa si chiama nostro
emulatore e cosa siamo riusciti a fare
con questo non era solo per ottenere risposte
ma anche per avere una connessione Wi-Fi
per stabilire una connessione Wi-Fi per cercare
come un diverso scenario con il
Connessione Wi-Fi e così era per
come un tempo c’era il più vicino
che dobbiamo una macchina per il caffè e basta
non assomiglia molto al caffè
macchina ma era molto cara al nostro
cuori prima di prima e ci piace evolvere
dal prototipo al prototipo che abbiamo ottenuto
questo e quello sembra già molto
come una macchina da caffè come faresti tutti
d’accordo che ha già tutti i pulsanti
è un po ‘sfocato, non esattamente
perché ha un modo in cui il display è il
mostra quello che hai appena visto prima del
visualizzare anche ci piace o lì
in una versione come bloccata sul
polistirolo ha i diversi pulsanti
e quello che potresti davvero fare potresti
fondamentalmente faccio tutto ciò che intendo a
meno ciò che pensiamo di fare
perché per noi non hai bisogno del caffè
macchina della macchina da caffè ma noi
un po ‘come solo bisogno di come il
parte elettronica di interazione tutto intorno
quindi abbiamo avuto questa cosa e si è scoperto
che un sacco di cose che sviluppiamo ha fatto
non funziona con questa vera macchina da caffè
con il vero hardware con il reale
vita o modulo ma eravamo davvero felici
su di esso perché una volta integrato
con la scatola abbiamo pensato così ora se
la vera macchina arriva e posso mostrarla
tu la macchina non perché non è fuori
e quindi non mi resta che nasconderlo
sotto questa coperta che è in realtà il
macchina reale e quando ce l’abbiamo
prima la prima macchina che ha girato
fuori ci saranno più problemi ora
c’era la posa dell’interazione con simili
calore e con tutti i tipi di simili
diversi campi che si sono verificati così
si scopre che come ogni passo in cui noi
provato proviamo ad avere come un prototipo
c’era il più vicino possibile a cosa
avevamo solo bisogno di quel momento, ma è così
non è mai stato abbastanza e lo è stato
il prossimo passo evolutivo è stato come possiamo
Dovevo solo ricominciare da zero ma ancora
sai che questa è la macchina del caffè e
siamo stati in grado di integrarlo a proposito
questa è la macchina da caffè che abbiamo realizzato
il primo caffè con ed è stato davvero
esperienza interessante è molto
emotivo che così probabilmente non riesco a immaginare
e si è scoperto che è fatto di
come acqua cristallina e cristallina
fatto come una specie di sporco puzzolente
una specie di liquido ma questo è sul lato
conosci il caffè alla fine eravamo
davvero bello se guardi quei due
scenari simili a quelli ritratti
l ‘ un l’ altro dentro in là nel
parte superiore del software nella parte inferiore
dell’hardware si vede che è
come diverso prima di tutto in tempi di
scala temporale perché come ho detto prima di te
può tirare fuori un software o cambiarlo
correzione di bug del software o prossima versione in I
non voglio dire tempo, ma come
a volte in ore o settimane o simili
forse in mesi mentre nell’hardware
lo sviluppo dal manichino fino al
il primo prototipo di funzione ha richiesto almeno un
anno e mezzo
e questo è anche interessante per noi
perché significa per noi che il
il software deve seguire l’hardware se
alla fine dove la funzione prototipo
non hanno funzionato come specificato
errori che avevamo anticipato avrebbero fatto
lavoro non c’è modo che ci fosse un
passare ai muri duri fatti tutti
i cambiamenti dovevano essere fatti per la
il software che è interessante è che se
tu guardi questo che hai come il
il software che fa la parte dei falsi è davvero
piccolo è anche il vero hardware
davvero piccolo, quindi fondamentalmente nel pneumatico
parte centrale del progetto per apprezzare il
grande maggioranza del progetto come il taglio
spento come poche settimane all’inizio
un po ‘come due mesi lui alla fine
è stato sempre fatto come un vero
software contro prototipo non lo erano
vero e c’era un interessante
combinazione che ci è costata tutti i tipi di
probabilmente andremo di nuovo a questo ma
era anche molto interessante
particolarmente interessante quando si tratta di
test perché dovevamo essere davvero
innovativo con test e Michael lo farà
ne parliamo parliamo di test
in questo progetto sto assumendo tutti dentro
questa stanza esegue test automatici ogni
giorno tutto il tempo e siamo fondamentalmente
abituato ci dà una rete di sicurezza e
miriamo sempre a questa piramide di tonnellate di
test unitari in basso per voi sapere
controllare tutti i casi d’angolo e i bit
e collega alcuni test di integrazione da vedere
se Saul lavora i piccoli componenti
insieme e alcuni end-to-end prove su
il massimo per assicurarsi che tutto sia
legato insieme senza problemi e paffuto
insieme e per noi bene per ciascuno
componente individuale del sistema te
può farlo bene, quindi fare una piramide di prova
per i servizi di back-end questo è business
come al solito per noi abbiamo tutti gli strumenti che abbiamo
sapere tutto ciò che sappiamo come funziona
perché l’app sia onesta, potrebbe esserci
persone che hanno più conoscenze in giro
questo di me ma questo era già un po ‘
difficile UI test per il ritorno di iOS
poi nel modo in cui non c’era l’interfaccia utente
quadro che era già noioso um
e per la macchina bene prima di tutto noi
non ha davvero costruito un contadino per quello
ma non abbiamo potuto testarlo affatto, ma anche
se fai tutte le piramidi di prova per
tutti i componenti come
ti assicuri che funzionino davvero
bene insieme e così il primo problema
abbiamo avuto come testiamo l’integrazione
con qualcosa che non esiste così noi
detto insieme come va bene non c’è
macchina e vogliamo testare qualcosa
e vogliamo costruire nuove funzionalità e
questo non è lì, ma per essere onesti
questo succede anche nella vita reale
a volte hai un servizio a monte
di solito non esiste ciò che facciamo
contratto li prova per questo e noi
tipo di applicato una versione a questo come
bene, quindi abbiamo iniziato bene
la situazione è che voglio avere un nuovo
funzione diciamo sulla mia app e questo
la funzione non è supportata perché non c’è
nessuna macchina, quindi quello che abbiamo fatto è noi
ha scritto un test contro ben nulla per questo
per ora ma così abbiamo fatto un test rosso
è solo supponendo che questa funzione funzioni
Posso inviare una ricetta alla macchina o io
puoi configurare alcune cose per la macchina
e poi abbiamo preso il servizio falso o
più tardi sulla macchina falsa e noi
implementato questa funzione da quel lato così
hai un test contrattuale che è ora
verde perché un sistema falso fa cosa
il test sta testando e indovina cosa
lontano in questa fase non stai costruendo
qualsiasi software in questo momento che è la produzione
codice a cui hai appena scritto due componenti
impostare come un cablaggio per quello che sei
mi aspetto più tardi, quindi potremmo usare
questa caratteristica con il nostro servizio falso e
potremmo iniziare a sviluppare il reale
codice di produzione per l’app e al
un punto in cui abbiamo preso la scatola o
il vero prototipo della macchina noi
potrebbe eseguire tutti i test contrattuali contro
quello che abbiamo appena ottenuto e abbiamo un nuovo
versione del firmware potremmo quindi eseguire di nuovo tutto
i test e indovina cosa non è mai stato
verde la prima volta in assoluto mai
ma almeno anche se l’iterazione
il ciclo per noi è stato molto lungo fino a noi
ricevuto qualcosa di nuovo che potremmo almeno
dare un feedback subito e potremmo
sai mettere il dito in una prova
e dire qui ci aspettavamo qualcos’altro
la macchina non si comporta come noi
aspettandoci e potremmo iniziare a
discussione
e alla fine abbiamo ricevuto un
aggiornamento per il firmware e poi noi
potrebbe davvero usare questa funzione insieme
con un prototipo quindi c’è molto
Indiretta questo sacco di lavoro che fai
Davanti c’è un sacco di codice di test che è
non codice di produzione ma almeno puoi
andare in giro con questo lato negativo di questo
approccio è che abbiamo finito per usare
casi d’angolo su un livello molto alto sul
livello di integrazione tra un componente
del sistema e un altro così eravamo
controllando gli stati http su quel livello e
noi stavamo sapendo tutto come ho detto
casi d’angolo e questo è qualcosa di te
di solito testava lo strato in basso
speriamo sul livello di test unitario, quindi noi
finito come un sacco di test come quello ma
almeno era un approccio come fai tu
finta interazione fisica dell’utente così uno
governare con questa macchina è stato solo
sputare caffè se si preme un pulsante
perché devi assicurarti che
c’è una tazza su un’altra macchina tu
non voglio giocare con il tuo
telefono e inonda la tua cucina allo stesso
tempo e poi abbiamo scritto il test per quello
ho pensato come possiamo far spingere un utente a
pulsante una volta che abbiamo la macchina reale e
abbiamo davvero pensato di comprare un lego
set di brainstorm e sai solo avere un
dito robot premendo il pulsante ma poi
si è scoperto che il pulsante non era un
pulsante, ma era un jog dial e quindi noi
buttatelo fuori o lo abbiamo fatto noi solo
supposto nel test che potremmo farlo
così, quando abbiamo scritto un test, ne installiamo alcuni
roba e poi l’utente azione preme
il tasto brew e poi ne asseriamo un po ‘
altre cose e l’implementazione di
questa chiamata era bene era un’interfaccia
e abbiamo avuto due diverse implementazioni
di quell’interfaccia ce n’era uno falso
userei con i nostri servizi con un falso
macchina e servizio falso e questo sarebbe
allora assomiglia a questo um, vorresti solo
ti chiamo azioni di hahaha macchina finte
fai clic su brew e ottieni 200 indietro
e questo era il nostro modo automatico di fingere
che qualcuno ha premuto il tasto boo come
sembra questo quando c’è il
All’inizio la vera macchina suonava stupida
ma abbiamo appena mostrato un messaggio a cui andare
la macchina e fare clic sul pulsante blu o
più tardi dove ce n’erano di più
test sofisticati vanno alla macchina
leggi cosa c’è sul display e digita
quello che vedi sul display e
ovviamente, non l’abbiamo fatto pienamente
automatizzare automaticamente tutti i test ma noi
spostato da una serie di test automatizzati
a quello che poi abbiamo coniato come manuale guidato
test e quando abbiamo un nuovo firmware
versione e avremmo eseguito tutti i test
allora questa persona potrebbe iniziare le cose
aspetta il pop-up per vedere cosa è cosa cosa
la parte del pop-up ti chiede di andare
la macchina lo fa e torna indietro
sembra molto noioso e ad un certo punto
era ma d’altra parte lo faremmo
eseguiamo sempre la stessa serie di test che abbiamo eseguito
prima contro la macchina finta contro
la vera macchina e così eccetto questo
piccola cosa questo piccolo utente
interazione i test erano gli stessi così
il novanta per cento stessa prova se hai
idee migliori per questo, per favore, vieni da noi
dopo il tour perché questo era il migliore
abbiamo finito con la creazione di scenari
per i test end-to-end quindi abbiamo avuto tutto il
tre componenti e non so come
qual è la tua esperienza ma se lo hai
due componenti e devi impostare il
sistema upstream up per un certo
scenario che vuoi testare questo può
facilmente essere cura diventa piuttosto noioso
già per noi avevamo quindi un extra
cosa una terza cosa quindi se lo volessi
prova end-to-end una parte nell’app tu
devi impostare il sistema di backend a a
certa situazione si deve configurare
la tua macchina falsa in una certa situazione
così puoi eseguire un test end-to-end
in realtà integra tutti i componenti
e onestamente siamo orribilmente falliti
è diventato così complesso e così difficile da
scrivi così eravamo solo alla fine
stavamo dividendo l’utente dell’unità
viaggi
giusto così così abbiamo detto okay guardiamo
dall’intero flusso diamo un’occhiata da
un lato analisi e poi tagliare in modo che
possiamo testare l’intero percorso dell’utente forse
con due o tre test ma ogni test
dovrebbe solo coinvolgere i due componenti
e sì, ora puoi discutere bene di questo
non un test end-to-end giusto non è un
cento per cento di copertura o qualsiasi altra cosa
d’altra parte si tratta di test
dandoti sufficiente sicurezza, giusto e
lo sforzo che devi mettere in questo e in
d’ altra parte la fiducia che ottieni
da questo questo era il nostro equilibrio e
fatto il test almeno fattibile così quelli
tre contratti di contratto di test falsi guidati
interazione dell’utente e quell’utente parziale
viaggi ci ha dato l’ opportunità di a
Almeno gestisci la complessità del
situazione fino ad essere onesti sul prossimo
progetto vorrei provare le stesse cose
di nuovo e trovare altre cose ma
ancora più interessante o simile a quello
il nucleo è che non so se tu abbia ottenuto questo
tutta la festa stiamo parlando di IOT
sui dispositivi collegati in modo evidente
fare connessioni è come veramente al
chiave del nostro progetto, quindi cosa noi
in realtà è stato immaginato come il nostro nostro
l’installazione qui è descritta da Michael e
ha detto come va bene ora da tutti i
le cose sono collegate ora immagina come
che tipo di funzionalità possiamo fare cosa
Ho un po ‘di impostazioni che possiamo fare se
le ricette erano come le diverse
caffè come possiamo connetterlo
Facebook come possiamo condividere come
spiega come possiamo trasferirli
in tutto il mondo e qualunque cosa e noi
si avvicinò come qualcosa che era
come più complicato di quello che effettivamente
pensavo solo a darti come a
un po ‘di impressione come solo
immagina che sia come una persona come una di
vieni come mi immagino come te
tutto quello che ti sembra così curioso adesso
comprerò questa macchina andrai al
macchina che vuoi preparare il caffè
Le cose della macchina del caffè mi piacciono molto
pulire, quindi inviare un messaggio a
il backend dice come il back-end di cui ho bisogno
per favore dimmi l’app di cui ho bisogno come a
pulizia quindi messaggio per l’app per favore
fare una macchina da esposizione deve essere pulito
quindi l’informazione va allo stesso modo
ragazzo di nuovo clicca sulla gamba per favore pulisci
le informazioni sulla macchina alla macchina
e poi di nuovo così forse c’era un
piccolo
veloce forse non è come cento
per cento precisi ma mostra come
complicato questi flussi di utenti sono anche se
ti piace solo premere il pulsante per favore
fare un caffè per me e c’era
sicuramente una vera sfida per noi
vedere come attraversare tutti questi confini
e fare come i test e il
test e integrazione nel
orchestrazione di tutti i diversi
cose e posso dirti che funziona
diverso con tutti i diversi
prototipi che abbiamo avuto ancora di più
interessante ma era quello su cui ci siamo concentrati
diciamo che selezioniamo ok tutto è
connesso e ad un certo punto ci siamo resi conto
Prima di tutto dobbiamo ottenere questi
cose connesse e sembra essere tale
un passo logico ma lo abbiamo fatto in estate
non ci penso davvero perché tu
erano così eccitati per il connesso
dispositivi allora abbiamo iniziato a pensare
come la connessione di dispositivi perché tu
non puoi semplicemente comprare questa macchina puoi solo
compralo puoi scartarlo puoi connetterti
alla tua presa hai una macchina
seduto a casa e puoi usarlo come
puoi usare qualsiasi altra macchina da caffè
puoi mettere nella tua capsula puoi qualunque cosa
metti nel tuo latte puoi scegliere quello tuo
delle ricette che sono predeterminate
preimpostato sulla confusione che puoi semplicemente
fare un caffè come con qualsiasi altro taglio
macchina e va bene ed è come
accettato e non c’è nessuna punizione
o qualsiasi cosa per questo potresti anche usare
la tua app che puoi scaricare puoi usare
il tuo telefono puoi scaricare l’app tu
puoi usare fondamentalmente il tuo telefono come
un telecomando che puoi fare tu
ricette individuali puoi portarle
intorno a te puoi rendere tuo il tuo
caffè a casa o dare il set completo
la bellezza completa di questo intero dispositivo
con il back-end con l’integrazione
a tutti i tipi di altri dispositivi così e
solo per vedere o semplicemente per illustrare
quanto è complicato fare il setup
una volta collegata la macchina al
se lo comprate, te lo scarti
mettilo sul tuo controsoffitto
collegato alla presa funziona come un
hotspot quindi puoi disconnettere il tuo
telefono da tua moglie posso collegarlo a
l’ hotspot della macchina è quindi possibile
trasferire le credenziali del wafer
con cui ti sei appena collegato
dal telefono alla macchina da caffè
la macchina da caffè può quindi disconnettersi
può quindi passare dalla modalità hotspot a
moglie e uno possono connettersi al Wi-Fi
e poi il telefono può anche essere lungo
processo ed è stato davvero interessante
figura registro troppo probabilmente tutte le differenze
procediamo in modo retrospettivo e diciamo solo a
ottenere le macchine connesse ci ha portato circa
metà del nostro lavoro e suona davvero a
molto e c’è molto perché quello che noi
in realtà volevo fare era concentrandosi su
requisiti funzionali dal
clienti ma in realtà quello che abbiamo fatto è stato
in gran parte solo per ottenere le cose
collegato e quindi anche per assicurarsi
che funziona per tutti e tre
diversi scenari dovrebbe sempre
lavoro se ho appena come l’app
collegato al telefono o in qualsiasi altro
connessione ancora di più cosa è se tutto di a
improvvisamente uno di quelli è offline e quindi
hai come diciamo se la macchina
è collegato al back-end ma non a
l’enfasi apt ora siamo passati
come disconnesso o si invia un pull
richiesta e va al back-end ma
non sto andando indietro
connettersi nuovamente alla macchina all’angolo successivo
caso e ti piace sempre come quelli
tre cose e tu puoi vedere e cosa
punta a quale bufferare
informazioni in quale ordine vengono inviate
al bacon una volta riattivata la rete
cosa succede se il back-end è attivo ma non il
la macchina è su quale direzione è ciò che è
se hai informazioni di contraddizione
entrambi sono bufferizzati ma ora io
devono essere inviati come ordini diversi
era un disastro totale era
interessante ma era anche un disastro totale
e le nostre lezioni apprese da questo è
non sottovalutare che devi ottenere
cose connesse perché è tutto
dispositivi collegati e se non è possibile
connetti i dispositivi che conosci bene
avere una macchina da caffè noiosa ordinaria
parliamo di sicurezza quindi come faccio
approccio sicurezza nella mia squadra onestamente
bene prima con l’educazione che vai qui
una conferenza e vedi la sicurezza
e traccia della privacy che scriviamo automatizzati
prova così almeno le cose che siamo
pensando a un modo di lavorare
ci aspettiamo che configuriamo e forniamo i nostri
servizio automaticamente così nessuno dimentica
per accendere di nuovo il servizio di tabella IP
ma non importa che io non lo sappia
ma tutti se lo chiedessi non tutti
persona in questa stanza lo senti
la tua applicazione è sicura
Sono certo che il novantacinque per cento dirà mm
sì tipo di non so ma sul
Dall’altra parte stiamo sviluppando ogni cosa
giorno e li stiamo rilasciando e noi siamo
la distribuzione in modo sembra che in
generale, stiamo bene spingendo fuori le cose
allo stato selvatico quindi andiamo bene lo sviluppo
software e tutti noi abbiamo il nostro lavoro così
non è così male, comunque, su questo
progetto non eravamo affatto a nostro agio
perché eravamo così questa macchina
e qualcuno ha questa macchina nel
cucina e hanno tutto il tempo dentro
il mondo e hanno un cacciavite
e possono semplicemente aprirlo bene e leggere
spendi la memoria e solo tu lo sai
decodificare ciò che si trova sulla macchina
quindi per ogni singola funzione che abbiamo discusso
ci sono state infinite discussioni in giro
questo e molti di loro sono come noi
detto come ma se qualcuno lo fa
questo in quello o sai che puoi
fai questo e quello così sembra che noi
è andato a discussioni ancora e ancora
e ancora e questo è un po ‘fuori mano
quindi abbiamo fatto qualcosa chiamato minaccia
laboratorio di modellismo e se hai seguito
ne hai appena parlato proprio così
era prima così dispiaciuto che posso riguardare
ma è fondamentalmente una guida
discussioni facilitate attorno a diverse
argomenti di sicurezza e Microsoft ha spinto
fuori un gioco di carte che si chiama il
elevazione del privilegio
questo ti aiuta a farlo in pratica
basta fare domande diverse in merito
e abbiamo fatto un paio di sessioni con
questo e c’erano molti risultati ma io
voglio mostrarne uno adesso eravamo noi
è venuto con gli scenari di sicurezza e noi
abbiamo inventato tre scenari e l’abbiamo fatto
alcune regole per questo in errore così
il primo scenario era che tu rompessi il tuo
macchina ti prendi il cacciavite
aprilo, provi a fare cose che guardi
l’API si tenta di perdere configurarlo e
di certo non ti guarda
più bene abbiamo detto che non ci importa se
qualcuno lo fa alla sua macchina
semplicemente non ci importa e ha fatto il
la discussione è già più facile, perché
c’erano alcuni scenari che non abbiamo
cura d’altro canto questo significava ogni
unico punto di dati che si trova sul
la macchina non è sicura e tutto
che viene dalla macchina all’altra
i componenti non sono sicuri ma poi questo
già abbreviare la discussione è anche
Ecco come qualcuno può ora solo noi
Supponiamo che qualcuno possa e cambierà il
i dati su questo secondo scenario si rompono
la macchina di qualcun altro si è in
stesso Wi-Fi e non so se ti manca
configura la tua bevanda preferita che provi
per preparare cinque litri di caffè non lo faccio
sai bene hai detto che la durezza dell’acqua
sbagliato questo era qualcosa che sicuramente
voglio evitare perché è fastidioso per
gli utenti se qualcuno si conosce si accende
al tuo Wi-Fi in giro con esso o
pensa a se la macchina è in a
biblioteca o nel negozio giusto e qualcuno
fa anche cose fastidiose che così ogni
tempo abbiamo avuto una funzione in cui cade
questo scenario ci piace , proviamo
rendere difficile una delle regole che abbiamo inventato
con non appena fai qualcosa davvero
per esempio alla macchina seria
impostazione configurazione o impostazione del
password devi premere fisicamente a
Pulsante se qualcuno è di fronte
la tua macchina può semplicemente abbandonare il
macchina anche se vuoi essere davvero
proprio all’ultimo scenario rompi tutto
macchine così e questo cos’è questo
caso di disastro in cui lo immagino
perché la macchina ottiene aggiornamenti
Internet via etere e qualcuno
prende il nostro server e mette a
firmware malformato sul server e
tutte le macchine lo scaricano o cosa fanno
in realtà ci piace molto l’idea di
costruendo la prima botnet per macchine da caffè
nel mondo ma d’ altro canto
potrebbe anche essere che tutto ad un tratto in
Germania ci sono cinquantamila mattoni
in cucina e ogni singolo utente ha
portare la macchina in un negozio e tu
sapere che ha bisogno di essere riparato così
era lo scenario del disastro quindi tutto il
discussione tutti gli sforzi tutti
conoscenza che avevamo messo in quella
perché cerchiamo davvero di evitare così
per esempio in questo caso per il
aggiornamento del software usiamo un sincrono
crittografia e firme quindi possiamo essere
molto sicuro non del tutto che questo
l’aggiornamento del software è in realtà il giusto
uno per la macchina ha già indicato
un po ‘questo non risolveva il
discussioni sulla sicurezza, ma è così
accorciato perché potremmo sempre
contare su qualcosa oh guarda questo è
secondo scenario giusto, dobbiamo evitare questo
oh guarda questo è un altro che non lo facciamo
cura, pensiamo che non sia sicuro e
bene non sono l’esperto in tutto questo ma
almeno questo mi fa sentire molto di più
sicurezza confortevole e tutto il resto
argomenti di cui abbiamo appena parlato molto
argomenti importanti credo fermamente questo
è la tecnologia di produzione più importante
invisibile ed è davvero interessante
perché parliamo di dispositivi connessi
e diciamo la chiave di connessione è tutto
quale connessione IOT è connesso al dispositivo
collega è la chiave allo stesso tempo noi
non voglio fare il bagno al
connettività di cui non vogliamo preoccuparci
connessione assumiamo semplicemente si
la macchina per il caffè è un dispositivo high-tech ma
vogliamo anche volerlo assicurare
è proprio come funziona, quindi abbiamo avuto molto
momento interessante o un’incidenza in
il progetto immagina solo che sia così
i nostri progetti come le vendite sul mare e
è veramente calmo
è quasi come se fossimo davvero al sicuro
attraverso tutta la lotta con l’utente
i flussi ci piacevano le nostre piccole tempeste
ma poi siamo come a vedere il pulitore
ci piace solo terminare la configurazione Wi-Fi
flusso siamo davvero felici di essere davvero
eccitato, siamo come entrare in quello
il suo pieno di eccitazione abbiamo appena visto il
la lingua esiste può come fare una
segno di spunta sul test utente per il
Wi-Fi setup phone tutto è giusto
perfetto e ciò che è venuto è stato un po ‘come un
momento cascata perché non ha funzionato
fuori come quasi nessuno aveva previsto
nessuno che ha testato il nostro Wi-Fi ha detto il
flusso non è riuscito a collegare il
dispositivi che significa che nessuno è stato in grado di
stabilire la connessione la connessione
abbiamo parlato di tutto il tempo tutto il
l’utente complicato scorre tutte le basi di
il nostro intero progetto è il cuore del nostro
l’intero progetto digita persone in rete
solo non va bene e quelli che non sono io
non so come se fossi totalmente io
non so come la gente da loro
non toccare mai il telefono cellulare
quelli sono un po ‘come i giovani esperti di tecnologia
le persone e non erano in grado di fare un
collegamento che disastro cosa intendo
che cosa piace qualsiasi cosa orribile e così
quello che possiamo piacere abbiamo fallito in questo e
salviamo anche il progetto, quindi posso
rassicurare tutto va bene, ma anche
ci ha mostrato che è come un tale
cosa diversa in via di sviluppo per esattamente
per questo per questo tipo di dispositivo perché
dobbiamo assicurarci che le basi
che la funzionalità di base deve essere
senza pensarci davvero, noi
fare in modo che salviamo il
progetto per tutti i diversi utenti e io
ha reso questi utenti particolarmente simili e
come la fusione per mostrare come se fosse vecchio
in nuove persone o testo sono tutti i costruttori
come nerd e hipsters e yuckies e
qualunque cosa e tutti devono essere in grado di
fai queste connessioni perché se tu
non posso stabilire una connessione con questo
niente funziona e lo è stato
interessante per noi perché abbiamo dovuto
ripensare il nostro intero approccio in particolare
alterato a te io alla tua ex per essere sicuro
questo è un dispositivo diverso se non lo facciamo
potremmo non essere in grado di stabilire questo
disconnessione non ci riusciremo
tutta la cosa e lo sappiamo anche noi
qualcun altro lo farà perché se noi
non fare una buona interfaccia lì di più
di sufficienti esempi in
mondo qualcun altro lo farà e loro lo faranno
avere successo e venderanno le macchine
e sarà ancora lì seduto con il nostro
macchine che imparano inesplorabili
questo è un sito web in realtà
molti siti web come collegare il tuo
dispositivo wireless alla tua rete e io
Non so quanto sei motivato se tu
acquistare un nuovo dispositivo per piacere passare attraverso a
maratona di come ti infastidisce il tubo
video con tutti i tipi di persone e a
scorrere e guardare in qualunque cosa tu
sai parlare con la gente guarda su forum come
ottenere tutte queste assurdità che è come
fuori nel mondo entri nel tuo cervello
solo per capire come collegare il tuo
dispositivo intendo quante macchine vorrebbe
compri da una certa compagnia se tu
sapere che finirebbe come essere dentro
un incubo totale devo dire che non lo sono
sono totalmente impaziente con il tipo di
roba non mi piacerebbe nemmeno uno sguardo
se il video non funziona, non lo farei
compralo se leggo su qualunque cosa sul
riferimento su Amazon che c’è un problema
con la connettività non l’ho comprato
e questo è come per me stesso
la macchina per il caffè è diversa
articolo quindi diciamo un iPad o a
di computer o qualsiasi altra cosa come un programma che
compri per il tuo lavoro la macchina per il caffè è
qualcosa che tutti devono comprare come
abbiamo detto prima che è anacronistico
cosa è un caffè ognuno vuole
fare un caffè che tutti vogliono se loro
compra una macchina che volevano che facesse
caffè facile senza problemi come senza
qualsiasi cosa a questo quindi fondamentalmente ho sempre
immaginato di doverlo dare a mio padre
devo darlo a mia nonna e loro
Devo ancora farlo funzionare e c’era
mi piace davvero una cosa diversa quindi abbiamo preso
da questo odiamo lavorare molto
ha lavorato molto ma abbiamo anche visto come
è importante renderlo veramente facile
per tutti da usare quindi facendo
la tecnologia è invisibile anche se è a
macchina ad alta tecnologia che è al centro
quando abbiamo parlato di hyping del prodotto e
test e tutte le cose che abbiamo
ne abbiamo parlato se non siamo in grado di farlo
fare una connessione possiamo raschiare tutto
che non dobbiamo neanche stare qui
non devo nemmeno dare questo discorso ma
fortunatamente per fortuna anche per tutti noi
per tua fortuna lo aggiustiamo e tutto
lavori
questo sta già concludendo così il titolo
di questo tipo di cinquantamila linee di
codice per una tazza di caffè e questo è come
li spendiamo giusto costruiamo prototipi
per simulare l’hardware che abbiamo testato molto
le cose quindi tutto funziona senza intoppi
insieme cerchiamo di ottenere questa stupida cosa
collegati cerchiamo di evitare la sicurezza
disastri almeno e abbiamo scritto molto
codice per nascondere la loro tecnologia al riguardo
e quelli sono i cinque punti dopo
tempo avrò un nuovo progetto
che qualcuno ha uno sai che mi connetto
il dispositivo in esso sicuramente guarderò
a quelle cose di nuovo e prima e piano
avanti e sono sicuro che salverò molto
tempo su questo quindi spero solo di guardare
questa diapositiva e il prossimo progetto arriva
tira di nuovo questa diapositiva e discuterne
cose in anticipo mentre stavamo lavorando
questo progetto stavamo codificando e codificando
per una settimana e dopo una settimana fai un passo indietro
un po ‘e sembri quello che ho fatto io
fai questa settimana quando poi guardi il
tempo speso per le funzionalità che sono
effettivamente rivolto all’utente rispetto al
tempo che passi per tutto il resto solo a
far funzionare tutto ciò che era abbastanza
frustrante onestamente ne conosco altri
progetti sono così così, ma per
il rapporto era molto peggiore di quello usato
essere in altri progetti quindi se qualcuno
mi ha chiesto ora come funziona IOT o collegato
i dispositivi cambiano il modo in cui lavoriamo come a
lo sviluppatore imma non dice molto bene
perché tutte le cose che impari
ancora possono applicarli a quello che faranno
diventare più complesso che diventiamo
più diventano più noiosi ma giusti
perché non puoi automatizzare tutto in autunno
i test al cento percento no
gettare i metodi che si fanno fuori dalla
la finestra spinge davvero forte per applicarli
almeno un po ‘e alla fine poi bene
queste foto da quando abbiamo preparato il
primo caffè giusto e non solo la squadra
ma quasi l’intero ufficio si è riunito
intorno alla macchina e guardare il
diverse fasi c’è eccitazione questo
questa rabbia questo scetticismo Hammond su
proprio molto a destra sta pregando
sta giocando come
questa cosa esplode così alla fine è stato
davvero divertente perché abbiamo finalmente incontrato il conto
qualcosa di tangibile che costruisce
sai odora di caffè così con tutto
la complessità e tutto il T loenes
è stato davvero divertente grazie così abbiamo tempo
per alcune domande quali sono le tue
domande e ho intenzione di andare in giro
con Mike riguardo al modulo di connettività
e sta chiedendo se lo recensisce
prima di altri progetti IT molto buoni
domanda perché ci sono cose come
è stato chiamato prima della scintilla, oh, immagino
quindi è un piccolo dispositivo che puoi comprare per a
un paio di dollari che magicamente solo
si connette ad esso ai servizi di back-end così
tutto questo fa tutto lo sforzo che abbiamo dovuto fare
mettere in questo è possibile acquistare cose
comunque tutti i metodi che puoi pensare
su un WPS near-field o cose simili
la scintilla non funzionava davvero per noi
perché volevamo questa modalità in cui
basta collegare la macchina ed è così
non andando a scrivere quindi ce ne sono altri
cose e devi verificare tutto il
messaggio ci sono se si avvia un progetto
per noi abbiamo dovuto percorrere la via noiosa e
Immagino che non possa riutilizzarlo molto
per il prossimo hai parlato del
test manuali guidati ne hai avuti
problemi con i tester che si annoiano
e forse semplicemente non seguire il
istruzioni veramente approfondite e come
ce l’ hai fatta, così abbiamo fatto un test
giù sulla nostra squadra e lui era davvero dentro
quello giusto e onestamente non l’abbiamo fatto
ricevere e aggiornare così spesso così siamo
parlando di ogni altra settimana, quindi io
Immagino che devi farlo tutti i giorni
non lo farò e quindi probabilmente ti servirà
per trovare altri livelli di test e
forse hanno ben poco in cima a quelli
un’altra domanda è attraverso l’ app come
correggi il provisioning della password
problema di provisioning della password
Non sono molto sicuro di questo, ma bene
ad un certo punto devi dare il
metti la password in modo corretto e perché
ha bisogno di connettersi con il Wi-Fi e
quindi abbiamo appena fatto connessioni sicure a
invia la password al Wi-Fi e sì
è memorizzato quindi sulla macchina perché
deve saperlo se qualcuno legge
il ricordo lui o lei conosce la password
dall’altra parte questa persona è nella tua
Wi-Fi con il cacciavite di fronte
la macchina e la apre così ci siamo assicurati
che la connessione quando abbiamo inviato il
la password è sicura non so se questo
risposte ma forse questa persona che ha chiesto
la domanda può venire da me più tardi
Immagino sia così che ne abbiamo dimenticato uno
parte noi cruciale avremmo dovuto avere come
una prima diapositiva e ultima vita sul
conferenza quindi ci siamo totalmente dimenticati di noi
rovinarlo sull’ultima luce che avrebbero fatto
sono stati come si prega di compilare il voto
o qualcosa del genere per favore votare
qualche strumento lo abbiamo anche dimenticato, quindi per favore
ora come motivazione orale per te
per favore fallo, ma dato che ci siamo dimenticati di
le diapositive ti ringraziano

Please follow and like us: