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
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"
Paralleler till
Old school-distribution av mjukvara med lång feedbackloop
Vi vet inte var vi är på väg, men vi får mycket gjort
Rörlig måltavla
Efficency vs responsiveness
"Failure is not trying things that don’t work.
Failure is failing to learn."
Recept
Deliver frequently
Continuous integration
Continous delivery / deployment
Measure impact
A/B-testning
Se upp med mikrooptimering
Experiment more, plan less
Organize for adaptation
Dynamiska team, organiserade kring projekt
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
Potentiella problem
Ägarskap
Webben (mobil + desktop)
Hade en lysande framtid framför sig...
Innan apparna kom
Några nackdelar med appar?
Kommersiellt
Kostnad
Distribution
Varför inte webb?
- Dåliga webbsidor
- Avsaknad av viktig funktionalitet
Viktig funktionalitet
- Tillgång till hemskärmen
- Pushnotifikationer
- Offline
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
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());
});
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