Mediabrick är ett litet utvecklingsbolag som lyckats erövra en nisch och förser mobiltelefoner med innehåll från olika leverantörer, till exempel nyheter från CNN. Företaget är främst inriktat på Javabaserad utveckling för mobiltelefoner baserade på Pocket PC och Symbian, inget för Palm OS.

Företagets utvecklingschef, Magnus Carlsson, pekar på några avgörande skillnader jämfört med utveckling på pc-sidan. Där handlar det främst om vad han kallar "limited runtime environment", det vill säga de begränsningar som finns i telefonerna.

– Ström, minne och processorkraft är knappast något en pc-utvecklare behöver bry sig om i dag. Vi måste ständigt anpassa produkterna, inte bara för det utan även för små skärmar och få tangenter.

Ett annat viktigt område är användarvänlighet. Ofta är det svårt för användarna att konfigurera telefonerna för att komma ut på nätet.

Varje kilobyte viktig
Dessutom måste varje nätaccess i princip måste godkännas av användaren eftersom varje kilobyte kostar pengar.

– En utvecklare kan inte tänka: "Vi inför denna fantastiska feature. Den kommer visserligen att kosta slutkunden cirka två kronor i datatrafik, men vi tror att de flesta är beredda att betala det." Priset sätts ju av operatörerna och kan lika gärna bli sex kronor.

Magnus Carlsson och hans utvecklare måste även vara beredda på snabba anpassningar för de olika mobiltelefoner som dyker upp.

– Varje telefonmodell är att betrakta som en unik plattform och den snabba utvecklingen gör att modellerna fort blir gamla. Det kommer hela tiden bättre skärmar, mer minne, mer processorkraft och kringutrustning.

– Javaimplementationen skiljer sig mycket åt mellan telefonerna, vilket innebär att vi hela tiden måste anpassa programmen för till exempel olika typsnitt och liknande. Enda undantaget är Nokias Series 40-plattform där 15–20 olika telefonmodeller kan köra samma program, säger Magnus Carlsson.

Kritiska aspekter
Konsultbolaget Sogeti har genomfört flera större mobilitetsprojekt på företagets center Mobile Solution Center i Linköping. Centrets mobilitetsexpert, Andreas Sjöström, har flera gånger utnämnts till Most Valuable Professional på mobilitetsområdet av Microsoft.

Han anser att det ur ett metodperspektiv inte är någon större skillnad mellan att utveckla för mobila och traditionella plattformar.

– Projektgenomförande, metod, teknik och utvecklingsspråk är i stort sett samma som för mer traditionella plattformar, men det finns några kritiska aspekter som är ödesdigra att negligera, säger Andreas Sjöström.

Det gäller till exempel att de som ska använda produkterna måste få delta redan i utvecklingsarbetet. Bland de projekt han varit engagerade i märks utrullningen av en av de största existerande mobila lösningarna som används av trucktillverkarföretaget BT Industries 1 200 servicetekniker.

– Den mobila lösningen måste fungera ute på fältet. Där finns inte mycket utrymme för felaktig utformning av användargränssnitt, prestandaproblem och nätverksberoende.

En annan viktig sak är val av plattform. I stort sett finns det bara två spår.

– Välj en plattform med framtidsutsikter och med stöd för lokal lagring på feta klienter. I dag handlar det antingen om Windows Mobile-baserade Pocket PC, Smartphone eller Symbians Javabaserade enheter. Linux är på gång, men har fortfarande en bit kvar. Palm är avhängt med sitt tredje spår, utanför huvudfårorna Microsoft och Java, anser Andreas Sjöström.

Ständig uppdatering
Fadi Abbas, en av grundarna till det svenska utvecklingsföretaget Scalado, trycker på vikten av att kontinuerligt uppdatera utvecklingsverktyg, emulatorer och dokumentation.

– I den mobila utvecklingen får man räkna med att det etableras nya standarder samtidigt som de traditionella utvecklingsmetoderna förs vidare. Här krävs alltså kreativitet och nytänkande. Ofta får man lämna den traditionella skrivbordsprogrammeringen bakom om sig, säger Fadi Abbas.

Fakta

  • Förlita dig inte på att ett program ska fungera på många olika telefoner. Det krävs utveckling och underhåll av många varianter.
  • De programmoduler som utvecklas måste stöda många olika betalningsmodeller.
  • Basera inte de mobila produkterna rätt av på standardprotokoll från pc-världen. Ganska få Javatelefoner klarar av att parsa en större xml-struktur utan att miljön "fryser".

Scalados råd

  • Uppdatera utvecklingsverktyg, emulatorer och dokumentation regelbundet.
  • Minnet är begränsat. Följ plattformens kodstandard. Tänk mobil, inte dator.
  • Förlita dig inte för mycket på emulatorn. Kör olika former av test direkt på enheten.
  • Resultatet blir sällan körbart på många enheter samtidigt vilket gör att utvecklingsiterationerna kan blir ganska många. Det här gäller inte bara begränsningarna för programmeringsspråken, till exempel j2mes sandbox-modell som begränsar åtkomst till system egenskaperna i mobilen, utan kan även ha att göra med vad enheten stöder för programmeringsgränssnitt.
  • Man måste ta hänsyn till skärmstorleken som till och med skiljer sig mellan olika enheter.