QCon SF 2015 – En sammanfattning – Dragning 1



QCon SF 2015 – En sammanfattning – Dragning 1

0 0


qcon-sf-2015

A short summary of QCon SF 2015 in Swedish, using reveal.js.

On Github odynvolk / qcon-sf-2015

QCon SF 2015

En sammanfattning

Av Alexi Rahman

Vad är QCon?

"QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams."

Schema

3 dagar - dragningar

(2 dagar - workshops)

  • Microservices
  • Containers / Docker
  • JavaScript
  • Stora datamängder / skalbarhet
  • Stream processing

Microservices. Skojades om microservices. Nästan ett krav om man ska kunna deploya ofta, speciellt om produkter/miljöer är komplexa. På Dockerhub har många repos miljoner pulls. För något år sedan, prat om ovanstående, nu används de faktiskt. Meetup på Trifork, bara ovanstående. JavaScript, klient/server/databas (Clusterpoint). Utsålda workshops React.js samt Docker.

60%

+

  • Bredden
  • Inte för stor
  • Presentationer lades online snabbt
  • San Francisco
  • Amerikanarna

-

  • Ingen "kioskvältare"
  • Inte helt billig

=

2 stjärnor, "Excellent cooking, worth a detour"

Dragning 1

Redefining Failure at Yammer - Nate Fink

Paralleler till

Old school-distribution av mjukvara med lång feedbackloop

Fink (head of engineering) var på MS när de tog över Yammer. Började jobba som de gjorde på Yammer. Kom dock från Sharepoint där de hade långa releasecykler och därmed feedbackloopar.

Vi vet inte var vi är på väg, men vi får mycket gjort

Rörlig måltavla

Efficency vs responsiveness

Effektiva på MS, men inte spec responsiva. Responsivt ofta bättre i en dynamisk värld.

Lång feedbackloop gör att man vill undvika misstag. Med snabb feedback kan man lära sig från misstag, det tillsammans med en låg kostnad är viktigt.

"Failure is not trying things that don’t work.

Failure is failing to learn."

Recept

2 första tekniska, de andra mer av organisatorisk natur.

Deliver frequently

Continuous integration

Continous delivery / deployment

Measure impact

A/B-testning

Se upp med mikrooptimering

Ny feature gick ut, bra mätvärden för den, men var det bra för produkten som helhet?

Experiment more, plan less

Företagskulturen... Färre features som deployas, men de som gör det bidrar med ett större värde.

Organize for adaptation

Dynamiska team, organiserade kring projekt

Hade klassiska frontend, backend, sök etc team. Nu temporära team med alla typer av kunskaper. Färre beroende till andra typer av kunskaper.

Minimera motståndet till förändring...

“The only sustainable source of competitive advantage in any industry is the ability to learn faster than your competitors.”

Arie DeGeus

Hur fungerar detta på mitt nuvarande uppdrag?

Deliver frequently

Measure impact

Experiment more, plan less

Organisationen/produktägarna med mera är medvetna om att allt som provas/utvecklas inte kommer att behållas.

Organize for adaptation

Medlemmar/folk byts ofta. Snart 4:e teamet under min tid. Vet ej om det är lika mycket tanke bakom som hos Yammer.

Potentiella problem

Ägarskap

Dragning 2

The Future of The Web Platform: Does It Have One? - Alex Russell

Jobbar med Chrome på Google samt sitter i komiteen för ECMAscript.

Väldigt många vill jobba med nativeappar. De har möjliggjort massor med saker som webben inte kunde leverera.

Webben (mobil + desktop)

Hade en lysande framtid framför sig...

Innan apparna kom

Några nackdelar med appar?

Kommersiellt

Alex går inte in på hur detta kan komma sig. Någon som vet?

Kostnad

Enligt de senaste siffrorna från Fiksu fortsätter kostnaden för att utveckla samt få apparna till användarna att öka.

Distribution

Leta upp appen, godkänna, laddan ner, använda.

Varför inte webb?

  • Dåliga webbsidor
  • Avsaknad av viktig funktionalitet

Viktig funktionalitet

Tillgång till hemskärmen Pushnotifikationer Offline

Service workers!

Vad är service workers?

  • Skript som körs i bakgunden i browsern, separat från webbsidan som initierade det
  • Har hand om t ex nätverkstrafik

Finns i Chrome, Opera. FF kräver nightly build samt ändring i about:config.

Har i sitt API "fetch" samt "push"

Registrera

if ('serviceWorker' in navigator) {
		navigator.serviceWorker.register('/service-worker.js');
}

Installera samt cacha

function updateCache() {
    return caches.open('some-cache-name')
        .then(function (cache) {
            return cache.addAll([
                '/offline-page.html',
                '/assets/css/main.css',
                '/assets/js/main.js'
            ]);
        });
};

self.addEventListener('install', function (event) {
    event.waitUntil(updateCache());
});

Lägga till statiskt innehåll. Vi ser att Promises används av Service Workers.

Hämta innehåll från cache alt. nätverket

self.addEventListener('fetch', function (event) {
  event.respondWith(
    caches.match(event.request)
      .then(function(response) {
        if (response) {
          return response;
        }

        return fetch(event.request);
      }
    )
  );
});

The Guardian

Kanske går det att vända trenden

Slut

https://odynvolk.github.io/qcon-sf-2015

Andra bra dragningar

NOSQL WITH CACHING, SEARCH AND REAL-TIME ANALYTICS - James Gorlick SCAMMERS, HACKERS, AND FRAUD ON THE BLOCKCHAIN - Olaf Carlson-Wee IS IT POSSIBLE TO RUN A 100% REMOTE TEAM? - Jeremy Edberg DINO DNA! HEALTH IDENTITY FROM THE WRIST @JAWBONE - Brian Wilt
1
QCon SF 2015 En sammanfattning Av Alexi Rahman