‘Szoftverfejlesztés’ címkével ellátott bejegyzések

Android fragmentáció

2012. május 18. péntek

Eddig nem sok Androidos bejegyzés volt a blogon (konkrétan egy sem), de ezt most egyszerűen nem tudom kihagyni.

Több, mint 4.000 egyedi eszköz létezik Android alá, ami felhasználói szempontból elsőre remek hír (hiszen nagy a választék), viszont fejlesztői szempontból egyenesen rémálom (gondoljunk pl. csak az eltérő felbontású kijelzőkre). A képen – ami a töredezettséget mutatja egyébként – százalékos arányban vannak lebontva a készülékek: a zöld négyzet, ami a teljes kép lefedettségének a 10%-át teszi ki, az a Samsung Galaxy S2 készüléket jelzi.

Őszintén szólva nem lenne az a pénz, amiért nekiállnék bármikor is Androidra bármilyen alkalmazást is fejleszteni (annak ellenére, hogy a weben valami hasonlót csinálok nap mint nap).

Forrás: eredetileg iSandor tweetjei között találtam a linkre, ami a Gizmodo oldalára mutat, maga a kép pedig az  OpenSignalMaps oldaláról származik.

Ilyen nincs és mégis van

2012. április 25. szerda

Vannak olyan napok, amikor minden összejön. Mármint minden rossz és minden olyan dolog, melyekhez az embernek sem ideje, sem pedig kedve nincs. Amikor pedig azt hinnénk, hogy mára már biztosan nem lesz több akadály, akkor még nem tudjuk, hogy a napi megpróbáltatásoknak a felénél sem járunk. Na, ez pont egy ilyen nap volt nekem. :)

OTP Bank

  • Reggel megpróbáltam belépni az OTP Bank megújult weboldalára (OTPdirekt). Kis idő után feladtam, mivel az azonosító, számlaszám és a jelszó kb. negyedszerre történő megadása után is csak egy új, üres oldalt nyitott a Safari iOS alatt (mint később kiderült, valami baj volt a szolgáltatással, mert asztali gépről sem tudtam belépni a rendszerbe).
  • Mióta megújult az OTPdirekt webes felülete, azóta felcserélték a második és harmadik mező (jelszó és bankszámlaszám) sorrendjét. Ez azt eredményezi, hogy minden egyes alkalommal a bankszámlaszám mezőjébe kezdem el gépelni a jelszót, mert rutinszerűen próbálom kitölteni a mezőket. Persze nem nagy dologról van szó, de amikor már sokadszor fordul elő és összezavar a sorrend, akkor idegesítő tud lenni.

iTunes Store / Apple

  • Szerettem volna venni az iTunes Store-ból egy alkalmazást, de a kártyámat nem volt hajlandó elfogadni az Apple annak ellenére, hogy eddig semmi baja sem volt vele, az adatokat is jól adtam meg, nem is járt le és a számlán is van fedezet. Szerinte nem érvényes a kártyám (ami kizárt, mert máshol tudok vele fizetni).

Facebook

Az egyik Ügyfélnek a Facebook oldalával sikerült eltöltenem összességében több mint két órát olyan dolgok miatt, melyek nélkül kb. negyed óra alatt el lehetett volna intézni mindent.

  • Szerettem volna hozzáadni valakit az adminisztrátorokhoz, azonban már egy ideje nem úgy van, mint régen, hogy egy listából kiválasztom, hanem meg kell adni külön az illető e-mail címét. Persze nem nagy dolog ez sem, csak nem értem a változtatás lényegét. Nem értem, hogy ez pl. miért egyszerűbb, vagy miért jobb, mint a korábbi, két kattintással történő megoldás.
  • Létrehoztam egy eseményt, ami kétnapos, de nem túl meglepő módon a Facebook nem tud kezelni kétnapos eseményeket. Viszont mégsem bonthatom két részre az eseményt, egyszóval ez így egy nem túl szerencsés megoldás.
  • Szerettem volna lecserélni az oldal borítóképét és a profilképet is. Rettenetes, hogy mennyire lerontja a minőségét a Facebook ezeknek a képeknek és ha pl. egy kép az átlagosnál több részletet tartalmaz – netán tartalmaz szöveget is – akkor néha már-már gusztustalan, ahogy kinéz a cover. A profilképet meg természetesen ha kell, ha nem, nagyítja. Szerencsére ez utóbbin lehet változtatni, de ez így már szerintem túl van bonyolítva.
  • Szerettem volna még áthelyezni az egyik albumból egy képet a másikba, de nem volt hajlandó áttenni és még csak hibaüzenetet sem kaptam.
  • Szerettem volna törölni a régi profilképet is, de nyilván ez a funkció sem működött.
  • Utólag bejelöltem azt is, hogy a borítócsere ne legyen látható az idővonalon. Persze oda se neki, kitette és lájkolták is – pont ezt szerettem volna elkerülni. Azt sem értem, hogy ezt miért csak utólag lehet bejelölni.
  • Végül pedig, ha ez még nem lett volna elég, akkor jön a következő döbbenet: idővonalra új linket teszek ki és a fő képet, ami tulajdonképpen az egész eseményt elmondaná egy szóban cache-ből(!) szedi ki a Facebook ahelyett, hogy behúzná azt az oldalt, amire a link mutat, mert ugye előfordulhat, hogy a tartalma változott az elmúlt egy év során. Nyilván, hogy nem teszi ezt és így a 2011-es feliratú képet mutatja a 2012-es helyett (itt szeretném emlékeztetni a kedves Olvasót arra, hogy annak ellenére, hogy ilyen teljesen felesleges képeket évekig eltárol a Facebook, a profil- és borítóképet – aminek olyan szerepe van egy ilyen oldalánál, mint amilyen egy boltnál a kirakatnak – ugyanakkor meg agyontömöríti, hogy kisebb helyet foglaljon).

Egy több, mint 800 millió regisztrált felhasználóval rendelkező oldalról van szó…

Egyebek

  • A levélküldés az asztali gépemről néha csak minden második alkalommal sikerül, amióta az internetszolgáltatóm megkért, hogy írjam át az SMTP szervert címét a levelezőmben egy másikra.
  • Az egyik külső merevlemezen található Time Machine mentésem pedig egy az egyben eltűnt az egyik pillanatról a másikra (nagy valószínűséggel az adatkábellel van gond, ezt gyorsan cseréltem is). Szerencsére csak nagyon ritkán kell bármit is visszaállítanom, így most adatveszteség nem ért, de ettől függetlenül nem túl jó érzés azt látni, hogy a merevlemez, amin korábban volt két partíció és abból az egyik több hónapnyi biztonsági mentést tartalmazott, a géphez való csatlakozás után úgy néz ki, mint amikor a megvásárlás után kibontom a csomagolásából.

Itt tartunk 2012-ben olyan oldalaknál és szolgáltatásoknál, melyekhez több ezer, több millió és több százmillió felhasználó csatlakozik és használja azokat üzleti vagy magáncélra napi rendszerességgel.

Persze régebben is voltak szoftverhibák és hibás szoftverek, ez egyszerűen kikerülhetetlen dolog és a szoftverfejlesztés velejárója, de közel sem volt ennyi gond velük, mint manapság (és ez nem az miatt van, mert ma sokkal több szoftvert vagy alkalmazást használunk, mint régen).

A bejegyzés a teljesség igénye nélkül íródott, mert még nem is említettem azokat a hibákat, amikhez már szinte majdnem hozzászoktam: ilyen pl. az, hogy a Twitternek fogalma sincs arról, hogy hány tweetet írtam eddig, hol ennyit, hol meg annyit mutat, a Weather Widget teljesen eltérő értékeket mutat ugyanannál a városnál és településnél iOS alatt, mint OS X alatt és még sorolhatnám órákig azokat a dolgokat, melyekkel nap mint nap összeakadok még fizetős szolgáltatások használatakor is.

Frissítés: és mint ha csak nem is a hibákról írtam volna meg a bejegyzést: a WordPress ha úgy gondolja, akkor az időzített bejegyzéseket nem teszi ki időben, úgy hogy ezt a bejegyzést most így utólag már csak azért is visszadátumozom arra a napra, amikor szerettem volna, hogy megjelenjen…

Hibakeresés PHP-ben: hol a hiba?

2012. március 19. hétfő

Ezzel a bejegyzéssel csak azt szeretném megmutatni, hogy mennyire könnyen el lehet szúrni az időt egy látszólag végtelenül egyszerű problémával kódolás közben, növelve ezzel a fejlesztésre szánt időt. Szerencsére most az alábbi dologgal kevesebb, mint 2 percem ment el, de rossz esetben ugyanerre elmehet akár egy óra is.

Adott egy általam frissen írt PHP-s függvény, mely látszólag az adott sorokban teljesen hibátlan:

Mégis localhoston, az oldal frissítésekor a böngészőben azt látjuk, hogy valami nem stimmel a 225. sorban:

Parse error: syntax error, unexpected T_STRING, expecting ‘{‘ in [...]/index.php on line 225

A komlett függvényblokkot kiemelve, a php fájlt elmentve és a böngészőt frissítve probléma nélkül lefut a kód, tehát – amennyiben a szintaktika egyébként jónak tűnik – mostantól kezdve lehet gyanakodni arra, hogy belekerülhetett egy nem odavaló karakter a kódba még annak ellenére is, hogy minden egyes karakterét mi magunk írtuk és semmit sem illesztettünk be máshonnan. Ilyenkor célszerű a szerkesztőben azt a nézetet választani, ami mutatja a nem látható karaktereket is, majd ismét rénézni a problémás sor(ok)ra:

Megvan a hiba? :)

Ott rontottam el, hogy a nagy igyekezetben a space billentyűt úgy nyomtam le közvetlenül a kapcsos zárójel előtt a 225. sorban, hogy még nem vettem fel a másik ujjam az alt-ról, így sikerült ott egy alt-space kombinációt elhelyeznem, ami természetesen nem egyenértékű a space-szel.

Ilyen és ehhez hasonló dolgok történnek a fejlesztőkkel minden nap – és ha még csak ilyen, akkor annak csak örülni lehet, mert ez még a nagyon egyszerű problémák közé tartozik.

Hogyan ne szervezzünk rendezvényt

2012. február 6. hétfő

Az előzményekkel kezdeném: tavaly, vagyis 2011-ben elkezdtem megírni egy bejegyzést, amely a 2011-es Game Developers Forumról szólt volna, de mire befejeztem a postot és utoljára ráfrissítettem a GDF2011 honlapjára, már az a kiírás fogadott, hogy egy későbbi, őszi időpontban kerül megrendezésre. Oké, előfordulhat ilyen bármikor, nincs is ezzel semmi gond. Azt írták, hogy ősszel lesz, próbáltam nem elfelejteni és időnként utánanézni, hogy ne szalasszam el. Aztán – amikor már csak két hét volt vissza az őszből és még mindig túl nagy volt a csend – felemeltem a telefont és megkérdeztem, hogy most akkor lesz, nem lesz, vagy mi lesz. Annyira nem volt senki tájékoztatva ez ügyben a hivatalos csatornákon sem, hogy a JF fórumán az előbb említett telefonhívás után én írtam meg először, hogy elmarad a GDF ősszel is.

Igazából ezzel is úgy vagyok, hogy ebben sincs ebben semmi, egy ilyen esemény szervezése nem olyan egyszerű, aki már foglalkozott bármi ilyesmivel, az tisztában van vele, hogy sok emberrel kell egyeztetni plusz rengeteg dolog közbejöhet. Persze azért időben kiírhatták volna egy ilyen rendezvénynél, amit még külföldön is jegyeznek, de oké, elmaradt, majd a következőre elmegyünk.

Nem rég teljesen véletlenül vettem észre, hogy hoppá, holnapután(!) lesz a Game Developers Forum 2012. Gondoltam, hogy ezt jól elnéztem, de nem, kis utánajárás után kiderült, hogy január 23-án írtak először a rendezvényről a GameStar oldalán. Ez pedig akárhogyan is számolom, összesen 16 nap a bejelentés és a rendezvény napja között.

Kicsit olyan érzésem van most, mint ha valaki szólt volna valakinek, hogy dobjatok már össze valamit, hívjunk meg pár fejlesztőt, hogy ne mondhassák, hogy nem lett megtartva. Ja és hogy mikor legyen? Hát mikor értek rá? Csapjuk hozzá egy-két másik rendezvényhez, aztán legyünk túl rajta minél előbb.

Egyetlen pozitívumtot tudok csak megemlíteni most ezzel kapcsolatban, mégpedig azt, hogy a 12.900.- HUF-os jegyért idén egyszerre három rendezvényt is meglátogathatunk. Aki közel lakik és/vagy rá is ér 2012. február 8-án 9 és 17 óra között, annak majd a következő helyre kell mennie: Budapest, Cinema City (Arena Plaza).

További részletek: Game Developers Forum 2012 – Computerworld

Third party építőkockák a szoftverfejlesztésben

2012. január 4. szerda

Pont az ilyenek miatt nem szeretem a third party dolgokat, az ilyen keretrendszereket meg főleg nem. Tegnap megnyitottam a NetBeans IDE 7.0-t, ami rögtön fel is tette a frissítéseket, újraindítottam a programot, majd létre akartam hozni egy Java Desktop Application projektet és ez fogadott:

Note that JSR-296 (Swing Application Framework) is no longer developed and will not become part of the official Java Development Kit as was originally planned. You can still use the Swing Application Framework library as it is, but no further development is expected.

If you are looking for a Swing-based application framework, consider using the NetBeans Platform platform.netbeans.org, which is a full-featured platform suitable for creating complex and scalable desktop applications. The Platform contains APIs that simplify the handling of windows, actions, files, and many other typical application elements.

Ahogy elnézem, ez már több, mint fél éve be lett harangozva, szóval eléggé le vagyok maradva, de mentségemre legyen az, hogy nagyon ritkán indítom el a NetBeans-t, akkor is inkább csak ismerkedés jelleggel.

Persze nem most ez a lényeg, hanem az, hogy megtanulunk valamit, használjuk, esetleg erre alapozva évekig fejlesztünk egy szoftvert (amit jó esetben sokan is használnak), aztán egyszer csak szólnak, hogy bocs, nem fejlesztjük tovább. Ilyenkor pedig jön az, hogy oké, akkor megismerkedhetünk valami mással, amivel helyettesíthetjük az előző rendszert. Ez viszont általában nem megy egyik napról a másikra, mert rengeteg időt kell rászánnunk, hogy otthonosan mozogjunk az új környezetben, ill. megismerjük az új lehetőségeket és az új korlátokat.

Gondolom, hogy jópáran nem örültek a fenti üzenetnek, amikor először meglátták, de sajnos úgy tűnik, hogy ehhez hozzá kell szokni, mert ez egy ilyen szakma.

Elmarad a 2011-es Game Developers Forum

2011. november 15. kedd

Tegnap telefonon éreklődtem a GDF2011 szervezőinél és azt az információt kaptam, hogy az idei Game Developers Forum elmarad, a jövő évi dátumokról meg természetesen még nem lehet tudni semmit.

Mondjuk ezen annyira nem lepődtem meg, sajnálni viszont annál inkább sajnálom. No mindegy, jövőre mindenképpen ott szeretnék lenni – feltéve, ha megrendezik. Sajnos ez idáig a hivatalos oldalon sem szerepel erről több információ.

A Game Developers Forumról egyébként már májusban is írtam itt a blogon.

Firefox 7

2011. október 1. szombat

Szeretem, amikor egy szoftverbe nem csak újdonságokat pakolnak, hanem időnként optimalizálják is és próbálják elérni, hogy gyorsabban fusson, ugyanakkor viszont beérje kevesebb memóriával is. Le a kalappal a Mozilla fejlesztői előtt, a hetes Firefox egy nagyon kellemes meglepetés lett OS X alatt.

A memóriahasználatot nem nagyon szoktam figyelni (állítólag ez már jóval kevesebbel is beéri mint az elődje), inkább azt figyelem, hogy egy új ablak vagy tab mennyi idő alatt nyílik meg és sok-sok aktív tabbal mennyire lassul be. Bár az új ablak nyitását még azért lomhának érzem, de összességében az egész szoftver jóval gyorsabb lett, élvezet használni. Talán ez az eddigi leggyorsabb Firefox, amivel találkoztam.

A Total Commander titka

2011. június 3. péntek

A napokban jelent meg az [origo] techbázis oldalán egy interjú Christian Ghislerrel, a Total Commander fejlesztőjével, Láthatatlan ember áll a Total Commander mögött címmel. A Total Commander elég távol áll a Macintosh-tól és a Linuxtól is, így most jogos a kérdés, hogy miért hoztam elő ezt a témát itt a blogon.

Azért hoztam elő, mert elolvastam az interjút és tetszettek Ghisler válaszai. Az első, ami számomra nagyon szimpatikus válasz volt, az ez (teljesen reálisan gondolkodik):

Sok ember, aki nem engedheti meg magának a Total Commandert, inkább más megoldást választana helyette. Nem az a stratégiánk lényege, hogy minimalizáljuk a nem regisztrált példányok számát, hanem hogy maximalizáljuk a megrendeléseket.

Természetesen nem azzal értek egyet, hogy warezoljunk amennyit csak lehet, a fejlesztők meg ne foglalkozzanak vele. Itt a hozzáállást értékelem, ill. azt, hogy ilyen higgadtan és jól látja át a dolgokat.

A másik pedig, amiből nagyon sok szoftverfejlesztő cég tanulhatna:

Nem, ahogy említettem, ellene vagyok a radikális változtatásoknak. Az emberek megtanulják, megszokják a funkciók használatát, ezeken nem érdemes változtatni, ha nincs rá nyomós okunk. Ennél fogva a Total Commanderbe sosem kerülnek forradalmian új funkciók, a szoftver evolúciósan fejlődik. Nem hiszem, hogy egy modern operációs rendszer fájlkezelőjének számottevően másképp kellene működnie, mint egy régebbiének.

Nagyon kevesen gondolkodnak így. Nézzük csak meg az 5-15 évvel ezelőtt megjelent kisebb programokat. Elkezdték fejleszteni ezeket minimális funkciókkal, majd az évek során egyre nagyobbra és nagyobbra duzzasztották őket, teletömve olyan extrákkal, melyekben a felhasználók nagy többsége elveszik és amire a legtöbb embernek semmi szüksége sincs. Így lett az 5-10 MB-os programokból az évek alatt akár 100-200 MB-os (!) úgy, hogy közben kb. ugyanazokat a gombokat és funkciókat használja a felhasználók legnagyobb része. A szoftverek viszont mára sokkal több helyet és sokkal több memóriát is foglalnak.

Ráadásul pedig sokszor indokolatlanul nagy változtatásokat is csinálnak a programokban, teljesen áttervezve a GUI-t (szándékosan nem hoznék fel példának most szoftvereket, de tudnék párat). A felhasználók pedig az új változat első indításakor azt sem tudják, hogy melyik gomb mire jó és mit hol találnak meg. Persze ugyanakkor lehetne néhány jó példákat is felhozni, amikor egy kezelőfelületet sokkal használhatóbbra sikerül csinálni.

Nem a szoftverek fejlődése ellen vagyok, mert haladni kell a korral és lépést tartani az igényekkel, de soha nem szabad elfelejteni, hogy a kevesebb néha több. Nem kell minden régi és jól bevált dolgot lecserélni csak azért, hogy valami új legyen helyette. Aki pedig azt mondja, hogy a billentyűparancsok elavultak (mint a fent említett cikk bevezetőjében is), az érdemi munkára eddig még nem igazán használhatta a számtógépet. :)

Egyébként – biztos vagyok benne, hogy – az az üzleti modell, amit Ghisler is használ (egyszer megveszed, utána pedig az összes változat ingyenes) is nagyban közrejátszik abban, hogy evolúciósan (nem pedig robbanásszerű újításokkal) fejlődik a szoftver.

Ősszel lesz az idei Game Developers Forum

2011. május 5. csütörtök

Az előbb szépen megírtam egy új bejegyzést a Game Developers Forum 2011-ről, ami eredetileg május 13-án került volna megrendezésre, azonban mire kiraktam volna a blogra, addigra áttették a rendezvényt egy őszi időpontra. :)

Van ez így, de legalább nagyobb esélyem van arra, hogy ott lehetek, mert a jövő hetem elég zsúfolt lesz amúgy is, nem beszélve a hétvégéről.

Természetesen majd amikor ismét aktuális lesz a dolog, akkor írni fogok a fenti eseményről.

Erőltetett menet

2011. április 13. szerda

Hamarosan a Mozilla is beáll azoknak a sorába, akik előre meghatározott időközönként fognak szoftvert kiadni. Egészen pontosan a Firefoxról van szó, ami jelenleg a négyes változatnál tart, de a tervek szerint még idén jön az ötös, a hatos és a hetes változat. Nem a Mozilla az első, aki ilyent csinál, így ebben nincs is semmi meglepő. Amin meglepődtem az az, hogy ők is átállnak az ilyen fix időközönként való kiadásokra.

Nyilván marketing szempontjából jó dolog, mert az átlagember számára is jobban hangzik, hogy nem a négyes változatnál tart év vége felé a Firefox, hanem mondjuk már a 7-est adják ki, csak éppen ettől még nem kerül bele több hasznos dolog és jobban összemosódnak a főverziók közötti különbségek. Ha pedig valamelyik újdonság fejlesztésével nem végeznének időben, akkor az majd a következő változatba fog belekrülni (a Firefox esetében 18 hetente terveznek kiadni egy-egy újabb főverziót).

Annak idején nagyon tetszett a Debian hozzáállása a kiadásokhoz: majd akkor adjuk ki a szoftvert, ha elkészül. Sajnos azóta ők is megváltoztatták ezt a gyakorlatot.

A szoftverfejlesztés nem olyan dolog – főleg nem az ilyen szoftverek esetében – amit ennyire pontosan lehet ütemezni, 18 hét ilyen szempontból nagyon rövid idő. Illetve ütemezni azt lehet, csak ha előbb kerül ki egy főverzió a felhasználókhoz, akkor értelemszerűen kevesebb újdonság kerül bele. Persze ezek csak számok, az adott szoftver funkcionalitásában és használhatóságában (elvileg) nincs jelentősége.

Nyilván megvan az oka, hogy miért döntöttek így a fejlesztők és biztos megint én vagyok maradi gondolkodású, de nekem mégis csak jobban tetszik az, ha egy szoftver főverziókat jelölő száma csak akkor ugrik egyet, ha az valóban indokolt és nem akkor, ha azt a marketing vagy bármi más úgy kívánja.