Symbiatch - maailma on rikki

IT-viikko haastatteli

08.06.2006 12.04 - mobiili ohjelmointi 

IT-viikko teki puhelinhaastattelun viime viikolla Symbianista ja näköjään netissäkin on tuo artikkeli tai ainakin osa siitä. Pitänee itse lehti kaivaa jostain esiin niin näkee koko jutun.

Kommentoi

Kommentit

Zache (anon, 08.06.2006 21.45)

Hahah, STOP THE PRESS! koodarit vihaavat symbiania :) ... ja tietty sinua ja Teklan kaveria haastateltiin. Pikkasen jäi sellainen fiilis, että hieman oltiin valikoitu sopivat haastateltavat tuohon juttuun, mikä oli netissä.

Pointteja tai mielipiteidenne aitoutta en luonnollisestikkaan epäile.

Tosin symbianin supervoima ei ole tekninen paremmuus vaan yksinkertaisesti myyntivolyymit ja se, että niille on mahdollista tehdä juttuja. Järjestelmän paskuuden aiheuttava vitututus on tietty ikävää, mutta loppujen lopuksi riittävän hyvät nälkäiset koodarit ovat uusiutuva luonnonvara.

Symbiatch (09.06.2006 08.47)

Jep, varsinainen hurja uutinenhan tuo oli, hyvä että nyt joku kirjoitti jutun! ;)

Toinen haastateltava oli minut ilmiantanut ja selvästihän jutussa tosiaan haettiin tuota näkökulmaa. Hieman vaan mietityttää tuo kommentit "jos Symbianista tulee hallitseva käyttöjärjestelmä", se kun on jo sitä.

Se tässä juuri onkin ikävää että mitään ei tarvitse tehdä jos on suurin ja kauhein. Vähän kuin Java: mitään vaihtoehtoja ei oikein ollut, joten mitään kehitystä ei tapahtunut. Heti kun .NET ja C# tulivat, sai Javakin genericit ja muut ja alkoi taas kehittyä. Saisi Symbiankin saada kunnon kilpailijan niin tulisi jotain kehitystä.

Eihän se kauhea järjestelmä kaikilta osiltaan ole, mutta rajapintojen muuttuminen ja dokumentaation olemattomuus on todella ärsyttävää. Ei tajua miksei vieläkään kukaan viitsi dokumentoida vai halutaanko rahastaa että kehittäjät liittyvät Forum Nokia Proohon ja muihin.

Toivottavasti SonyEricsson tekee asialle jotain kun alkavat massapuhelimiin Symbiania tuoda.

Kim Nyberg (anon, 09.06.2006 16.40) kotisivu

Joo, aika raflaavia otsikoita oli saatu aikaiseksi, mutta niillähän lehtiä myydään.

Se, onko Symbian hallitseva käyttöjärjestelmä pidemmän päälle on mielestäni kyllä vielä epäselvää, Japanissa Linux tuntuu yllättävän vahvalta, ja jenkeissä Windows Mobile on saanut aika hyvän jalansijan. Kehittäjien mielipiteitä olisi kyllä mielestäni hyvä kuunnella, vaikkakin harmaalle massalle saadaan myytyä mitä vaan, yrityskäytössä kun on ihan oikeasti merkitystä sillä miten hyvin ja miten hyviä sovelluksia älypuhelimiin saadaan. Paras tilanne tietysti olisi se että Symbian, Linux ja Windows Mobile olisivat suht. tasaväkisiä esim. 2010, koska silloin kaikki osapuolet kehittäisivät alustojaan jatkuvasti. Kyllähän sen esim. huomaa että heti kun joku systeemi saavuttaa absoluuttisen ylivallan, kehitys tuntuu pysähtyvän kuin seinään (sanoiko joku IE 6?).

Kim

Pawel (anon, 09.06.2006 22.06)


Jälleen "mainio" Symbian-juttu IT-viikolta ;). Mieleen muistuu parempana ainoastaan vuoden takainen ArcChart-tutkimus/analyysifirman tämä laajahkosti aikoinaan siteerattu artikkeli:

http://www.arcchart.com/blueprint/show.asp?id=374

Näistä IT-viikon jutun yksityiskohdista voisi jälleen väitellä puolin ja toisin, mutta teen seen sitten asianosaisten kanssa kun ja jos sellainen tilaisuus tulee :). Mutta silti yksi kysymys jäi askarruttamaan: missä tilanteessa Nokian pitäisi olla tai kuinka monta Symbian-laitetta vuoteen 2008 mennessä pitää myydä, jotta Sami ja Kim voisivat todeta ettei Nokialla (tai sen S60/Symbian-porukalla) nyt kuitenkaan ihan pieleen kaikki mennyt? :)

Doora (anon, 09.06.2006 22.22) kotisivu

Kyllähän laitteen käytettävyyteen vaikuttaa paljon se, paljonko on tarjolla kolmannen osapuolen tekemiä softia. Itse laitteen myyntimäärät ovat sivuseikka jos hyvän applikaation tekeminen on lähes mahdotonta - tai vaatii vähintään reverse engineering työkaluja.

Hh (anon, 10.06.2006 01.46)

"Japanissa Linux tuntuu yllättävän vahvalta".

Nämä Linux sitä tai tätä ovat aina mielenkiintoisia kommentteja. Siis mikä Linux tarkalleen ottaen? Pelkällä kernelille kun ei pahemmin kukaan väännä mitään hienoa uutta "search" applikaatiota.

Tuo Linux ei kännykkäpuolella tarkoita oikein mitään. Applikaatiot tehdään kuitenkin jollakin aivan muulla esim. QTopia tai Java, mutta mitä "Linux":a siinä sitten oikein on? Nämä proprietary applikaation kehitysympäristöt ovat enimmäkseen aika kaukana "Linux":sta, oma oliomallia ja oma hiekkalaatikko. Ovat usein vielä enemmän suljettuja kuin esim. S60/Symbian.

ITViikon jutussa nauratti myös tuo
"Jos puhutaan Windowsista tai Linuxista, niin niissä ei kovin helposti mennä rikkomaan asioita siten, että vanhat ohjelmat lakkaavat toimimasta" Linux ja binääri/sorsayhteensopivuus, heh, siinä olisi kyllä saanut olla kahvipurskevaroitus mukana. Sen verran monta kertaa on tullut jo pelkästään Linux:n PC versioissakin ihmeteltyä Kernel moduulien kääntämättömyyttä ja QT kirjastojen binäärihajoamisia. Ja enemmän mobiliteettia tarjoavissa ympäristöissä:
http://maemo.org/platform/docs/roadmap.html
"New EABI toolchain [so all existing 3rd party software needs to be recompiled ]"

Jepjep...

Symbiatch (10.06.2006 10.16)

Pawel: En koskaan ole väittänyt että kaikki olisi päin mäntyä, itse puhelimethan ovat kyllä parhaasta päästä (mutta se ei paljoa meinaa kun bugeja on vaikka muille jakaa) ja markkinointihan pelaa. Ei sitä muuten huipulle pääse. Siksi myyntiluvuilla ei ole mitään merkitystä tässä asiassa.

Sen sijaan kehitysympäristöjen ja muiden osalta ei olla tehty yhtään mitään ikinä. Saa taistella debug-emulaattorin Des16 Align -virheiden kanssa, joita ei tietenkään ilmene release-versiossa (mutta debuggaapa sitä sitten) eikä laitteessa. Unohdapa emulaattori päälle ja laita läppäri standby-tilaan. Jumi ja virrat vedettävä pois. Yritäpä löytää dokumentaatiota joka kertoisi minkälaisia täsmälleen ovat ne 200 erilaista listaa joita voi tehdä. Ei löydy.

Symbianilta löytyy jopa dokumentteja joissa kerrotaan joidenkin asioiden olevan dokumentoimattomia vielä. Miksei samalla voitu dokumentoida? Sitä en tajua.

Ja Linuxin yhteensopivuudesta olen samaa mieltä kuin aiempi kirjoittaja. Libc5->6 rikkoi kaiken. Glibc:ssä tainnut myöhemmissäkin olla hieman rikkonaisuuksia. Kirjastoja päivitellään miten sattuu välittämättä miten aiemmat softat toimivat jne. Eihän se sinänsä Linuxin vika ole, sehän on vain kerneli (näin kuulen pahimpien fanaatikkojen jo huutavan), mutta ei ouppensorsa ikinä saa kunnon arvostusta jos hommat ovat jatkuvasti muutoksen kourissa.

Hassusti Win32API on pärjännyt >12 vuotta jo ja nyt vasta aletaan WinnFX:ssä siirtää painopistettä WPF:ään käyttöliittymien osalta ja muitakin osia korvata. Miten Microsoft kykenee tähän (ja vielä sama API työpöydällä että mobiililaitteissa) mutta esimerkiksi Linux ja Symbian eivät? Osoittaa mielestäni aika vahvasti miten pieleen Symbian on tehty jos ajatellaan nykylaitteita.

Ymmärrän aivan hyvin monet asiat Symbianissa koska ne on suunniteltu alunperin ihan erilaisille laitteille kuin nykyään mutta nykykännyköissä on melkolailla enemmän tehoa ja ominaisuuksia kuin niissä 486-koneissa joilla esimerkiksi Windows 95 pyöri ja silti silloin käytetyt APIt ja järjestelmät ovat vieläkin täysin toimivia nykyään eivätkä vaadi mitään ihmeellisiä virityksiä tai tuskailuja.

Kim Nyberg (anon, 10.06.2006 20.33) kotisivu

Pawel: 2008 soisi että S60 on tilassa ettei tule enää vuosittain täysin käsittämättömiä muutoksia alustassa, ja olisi edes suunnilleen yksi alusta jolle tehdä softia. Ei hirveästi lohduta nykyinen tilanne missä tosiaan suunnilleen jokaista puhelinta pitää erikseen listata onko tuettu vai ei (vrt. esim. Navicore, joka käsittääkseni edustaa Suomessa todella kovaa Symbian-osaamista). Se että Nokia itse fragmentoi alustaa jatkuvasti ei tunnu kovin järkevältä.

Tiedän kyllä että Linuxinkin kanssa saa välillä tuskailla (kyllä kiitos, olen nauttinut gcc 2->gcc 3 ja libc5->6 aivovaurioista ihan riittoisasti), mutta silti ne tuskat ovat ainakin lähdekooditasolla aika vaatimattomat. Se että tuleeko Linuxista mitään älypuhelinrintamalla jää vielä nähtäväksi.

Ja, sanottakoon nyt vielä että vaikka itse pidän huomattavasti fiksumpana Windows Mobile kehitysvälineitä, niin on niissäkin paljon kehittämisen varaa. Silti huomattavasti vähemmän vitutusta kuitenkin aiheuttavat kuin S60 tai J2ME :)

(anon, 10.06.2006 20.57)

Mitä viranomainen määrittää langattomiin sovelluksiin ?

Nythän tiedämme, että SOS (Symbian OS) on omalaatuinen/vanhanaikainen
monilta osiltaan.

Mutta löytyykö hyvää syytä siihen miksi SOS on pysynyt vanhanaikaisena jopa SOS91 versiossaan ?

Nythän on niin, että eräänlaisena rajoitteena on MS kun vertaamme
ohjelmistojen kehitystä SOS:iin verrattuna. Eli MS tarjoaa kehittäjille
langallisella puolella useita rajapintoja joilla voitiin tehdä langallisessa verkossa melkein mitä vaan + virukset.

Ohjelman kehittäjä assosioi langallisen puolen mahdollisuudet
helposti toteuttettavaksi langattomienkin sovellusten piiriin !

Kaiketi tulee myös muistaa, että langattoman laitteen käyttöä
ja ominaisuuksia määrittävät pitkälti kunkin maan viranomainen.

Että, kaiketi viranomaismääräyksien kanssa ollaan tekemisissä
kun tavataan rajoituksia kolmansien osapuolien julkaisuissa (esim. dokumentaatio, testaus, sertifioionti, vuosimaksut ).

Tosin, näiden viranomaismääräyksien taakse voidaan helposti kätkeä
maksuja ohjelmistojen kehittäjien maksettavaksi, kuten kenties
esim. BT:n ja HTTP:n käytöstä on maksettava kun näitä protokollia
käyttää ohjelmassaan jota on valmistamassa yleisille markkinoille ?

Että, empä tiedä tarjoavatko operaattorit MS puhelimille sen
enempää vapauksia ohjelmiston kehittäjän kannalta kuin mitä
nyt on SOS puhelimienkin kanssa ?

(anon, 10.06.2006 21.01)

Äh, jatketaan nyt vielä sitä Linux-juttua kun kerran avasin pandoran lippaan. Ihan esimerkkinä siitä miten tosiaan voi suunnilleen olettaa että perusasioita ei ihan hevin rikota on se tosiasia että meidän teknologiaplatformia käänneettiin joskus 1994 Linuxille ihan vaan koemielessä, hyvin toimi, sitten Linux olikin naftaliinissa 10 vuotta (kaupallinen potentiaali noin nolla meidän businessalueilla :), ja kun 2004 tms. piti varmistaa että se vielä toimii, niin kaikki kirjastot meni heittämällä. Kieltämättä emme käyttäneet QT:ta (onneksi?). Olen kaiken maailman ihme platformeille vääntänyt softaa (VMS/OpenVMS, tusinan verran eri Unixeja, sekä viimeisen 10 vuoden aikana NT-pohjaisille Windowseille sekä CE-pohjaisille), joten olen kyllä saanut osani huonosta dokumentaatiosta ja järjettömyyksistä, en vaan haluaisi enää herran vuonna 2006 kärsiä siitä.

Maemota mainittiin tässä esimerkkinä Linux-pohjaisesta binäärihajoamisesta ... ja kukas olikaan Maemon takana ... :)

Kim

Ps. minulla kääntyy takki todella sujuvasti, heti kun Nokia saa kehitysvälineet ja platforminsa kuntoon niin kehun sitä surutta ... sitä odotellessa käytän vaihtoehtoja

mej (anon, 14.07.2006 01.11)

Molempia alustoja (Symbian OS & Windows CE) kolunneena en tiputtelisi pisteitä juuri kummallekkaan.

Kumminstakin alustoista puuttuu täysin backward compatibility sekä osittain forward.

Kehitystyökalut lähinnä toolchainin osalta ovat huomattavasti paremmat CE:n puolella.
Muistellaan hetki taaksepäin Nokian tarjoamaa NDS:ää useat henkilöt eivät saaneet asentumaan koko softaa ja jotka saivat useilta softa hajotti Visual Studion pathit, kiitos Nokia. Odotan kyllä tulevalta Carbidelta jotain mutta Nokian tuntien en laske juuri mitään sen varaan.

Tosin nyt uuden hienon ja uljaan esim. Pocket PC:n suhteen homma muuttuukin vallan ikäväksi. Olettaen että haluaisin kehittää EVC3:lla Windows Mobile 2002 softaa sekä VS 2005:llä Windows Mobile 2005 softaa, näitä palikoita ei saa asentumaan samalle koneelle ja jos saisikin uusi Active Sync ei taas toimi 2002 laitteiden kanssa. Tämä vaatii siis kaksi konetta.

Windows puolella dokumentointi on tosin aivan eri luokkaa kuin Nokian dokumentaatiot, muutama viikko sitten Nokia kysyi mitä pitäisi parantaa dokumentoinnissa? Lähinnä kaikki, tuli äkkiseltään mieleen.

API:en vertailu vie kyllä selvän voiton Windowsin puolelle ei pelkästään dokumentoinnin takia vaan myös käytännöllisyyden ja yhteensopivuuden kannalta. Windows API:t eivät juurikaan ole muuttuneet 2003 - 2005 (versiot) välillä, joitakin pieniä muutoksia on ollut kuten (POOM). Symbianin APEissa ihmetyttää myös miksi käyttäjälle tarjotaan esimerkiksi kameraa käynnistettäessä aivan turhia asynkronisia tietoa, kuten kameran virta päällä, kamera melkein valmis ym.

Windows API:t eivät kuitenkaan ole kaikenkattavia erinäisiä asioita ei pysty tekemään koska API:a ei ole vaan kikkaillaan joidenkin rekisterien arvojen suhteen, jotka ovat enemmän tai vähemmän googlesta löydettyä tietoa.

Debuggaamisessa Symbian taas vienee voiton ainakin emulaattorin suhteen, tässä taas tietenkin kyse siitä että mikäli tarvitaan TCP/UPD palveluita emulaattori ei välttämättä toimikkaan. Debuggaaminen on nopeaa sekä Client/Server sovelluksissa pystyy debuggaamaan kumpaakin puolta samassa debug sessiossa. Windows puolella taas hiemankin isommassa sovelluksessa yksi steppi saattaa kestää ikuisuuden joten breakpointtien asettamista kannattaa miettiä tarkkaan. Etuna tietenkin Windows puollella on OnDevice debuggaus mikä saattaa aiheuttaa harmaita hiuksia signaamisen suhteen ainakin Smartphone puolella (saako puhelinta lähinnä signattua - metodi ei ole mitä yksinkertaisin), tosin Pocket PC menee kivuttomasti ja on nopea debugata. Ikävänä puolena Symbianista mainittakoon vielä että emulaattorin verkkoliikennettä ei pysty seuraamaan esim. Etherealilla.

Symbianin kääntäjä on myös aikamoinen vitsi, jota ei sitten ole viitsitty päivittää vuoden 1998 jälkeen (En väitä että MSVC on mikään yyber hyvä myöskään). Esimerkiksi Loki kirjastoa on aivan turha lähteä kääntämään(Ei käänny suoraan tosin) Symbianin toimittamalla kääntäjällä. Tosin homma hoituu hieman modatulla uudemma kääntäjällä
http://www.inf.u-szeged.hu/symbian-gcc/.

Kehityskustannuksia vertaitaessa olettaisin että kehittäminen nykyisellään Symbianille tulle huomattavasti kalliimmaksi.

Tässä vain muutamia vääryyksiä molemmista platoista näin vain muutaman mainitakseni

Kim Nyberg (anon, 14.07.2006 11.22) kotisivu

Nimimerkki mej on näköjään perehtynyt hyvin tilanteeseen, voin allekirjoittaa suunnilleen kaikki havainnot molemmista alustoista. Pienenä tarkennuksena kuitenkin että backward compatibility on yleensä se paremmin hoidettu juttu molemmilla alustoilla (eli uudet rajapinnat yleensä taaksepäin yhteensopivia), forward compatibilityhän tarkoittaa sitä että vanha käyttis osaisi ajaa tuoreemmalle käyttikselle tehtyä softaa, mikä on huomattavasti vaikeampi asia toteuttaa oikein. On myös totta että on viittä vaille mahdotonta rakentaa yhdellä koneella kehitysympäristöä joka tukisi 2002-2005 Windows Mobile laitteita (mutta ei nyt kuitenkaan täysin mahdotonta :), sensijaan jos nyt ajatellaan relevantteja Windows Mobile alustoja niin 2003 lienee vanhin. Symbian-puolella tuntuu olevan tuettavia alustoja aivan liian paljon parinkin vuoden ajanjaksolla.

Kim

Jutut.fi  |  Omat jutut  |  Muiden jutut  |  Kategoriat  |  kirjaudu