Qtopia Greenphone presentasjon Høgskoler, universitet og brukergrupper jan-mars 2007 Owned by Trolltech. Credit the author
Knut Yrvin, Direktør utviklersamfunn Startet i Televerket, nå Telenor som teknisk assistent i 1986 Høgskoleingeniør i Elektronikk i 1992 Hovedfag i systemutvikling i 2000 Verdipapirsentralen og konsulentbransjen (bank/finans - industri) Medgrunder av Skolelinux 2. juli 2001 Trolltech 2006
Plan Trolltechs satsing på utviklersamfunn, høgskoler og universitet Konvergens og salg av forbrukerelektronikk Grunnleggende om Greenphone Demonstrasjon av Qtopia SDK Viktige momenter
The Universities / Colleges The Community plan 1-2-3 The Universities / Colleges
Plan for universitet og høgskoler Åpent kursmateriale Studentprosjekter Utvikler- samlinger Prosjektresultater på:Qt-apps.org og Qt-prop.org Qt/Qtopia utviklerverktøy ut av boksen
Mål for utviklerverktøy Qtopia / KDE 100$ bærbar med 128 MB minne for å lage Qt-programmer Greenphone 64 MB minne
KDE utviklersamfunn Med 2000 aktive utviklere
Debian with > 1000 active developers Distro community Debian with > 1000 active developers Debian med 1400 aktive utviklere
Salg av forbrukerelektronikk 2005 Digitale kameraer – 98,8m Bærbare spillkonsoller – 102,7m Bærbare mediaspillere – 132,5m PC & bærbare – 208,2m Mobiltelefoner – 825,4m Millioner Mobiltelefoner er konvergensvinnere - Rundt 1000 000 000 mobiler solgt i 2006 - 50% av verdens befolkning har mobiltelefon i 2009
Linux growth Smartphone Unit Shipments 16.7 million shipments 2004 2005 Palm OS 4% RIM 2% Microsoft 4% Palm OS 6% RIM 1% Symbian 68% Microsoft 7% Linux 22% Linux 5% Symbian 81% 16.7 million shipments 49.0 million shipments Source: Gartner 2006
Bruk av fri programvare Dice.com Aug 1th (jobbannonser) Jobber for Linux-kyndige har økt med 36% siste 6 måneder. Økt med 55% siste 12 måneder Økningen generelt er hennholdsvis 13% og 18% Gartner Group om utviklerverktøy: Java er redusert med 2% Fri programvare har økt med 21% IDC: 71% av utviklerne bruker fri programvare I produksjon i 54% av bedriftene Source: www.internetnews.com/dev-news/article.php/3609211 http://ec.europa.eu/idabc/en/document/5663/469
Relationship between skills learnt from FLOSS and professional career Rishab Aiyer Ghosh rishab@dxm.org International Institute of Infonomics University of Maastricht, The Netherlands
Grunnleggende om Greenphone
Oversikt Maskinvare og programvare Utvikling av programmer Feilsøking Utrulling
Hvorfor Greenphone? Første plattform for fri programvare på GSM/GPRS-enheter Mulig å teste på ekte enheter Rask prototyping Vis at konsepter virker og integrerer Fri programvare i et kommersielt marked
Greenphone maskinvare Intel Xscale 312MHz PXA270 64 MB RAM, 128 MB Flash GSM/GPRS modem (Broadcom 2121) Trebånds-radio QVGA berøringskjerm i farger Mini-USB port Mini-SD card slot Bluetooth Camera 1.3 MP Hva med WiFi (ikke anda)
Greenphone programvare Qtopia Phone Edition 4.1 Programstarter GSM/GPRS/Voip Nummerenhet E-post/SMS PIM (Adressebok, kontakter, oppgaver) Mediaspiller (Helix) Kamera Flere programmer
Greenphone SDK Product Alle SDK-er kommer med en Greenphone Versjoner Professional – kommersiell lisens. Full kildekode og støtte Light – kommersiell lisens Bare kildekode til applikasjoner Community – fri programvare Bare kildekode for applikasjoner
Greenphone SDK SDK på VMware virtuell maskin Ingen konfigurasjon. Enkel installasjon Kvalitetssikring på en konsistent plattform Referanseinstallasjon ved støtte
Demonstrasjon
Greenphone SDK oversikt Qt Utviklerverktøy Designer, Linguist, Assistant, QVFb runqvfb Skript for å starte QVFB, telefonetterligner og Qtopia runqpe skript for kjøring av Qtopia scripts for oppsett av omgivelser X-Terminal Installer selv Adept, apt-get
Greenphone Development Process Utvikl kode på en X86 vertsmaskin Kompiler for X86 kjør programmet over QVFb. test/feilfiks/make til programmet er perfekt Kompiler for enhet kjør på enheten forhåpentligvis virker alt bra. Om ikke, ... test og feilfiks.
Debugging with gdbserver run qdbserver on greenphone click on 'arm-linux debugger' icon blah blah
Deployment to Greenphone Qtopia.net in Package manager: http://qtopia.net/packages/feed/ download to SDK gph -install somepackage.qpk
Det er lite sannsynlig at du kan kompilere kode rett på mobile Grunnleggende Det er lite sannsynlig at du kan kompilere kode rett på mobile Ikke plass til verktøykjeden gcc støtter krysskompilering binærkode lastes over på enheten, og kjøres der bruk virtual framebuffer Kilde: KDAB
Ting man må være klar over Vær forberedt på omlæring av applikasjonsutvikling!
Har man nok ytelse og plass? Hopp og forsinkelser i skjembilder forsterkes på mobile enheter Får du lastet inn OS, Qtopia, skrifter og ditt program på 64 MB Flash? Har du nok FPU? (må kanskje si nei til sin(), arc() etc.) Har du plass til meny og verktøylinje, og statuslinje? Hvor lite kan et ikon, skrifter, eller kursor være, uten å bli “usynlig”? Kilde: KDAB
Har man nok ytelse og plass II? Dialogen må slankes ved flytting av applikasjoner fra skrivebordet til mobilen Færre valg, bruk faner, enklere dialoger Tommelfingerregler for godt design av brukergrensesnitt gjelder fortsatt Kan ikke bare laste opp True Type skrifter til enheten. QPF kan hjelpe. Ikke enkelt å finne skrifter som ser bra ut og er lette og lese ved lav oppløsning Kilde: KDAB
Ikke mus, ikke dra og slipp Omgivelsesmeny? (Kan ha knapp for dette) Inndata Ikke mus, ikke dra og slipp Omgivelsesmeny? (Kan ha knapp for dette) Hvordan taste tegn? (T9?, OSK?) Kilde: KDAB
Økning av C++ og Java i Debian
Hvorfor er C++ viktig? Programvaren kjører «rett på» maskinvaren Tar lite plass. 32 MB RAM er helt OK. Java: 72 MB Java Runtime Environment Påirker ytelsen og krever mer minne Versjonskompatibilitet Lisensforhold ved distribusjon
Spørsmål? Tusen takk :) Nyttige lenker: Qtopia.net
Native X86 Development Klikk på runqpe starter QVFb, kjører mobil-etterligner, starter Qtopia Kompiler $ source /opt/Qtopia/SDK/scripts/devel-x86.sh $ cd ~/projects/foo $ qtopiamake $ make $ ./foo
Greenphone Utvikling Krysskompilering $ source /opt/Qtopia/SDK/scripts/devel-greenphone.sh $ cd ~/projects/foo $ qtopiamake deretter (på den vanskelig måten): $ make $ mkpackage # creates ipkg $ phonenet # IP network setup $ pkginstall # ftp trasnsfer to phone eller (den enkle måten): $ gph -all kompilerer for Greenphone, og installerer og kjører programmet på enheten
Oppkobling til Greenphone Ethernet over USB (usbnet kernel driver) Telnet og FTP NFS montering SDK har hensiktsmessige skript: gph Bruk SDK til krysskompilering av egen tjener, etc.
Greenphone Filsystem Filsystem i ROM (128 MB) / 41 MB, ext2 Linux root /opt/Qtopia Qtopia cramfs (read only) /disk2 31 MB, ext2 Qtopia.user /mnt/user tools and home/ /mnt/user_local 35 MB, vfat User's Documents
Starting a new application KDevelop Project->New Project->C++->Embedded- >Qtopia 4 Application will give an application much like the example app. Konsole $ source devel-x86.sh $ cd ~/projects/myApp $ qtopiamake edit, compile.
Debugging Qtopia applications qLog() logs to file qLog(Window) << “window did not initialize”; qDebug() qDebug() << “window not initialized”; qWarning() qWarning(“Window not initialized);
Greenphone SDK Installasjon Windows autorun eller klikk på icon. Linux kjør: ./install.sh skript Må ha Vmware Player http://www.vmware.com
Hva er QVFb? Qt Virtual Framebuffer Etterligner framebuffer Simulerer telefonen (drakt) knapper mus og tastatur sender gjennom navngitte rør (pipes) Konfigurerbar skjerm størrelse/ fargedybde Skjermbilder Lavoppløslig video
Greenphone SDK filsystemutlegg Basert på Debian (etch+) /usr/local/arm-linux (gcc 3.2.1) kernel /usr/local/arm-linux (gcc 4.1.1) system/Qtopia /opt/Qtopia Qtopia (binaries, headers) Useful scripts /home /devel tomt område for at ditt område skal virke
Hva er krysskompilering? “En kompilator som er i stand til å lage kjørbare program for en annen platform enn der den kjører.” - Wikipedia Greenphone verktøykjede for krysskompilering /usr/local/arm-linux binutils/libraries for ARM-plattformen cross gcc/g++/linker headers