Onsdagen den 5:e maj lanserades HTC HD Mini mot en skara utvecklare i Stockholm och jag hade förmånen att få stå på scenen och berätta om enhetens förmågor och hur vi som utvecklare kan dra nytta av dessa i våra applikationer.
Jag började med att berätta om Visual Studio 2008 och hur du kan fixa till en lite roligare upplevelse i utvecklingsmiljön genom att lägga till en formfaktor, enligt det tidigare publicerade inlägget. Jag har därför publicerat upp en ny .zip-fil med de filer som behövs för att få till upplevelsen med HTC HD Mini som formfaktor.
Design-upplevelsen
Tyvärr så kan inte Visual Studio 2008’s grafiska designer visualisera hur gränssnittet i HTC HD Minin ser ut med upplösningen 320x480 och en DPI på 128. Det innebär bland annat att den nedre menyraden kommer att vara högre (45 pixlar totalt) på enheten till skillnad från hur den ser ut i designern. Toppfältet med formulärnamn osv är på 25 pixlar, designytan för formuläret blir då 410 pixlar vilket jag har tagit för vana att sätta explicit på formuläret. Jag har också stängt av AutoScaleMode vilket gör att WISIPMWIG eller “what I see is pretty much what I get!” 
Emulator för HTC HD Mini
Jag visade också att jag använt den ovannämnda .zip filen (eller åtminstone innehållet) och skapat en skräddarsydde emulator-bild för HTC HD Mini. När du gör det, se till att välja “Windows Mobile 6.5.3 Professional Square QVGA Emulator” som bas-image och modifiera sedan gränssnittet till att vara 320x480 istället för 320x320. Det räcker eftersom den bas-image har samma DPI som HTC HD Mini. Dessvärre har jag inte fått iordning på knapparna på emulatorn, eller egentligen att mappa alla knappar till dess riktiga funktioner. Just nu fungerar bara samtalsknapparna, power och volymknapparna.
MyMobiler, ett måste för presentatörer
Ett verktyg som jag verkligen har börjat gilla är MyMobiler som låter dig via USB visa skärmen från din fysiska enhet direkt på din vanliga skärm, utan dokumentkameror osv. Det enda som kan sägas vara negativt egentligen (som jag kommer på vid skrivandets stund) är att bilden tenderar att ha lite “lag” och vara lite hackig, men det kan är också riktigt trevligt att kunna demonstrera funktioner som sensorer som annars är lite svårt att visa. Även MyMobiler har stöd för skräddarsydda “skins” och här har jag laddat upp ett skin för HTC HD Mini som du kan använda om du känner för det. Packa upp i en underkatalog till installationen av MyMobiler och peka ut konfigurationsfilen i MyMobiler.ini så bör allt fungera. Även här har jag inte lyckats att få iordning på knapparna, men det kanske är sekundärt eftersom jag ändå vanligen visar enheten som styrs som vanligt med ett finger.
Funktioner i HTC HD Mini
Jag pratade sedan en del om några funktioner som kan användas med olika ramverk och exempelkod. Exempelvis SensorAPI som finns på codeplex och som exponerar G-Sensorn (accelerometern), ljussensorn och även en orienterings-funktion som kan användas för att ta reda på hur enheten hålls och på det sättet trigga stående eller liggande upplösning.
Gester
Jag tog också upp de gester som det finns stöd för i Windows Mobile och hur det redan finns tillgängligt både exempelkod och videos som visar hur den kan användas via MSDN.
Widgets
En applikationstyp som ibland glöms bort är så kallade widgets. Widgets är webbapplikationer som körs lokalt men använder vanligen AJAX för att via XmlHttpRequest objektet hämta externa data asynkront. Widgets kan precis som “vanliga” exe-filer distribueras och säljas via Marketplace, så om du har byggt gadgets tidigare så kommer du snabbt igång och kan även tjäna pengar på dina alster. Widgets körs i en sandlåda men kan ändå persistera visst tillstånd mellan exekveringarna. Med det senaste DTK’t till Windows Mobile 6.5.3 så finns det även två projektmallar som kan användas för att bygga, testa och installera widgets på enheten (eller i emulatorn). Det som kan underlätta är då visserligen att när du vill testa din widget så har det så kallade “harness” som används för debuggning inte stöd för HVGA upplösning utan bara QVGA och VGA. Därför har jag också publicerat en alternativ “harnessHtcHdMini.html” med medföljande javascript fil som du kan kopiera in i debuggningskatalogen för din widget (på din dator) och sedan testa med. Då får du en upplevelse som mer stämmer överrens med den faktiska enheten. Eller så använder du emulatorn så klart
. Mikael Söderström har skrivit en utförlig artikel om hur du kan bygga widgets för Windows Mobile, väl värd läsningen! Han har också byggt en egen widget-emulator och publicerat på, ja just det, codeplex.
Model-View-Controller
Jag nämnde också det MVC-ramverk som kan användas på Windows Mobile 6.5 och som också finns publicerat på codeplex. Det är ett riktigt trevlig ramverk som kan underlätta testbarheten och flexibiliteten i din applikation. I och med den eleganta designen, så finns det även stöd för visuell design av vyerna vilket säkert kommer att uppskattas av flera, men förkastas av några
.
Rikare upplevelser
Mot slutet visade jag några exempel på ramverk som erbjuder en rikare upplevelse än vad som vanligen erbjuds med WinForms i Visual Studio 2008. Här är listan på de som jag nämnde och visade:
Avslutningsvis så vill jag inte missa att tipsa om de mängder av instruktionsfilmer som finns publicerad på MSDN om just utveckling mot Windows Mobile, där kan du hitta lösningen på flera av de vanligaste utmaningarna både med video-exempel, kod och dokumentation.
Tack till dig som deltog på frukostseminariet och glöm inte, må bäste man vinna 