Skip to content

iPhone OS 4.0

Neljapäeva õhtul kell 8 toimus Apple eriüritus, kus tutvustati uut iPhone operatsioonisüsteemi. Peame tõdema, et uuendused olid ettearvatavad (okei, kataloogide tuge tõesti ei oodanud). Õnneks positiivses mõttes. Esile tooks neist kaks kõige olulisemat: multitegumi tugi: oli ikka aeg küll, aga samas tõrvaks meepotis ei hakka 2G ja 3G mudelid seda toetama. Ja iAds platvorm, mis võimaldab interaktiivseid reklaame näidata ja rakendustetegijatel seeläbi raha teenida.

Kõige olulisem pomm tuli siiski hiljem — App Store arendajalitsentsi tingimuste muudatused!

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Ei ütleks, et ka see põhimõttelise üllatusena tuli kuid ajastus oli Wow! 4 päeva enne Adobe CS 5 esitlust, mis lubanuks luua Flash rakendusi iPhone ja iPadi jaoks. Ka meediafirmad panid siin suuri lootusi sellele. On ilmselge, et tingimusi muudeti eelkõige Flashi tehnoloogia iPhone OS-ist eemale hoidmiseks.

Kas selle muudatuse tõttu on nüüd ohus ka tasuta iRoute: Tallinn, Estonia rakendus, mis on kirjutatud Appcelerator Titanium platvormi peal? Ise kirjutame kõik oma rakendused native vahenditega ja seetõttu seda ohtu meie ega klientide rakendustega pole kuid sellegipoolest oleks kurb kui asjalik tasuta rakendus nüüd Apple poolt maha võetakse või uuendamine ära keelatakse.

Selleks, et Apple liivakastis ellu jääda tuleb arendajatel hoolikalt jälgida Apple poolt kehtestatud reegleid ja seda püüamegi teha. Tänu sellele ei mõjuta muudetud tingimused üldsegi meie arendustegevust.

PS! Juba mängimegi iPhone OS 4.0 SDK-ga :)

iPad tuleb!

Kolmas aprill pole enam mägede taga ja meil õnnestus saada Applelt oma ainult iPadi jaoks mõeldud rakendusele heakskiit. Hetkel kirjutame kibekiiresti kolmandat versiooniuuendust ja siis ka pikemalt rakendusest ja selle kiirest arendustempost. Kahju, et selle tõttu viibivad meie sõnastike rakenduste uuendused…

Aga nüüd… Poleerida! Poleerida! :)

Valmistume tiimi laiendamiseks

Varemgi on siin blogis mainitud tõsiasja, et Objective-C progemine on asi, mis vajab veidi harjumist. Täna oleme päris elevil, sest nüüd oleme meeskonna laiendamise jaoks täiesti valmis :) – kohale jõudsid kaks uut raamatut, mis aitavad kindlasti uuel iPhone arendajal saada parema pildi Objective-C maailmast.

Esimene raamat “Programming in Objective-C 2.0″ jutustab objekt-orienteeritud programmeerimie põhitõdesid läbi Objective-C ja XCode prisma ning teine ”Cocoa Design Patterns”  raamat õpetab lugejat nägema ja hindama Cocoa raamistike ilu ja elegantsi.

Loodetavasti ei pea neis pettuma, sest üks probleem varasemate raamatutega on olnud see, et need kubisevad vigastest koodinäidetest. Muidugi arusaadav, sest esimesed versioonid kipuvadki olema alpha või beeta tasemel. Ka raamatud :)

Kui Sina oled see kellele selliste raamatute lugemine meeldib ja huvi pakub, siis miks mitte meile kirjutada ja kampa tulla? Uuri lähemalt siit: http://blog.indilo.com/2010/01/28/toopakkumine-iphone-ipod-touch-ipad/

Klaver põõsas! Jälle!

See lause käib Apple statistikaserveri kohta, mida nad ise nimetavad “Piano”-ks. Teoorias ilmub eelmise päeva statistika sinna järgmise päeva lõunaks, aga praktikas kõigub see suuresti. Ja viimasel ajal jälle halvemuse poole. Selle nupu kirjutamise hetkel näitab see järjekordselt järgmist veateadet:

Please Note: iTunes is aware that Piano report generation for FEB/04/2010, Europe Region is delayed. We apologize for any inconvenience, reports will be published as soon as generation is complete.

Kui kõikide regioonide statistikat pole veel kokku kogutud, siis pole võimalik statistikat näha.

Veel täna keskpäeval näitas portaal, aga:

Please Note: iTunes is aware that Piano report generation for FEB-03-2010, America Region is delayed. We apologize for any inconvenience, reports will be published as soon as generation is complete.

Ehk kolmanda veebruari statistika tuli mitmepäevase hilinemisega. Nii suurt viivitust ei meenugi varasemast ajast. Viited on kippunud tekkima reeglina kuu teises pooles, kui genereeritakse eelmise kuu väljamaksete faile ja siis ka siis on nad ilmunud hiljemalt sama päeva õhtuks (kuni 8h hilinemisega).

Huvitav milles probleem? Eelmise aasta lõpus oli teenus ometi mitu päeva hooldustööde tõttu suletud…

Miks araablased ja hiinlased Tallinna liikluskaameraid jälgivad?

Apple App Store-st on räägitud palju – rohkem kui 140 000 rakendust millest mõni teenib lausa miljoneid päevas.  Ehk liigagi palju? Ometigi püüame siin postituses vaadata teemale otsa enda mätta otsast – Eestist. Oleme App Store-s oma rakendustega alatest 2008. aasta sügisest ning alates 2009. aasta suvest kogume põhjalikku statistikat rakenduste müügi kohta.

Siinses ajaveebis saab küljeribal näha ka värsket ja automaatselt uuenevat statistikat erinevate riikide kohta, kust meie rakendusi on ostetud või allatõmmatud mingisugusel kuupäeval (eelmise päeva statistika ilmub reeglina peale lõunat). Nagu näha, siis 02.02.2010 tõmmati rakendusi viieteistkümnest erinevast riigist.

Põhiline tähelepanek Eesti keskete rakenduste kohta on see, et tee mis tahad, eestlaste “tavaline” osakaal kõigub 70% ringis rakenduse kohta. Järelejäänud osas on USA oluline tegija peamiselt selle tõttu, et päris arvestataval osal eestlastest on iTunesi konto seotud USA App Store-ga, kuna App Store tuli Eestisse hilinemisega.

Õigekeelsussõnaraamatu ostjate geograafiline jaotuvus

Võrdluseks võiks tuua ühe globaalsema sihtgrupiga rakenduse — SayAgain. Ingliskeelse rakenduse puhul täitsa oodatud tulemus.

SayAgain ostjate geograafiline jaotuvus

Üks huvitav eristuv näide on ka meie tehtud lihtne rakendus X-Tallinn Tallinna liikluskaamerate jälgimiseks. Võiks eeldada, et rakenduse kasutajad oleks suuresti Eestist, aga võta näpust – araablastele ja hiinlastele meeldib see ka väga! Hiina, Türgi, Saudi-Araabia, Araabia Ühendemiraadid, Egiptus, Kuveit ja Katar. Need riigid näitavad trendi. Miks? Võib spekuleerida, et põhjus on rakenduse nimes sisalduvas “X” sümbolis ja “webcams”, aga võibolla soovivad nende riikide kodanikud lihtsalt akent vabasse maailma. Iseasi, kas nad midagi tegelikult ka näevad…

Tööpakkumine (iPhone, iPod Touch, iPad)

Seoses nutitelefonide valdkonna tormilise arengu ja töökoormuse suurenemisega otsime tiimi juurde tarkvaraarendajaid, kel avaneb huvitav võimalus töötada uute Apple seadmetega kogenud meeskonnas (iPhone, iPod Touch ja iPad).

  • Millega? Mac OS X 10.6 operatsioonisüsteemiga arvutid, XCode arenduskeskkond ja Objective-C programmeerimiskeel.
  • Mida? Erinevaid kasulikke uudseid rakendusi ja ka arvutimänge. Murdosa tehtud töödest on nähtaval siin ja siin.
  • Kus? Tartu Teaduspargi Inkubatsioonikeskuses.

Eelnevat kogemust antud vallas ei eelda kuid ootame:

  • C/C++ või Java, C# programmeerimise kogemust;
  • Teadmised objektorienteeritud programeerimisest;

Kasuks tuleb:

  • Mac OS X kasutamise kogemus;
  • iPhone või iPod Touch kasutamise kogemus;
  • Teadmised OpenGL kohta;

Pakume:

  • võimalust ennast proovile panna ja arendada kiiresti arenevas valdkonnas;
  • osaleda uuenduslikes rahvusvahelistes projektides;
  • vaheldusrikast tööd;
  • paindlikku töögraafikut;

Ühendust saab võib võtta: info@indilo.com või +372 53 869687 (Janek)

Programmeerimine iPhone ja Androidi peal

iPhone OS rakenduste arendamine käib valdavalt Objective-C programmeerimiskeele abil, mis poleks probleem kui vaid selle oskajaid oleks rohkem. Väljaspool iPhone OS’i ja Mac OS X’i seda praktiliselt ei kasutata! Androidil käib programmeerimine seevastu laialtlevinud Java keele abil kuid kõiki harjumuspäraseid klasse ja võimalusi seal ei eksisteeri.

Objective-C

Tegu on C keele laiendusega, millele on lisatud objektorienteeritud programmeerimise võimalusi (klassid, erindid jne), mis võimaldavad C-st kiiremini ja veavabamalt valmis kirjutada suure osa rakendusest. Samas jääb alati alles võimalus hüpata madala taseme C peale ajakriitilistes juppides.

NSLog(@"%@", [minuObjekt description]);
NSLog(@"%@", objc_msgSend(minuObjekt, sel_registerName("description")));

Mõlemad koodiread on sisult identsed kuid esimene kasutab Objective-C süntaksit ja teine C süntaksit koos Objective-C runtime-ga. Objective-C koodi kompileerimisel muudetakse see põhimõtteliselt C koodiks, misjärel seda töödeldakse edasi. Keele dünaamiline olemus võimaldab jooksvas rakenduses vajadusel üle kirjutada kasvõi Apple baasklasside meetodeid. Ruby-s on selline tegevus saanud üleliigse kasutamise tõttu halva imago (vt monkey patching, aga vahel muudmoodi ei saa).

Varem sai öeldud, et C-d kasutatakse peamiselt ajakriitilistes punktides, näiteks oleme seda kasutanud Open GL mängu graafikamootori arendamisel ning rakendusesisesel pilditöötluses. Samas on C tundmine hädavajalik  ka siis, kui on vaja teha miskit, mille peale Apple mõelnud ei ole – näiteks siiani ei ole iPhone’l päris korrektset eesti keele tuge, ent kombineerides mõningast C koodi Objective-C runtime-ga on võimalik selgeks teha, kas telefon on Eesti tõugu või mitte ning rakendusi siis vastavalt eesti või inglise keeles kuvada.

Java

Java ilmselt pikemat tutvustamist ei vaja, sest tegu on laialtlevinud programmeerimiskeelega, mida õpetatakse palju ka Eesti kõrgkoolides. Suur osa tava-Java klasse on olemas ka Androidile ja lisaks mahukas Androidi SDK, mis võimaldab ehitada kasutajaliidest, positsioneerida, reageerida puudutustele jne. Androidi eripäraks on ka Dalvik virtuaalmasin, mis ei kasuta Java bytecode‘t, ei toeta J2ME klasse ega tavapäraseid Java kasutajaliidesekomponente (AWT, Swing) ning on optimeeritud töötama mobiiliseadmete kitsastes oludes.

Mis on nutitelefon?


Nutitelefon ehk smart phone on mobiilne seade, mis sisaldab endas mobiiltelefoni ja pihuarvuti funktsioone – lisaks helistamisele ning sõnumisaatmisele võimaldavad nutitelefonid kasutajal end positsioneerida, kuulata muusikat, sirvida veebi. Traditsiooniliselt loetakse nutitelefonideks seadmeid, mis jooksutavad Symbiani, Microsoft Windows Mobile, Palmi ja Linuxi operatsioonisüsteeme kuid meie ajaarvamine käib iPhone OS järgi, kuid mitte ainult seetõttu, et iPhone oli esimene nutitelefon, mis vallutas massid:

  • Tänapäevane ja ühtlane arenduskeskkond
    Vaesed hinged, kes Windows Mobile või Symbiani peal on pidanud kunagi midagi arendama. Mis kasu on J2ME suurest turuosast kui isegi ühe tootja piires tuleb erinevad mudelid ükshaaval läbi testida. iPhone OS puhul see probleem pole. Ühe koodibaasi peal saab suuremate probleemideta ära toetada kõik iPhone ja iPod Touch mudelid. Ja arendamine käib nagu tavaarvutitele — mälu ja kettaruumi pärast nii palju muretsema  ja kiviaegseid arendusmetoodikaid kasutama ei pea.
  • Puutetundlik ekraan ja multitouch
    Navigatsioon keyboardi, joysticki või styluse abil tundub pärast korraliku puutetundliku ekraani kasutamist nagu üleeilne päev. Kaardi või veebibrauseri kasutamine on mitme sõrme abil puhas rõõm.
  • Kiirendusandur
  • WiFi olemasolu
    Lisaks 3G ja EDGE. Seade on alati võrgus.
  • GPS olemasolu
  • Rakendustepood
    Tänaseks on kirjutatud iPhone-le üle 100 000 rakenduse ja tempo ei näi raugevat. Hea rakendustepoeta poleks iPhone kindlasti seal, kus ta täna on. Mängud, navigatsioonirakendused, e-raamatud… mida iganes vaja. Praktiliselt kõik on olemas.

Lisaks Apple arendatavale iPhone OS-le omab suurt potentsiaali Google eestvedamisel Android OS kuigi suurem avatus on juba loonud olukorra, kus on tekkinud teatav mudelite ja Androidi versioonide ühildamatus. J2ME-ga võrreldes nagu öö ja päev.

Hiljuti tuli Google välja esimese nö oma Androidi mudeliga Nexus One, mille riistvara on valmistatud HTC poolt ja müüakse otse Google koduleheküljelt. Eestis pole kahjuks see mudel veel otse saadaval kuid Androidi on võimalik uurida ka uuemate Sony Ericssoni ja Motorola mudelid.

Lõpetuseks ei saa tohiks jätta mainimata Palm WebOS‘i, mis pole kahjuks tänaseks suutnud saavutada märkmisväärset turuosa ja Nokia katsetusi Maemo‘ga.

AWSOM Powered