1. OT: Framtidens mobil

    Det hÀr Àr kanske lite off-topic, men det kanske finns en JVM Àven i denna framtidsmobil? Nokia har tagit fram en lÀcker konceptmobil som onekligen vÀcker ha-begÀr. Kanske lite lÄngt in i framtiden dock. Kolla in filmen frÄn Nokia eller lÀs mer hÀr.

    Det hade varit kul att se denna typ av visioner Àven inom javavÀrlden.

  2. Java och inbÀddade system

    De flesta jag kĂ€nner i Sverige som jobbar med Java sitter pĂ„ server-sidan, eller Java Enterprise som vi sĂ€ger pĂ„ engelska. Nu nĂ€r första dagen pĂ„ Java Mobile & Embedded Developer Days börjar nĂ€rma sig sitt slut (om man inte rĂ€knar kvĂ€llens social event och BarCampME) sĂ„ kan jag bara sĂ€ga att alla de riktigt spĂ€nnande sakerna sker inom inbĂ€ddade och mobila system. (LĂ€s mer…)

  3. Java Mobile & Embedded Developers Days – Dag 1

    Sitter just nu i Grand Autditorium hos Sun Microsystems i San Clara. Sun har ett rejÀlt campus hÀr och alla byggnader ser mer eller mindre helt nybyggda ut. Allt Àr vÀldigt stiligt och grÀsmattan ser ut att vara klippt med nagelsax. Det finns uppenbarligen ganska mycket pengar hÀr.

    I vilket fall sÄ Àr det hÀr som 2-dagars konferensen kommer hÄllas och dagens keynote kommer hÄllas av Javas skapare James Gosling sjÀlv. Förmiddagens schema domineras av föredrag om Sun SPOT och vad den plattformen har att erbjuda. Eftermiddagen Àr lite mer blandad med allt frÄn P2P inom mobilitet och hur mobil kommunikation och mobila tjÀnster kan anvÀndasför att underlÀtta katastrofhantering och hjÀlpa till inom socialt och miljömÀssigt eftersatta omrÄden.

    Det var lite kort om vad dagen har att erbjuda. För den som vill följa dethela online sĂ„ kan man gratis registrera sig pĂ„ tjĂ€nsten ustream.tv och se den webcast som sĂ€nds hĂ€rifrĂ„n. Även om man inte Ă€r intresserad av mobilitet sĂ„ kan det nog Ă€ndĂ„ vara skoj att fĂ„ höra vad James Gosling har att sĂ€ga.

    Mer nyheter kommer under dagen och jag kommer försöka hÄlla er uppdaterade sÄ gott det gÄr.

  4. Javaforum 2007Q4

    Nu Ă€r agendan för Javaforum 2007Q4 i Göteborg spikad. AnmĂ€lan görs som vanligt pĂ„ javaforum.se, antalet platser Ă€r begrĂ€nsat till 170 personer sĂ„ det Ă€r först till kvarn so gĂ€ller…

    • 16:30 Macka & mingel – Redpill sponsrar
    • 17:00 JavaUpdate med bla NetBeans 6.0
      Rikard Thulin, IBS JavaSolutions AB
    • 17:15 JavaPuzzler of the Day
    • 17:20 JBoss Seam – Kraftfullt ramverk som integrerar JSF, EJB 3, AJAX, Portlets och BPM
      Jens Augustsson, Redpill
    • 18:00 Hudson - mer Ă€n bara Ă€nnu en Continous Integration motor
      Marcus Wallin, IBS JavaSolutions AB
    • 18:15 Thread.sleep(); // Kaffe
    • 18:35 Ext JS 2.0 – Med Ext JS 2.0 har du fantastiska möjligheter att bygga desktopliknande applikationer för webben
      Martin Jönsson, IBS JavaSolutions AB
    • 18:50 Mobil 2.0 och den uppochnervĂ€nda pyramiden
      Troed SÄngberg, Sony Ericsson Research Center
    • 19:30 Connecting producers and consumers – Hur man angriper problemet att vira ihop ett komponentbaserat (24/7) system som t.ex. OSGi dĂ€r saker uppdateras i runtime
      Niclas Nilsson, factor10
    • 20:10 Redpill bjuder pĂ„ Öl och snacks

    Karta till: IT-Universitetet, ForskningsgÄngen 6

  5. Godis i nya SonyEricsson nallarna

    Flera av er har sĂ€kert redan lĂ€st om de nya mobiltelefonerna som SonyEricsson slĂ€pper i höst/vinter. För er som kodar Java ME sĂ„ har dessa telefoner en hel del godis som gör dem ytterst attraktiva för att göra riktigt frĂ€cka mobil-applikationer. Vad sĂ€gs om ett OpenGL-ES (Embedded Subsystem, en ”bantad” version av vanliga OpenGL) stöd (JSR-239)? Eller möjlighet att lĂ€sa av den inbyggda acceleromtern (samma teknik som Nintendo Wii har i sina handkontroller) (JSR-256)? BĂ„de dessa finesser hittar man i den kommande w910 som planeras att slĂ€ppas i fĂ€rjde kvartalet i Ă„r. PĂ„ SonyEricssons site Developer World sĂ„ kan man se bilder pĂ„ ett spel (Marble Madness) som verkar följa med den nya w910.

    Marble Madness (SonyEricsson Developer World)
    Bild pÄ Marble Madness frÄn Sony Ericsson Developer World

    Du styr bollen genom att helt enkelt vrida pÄ telefonen. Jag ser fram emot kommande racing och flygspel till Java ME. :)

    Den stora nyheten med SonyEricssons kommande telefoner Àr nog ÀndÄ den nya Java plattformen, JP-8. Det mest intressanta med den Àr att den implementerar stöd för den nya paraply-JSRen; MSA (Mobile Service Architecture, JSR-248). Denna JSR specificerar ett minimum av andra JSRer som mÄste ingÄ och ger Àven mindre utrymme för tolkningar av dessa JSRer. Problemet tidigare har nÀmligen varit att varje mobiltelefontillverkare har valt att implementera enbart vissa delar av en JSR för sina telefoner, vilket gjort att en applikation som fungerar för en telefon inte kommer fungera pÄ en annan, trots att bÄda specificerar samma JSR som behövs. Förhoppningsvis sÄ kommer detta underlÀtta framtida utveckling av mobiltelefon-applikationer i Java ME.

    Det som vi, bland annat, kommer ha tillgĂ€ngligt i och med nya telefoner med stöd för MSA och som vi inte hade tidigare Ă€r Web Service, Scalable Vector Graphics samt ett API för positionering. Jag Ă€r övertygad om att vi kommer fĂ„ se en hel del riktigt frĂ€cka Java ME applikationer framöver…

    Ni kan lÀsa mer om Sony Ericssons nya Java-plattform, JP-8 pÄ developer.sonyericsson.com.

  6. Java ME GUI APIs

    Jag har faktiskt börjat gilla Java ME utveckling. Visserligen finns det hÀftigare, nyare och flashigare teknologier att leka med pÄ Java SE/EE-sidan, men med Java ME sÄ kommer du ÀndÄ sÄ nÀra anvÀndarna som bara Àr möjligt. Nu ska jag inte pÄstÄ att det Àr bekymmersfritt att jobba med Java ME, tvÀrtom (vilket ni sÀkert konstaterat efter att ha lÀst mina tidigare inlÀgg). Jag tÀnkte nu skriva lite om hur det ser ut pÄ GUI-sidan för Java ME.

    Trots att det finns en del trevliga JSRer för Java ME sÄ mÄste man tyvÀr, om man vill nÄ ut till den stora massa, begrÀnsa sig till MIDP 2.0/CLDC 1.1 (d.v.s., den absolut minsta gemensamma nÀmnaren för Java pÄ dagens mobiltelefoner) nÀr det gÀller GUI. Det Àr minst 2 Är kvar tills dess att den stora massan har mobiltelefoner med inbyggt stöd för SVG (Scalable Vector Graphics, det kommer en post om det lite lÀngre fram), vilket i stort sett kommer lösa problemet. Lösningen Àr att anvÀnda nÄgon av de tillgÀngliga tredje-parts APIerna för GUI som finns idag. TyvÀr Àr ingen av de anvÀndabara alternativen gratis. I vilket fall, de tre alternativ som finns idag Àr följande:

    • TWUIK (http://www.tricastmedia.com/twuik/) – Ett API för att skapa s.k. ”Flash-like user interface”. Ingen prisuppgift finns att fĂ„, vilket antyder att det Ă€r DYRT.
    • J2ME Polish (http://www.j2mepolish.org/) – Trots namnet sĂ„ har det inget med Polen att göra. Detta Ă€r inget rent GUI API utan snarare en fullstĂ€ndig platform som kompletterar WTKn. Det finns bygg-script som bygger för olika enheter och en massa annat godis. Om du har behov av en fullstĂ€ndig miljö för Java ME och inte byggt upp nĂ„got tidigare sĂ„ Ă€r nog detta ett bra alternativ. Kostar 990€ för en licens, har du ett GPL-projekt sĂ„ anvĂ€nder du deras GPL-licens och slipper betala.
    • TinyLine 2D (http://www.tinyline.com/) – I mina ögon det mest intressanta alternativet. Ett litet och enkelt API för att göra avancerade 2D GUIn. Detta API Ă€r enbart inriktat pĂ„ 2D grafik och klarar allt frĂ„n affina transformationer, transparens och anti-aliasing. Kostar ungefĂ€r 3500 kr att köpa. En intressant detalj Ă€r att detta Ă€r det API som Google valde för Google Maps Mobile.

    SÄ för att sammanfatta det hela; det finns alltsÄ tre realistiska alternativ om du vill göra snygga GUIn i Java ME och ingen av dem Àr gratis. Kanske dags att dra igÄng ett open-source projekt? NÄgon som Àr pÄ? :)

  7. Mobilapplikationer i verkligheten

    Jag har de senaste veckorna arbetat med en ny tjÀnst för mobiltelefoner (ett uppdrag jag tagit över efter min kollega Mikael). Som ni förstÄr sÄ Àr det alltsÄ Java Microedition som det hela byggs i. Nu var det ett tag sen jag kodade nÄgot i Java ME pÄ riktigt sÄ jag hade glömt en hel del detaljer. Uppenbarligen Àr det lika illa stÀllt med Java pÄ mobiltelefoner idag som det var för ett par Är sedan. Om du ska skriva en applikation som du hoppas pÄ att mÄnga ska anvÀnda sÄ behöver den fungera pÄ flera olika tillverkares telefoner, och det Àr hÀr problemen börjar. För att din applikation ska kunna fÄ göra nÄgot mer avancerat Àn att visa bilder och text sÄ behöver den signeras (ok, den mÄste inte signeras, men anvÀndaren kommer bli nipprig pÄ alla frÄgor om att lÄta applikationen göra ditt och datt). Nu tycker man kanske att det bara vore att anvÀnda samma signeringsverktyg som finns i Java SE, och i princip ska det vara likadant. Dock har olika mobiltelefontillverkare bestÀmt sig för att hitta pÄ egna lösningar och metoder för det hela. Att signera en applikation som ska köras pÄ en Motorola-telefon krÀver ett speciellt certifikat frÄn Motorola, Samsung vill signera allting sjÀlv (alltsÄ, skicka in ditt program till ddem och fÄ tillbaka det ett par veckor senare) och sÄdÀr fortsÀtter karusellen. Den enda telefontillverkare som försökt hÄlla sig till standarden Àr SonyEricsson (som för övrigt lyckats följa de olika Java ME standarderna bÀst).

    NÀr du vÀl kommit runt problemen med signering sÄ har vi APIerna som telefonerna hÀvdar att de stödjer. Ta JSR-234 (Advanced Multimedia Supplements) som kort och gott syftar till att tillhandahÄlla lite mer avancerade funktioner för media i telefonen. Det finns klasser för 3D ljud, video, kameran och FM radio. LÄter spÀnnande, eller hur? Problemet Àr bara att det enda som mobiltelefontillverkarna valt att stödja i det APIet Àr kamera-funktionerna, pÄ sin höjd. Om nu telefonen har en FM radio, stöd för 3D ljud och möjlighet att spela upp video, vaför kan jag inte fÄ accessa dessa funktioner i Java ME dÄ?! SÄhÀr Àr det med mÄnga av de mer intressanta JSRer som finns för Java ME. Vanligtvis Àr det Äterigen SonyEricsson som har bÀst stöd, men det Àr en ganska klen tröst nÀr de Àr lÄngt ifrÄn de vanligaste telefonerna pÄ marknaden (Ätimstone utanför Sverige).

    Det kÀnns lite som att mobiltelefontillverkarna (och i viss mÄn Àven operatörerna som lÄser och begrÀnsar enheterna) medvetet sÀtter krokben för tredjeparts-tillverkare. Idag Àr det oerhört svÄrt för en utomstÄende att fÄ in sin applikation pÄ mobiltelefon-marknaden. Det trÄkiga Àr att Java ME Àr det enda reellla alternativet, Symbian C++ Àr Ànnu vÀrre att koda i och fungerar sÀllan likadant pÄ olika telefoner och .NET har ett ytterst begrÀnsat stöd pÄ dagens mobiltelefoner. Flash-applikationer hade varit ett alternativ, men det Àr tyvÀr fortfarande en alltför begrÀnsad platform.

    Jag hoppas att nÀsta version av MIDP (3.0) som Àr pÄ vÀg kommer lösa mÄnga av dessa problem som vi utvecklare stöter pÄ. Dock tror jag att vi Àven i framtiden kommer behöva slÄss bÄde mot mobiltelefontillverkarnas ovilja att följa standarder.

    …och dĂ„ har jag inte ens nĂ€mt hela dramatiken kring DRM-skyddat material och Java ME..