Spletni dnevnik
ccpcreations.com v2
LANGUAGE


SEKCIJE
Vse
Android Development
J2ME aplikacije
Kdo sem
Moje skladbe
Moji programi
Nasveti za Javo
Projekti
Triki in namigi
Varnostna politika - Privacy Policy
Zanimivosti


ISKANJE


BLOGI
bohak.si
zelenik.net


POVEZAVE
Mozilla Firefox
Android


ČLANKI PRED LETOM DNI
Datum: 09. oktober 2010
Video Live Wallpaper 0.83b for Android


OCENE OGLEDANIH FILMOV
Avatar 5
Star Trek 4.5
(500) Days of Summer 4.5
Moon 4
2012 3


ZADNJI ODGOVORI
From: Matic
Re: Kako do izbrisanih dat
From: Filip
Re: Video Live Wallpaper 0
From: okokkji

From: hideo
Re: WiimoteController 0.3
From: Katarina



ZA SMETIŠČARJE!
stood.eggaeu@hotmail.com
remember.law@juno.com
cover.friendyde@hotmail.com
much_centergiw@hotmail.com
tailiceewc@netscape.com


Blog zamrznjen -- Blog Frozen

Ta spletni dnevnik je zamrznjen. To pomeni, da ne bo več prejemal novih prispevkov in komentarjev. Kmalu bo tudi arhiviran in s tem prestavljen na trajnejše mesto. Temu sporočilu sledi običajna vsebina spletnega dnevnika.

Hvala za razumevanje.
This blog has been frozen. This means it will no longer accept new posts and comments. It will soon be archived and moved to a more permanent location. Below this message you can find the blog's usual contents.

Thank you for your understanding.
Zakaj ni brezplačnih programov za mobilnike

Pred nekaj dnevi sem se spravil na programiranje nove aplikacije za mobilne telefone. Pri procesu pa sem naletel na ovire, ki se jih vsaj za zdaj ne da prečkati. Zgodba govori o tem, kako ni mogoče ustvariti praktične in brezplačne uporabniku prijazne aplikacije...



Ozadje

Po daljšem premisleku sem se odločil, da se bom spustil v projekt, rezultat katerega bo aplikacija za mobilne telefone. Ta aplikacija bo imela veliko bazo podatkov (v bistvu slik – lahko tudi več 50MB). Te podatke bi bil treba nekako »prilastiti« aplikaciji, da bi jih ta lahko brala. Preučil sem možnosti:
- prenos preko interneta
- vcepljanje podatkov v namestitveno datoteko programa
- postavitev podatkov na zunanji pomnilnik telefona

Ideja prenosa preko interneta je hitro propadla. Osebno enostavno sovražim aplikacije na mobilniku, ki za svoje delovanje zahtevajo internetno povezavo. Infrastruktura interneta na mobilnikih je premalo zrela, da bi to bilo praktično (v prvi vrsti so krivi (nepotrebni) stroški povezave in prenosa, takoj za njimi varnost prenosa).

Vcepljanje (embedding) podatkov v JAR datoteko bi bila dobra ideja, če nebi bila takšna datoteka prevelika za večino mobilnikov. Nokie sploh ne sprejmejo Java aplikacije, večje od nekaj 100 kilobajtov, SonyEricssoni pa so sicer manj izbirčni, vseeno pa bi uporabnik moral imeti 50+ MB pomnilnika na telefonu (kartica ne velja), če bi hotel takšno aplikacijo namestiti. Poleg tega bi bilo skrajno nepraktično, da bi končni uporabnik moral vedno, ko kaj doda, znova namestiti aplikacijo.

Torej tretja možnost – uporabniku omogočiti, da si izbere, kam želi te podatke prekopirati (tako ali tako je uporabnik tisti, ki si pri tej aplikaciji izbira, kaj sploh bo v teh podatkih). Lepo ustvariš mapo na spominski kartici (veliko telefonov jo ima) in v njo shranjuješ svoje slike. Sliši se lepo, a zagotavljam vam, skrajno neprijazno in kruto do razvijalca aplikacije.



Teorija

Java je s svojo J2ME strukturo in standardom poskrbela, da z aplikacijo, napisano v Javi, lahko dostopamo do podatkov v pomnilniku telefona in spominske kartice (do zunanjih datotek). Ampak je dodala nekaj zank, ki učinkovito ubijajo J2ME razvoj na tem področju. Za vsak dostop do zunanje datoteke mora program pridobiti dovoljenje od uporabnika telefona. To pomeni, da vas bo za vsako datoteko iz podatkovne kartice telefon dobesedno gnjavil, če želite potrditi dostop. To aplikacijo seveda naredi preprosto neuporabno (uporabnik se ustraši teh sporočil ali pa se jih hitro naveliča in raje izbriše aplikacijo, ki pa pri tem ni nič kriva).

Problemi pa se tukaj šele začnejo. V kolikor aplikacija ni podpisana (to pomeni, da jo je s certifikatom potrdila tretja stran med razvijalcem in uporabnikom), ni možnosti, da ta sporočila ukinete. Pri vsaki posamezne aplikaciji, nameščeni na telefonu, se skrivajo varnostne nastavitve. Če želite na primer aplikaciji dovoliti dostop do kamere, lahko to storite in telefon vas ne bo več gnjavil. Isto lahko to storite za dostop do interneta. Ali za dostop do modrega zoba (Bluetooth). Na voljo imate možnosti »ne dovoli«, »vprašaj vsakič«, »vprašaj enkrat« in »ne sprašuj«. Prva ne dovoli dostopa do izbrane funkcije, druga vas vsakič gnjavi, tretja vpraša za dostop le enkrat na zagon aplikacije, zadnja pa sploh ne sprašuje ničesar, ampak preprosto dovoli.

Zakaj vam to razlagam? Ker se teh stvari ne da nastaviti, ko pride na vrsto dostop do zunanjih datotek. Tam sta na voljo le dve možnosti: ali aplikaciji sploh ne dovolimo dostopa, ali pa smo se primorani zadovoljiti z večnim gnjavljenjem za vsak posamezen dostop.



Praksa

Ko sem to spoznal, sem začel ugotavljati, kako bi se tega problema rešil. Ena možnost bi bila, da vse podatke, do katerih aplikacija dostopa, stlačim v eno samo datoteko. Aplikacija bi tako samo na začetku vprašala za dostop, nato pa več ne, saj bi datoteka ostala odprta skozi ves zagon aplikacije. Sliši se lepo, in zares je prelepo, da bi bilo res.

Datoteke v Javi lahko beremo s pomočjo tako imenovanih tokov. Predstavljajte si reko informacij, ki tečejo iz datoteke. Takšen tok se da brati le v eni smeri. To pomeni, da bi moral, če bi želel skakati po podatkih sem ter tja, nekako spraviti ta tok v obratno smer. Java standard pa ne podpira nič, s čemer bi se to dalo storiti! Če želim na začetek datoteke, lahko uporabim le posebno metodo za vrnitev na označeno mesto (označim lahko začetek datoteke). Te metode ne podpira večina telefonov (kolikor vem doslej, le poceni Nokie, tiste z Symbianom in Sonyericssoni tega ne podpirajo), polovica tistih, ki pa to podpirajo, pa ne podpirajo velikih skokov.

Še ena možnost je, da znova odprem tok. Za to mi ni treba znova odpreti datoteke, le tok (datoteka in tok podatkov iz nje sta dve različni stvari v aplikaciji). Ampak problem pa je, da Sonyericssoni za odprtje toka prav tako gnjavijo, ne le za odprtje datoteke! Večina Nokij (ne vse) tega sicer ne počne, vendar le iz usmiljenja do razvijalcev, saj standard pravi, da je to treba početi!!! Torej sedaj nimam možnosti, da pridem v svoji aplikaciji nazaj na začetek datoteke s podatki, brez gnjavljenja za potrditev.

Potrt, kot sem do tega trenutka že bil, sem začel vohljati, kako aplikacijo podpisati z certifikatom. Tu pa me je čakala še ena mrzla prha. V glavnem sta na voljo dve firmi, ki ponujata podpisovanje s certifikati in ki jih podpira večina telefonov. To sta VeriSign in Thawte. Thawte zahteva za enoletno licenco za potrjevanje 199 ameriških dolarjev, VeriSign pa kar 499 dolarjev! Poleg tega Thawte ponuja svoje storitve le podjetjem in ne fizičnim osebam. To pomeni, da bi moral za svojo aplikacijo zapraviti 499 dolarjev na leto (!), da bi jo lahko ponudil javnosti. V praksi to pomeni, da je praktično nemogoče, da jo ponudim brezplačno, saj je 500 dolarjev letno prevelik strošek, da bi ga plačeval sam. Pomislite – to je trenutno 354,08 EUR oz. 84.851 starih tolarjev! Še na vrh teh stroškov pa bi se morda prišteli še stroški testiranja ($200 na test na verzijo programa), kar pomeni, da bi še dodatno plačeval za vsak popravek, ki bi ga objavil.



Alternativa

So še alternativne možnosti! Aplikacijo lahko lansiram z lastnim certifikatom in podpisom (self-signed). To pa v praksi pomeni, da bi uporabnik moral namestiti na svoj telefon moj certifikat in ga nastaviti kot zaupanja vrednega. To prinaša svoje slabosti. Namestitev uporabniških certifikatov podpirajo le nekatere (ne najnovejše) Nokie, Sonyericssoni in Motorole tega ne podpirajo. Prav pri Nokiah pa je najmanjši problem uporabljati nepodpisano aplikacijo (saj za dostop vprašajo le enkrat na datoteko). Pri novejših Sonyericssonih (od W800i dalje) je način, kako certifikat spraviti na telefon, vendar vključuje uporabo podatkovnih kablov za spreminjanje programske opreme in posebnih programov za vsiljevanje certifikatov. Saj ne rečem, da je težko ali smrtno-nevarno (kabel pa se tudi povsod da dobiti, pošiljajo jih že v paketih zraven telefonov), a vseeno sklepam, da je malo uporabnikov, ki bi imeli voljo in željo posegati v programsko opremo telefona. Ampak lahko da se motim.



In še epilog te zgodbe: razvijalci Jave za mobilnike skupaj z razvijalci mobilnih telefonov efektivno uničujejo duh zdravega, prostega, brezplačnega in odprto-kodnega programiranja.
- 26. september 2007 @ 21:35 - Ogledov: 7728 - Komentarjev: 7
Komentarji
Re: Zakaj ni brezplačnih programov za mobilnike napisal Mato

To je G.R.O.Z.A.! Tisto nazadnje pa si čisto prav povedu! smiley Mogoče bi se pa moral spravit na kaki drug programski jezik.

27. september 2007 @ 18:57
Re: Zakaj ni brezplačnih programov za mobilnike napisal Piki

Kakšen drug programski jezik pa je še na vseh današnjih telefonih?

27. september 2007 @ 20:57
Re: Zakaj ni brezplačnih programov za mobilnike napisal Mato

Ne vem. Nisem glih za fone. Pa tudi v C# nevem nevemkaj smiley.

28. september 2007 @ 19:23
Re: Zakaj ni brezplačnih programov za mobilnike napisal Xphantom

Če se kdo sprašuje kako bi prišel čez z denarjem do mobilnih iger,teme,ozadja,animacij ,ozadij je to mogoče le na nelegalen način in to je lahko VELIKO S..... smiley (Zakon piratske izdelke prepoveduje-nelegalen način)

Za legalen način je mogoče le preko sms,ki je zapravanje celega premoženja denarja in to je brezveze preko mobilnih operaterjev kot so na primer pošlji na kodo loli 4444 ali 6262 in ostali
primer: vsako izmed željenih iger ali kaj drugega vsebuje kodo npr. J***G (igra Harry Potter -polkrvni princ (princ mešane krvi) ki jo na prišeš v SMS sporočilu in na tel. številko pošlješ na 6262 ki jo imamo v reviji Vikend (TV program)

"To je legalno ampak jo moraš plačati!" smiley

Imajo pa tudi brezplačne igre ampak če je brezplačna ali plačljiva na legalen način jo moraš v končni fazi plačati, kolikor koli gledaš.Plačaš ali ne si ti nekako prijavljen in plačuješ tako, da imaš določeno količino denarja na mobitelu in ti ga samodejno vzamejo. na vasakih nekaj mesecev ali na mesec kolikor imajo pač ta sistem plačevanja za ta pogoj odvzemanja denaja ne potrebuješ interneta na mobiju ampak internet potrebuješ zato da si daš dol igro ki si jo plačal. smiley


smiley OBVEZNO PREBERITE smiley

Obstajajo za to drugi načini...večina za NOKIA in Sony Ericsson zaenkrat le na mobiles24.com in mobile games arena kolikor jaz poznam.Za mobiles24.com je potrebna prijava.Na mobile games arena pa ni potrebana prijava ali če slučajno naletiš na kakšno mobilno igro ali karkoli in download.


ne poznam pa kako priti do programov!

28. avgust 2009 @ 16:04
Re: Zakaj ni brezplačnih programov za mobilnike napisal Piki

Zelo dolg komentar.. hvala, da si si vzel čas smiley

31. avgust 2009 @ 20:16
Re: Zakaj ni brezplačnih programov za mobilnike napisal Xphantom

smiley Evo ti PROGRAMI


Kako brez prijave in do brezplačnih iger, tem(e),ozadij, animacij-e, video, programov... (vse od A-Ž) in... smiley download smiley je na strani mobile9 oz. na linku :

http://www.m....com/ smiley

smiley POZOR! (Zakon piratske izdelke prepoveduje do nelegalnih načinov) smiley

In hopla! ZAPOR!!!smiley

NIČ KIV smiley smiley

Za prenos na mobitel potrebujemo inistalirani: PC-zgoščenko in (USB)-kabel za prenos podatkov smiley (iz računalnika na telefon).Prenašati podatke iz interneta na računalnik in iz računalnika na USB itak vsi znamo...smiley

27. junij 2010 @ 17:31
Re: Zakaj ni brezplačnih programov za mobilnike napisal Xphantom

Se opravičujem za morebitne napake v besedilu, ki so nastale med pisanjem.

27. junij 2010 @ 23:58
Komentirajte ta vnos (registracija ni potrebna)
Tega vnosa žal ni dovoljeno komentirati.