Två månader har hunnit passera sedan jag var på Scandinavian Web Developer Conference 2010 på Skandiateatern i Stockholm. Det var två fullspäckade heldagar om webbutveckling och mobilutveckling med moderna webbtekniker, av några av världens mest framstående talare på området.
Första dagen talade bland andra Daniel Glazman (@glazou) som är en av de gamla rävarna från W3C som har varit med från allra första början när webben vuxit fram till vad det är idag. Han predikade självklart om vikten av webstandarder och att vi måste börja använda de nya teknikerna i HTML5, CSS3 för att gamla avdankade webbläsare som Internet Explorer 7 och 6 måste försvinna. Flash är en bra platform, men den kräver en annan kompetens som kostar mer för samma resultat.
”We dont want to kill flash, it will be an unexpected side-effect”
Han visade exempel på hur man med Canvas kan spela mariocart på en ipad och styra genom att komma åt ipadens accelerometer, direkt i webbläsaren. (http://www.nihilogic.dk/labs/mariokart/).
Allas vår egen Robert Nyman (@robertnyman) från Valtech, presenterade HTML5 och vilka möjligheter det medför för utvecklare och användare.
Cristian Heilmann (@codepo8) från Yahoo, predikade som alltid om Progressive Enhancement, och att alla webbplatser ska gå att använda på en dålig mobiltelefon, med en taskig uppkoppling utan javascript. Men användarna bryr sig inte om de coola effekter och funktioner som vi utvecklare lägger ner dagar på att utveckla och anpassa för att de ska se lika bra ut i IE6 som i Safari.
De flesta användare som sitter med gammal utrustning och dåliga webbläsare har inte något val. Antingen är de rädda för virus och inte vågar ladda hem någonting nytt, eller så sitter de på ett företag där de inte får ha javascript påslaget pågrund av att javascript är en säkerhetsrisk (om den används på fel sätt), eller vet inte skillnaden på webbläsare, sökmotor och epost. Låt informationen vara åtkomlig och gör webbplatser tillgängliga, men låt varje teknik hantera den ”design” den klarar av. Tvinga inte in runda hörn, transparens, skuggor, lagerpålager, ajax och max-bredder på de plattformar som inte är gjorda för dem, för användarna bryr sig inte om det som vi tycker är ballt.
Han föreslog en underbar slutgiltig lösning på hur vi tillsammans kan hjälpas åt för att få bort IE6 utan att sluta stödja den. Amelie from Montemartmetoden (http://icant.co.uk/ie6-amelie/) är ett litet skript som vi kan lägga in på våra webbplatser som utnyttjar en väldigt konstig ”blur”-effekt som finns stöd för i IE6. Men slumpmässiga mellanrum kommer all text på webbsidan att bli suddig för IE6 användare under ett kort ögonblick. Efter några månade talar man om att det kan bero på mjukvaruutmattning och att om det inte åtgärdats även kan drabba hårdvaran.
Ändra IE6 problemet från ett teknikproblem till ett hälsoproblem, så får det en helt annan prioritet.
Rik Arends (@rikarends) från Ajax.org demate ett väldigt läckert webbaserat IDE (@cloudide) för kooperativ webbutveckling i molnet. Det ger möjlighet för designer, frontend-utvecklare, backendutvecklare och testare att samarbeta, utveckla och köra lösningar direkt i molnet via webbläsaren. Designer skapar ett GUI genom drag and drop som sedan byggs logik till av utvecklarna. Testfall kan skapas på ursprungliga prototyper som sedan körs och spelas in medan produkten vidareutvecklas. Som ett komplett bättre Visual Studio i molnet med direktkoppling till GitHub.
Andra talare under första dagen pratade om nodeJS, CouchDB, javascriptmoduler för stora webbplatser, google chrome extensions och google för utvecklare.
Dag två inriktade sig helt på mobil utveckling och hur vi med Offline storage, geolocation, canvas, CSS3, PhoneGap etc kan skapa häftiga applikationer för mobiltelefoner och andra enheter som gör upplevelsen riktigt häftig.
Michael Mahemoff (@mahemoff) från Google, skapare av Ajaxian.com och författare till boken ”Ajax design patterns” talade också om hur HTML5 ger oss utvecklare vingar och möjliggör helt nya webbplatser och applikationer i webbläsaren. Han visade hur man på klienten kan lagra data, offline-manifest och köra avancerade javascript i bakgrundsprocesser, där olika enheter kan kommunicera och styra samma process. För mobiltelefoner är det väldigt viktigt eftersom man kan hantera ”shaky connections”, klara av avbrott för samtal och utnyttna webbläsarens fulla processor för skript och gui.
Wolfram Kriesing (@wolframkriesing) talade om ”Cross platform Mobile Apps” och lätt det är att skapa kraftfulla mobilapplikationer med hjälp av W3C Widgets och PhoneGap som fungerar för iPhone, Android, Palm, Blackberry, Nokia och Windows mobile, utan att utveckla en applikation för varje enhet.
Det finns upp till 50 olika mobila appstores för olika plattformar och olika utvecklingsspråk, varav 26 är riktigt stora. Webbapplikationer är det enda sättet att skapa applikationer som fungerar i samtliga telefoner.
W3C Widgets är ett paket av html-filer, css-filer, xml-config, ajax-bibliotek och en ikon som är zippade och omdöpt till .wgt, det skapar en widget som kan komunicera med webben som ex. facebook-dashboard-widgets.
PhoneGap är en lösning som ger webbsidor tillgång till telefonens hårdvara med hjälp av javascript och gör det möjligt att skapa riktiga applikationer av HTML, CSS och JS som kan genereras för alla olika plattformar. PhoneGap finns för att fylla gapet som finns mellan webb och OS till det att det stöds av alla telefoner och gör det möjligt att med javascript använda telefonens kamera, adressbok, gps, accelerometer, bildgalleri etc etc.
En annan väldigt intressant föreläsning var Tom Hughes Croucher (@sh1mmer) som talade om ”How to avoid the latence trap when using web services”. Han menade att det största problemet som vi som mobilwebbutvecklare har är latens. Latens uppstår vid alla typer av kommunikation speciellt trådlöst, av störande enheter, eller slöseri på bandbredd då en massa extrauppgifter skickas med varje paket. Det gäller därför att optimera bandbredden för maximal utdelning. Iphon kan t.ex. hantera 6 paralella anrop per domän, det kan därför vara en fördel att dela upp stilmallar, bilder och javascript i olika filer och på olika domäner.
Yahoo YQL är en samling av öppna APIer där din webbapp enbart behöver skicka textsträngar till Yahoos snabba servrar som sedan kommunicerar vi diverse andra servrar och sedan levererar resultatet till telefonen, vilket medför att fler anrop kan skickas snabbare utan att behöva vänta på svarstider från olika apier. Slides här
Tim Caswell (@creationix) visade tillslut hur man i Node.js kan bygga webbsajter där mobila enheter kan kopplas samman och interagera i realtid i samma webbapplikation.
Det var mycket intressant att lära sig på dessa två konferensdagar anordnade av Peter Svensson (@psvensson). Ett stort tack och jag ser fram emot nästa år, när dessa revolutionerande webbtekniker har fått ytterligare ett år på sig att mogna.
Nu är det dags för Creuna att börja utveckla mobila webbappar, så jag kan få sätta mina införskaffade ”kunskaper” i praktiken!
