Sådan laver Version2 gratis apps til Android og iPhone

33 kommentarer.  Hop til debatten
Version2 er på trapperne med gratis mobil-applikationer til både iPhone og Android. De er ved hjælp af open source bygget uden at kode hverken Java eller Objective-C.
4. marts 2011 kl. 08:35
errorÆldre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Brugen af mobile applikationer stiger voldsomt, og Version2 hopper nu også med på vognen med apps til både iPhone og Android.

Begge applikationer er lige på nippet til at dukke op i iTunes App Store og Android Market, og de er lavet uden at kode hverken Objective-C eller Java, som ellers driver de to mobilstyresystemer iOS og Android.

I stedet har Version2 valgt at benytte sig af open source-systemet Titanium Appcelerator, som gør det muligt at kode en applikation i Javascript og herefter køre den native på både iPhone og Android-mobiler.

»Vi vil gerne forsøge os med mobile apps som supplement til vores populære mobile website, men på langt sigt er det ikke holdbart for os at udvikle dem i hvert deres kodesprog til hver deres platform. Specielt ikke, når Windows Phone 7 og andre platforme måske kommer til,« siger Casper Thomsen, chef for digitale medier i Mediehuset Ingeniøren.

Artiklen fortsætter efter annoncen

Det er firmaet Titanium, som står bag Appcelerator. Det er et open source-framework, der gør det muligt at skrive applikationerne i Javascript, hvorefter de afvikles som native applikationer på de enkelte mobilplatforme.

Titanium Appcelerator er netop kommet i version 1.6, og systemet giver gennem brug af Javascript adgang til mange af de indbyggede funktioner i de respektive platforme uden at give afkald på ydelsen.

Adgangen gælder ikke kun de enkelte platformes grafiske virkemidler, men også GPS, vibrator og så videre. Appcelerator har et aktivt community med flere end 1,5 millioner registrerede udviklere og 14.000 udviklede applikationer.

Nedenstående video viser kort, hvordan udviklingen af en simpel applikation i Titanium fungerer.

Remote video URL

I Version2's applikation bliver indholdet hentet fra webserveren via JSON og gemt i en SQLite-database på telefonen, så applikationen ikke er afhængig af konstant at have forbindelse til nettet.

For at få de første erfaringer, har Version2 satset på en simpel mobil-applikation, hvor brugeren kan læse nyheder og blogs. Der vil løbende komme flere funktioner som for eksempel læserkommentarer. På længere sigt satses dog stadig på det mobile web som det primære mobilmedie.

»Vores førsteprioritet er vores mobile website, som vi i forbindelse med relanceringen af Version2 giver et kæmpe løft. Det bliver blandt andet muligt at logge ind og skrive kommentarer fra mobilen, hvilket mange brugere efterspørger,« fortæller Casper Thomsen.

Han mener ikke, at brugerne vil betale for noget i en applikation, når de samtidig kan få det gratis på nettet. Derfor er den nye mobilapplikation i stedet gratis for brugerne og sponsoreret af firmaer, som i applikationen har et partnerområde med relevant indhold til it-professionelle.

Version2's iPhone-applikation afventer lige nu godkendelse i iTunes App Store, mens Android-udgaven forventes klar på Android Market i de nærmeste uger.

I mellemtiden kan du fortsat benytte Version2's mobile website på mobil.version2.dk. Du kan også sende en SMS med teksten "version2" til 1272 for at modtage et link til mobilsitet.

Har du erfaringer med alternative måder at lave mobil-applikationer på? Del dine erfaringer i kommentarerne herunder.

33 kommentarer.  Hop til debatten
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger
32
19. maj 2012 kl. 04:10

Efter at have læst ovenstående artikel måtte jeg naturligvis lige prøve TitaniumStudio. Skuffende!

Jeg bruger Eclipse Indigo med Android SDK -- IOS? Er det ikke bare en døgnflue? For at teste TitaniumStudio (Eclipse clone) lavede jeg en tom (hello world) app vha hhv Eclipse og Titanium:

apk filen fra Eclipse: 37 kB. apk filen fra Titanium: 6 MB.

Derudover kræver app'en fra Titanium fuld internetadgang samt fuld adgang til sd (?!).

Kald mig bare paranoid, men jeg vil kalde det malware/spyware.

34
19. maj 2012 kl. 19:55

Hej Jacob, i Titanium projektet er der ikke adgang til noget, der minder om AndroidManifest.xml - den fil dukker først op i apk filen. MEN jeg har så prøvet at fjerne INTERNET permission fra AndroidManifest.xml i apk filen (ved først at decompile apk filen, ændre manifest og tilsidst at compile til en apk fil igen - vha apktool). Denne modificerede app kan ikke installeres! Så efter min målestok er der noget i dét framework, som ikke får lov at svine min Galaxy til :o) EDIT: De krævede tilladelser i en 'tom' app er: ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE, WRITE_EXTERNAL_STORAGE og INTERNET. Når denne 'tomme' app startes kontaktes: https://23.21.174.187/health-beat.php (hvad der evt medsendes af GET eller POST data har jeg, med skam at melde, ikke kunne finde ud af). Men min pointe er: Hvad er formålet med at trace brug af (tilsyneladende) alle Titanium apps?

6
4. marts 2011 kl. 10:15

Jeg og en anden udvikler har siddet i 3-4 måneders tid med Titanium for at udvikle en række kundeapplikationer til iOS/Android og det er blandt én af de mest frustrerende oplevelser jeg har haft indenfor udvikling.

Vi kastede os over Titanium fordi vi i forvejen havde mange års erfaring med webudvikling og derfor kunne drage fordel af at Titanium var javascript baseret, men sjældent har jeg set noget der er så ustabilt, dårligt dokumenteret og bare fyldt med random fejl!

Det fungerede egentligt nogenlunde fornuftigt da vi udviklede vores første iPhone applikation - Dvs. hvis man kan acceptere en hulens masse situationer hvor pludselig så giver den random compiler fejl, problemer med events der ikke bliver aktiveret, random fejl med beskeder om at store dele af frameworket ikke findes indtil man så skifter tilbage til en gammel version og frem til den nyeste - Så virker det igen osv. Så længe man holder sig til helt standard elementer uden ret meget customization så fungerede det nogenlunde - Dvs. lige bortset fra de 2-3 uger vi brugte på at finde en løsning på at applikationen ikke crashede når vi havde to Google maps i app'en på forskellige views. Men så snart vi kom dertil hvor kunden ønskede at få ændret farver på forskellige controls som navigationcontroller, toolbar m.fl. så begyndte de første stopklodser virkelig at melde sig.

Når vi så kommer til Android så er situationen endnu værre - Her er der konsekvent store dele af frameworket som slet ikke virker på Android og over halvdelen af alle de events et givent UI element har virker slet ikke. Selv helt almindelige properties som farver, billeder og lign. indstillinger er ofte ikke understøttet af Android på mange elementer.

iPad er en mellemting mellem iPhone og Android - Almindelige iPhone elementer som knapper og den slags fungere som ovenstående, men splitview controlleren og popover fungere lidt som vinden blæser. Og så er der alle de mærkelige situationer hvor man startet applikationen og så viser den bare sort skærm istedet for at loade, eller knapper der pludselig ikke vises i navigationbaren og lign.

Performancen er også rigtig dårlig i forhold til en native applikationen - Mange ting lavet i Titanium blinker/hopper mens der loader og hvis du smider mange pins på et mapview så køre der rimelig dårligt, mens hvis du smider dobbelt så mange pins på i en native iOS app så køre det flydende.

Alt i alt så er idéen med Titanium god, men udførelsen af frameworket må absolut være blandt de mest elendige og ustabile frameworks jeg har stødt på. Selvom vi har flere Titanium applikationen i appstore så har vi også en iPad applikation vi har forsøgt at få godkendt i flere måneder uden held - Den bliver konstant afvist pga. random fejl i deres framework som vi har ingen kontrol over. Vi har en anden iPad app som er blevet godkendt, men som crasher i tide og utide.

Vi forsøgte at lave en Android version af den første iPhone app vi fik publiseret, men efter at have hældt over 2 måneder i applikationen måtte vi skrotte projektet - Det var en øvelse i anger-management af format!

Vi tog så beslutningen at begynde at udvikle applikationerne native istedet - Det har betydet at alle problemer med random fejl, crashes og lign. er forsvundet og samtidigt er performancen blevet mange mange gange bedre.

Overraskende nok har det vist sig at det endte med at være hurtigere for os at lære et helt nyt sprog og framework at kende og udvikle applikationerne native end at forsøge at løse de mange problemer der var med Titanium. Så min dybeste medfølelse går til jeres udvikler der sidder med Titanium :)

9
4. marts 2011 kl. 10:31

Vi tog så beslutningen at begynde at udvikle applikationerne native istedet - Det har betydet at alle problemer med random fejl, crashes og lign. er forsvundet og samtidigt er performancen blevet mange mange gange bedre.

Nu har vi ikke fået vores apps godkendt endnu, så jeg vil da ikke afvise, at vi ryger ind i yderligere problemer.

Det er dog helt sikkert, at Titanium ikke er "write once, run everywhere". Det kræver bearbejdning til hver platform. Vi har lavet den til iPhone først og er nu i gang med at lave de nødvendige ændringer i forhold til Android.

Android har klart været mere udfordrende for vores udvikler, men fornemmelsen er også, at der på Android-fronten er sket store fremskridt med Appcelerator 1.5 og 1.6, som lige er kommet. Det har netop været understøttelse af Android, som har været i fokus her.

Når det er sagt, så er vores behov nogle relativt simple applikationer uden det vilde video, 3D, maps og hvad der ellers kan være. Det kan godt tænkes, at man render ind i flere problemer, jo større kompleksitet ens app har.

10
4. marts 2011 kl. 10:40

Det er dog helt sikkert, at Titanium ikke er "write once, run everywhere". Det kræver bearbejdning til hver platform

Ja det fandt vi hurtigt ud af - Vi endte faktisk med at lave Android applikationen helt fra bunden af fordi den ganske enkelt ikke kunne håndtere halvdelen af hvad vi havde lavet i iPhone - Men lige meget hjalp det.

De applikationer vi har lavet indtil videre inkludere heller ikke noget fancy som video, 3D eller lign. Der er tale om applikationer der henter en masse JSON data fra forsk. webservices, præsentere dem i forskellige visninger sammen med noget kortvisning - Så selvom der er mere end bare et enkelt view så er det ikke noget jeg vil kalde avanceret, men stadigvæk utrolig problemfyldt pga. Titanium.

Selv version 1.6 som lige er kommet har stadigvæk en masse problemer med iPad og især Android - Lige pt. er Titanium ikke engang i nærheden af at være et virkelig stabilt produkt jeg turde satse noget på - Efter at have hældt over 1000 timer i Titanium så opgav vi projektet. Nu har vi fået de første par Titanium applikationen konverteret til native og en række nye applikationer lander i appstoren indenfor et par uger.

8
4. marts 2011 kl. 10:25

I øvrigt kunne det være interessant at høre mere om hvorfor i vælger at lave en mobil app istedet for at fokusere på jeres mobil-site?

Hvis der kun er tale om en app der viser simple nyheder og blogindlæg, så må man vel spørge sig selv om det er rellevant at lave en applikation. Der er selvfølgelig overvejelser omkring synligheden i appstore og lign.

11
4. marts 2011 kl. 10:45

I øvrigt kunne det være interessant at høre mere om hvorfor i vælger at lave en mobil app istedet for at fokusere på jeres mobil-site?

Vi laver ikke en mobil-app i stedet for at fokusere på vores mobile website. Til gengæld har vi fuldt fokus på vores mobile website, og app'en har vi haft en ekstern udvikler til at hjælpe med.

Som beskrevet i artiklen tror vi fuldt og fast på det mobile web, og på det nye Version2 er målet at lave Danmarks bedste mobile website, intet mindre.

Erfaringerne fra andre mediehuse er dog, at brugen af apps langt overstiger brugen af mobile websites, og så hjælper det ikke, at vi foretrækker det ene, hvis brugerne foretrækker det andet.

Derfor vil vi gerne gøre os nogle erfaringer og prøve tingene af. Hvad kræver det at udvikle en app, hvordan får man dem godkendt, er brugernes adfærd her anderledes?

Inden for det nærmeste år eller to tror jeg derfor, at vi kommer til at køre en mobil-strategi med to spor - apps og det mobile web. Apps vil fungere på den enkelte telefons vilkår og give hurtig adgang til grundfunktioner, mens det mobile web vil give adgang til alle de tjenester og funktioner, du kender fra version2.dk på din almindelige computer.

Det er i hvert fald mine umiddelbare tanker om det.

13
4. marts 2011 kl. 10:47

Det er i hvert fald mine umiddelbare tanker om det.

Er slet ikke uenig i tankegangen bag - Var bare nysgerrig efter havd overvejelser i havde gjort jer :)

1
4. marts 2011 kl. 09:17

Det ser ret spændende ud - det Titanium Appcelerator

Tak for det tip. Det skal der lige kigges nærmere på.

5
4. marts 2011 kl. 10:14

Har selv hygget mig med App Inventor, men det bliver hurtigt trættende med det grafiske sprog og performance er jo ikke ligefrem native. Til gengæld er standard frameworks ikke ligefrem befordrende for kodehastighed og dermed (min) arbejdsglæde, så glæder mig til at gi' titanium en tur.

Bemærkede denne perle: "No knowledge of Objective-C, Java, .NET or other structured programming languages is required." Hmm er Javascript ikke et struktureret sprog mere?

3
Indsendt af Anonym (ikke efterprøvet) den fre, 03/04/2011 - 09:32

Jeg planlægger også en mobil app... Og gør de samme overvejelser at jeg som webudvikler udnytter min kompetencer ved at benytte webteknologier fremfor at skulle lære 2-3 nye udviklingsmiljøer/programmeringssprog..

Jeg har lige deltaget en mobile boot camp arrangeret af Best Brains og Prosa hvor vi diskuterede dette. Vi kom frem til at der er en række forskellige bud på disse cross-platform løsninger - f.eks. phonegap kombineret med jQuery Mobile eller Sencha Touch.

Hvilke overvejelser har Version2 gjort sig ved valget af Titanium Appcelerator? Og har I sammenlignet med andre løsninger?

7
4. marts 2011 kl. 10:24

Hvilke overvejelser har Version2 gjort sig ved valget af Titanium Appcelerator? Og har I sammenlignet med andre løsninger?

Når vi ikke ønsker at kode native i Java, Objective-C, .Net/Silverlight, og hvad der ellers dukker op, så vi tre muligheder

  • Titanium Appcelerator
  • Phonegap
  • Adobe Air for Mobile

Titanium benytter som beskrevet Javascript og oversætter så på telefonen det til native. Fordelen er fleksibilitet og hastighed, ulempen er at den endelige app kommer til at fylde relativt meget, fordi meget af Titanium-frameworket følger med.

Phonegap er en simplere løsning, fordi den grundlæggende smider HTML5/CSS ind i en app. Det gør det endnu nemmere for webudviklere at gå til, men applikationen bliver ikke rigtig native, og ydelse og look'n'feel vil derfor være sådan lidt et misk-mask. Så vil vi hellere bare satse på vores mobile website.

Adobe Air benytter Actionscript og har også mange native-elementer, men vi fandt Titanium mere tiltalende, primært fordi vi har set flere cases på apps lavet med Titanium.

Du kan se en sammenligning af de tre platforme i dette blog-indlæghttp://savagelook.com/blog/portfolio/appcelerator-vs-phonegap-vs-adobe-air

24
4. marts 2011 kl. 17:59

Vi overvejer at prøve det her til crossplatform udvikling: http://www.airplaysdk.com

Det virker rimelig powerfuldt, men er der nogen der har nogle erfaringer med dette?

Det er jo fedt når sådan nogle som Michael Lykke deler ud af sine erfaringer herinde, så tak for det :)

4
4. marts 2011 kl. 09:57

Jeg bruger selv Appcelerator og den kan jeg godt anbefale.

12
4. marts 2011 kl. 10:45

Så sørger Version2 vel for at offentligøre APIer således at os der har nichetelefoner (Nokia N900) selv kan udvikle vores apps (hvis vi gider)?

14
4. marts 2011 kl. 10:51

Så sørger Version2 vel for at offentligøre APIer således at os der har nichetelefoner (Nokia N900) selv kan udvikle vores apps (hvis vi gider)?

Selv om det på vores nye Drupal-platform formentlig vil være muligt at stille API'er til rådighed, har vi ikke umiddelbart planer om det.

Mere end 95 procent af trafikken på vores mobile website kommer i dag fra Android- og iPhone-mobiler, derfor har vi fokuseret på de to platforme. Alle andre vil jo fortsat kunne benytte vores mobile website.

Hvis vi skal ud på andre platforme, handler det ikke kun om at være til stede, men også om at have en forretningsmodel, så vi ikke bare giver indhold gratis væk. Så kan Version2 ikke eksistere særlig mange måneder.

Umiddelbart kan jeg godt lide ideen om at stille API'er til rådighed, men jeg tror ikke, at vi er interesseret i, at en privat person for eksempel udvikler en Symbian-app med alt vores indhold og så herefter stiller den gratis til rådighed eller måske selv sætter nogle annoncer ind.

Hvis nogen har ideer til, hvordan man kan stille et API til rådighed på en fornuftig måde i forhold til disse tanker, hører jeg det meget gerne.

15
4. marts 2011 kl. 11:01

Hvis vi skal ud på andre platforme, handler det ikke kun om at være til stede, men også om at have en forretningsmodel, så vi ikke bare giver indhold gratis væk. Så kan Version2 ikke eksistere særlig mange måneder.

Det giver mening. Jeg må klare mig med mobilsite og rss.

17
4. marts 2011 kl. 12:10

Han mener ikke, at brugerne vil betale for noget i en applikation, når de samtidig kan få det gratis på nettet. Derfor er den nye mobilapplikation i stedet gratis for brugerne og sponsoreret af firmaer, som i applikationen har et partnerområde med relevant indhold til it-professionelle.

Så I mener at brugerne hellere vil have rekvalmer?

Hvis jeg ikke kan slippe for rekvalmerne i en app, så vil jeg slet ikke have den app. Jeg vil derimod gerne betale for en app, hvis den er brugbar.