13 oktober, 2011

Hello iMessage, goodbye SMS/MMS

SMS/MMS har varit det mest populära meddelandeformatet för mobila enheter ända fram till igår. Det var också en av de dyraste formerna av kommunikation räknat per Kbyte och en härlig källa till gratispengar för operatörerna (lite som plastpåsar i mataffären fast i mobilvärlden).

Men nu är det slut med det, igår rullade Apple ut iOS 5 och iMessage. iMessage kommer troligtvis ersätta SMS och MMS helt och hållet på iOS-plattformen (GTalk har gjort detsamma på Android), vinnarna är konsumenterna som nu kan avsluta sina "SMS"-specifika abonnemang och använda modern teknik för att kommunicera istället för teknik från 1990-talet.

Mobiloperatörer; välkomna till 2010-talet!

04 oktober, 2011

Let´s talk iPhone


Yes please.

Jag kommer följa Engadgets liveblogg från kvällens sång och dansnummer från Apple. Spänningen är olidlig, kommer Steve Jobs att vara på plats? Blir det en iPhone 4S eller en iPhone 5? Eller kanske bägge delarna? Kommer Apple återta initiativet med iOS 5 eller har Android tagit över? Vad är den där "Assistant" som det har viskats om? Kommer röststyrning äntligen bli någonting användbart?

En sak är säker, snart vet vi.

Glassfish 3.0.1 + Commons Codec 1.5 != sant

Base64 base64UrlFriendly = new Base64(true); // Nixpix!

Idag sprang jag på en irriterande bugg i Glassfish v. 3.0.1. Det var när jag försökte använda biblioteket Apache Commons Codec (version 1.5) i en webbapplikation byggd i Netbeans som det började strula. Jag ville använda klassen Base64 i s.k. 'urlSafe'-läge för att verifiera en signerad request från Facebook (se tidigare post). Det gick fint att bygga och deploya men applikationen kastade ett Exception i runtime.

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.<init>(Z)V

Hmm, märkligt eftersom JAR-filen för commons-codec-1.5 byggdes in i WEB-INF/lib enligt konstens alla regler. Extra konstigt att metoden inte fanns? Efter en del efterforskningar visade det sig att Glassfish har en egen version av Commons Codec (äldre än 1.4) som ligger under
${GLASSFISH_HOME}/modules och den heter commons-codec-repackaged.jar som uppenbarligen laddas istället för den version jag ville använda. Min lösning på problemet fick bli att ersätta denna version med commons-codec-1.5.jar omdöpt till commons-codec-repackaged.jar. Det kändes inte speciellt bra, frågan är vad man gör om man skall deploya till en server som man inte har kontroll över?