Devoxx 2012 Antwerpen Belgien

No Gravatar

 

Det var ett tag sen man satt bakom skolbänken, vilket man tydligt känner av efter tre dagars totalt korvstoppande i vad som sägs vara europas andra största bioanläggning, kinepolis.
Årets upplaga bjöd inte på några riktigt stora namn, men det är inte enbart rock-star-status som styr om ett föredrag blir bra.

Onsdag

Keynote

Denna keynote var något av det segaste jag sett i världshistorien, då den till 80% handlade om hur duktiga devoxx-folket var, och hur bra deras konferrens gått senaste åren. Vidare handlade den om devoxx-klan-ledarens Stephan Janssens egna presentations-site parleys.com, vilket iofs är en fantastisk sida. Hans egotrip drog ut på tiden, och Oracles Nandini Ramani fick mindre tid, vilket sedan gav ripple-effects i schemat resten av dagen.
Stephen Chin kom sedan inrullande på motorcykel fram till podiet, och även här syntes inte ett spår av självinsikt.
Oracles presentation var bra, och handlade mestadels om JDK8 och vad som komma skall, inga direkta nyheter. JavaFX verkar ges fokus igen, trots dess minst sagt misslyckade framgång hittils. Nu kommer en 3D-funktion, för att enkelt kunna göra 3D-grafik likt Direct3D på native-klienter. Personligen tror jag inte detta kommer kännas intressant, då WebGL har kommit så långt, men vem vet.

Neall Ford från ThoughtWorks var väl kanske ett av de största namnen, och pratade lite om hur bra det är att vara generös med sin specialistkunskap, och låta den rinna ut i andra delar av organisationen och i sitt övriga liv. Hans stora idol Richard Feynman var på duken i stora delar av hans presentation, då Feynman löste många olika problem, trots att han egentligen var specialist inom ett givet område. Poäng efter poäng handlade om hur man kan flytta en lösning inom en domän in till en annan.
Även om det är omöjligt att jämföra sig med geniet Feynman, kan det vara en bra tankeställare.
Neal har släppt en bok som täcker detta ämne fullt ut som heter: Presentation Patterns (http://presentationpatterns.com/).

Lunch

Efter lunch halkade jag för sent in i en snabbföreläsning, quickie, om Arquillian. Mha Arquillian och ShrinkWrap, byggde han ihop en snyggt och prydligt unit-test där data-sourcen bestod av lite vad man ville. I hans fall var det bl.a. en simpel textfil som beskrev tabeller med data.
Klart smidigt då man vill mocka data, vilket man ju gör typ hela tiden i sina integrationstester.

Nästa quickie var om JMS 2.0 av Nick Wright från c2b2 consulting. Han beskrev i korthet alla smaskiga nyheter i JMS 2.0. Han tyckte det var dags att fräscha upp saker, JMS 1.1  har levt i ca 10 år nu. Bland annat bygger jms nu ut de delar som massor av andra ramverk byggt ovanpå jms, eller parallellt med. Exempelvis finns nu stöd för Java 7 Autoclosable och ett betydligt kompaktare och snyggare API, som absolut ger JMS en konkurrensfördel mot andra aktörer. Vidare finns batch-delivery, delivery-delay och async-delivery. P2P och Pub-Sub måste implementeras av API:et iom 2.0. På det stora hela ser det riktigt modernt och bra ut, blir kul att testa.

Java 8

Oracles Joseph Darcy hade sedan sin presentation om Java 8.
Här fick alla reda på att det var dags att skynda på, då slutdatum för Java 1.6 är bara 4 månader bort. Lustigt nog tycker jag att Java 7 fortfarande är rätt buggig, och G1 har ju precis blivit klar. Jag tror 1.6 kommer få leva lite till, men det är bara min teori.
Joseph försvarade och förklarade hur Oracle tänker när de gör olika typer av teknikval och vilka olika nivåer av kompatiblitet som måste efterlevas.
De har i praktiken tre dimensioner; source-, behavioral- och binary-compatibility.
Intressant nog har de nästan aldrig brutit alla tre dimensionerna tidigare, men det blir det ändring på iom Java 8.
Java 8 kommer bygga in default-methods på interfaces för att möjliggöra interface evolution, dvs vi kommer få traits in i java till sist, inga nyheter här.
Det mest spännande han tog upp var hur de valt att implementera lambda uttryck.
Istället för att utnyttja statisk kompilering, dvs använda antingen syntaktiskt socker och köra med anonyma klasser undertill, eller utnyttja MethodHandles, valde Oracle att göra detta helt i run-time.
Detta görs via den i Java 7 introducerade invoke dynamic (indy), vilket visar sig passa aldeles utmärkt in i deras val att göra tillräckligt stora ingrepp för att lösa problemet, utan att skapa en situation de inte kan komma ur i framtiden.
Det fiffiga med att använda indy är att hur lambdas faktiskt plockas fram, det blir en implementationsdetajl som Oracle kan ändra i framtiden om de har lust, mycket smart.
I Java 8 kommer ditt anrop till en lambda sättas upp första anropet, för att i följande anrop anropas i praktiken med samma prestanda som vilken vanlig metod som helst (han visade lite lovande grafer på detta).

Vertx.io

Nästa presentation var av Tim Fox och handlade om vertx.io.
Detta hade jag redan lite kunskap om tidigare, och det var kul att höra lite mer om detta lovande ramverk. Passade även på att ställa lite väl valda frågor till Tim efteråt.
Vertx.io löser ett ganska vanligt problem som dagens Web 2.0 appar måste lösa, nämligen en smidig kommunikation mellan server tillbaka till klienten, dvs comet, ajax-push osv vad alla namn kan tänkas vara.
Serverkod körs i en enkeltrådad event-loop, likt node.js, all kommunikation görs via en eventbus (hazelcast). Det fiffiga är att även klienter kan anropas på samma eventbus, gömt för app-utvecklaren.
Klienten har tillgång till att inkludera vertx.js-javascriptet, och kan därefter lyssna och ta emot json-data via denna event-bus. Klienten kommer utnyttja websockets om browsern stödjer det, eller använda i nedstigande ordning; SockJS, long-polling, timed-polling.
Jag tror vi kommer se mer av detta ramverk, han är trots allt backad av VMWare.

Mäss-mingel

Efter detta var det mingeldags. JetBrains och Spring fick mestadels av min tid. Jag är numera kändis på JetBrains hemsida, då deras kameraman sprang runt och ville fånga alla olika nationaliteters beröm. Det kommer komma en film där de klipper ihop olika språk som berättar hur fantastisk deras IDEA är.

Spring Cloud Foundry blir en ny konkurrent inom PaaS. Deras setup är mycket lik Amazon EC2, där de i princip har ett appmoln med tomcats, riak, mongodb, mysql, postgre etc.
De har en fin plugin till eclipse och IDEA 12 har en plugin klar i pipan.
En fiffig feature är att om man har en spring-applikation, kan CloudFoundry autokonfigurera och injecta bönor med dataSources rakt in i din app, autoconfig kallade de detta, verkar ganska smidigt.

Torsdag

Keynote

Keynote-dags igen, Googles tur att skryta lite och Tim Brady stod för vocals.
Google har gjort en rad förbättringar och förenklingar i GAE/J som verkade lovande.
Maven och jenkins-integration och möjligheta att auto-deploya ett bygge till GAE/J smidigt direkt efter success i jenkins. Bra för continous deployment.
GAE/J har nu traffic-splitting så att man smidigt kan lyfta över lite trafik åt gången till sin nya version, lite live-testning a’la FaceBook, smidigt.

Tim var näst intill aggressiv i sitt framförande om hur viktigt säkerhet är på nätet, och hur viktigt det är att vi utvecklare tar ansvar för våra kunders data.
Han praktiskt taget skrek ut: ‘ANVÄND HTTPS’, varefter han promotade 2-step-verifcation, och att alla borde använda det. Han promotade sedan OAuth2, och tyckte att hela världen helst skulle logga in via deras SSO-lösning, och inte någon annan. Man skulle absolut inte skriva en egen login, då det var svårt och skulle bli hackat for sure.
Hur läskigt ett internet där alla loggar in via OAuth2 än må vara, verkar det vara en bra och säker lösning, speciellt tillsammans med deras nya Account Chooser, som enkelt gör val av olika OAuth2-leverantörer enkelt.
Efter detta var det en kort intro till Dart. Dart löser samma problem som JetBrains Kotlin och RedHat Ceylon enligt mig, speciellt eftersom det ännu inte ens kör i Chrome, utan endast i en special chrome-variant kallad Dartium. Alla tre språken är snygga, bra, genomtänkta och har lambdas etc, ser ingen klar vinnare här ännu.

Blandad kvalitet

Halkade sedan snett in i vad jag trodde skulle vara en intressant presentation om G1.
Det visade sig vara en Jaromir Hamala, som borde gå en ordentlig engelska-lektion (något år eller två). Tyvärr kunde man inte se denna föreläsning, och det fick istället bli lite BigData och Hadoop.
Costin Leau presenterade en rad olika snygga wrappers för att få in Hadoop-algoritmer i ditt Spring-projekt.
Antingen kan man använda Apache Pig, PigRunner och specifikt PigTemplate. Pig utnyttjar ett speciellt query-språk kallat Pig Latin för att beskriva dina map-reduce steg. PigTemplate trycker in och sätter upp en Hadoop och en Pig i ditt spring-projekt, smidigt.
Alternativ två som demonstrerades var HiveTemplate, som i praktiken gör samma sak, men där utnyttjar man Hive och specifikt HiveSQL som query-språk.
HiveSQL är nästan som SQL, men med lite extra socker för att göra allt distribuerat och map-reducigt. Verkar vara enklare att använda och hans exempel med HiveTemplate såg bra ut.

Costin visade sedan hur man med Spring Batch, Spring Integration och någon av tidigare valda tekniker kunde bygga en snygg graf av händelser för att distribuerat parsa stora mängder loggar.

Flera olika sources i Spring Integration samlade loggar, som skrevs till en fil eller katalog, varpå dessa processades av olika steg m.h.a HiveTemplate, mycket snyggt.

Project butter

Chet Haase och Romain Guy, Google, förklarade sedan varför deras operativsystem Android alltid har haft lagg och vad de kalla ‘jerk’, vid t.ex. scroll av table-views, drag av ikoner över skrivbord etc, och hur de löst problemen nu till sist, iom project ‘Butter’ i android 4.1 Jelly Bean.
Inte en dag försent enligt mig.
En mycket teknisk genomgång av tripple-buffering och annat ganska intressant, men det mest intressanta var deras tooling de presenterade.
De har byggt en fin uppsättning verktyg för att hitta och identifiera exakt vad som sker i Android då visuella problem uppstår.
De hade live-kodning, som så många andra under Devoxx, och visade DumpSys, SysTrace, TraceView och Allocation Tracker.
Allocation Tracker är ett program jag tycker Oracle skall skriva ihop och skicka med i deras JDK, nu måste man ju köpa dessa produkter separat.

Ceylon

I ett extrainsatt nummer presenterade sedan Gavin King RedHat’s senaste språk, Ceylon.
Han var inte alls förberedd, då han blivit inkastad i sista stund.
Det blev en enminuters intro, sedan rakt in i eclipse och deras egengjorda Ceylon-plugin.
Ceylon är starkt typat och kompilerar till javascript och bytecode.
Gavin valde att lägga hela tiden till att visa hur man bygger tupler för hand, och hur man kan med det kraftfulla typsystemet skapa listor som består av olika typer, t.ex. List<String, Integer, Float>, och hur man sedan kan skapa en operator som kan addera en sådan lista med en annan sådan lista.
Ganska trevliga saker, enkelt att förstå, och framförallt extremt bra plugin som meddelar typfel direkt. Ceylon gör otroligt intelligenta statiska kompileringar, han har gjort ett bra jobb, skall bli intressant att testa.

Java posse

Efter detta blev det en stunds avslappning med en öl i hand, då JavaPosse 2012 spelades in live i en av salongerna. Kanske en aning utdraget, men roligt trots allt.

Tillbaka in i allvaret igen fortsatte Daniel Spiewak att förklara hur han gått till väga när han skapade sin kompilator till sitt språk han utvecklar på Precog.
Energisk i sitt framförande vandrade han fram och tillbaka barfota i sina slitna jeans framme vid podiet, denna mannen brann för att koda avancerade saker, mycket inspirerande.
Han hade tagit fram en konstruktion som han kallade Atom. Namnet kom av total idébrist enligt Daniel.
En Atom var en klass, med en metod, som utifrån sett var helt pure, men internt var mutable.
Ganska intressant lösning på problemet att populera noddata i ett spanning tree, när kompilatorn vandrar nedåt. Ärvda attribut är sällan ett problem men när man har ett språk som hanterar lambdas som skall evalueras i ett senare skede är det problematiskt. Den enklaste lösningen är att vandra genom hela trädet (grafen) igen då ett lambda påträffas. En annan är att skapa denna typen av lazy-init-data-holders.
Klart intressant, men man var helt slutkörd efter att ha dels lärt sig scala, och dels tagit upp grafteori igen, allt på mindre än 40 minuter.

Spring 3.2

Josh Long presenterade sedan nyheter med Spring 3.2.
Han ägnade stor tid åt att repetera vad 3.1 innehöll men kom till sist till 3.2.
Bland nyheterna kan man hitta async processing i Servlet 3.0 som vi väntat på i ca tre år. Josh Long är för övrigt ganska kort.
De har byggt ut stödet för mockning vid test, och lagt in en rad nya mock-objekt och byggt på de gamla en del.
Det finns nu generic factory methods, som möjliggör att mockning blir korrekt i samtliga tester, om man utnyttjar Mockito eller EasyMock.
En annan trevlig nyhet är det utbyggda stödet för att testa hela web-appen smidigt med deras junit-runner.
Allt är stiligt konfigurerat, med convention over configuration, och flertalet olika mock-mekanismer går automatiskt igång för att testa dina controllers på ett smidigt sätt.
Även lite förbättrade konfigureringsmöjligheter vid test-setup har tillkommit via ContextInitializers.
Tester kan nu även ha hierarkier av spring contexts, vilket inte fanns tidigare. Detta möjliggör att ha samma konfig som i produktion om man så önskar.
Sammantaget kan man säga att VMWare har lagt mesta energin på att förbättra för testbarheten i spring, vilket vi givetvis välkomnar.

Bästa presentationen

Eftersom inspelningsutrustningen inte fungerat, körde sedan Chet Haase sin presentation igen, som handlade om framtidens Processer.
Detta var bland det roligaste jag sett i form av presentation, av en smart och karismatisk programmerare.

En hand-jagad version av hans presentation finns här: https://www.youtube.com/watch?v=b8H90xr61FY

Med lite belgisk choklad under armen lämnar vi Antwerpen med dess fantastiska katedral bakom oss för den här gången.

Sammanfattning

Lite allmäna reflektioner om konferrensen gäller hygien och könsfördelning, dock inte sammanhängande.
Det var 4% kvinnligt deltagande i år, 4%. Det är lite, och det påpekades av flertalet arrangörer och talare. Det lite ironiska är att Stephan i sin keynote frågade publiken om hur många som ‘doesn’t have an erection now?’ när han visade sin nya funktion i parleys.com. Det kan ju vara plumpa skämt som detta som skrämmer bort våra kvinnliga programmerarvänner kanske.
Vidare till hygien då. Belgare och fransmän och deras cigaretter. Det röks, och inte lite, och inte långt utanför där alla sitter.
Faktum är att det röks precis utanför byggnaden, och all denna rök letar sig med enkelhet in via ventilation och öppna dörrar.
Vidrigt.

De hade styrt upp WiFi riktigt ordentligt, och trots 3400 deltagare fungerade WiFi…ibland. Inte första dagen, men andra fungerade det utmärkt…ish.

Alla fick ett åkband som innehöll ett NFC/RFID-chip. Detta kunde man utnyttja till att rösta Upp eller Ned efter man sett ett bidrag. Vidare kunde samma chip utnyttjas till diverse mat-utdelningar, öl-utskänkning, omröstningar och annat i olika montrar, genom att de scannade med en tablet eller telefon. Detta fungerade imponerande väl och gjorde allt betydligt mer strömlinjeformat än tidigare konferrenser.

Talarlistan var inte speciellt stjärnspeckad men konferrensen bjöd ändå på mycket matnyttigt och intressant, och sammanfattningsvis var den bra arrangerad i sin helhet.

 

FSCONS 2012

No Gravatar

FSCONS logotype

FSCONS startade som Free Software Conference Nordic Summit, men ganska snabbt bytte Software ut mot Society. Detta syns tydligt i årets teman: Decentralising Society, Embeddded systems, FS Feminism, General Purpose Computing, Legal, Open security, Wikimedia. Samtidigt finns mjukvara givetvis kvar. Konferensen har haft någonstans mellan 200 och 300 besökare vilket även gäller i år. Nytt för mig i år var att det var ovanligt många barn med på konferensen. De satt och spelade, ritade på whiteboards och verkade vara som barn är. För den som inte varit på FSCONS så kan nämnas att könsfördelningen är långt mer jämn än på alla andra konferenser jag varit på.

Untitled

Fredag

Workshops – jag deltog inte här.

Lördag

Free Your Android

Presentationen föregicks på fredagen av en workshop – och målet är helt enkelt att köra ett alternativt Android OS som är fritt, inklusive en fri appmarknad – F-droid.

OpenRISC

Detta handlade om en öppen hårdvaruplattform. Det finns en hel del att läsa på OpenRISCs hemsida. Det var en hel del diskussion om licensiering, och talarna gav exempel på kommersiella produkter som använder OpenRSIC “trots” LGPL-licensen. Den nya kodbasen skrivs dock om från grunden och använder Mozilla Public License pga att LGPL har som krav att det skall gå att ersätta all mjukvara, och med OpenRISC i en ASIC så går det ju inte (det blir inget kvar som kör)!

OpenRISC startades för längesedan (tror till och med det var 1900-tal!) och den grupp som drev projektet anställdes snart av Flextronics. Mycket har hänt sedan dess, bl a finns OpenRISC i satteliter i rymden. Samsung har det i sina digital-TV-apparater och de har också släppt ut den källkod de producerat fritt.

Software Transactional Memory “for real”

Presentationen hade i programmet titeln Using Multiple Cores in a High Level Language. Armin som tidigare pratat om PyPy på GothPyCon attackerar problemet med att förenkla för utvecklare att skriva kod som använder flera (alla) kärnor i en dator, utan att explicit behöva hantera lås och/eller tråder. Tanken är att köra varje funktionsanrop atomärt med hjälp av Software Transactional Memory. I korthet är atomic implementerat på det sätt att all data/objekt som en transaktion petar på skriver till en kopia av objekten och när transaktionen avslutas så markeras originalobjekten som “jag är uppdaterad, nya versionen ligger nu -> här” som pekar på en senare modell. Skulle det bli konflikt kan transaktionen slängas och köras igen t ex. Systemanrop är dock låsta, eftersom de inte går att rulla tillbaka. Ett utmärkt sätt att få ett program som skrevs för att köras singeltrådat, helt enkelt kunna köras snabbare.

Intressant: Armin förutspår att (Software) Transactional Memory, STM, snart kommer finnas i alla språk och alla plattformar, på samma sätt som Garbage Collection nu är mainstream.

Debian Packaging

Per Andersson (aka avtobiff, som numera är Debian Developer) hade en genomgång av hur man paketerar med hjälp av deb-helper. Inte så mycket fokus på verktyg utan mer vad som behövs för att lyckas bygga i form av konfiguration och metadata. Hann även kika på själv deb-binären. Nytt för mig var vad urgency i changelog-filen gör – det styr hur länge artefakterna ligger i unstable innan det når testing. (urgency=low = 10 dagar)

Jag lärde mig också ett nytt sätt att hämta in text i vim: :read ! date

Untitled

Lightning Talks

Smarí McCarthy talade om ett dropbox replacement.

En norska (missade hennes namn) pratade om hur de jobbat med sin Linux/BSD user group i Bergen. Det jag tog med mig var att affischer på staden är det som gjort mest skillnad i avseende att nå nya medlemmar.

PageKite, Bjarni Rúnar – ett projekt med två HTTP relayer: en på en server med publik IP-adress och sedan en relay som sitter i Androidtelefoner. Tanken är alltså: man skriver en HTTP server på sin android-telefon och man vill göra den publik tillgänglig. Dessvärre är nät-tillgång opålitligt (wifi, 3g?) och lösningen är att PageKit lägger sig mellan internet och telefonen med två hopp: slutanvändares browser (eller server) -> HTTP server/pagekit publik server -> pagekit webb relay “klient” på telefonen -> HTTP server på telefonen. Undrar om det fungerar med WebSockets! :-)
Bjarni har en startup kring detta och det han ser är att alla “uttjänta” Android-telefoner är en perfekt lite webbserver – den är billig, har redundanta anslutningar (wifi, 3g) och är kraftigare än den maskin man betalade tio tusentals kronor för när internet var nytt på 90-talet.

Per Andersson med familj – pratade om sina erfarenheter från att ta med barn till konferensen. Vad behövs? Vad är omtyckt? Fungerar det över huvud taget? De hade ett barnrum som fanns med i den officiella kartan i programmet. På scenen när Per pratade visades GCompris och barnen började jaga fallande bokstäver samt muspekaren – de förväntade sig att bokstäverna skulle försvinna när de “slog” på projektorduken! Touch is the shit. :-)

Egil Möller – pratade om att man vill publicera positioneringsdata. En GPS-daemon som cache:ar tills nättillgång finns. Node.js användes och en server kan sedan spela upp strömmen i efterhand.

New new new iPad. En anonym deltagare berättade om sitt köp över internet som visade den ursprungliga Ipad:en – en tvåsidig griffeltavla (i Ipadstorlek) som hittades i en väska köpt över nätet. Humor som gick hem!

Oyvind Hanssen – search and rescue operations Free software, open data. Problemet: Polisen och liknande organisationer har dåligt programvarustöd när de gör avsökningar – det är i princip penna och papper som gäller. Oyvind har ett mjukvarubaserat system som ritar ut olika truppers rörelse över tid. Visade också upp en bit hårdvara som sänder in GPS-koordinater. (Det gick tydligen inte att förlita sig på tillgång på nätet.) Norska polisen har använt det i flera lyckade insatser.

Sam – owncloud, user data manifesto. Framför allt en plattform för att låta användare äga och kontrollera sin data, men pluggbart med “appar” på app.owncloud.org. Det jag tyckte var mest intressant var hur de satt upp Continuous Integration med Jeknins, trots att “allt var PHP”!

CAcert och PGP/GPG

Sent på kvällen var det också CAcert Assurance och PGP-nyckelutbyten/-signering. Att bedöma äktheten av någons identitetshandlingar är tidskrävande åtgärd som man kan träna en hel del på.

Söndag

Making IPsec scale

Michael Candell har jobbat med att försöka få upp IPsec-tunnlar dynamiskt/on demand. Normalt sett behöver nycklar distribueras i förväg och man behöver i princip veta vem man skall prata med, redan innan man börjar prata. Michael visade tre olika scenarion att göra detta mer dynamiskt. DNSSEC, IPSECKEY records ihop med DNS Update ger bra förutsättningar för att sköta detta dynamiskt. Om båda noder vet varandras namn på förhand kan helt säkra tunnlar (och transporter, lite beroende på plattform och inblandad mjukvara), men även utan detta är Better-Than-Nothing-Security något som kan uppnås. Med BTNS IPsec-scenariot Micheal föreslår kan t ex BGP skyddas från TCP reset+sekvensnummergissande. Detta BTNS scenario skyddar mot replay-attacker, BTNS liknar SMTPS + STARTTLS med självsignerat certifikat.
Projektet har sponsrats av internetfonden.se.
DNS update uses MD5 – weak spot.
IPsec har ingen userland-kod vilket är ett problem med OpenVPN – inte för klienten men för en server med tusentals anslutningar blir detta mycket kostsamt. Därmed skalar IPsec bättre än OpenVPN.

Freedom box

En dansk herre pratade om vad freedom box är, varför det behövs (fast han sade att han inte skulle gå in på det) och lite om vart man vill. Handlar återigen om att ta kontroll över sin data och privacy. Underhållande men ganska tomt på innehåll tyvärr.

Sammanfattning

Jag var kunde inte medverka de sista timmarna men har ändå som vanligt enormt mycket mer i huvudet än man orkar få ned i skrift, massor med intryck, nya idéer och kunskap om verktyg och möjligheter. Dessutom har jag haft trevligt med öppna människor som gärna pratar om erfarenheter och lyssnar till varandras problem.
Enda negativa med en konferens som denna är att min “att göra/undersöka”-lista växer. :-)

Smidigare manuell testning i flera browsers

No Gravatar

En produkt/lösning jag missat som jag hörde talas om på devmobile.se var det som phonegap-folk skapat, kallat Adobe Shadow. På en android-mobil kan man dra hem en liten app som drar igång en fullscreen WebView med en proxy konfigurerad. Appen registrerar sig hos utvecklarens shadow-serverdel (en chrome extension) och kan därefter styras från utvecklaren via Chrome. Det gör att man även kan låta mobilen surfa till “http://localhost:8080/” på utvecklarens maskin (tack vare proxy-konfigen).
Sedan skickar appen över bilder på WebView:n kontinuerligt till “mastern”. Det skall också gå att slå på debuggern så man kan inspecta saker.

Har inte testat själv än, men klart intressant.

(Videon är typiskt amerikanskt pratig initialt, spola fram 3 minuter till “ok, det är så det fungerar”, “aha” vid 4:50, “najs” från 05:30.)

För din app

No Gravatar

Det är inte var dag man får möjlighet att promota sin app i ett forum som bubblar av intresse och engagemang. Ett unikt tillfälle för feedback och till kreativ diskussion.
Då det dessutom sker på sveriges störta utvecklarkonferens för mobil utveckling (det är gratis! för besökare) finns massor med tillfällen för inspiration och viktigt nätverkande.

Jag kommer i alla fall slänga upp några appar ur min samling!

Får jag se din app i applandet?

Fantastisk utvecklarvår i Göteborg 2012!

Aldrig förr har utvecklarcommunityn i Göteborg varit så sprudlande som den är nu, iaf om du frågar mig! Till att börja med har vi minst tre rejäla konferenser, tyvärr inte fyra då Nordic Ruby går av stapeln i Stockholm i år. Hur som helst – ovanpå det har vi ju javaforum, nforum och alla user groups på Meetup, liksom SweNug, Alt.net, OWASP och en mängd andra aktiviteter som t ex Göteborgs Agilister och allt som anordnas av DataFöreningen Sverige (DFS).

Att vi har detta utbud i Göteborg tycker jag är kanon! Det ger varje utvecklare en möjlighet att välja själv, att inte bara vara tvingad till att stirra blint på en leverantörs erbjudanden, bara en teknik, bara en grupp – dvs inte bara smalna av och ramla in i “samma gamla hjulspår”, utan verkligen har en möjlighet att bredda sin insikt, kompetens och sitt nätverk.

Det som är än mer glädjande är att i all denna “konkurrens” så har verkligen de flesta user grupper jag varit i kontakt med satt just utvecklarna i första rummet. Det finns ett litet undantag som sätter sina egna ekonomiska intressen före utvecklarna i user groupen och försöker kontrollera informationen som når utvecklarna, istället för att låta medlemmarna själva bestämma vad de tycker. Jag gissar att detta blir uppenbart så småningom och att en ny grupp bildas spontant – som är till primärt för utvecklare, inte ett bolags ekonomiska intressen.
(Min uppfattning är att utvecklare är intelligenta, självständiga individer som är helt kompetenta nog att ta egna informerade beslut, inte få “så här skall du tycka och göra” nedtryckt i halsen. Nåväl, det lär som sagt självregleras inom tid.)

Så, without further ado: här är min lista på vårens toppar i Göteborg 2012!

Konferenser

WebCoast, 16-18 mars, Lindholmen Science Park (en unconference)
Software Passion Summit, 19-20 mars, Clarion Hotel Post (Centralstationen)
Scandinavian Developer Conference, 16-17 april, Svenska mässan (Korsvägen)
dev:mobile, 12 juni, Folkets hus (Järntorget)

User Groups etc

(Dessa har ju återkommande möten och byter emellanåt plats – därav blir datum/adress inte så intressant.)

@JFokus: So whats so cool about Android 4.x av Lars Vogel

No Gravatar

Intressant presentation om nyheterna i Andorid 4.x. Den stora nyheten är naturligtvis att 4.0 fungerar både för plattor och mobiler. Andra nyheter som demonstrerades var ActionBar, GridLayout (ersätter i stort sätt table layout), förbättrat widget stöd, face detection med hjälp av kameran.

@JFokus: Tackling Android fragmentation av Glenn Bech

No Gravatar

Glenn Bech höll en väldigt bra presentation på JFokus om hur man hanterar problem som skärm storlek och OS version. Ett av problemen är att gamla telefoner inte uppgraderas till nya versioner av OS:et. Idag använder flest telefoner version 2.3  av Android (v2.2 20%). Detta kan jämföras med iOS där 66% använder iOS 5+. Men frågan är om et är ett problem för konsumenterna? Troligtvis inte. Men för vem är det ett problem? Naturligtvis för oss utvecklare. Vi måste veta hur många telefoner som finns körande på dom olika versionerna så att vi tex kan använda version av Androids api:er.