2013. szeptember 30., hétfő

Mobilra optimalizálás

Mostani témám a PHP programozásról a következő: egy oldal mobilra történő optimalizálása. Hatalmas probléma, hiszen dönthetsz úgy, hogy külön mobiloldalt készítesz az oldal adatbázisa alapján, vagy a meglévő stílust átalakítod mobilon is nézhetővé. Én ez utóbbinak vagyok híve, és ezért ástam bele magamat a Bootstrap-be... amit ismét tanulhatok meg újra, hiszen a 3-as verzió alapjaiban más, mint a 2-es.

A Bootstrap 3-as verziójának új jelszava: a mobilra optimalizálás már nem opció, hanem elsődleges! Igenis igény van arra, hogy egy oldalt mobilról is lehessen olvasni, böngészni. Nagyon sokminden változott benne, és aki frissíteni akarja a verziót, az egész oldal CSS hivatkozásainak a class-ait át kell migrálnia, ha 3-as verzióra frissít.

De a Bootstrap-ről később... mert szerintem nem egészen tökéletes az a megoldás, hogy csak a szélességét nézzük egy oldalnak! Az, aki azt mondja, hogy elég, ha a mobiloldal responzív, akkor az számtalan bosszúsággal néz szembe. Egy mobiloldal nem nézhető meg úgy, hogy csak a szélességét változtatjuk meg, és elég, ha néhány elem eltűnik és megjelenik máshol... mert nagyon sok dolog nem így működik.

Sok helyen úgy csinálják, hogy külön oldalt terveznek a mobilok felé, csak az adatbázis a közös. Ez azért nem jó, mert a Google számára a canonical metatagot is be kell állítani, hogy ne legyen duplikáció. A legjobb az MVC (model-view-controller) framework-ökben azt, hogyha akarod, akkor a mobiloldalaknak más sablont készítesz, és a controllernek meghatározod, hogy melyiket hívja be. Így a link ugyanaz, csak az oldal lesz más.

Tehát az is megoldás, hogy különböző view-okat készítesz, és a PHP agent detektálás (pl. a http://mobiledetect.net.) által meghatározod, hogy melyik template-t töltöd be. Az oldal tartalma (content) általában ugyanaz, elég, ha ezt responsívnak tervezed, a többi tartalomelemet, widget-eket pedig hozzáigazítod.


De ha ragaszkodsz a responsive megoldáshoz, keverheted is módszereket - csak egy template-t használsz, a tagnak adsz egy id-t, amit a PHP-s detektálás által meghatározol, majd CSS-ben és JQuery-vel így hivatkozol a responsív részekre: body#mobile vagy body#tablet.

Mint fentebb említettem, a csak responsive megoldás nem tökéletes megoldás. Bár lehet, hogy Amerikában a képek letöltése pikk-pakk megvan, a hazai mobilszolgáltatók előszeretettel tesznek adatmennyiségi korlátot a nagysebességű 3G csomagokra. Ha pedig letelik az adatmennyiség, csiga lassúsággal mehetsz tovább 2G-vel, vagy WIFI-re vadászhatsz... Paradoxon ugyanis az, hogy az emberek türelmetlenek, és ha egy oldal betöltése 1 percnél tovább tart, akkor a felhasználó már rögtön más oldal után néz... Ilyen feltételek mellett a képeket is optimalizálnod kell, és képek esetében nem választható módszer az, hogy elég ha responsív... vagyis... a PHP-s eszközdetektálás által azt a képet választod ki, amelyik a legoptimálisabb szélességre is, és fájlméretben is.

Megteheted azt, hogy a kép linkje nem maga a kép, hanem egy kiválasztó controller, és külön mappára rakod a mobilra szánt elemeket, a tabletre szánt elemeket és a számítógépre szánt elemeket. Ha pedig a felhasználók tudnak képeket feltölteni, akkor lehet külön mappákba rakni a bélyegképeket abban a méretben, amikben szeretnéd, hogy megjelenjenek (pl. a mobiloldal thumbnailjei 80 pixel nagyságúak, a tablet-é 120 pixel, az asztali 150 pixel).

Őrült paradoxon szerint kell tervezni egy weboldalt. Miközben az asztali gépekre szinte elvárás lesz a nagy háttérképek használata, addig a mobiloldalaknál még mindig a kicsi a legjobb... a megoldás persze, hogy a responsívitás, de a nagy kép nem lesz optimális fájlméretben. Remélem, hogy tudtam segíteni abban, hogy megtaláld a legjobb megoldást.

2013. szeptember 24., kedd

Igényszint és ár/érték arány

Egy kis elmélkedésemet osztom meg, természetesen le lehet hurrogni, de az is lehet, hogy van benne valami... Szóval történt egyszer egy vitatkozás egy közösségi oldalon, aminek szemtanúja voltam. A két srác azon vitatkozott, hogy ő egy koncertre akkor is hazajön Svájcból, ha fene-fenét eszik is, és így neki megéri, hiszen a haverokkal együtt bulizhat, a másik meg vidékről sajnálta a pénzt rá... Kicsit elgondolkoztam a vitán, és elméletet gyártottam. Egyértelmű, hogy a vita az anyagiakról szólt, de bizonyára van benne más is.


Mit nevezek a címben igényszintnek, és szerintem mi az az árérték arány...

Csak egy egyszerű példát említek: adott egy étterem, és két ember, aki ott ebédel. Az egyik azt mondja, hogy nagyon jók a kaják, kedves a kiszolgáló személyzet, és még olcsó is. A másik szerint nem finom az étel, sokáig kellett várni, és szerinte drága.

A példát tekintve azt mondjuk, a másik személynek magasabbak az igényei. De miért? Társadalmi okokból? Életkor? Lakhely? Végzettség? Foglalkozás? Fizetés?
Azt hihetnénk, hogy egy fiatalnak alacsonyabbak az igényei, egy egyetemi végzettségűnek magasabbak, egy vidéki ember kisebb szolgáltatással is megelégszik, egy tanár többet szeretne kapni, és egy milliomos szeretne fürödni a luxusban.

Akkor vegyük újra a példát, nevezzük az elégedettebb személy Ádámnak, a másikat Balázsnak. Ádám egy budapesti egyetemista tanár, aki a minisztériumban dolgozik. Megvendégeli rég nem látott barátját, Balázst, akivel még a középiskolában együtt lógott. Balázs vidékre költözött a szüleihez, és egy gyártósor mellett talált állást.
Ha a fenti sztereotípiákat vesszük, akkor azok alapján Ádámnak kellene magasabbnak lennie az igényszintnek, nem pedig Balázsnak. Ha azt is belevesszük, hogy Ádám vendégelte meg Balázst, akkor végképp nem lehet érteni a panaszkodását.

Ahhoz, hogy megértsük a helyzetet, nem szabad a sztereotípiára hagyatkozni. Az igényszintet, vagy elvárási szintet mindig is relatívnak kell tekinteni, és az előzményektől is függ. A viszonyítási alap ebben a példában a következő: Ádám sok étteremben járt már, így bátran merte odavinni barátját kedvenc törzshelyére. Balázsnak nincs pénze ahhoz, hogy étterembe járjon, neki a házi koszt marad - édesanyja főztje, ami nagyon is megfelel az ízlésének.

Ha megfordítjuk a helyzetet: ha Balázs ajánlott volna egy olyan kifőzdét, amit már korábban ajánlottak volna neki, akkor szinte biztos, hogy Ádám lett volna elégedetlen, annak ellenére, hogy azonnal megkapták volna az ételt, nagyon olcsón kijöttek volna, és még finom is az étel. Ádám igényeibe bizonyára benne van az, hogy kiszolgálják, hogy az étkezés előtt beszélgetni tudnak, és hangulatos a hely. A sztereotípia alapján az igényszint ebben az esetben a helyén is lett volna...
Bár az igényszint egyéninek tűnik, a kapott eredmények összegezhetők, és az így kapott eredmény alapján maga a vállalkozás dönthet, hogy módosít-e az üzleti modelljén. Ha pl. sokan mondják azt, hogy az étel nem ízlik, pocsék a kiszolgálás, akkor a cég vezetése kirúghatja a szakácsot vagy módosít a ételválasztékon, és a pincérekkel elbeszélget. Ám ezen eredmények nehezen csikarhatók ki a vendégekből. Az elégedett vevő nem fogja elmondani a véleményét - az elégedetlen az, aki jobban ki meri mondani... aminek hangozhat úgy is, hogy dögöljön meg a szomszéd tehene... Nem marad más eszköze a vállalkozásoknak, mint az eredményből, a törzsvevői adatbázisból történő találgatás...

Ehhez a témakörhöz tartozik a mostanában hangoztatott ár/érték arány is. Ha úgy nézzük, akkor ez a viszonyítási alap is erősen szubjektív, főleg azt nézve, hogy az érték nem más, mint az igényszint. De az ár is szubjektív, hiszen a mai világban mindent beleszámol: a ráfordított időt, az utazási költségeket, de még a jövedelmét is figyelembe veszi, még akkor is, ha erre nem is gondol.

Vegyünk ismét egy példát: lehet, hogy egy budapestinek nagyon könnyű cigit vennie, hiszen csak a szomszédba ugrik le. Ugyanaz a doboz cigi sokkal többe kerül egy vidékinek, főleg, ha a szomszéd faluba kell leugrania... De vegyünk egy internetes szolgáltatást, ami gyakorlatilag ingyen van - csak van az internetnek költsége, bonyolult űrlapokkal bajlódás, mindenféle kényelmetlenségek.

A jövedelemszint nagyban befolyásolja az ár/érték arányt. Akinek a jövedelme magas, az szinte meg sem érez 20000 Ft-ot, de akinek alacsony, az már másként tekint az árra. Önkéntelenül is figyelembe veszi azt, hogy ezért az összegért mennyit dolgozik, mennyit tud félrerakni egy hónapban. Ha hitelre kényszerül, azt is figyelembe veszi, hogy mennyit kell visszafizetnie - feltéve, ha felelősen gondolkozó személyről van szó... Tehát az "ár" nem is árt jelent, hanem azt, hogy mennyi időt fektetett bele az adott áru megszerzéséért. Minél magasabb neki ez az érték, annál jelentősebbnek érzi az árat.
Apropó, hitel. A legtöbb ember még akkor sem tudja felmérni a hitele értékét, ha a bank figyelmezteti előre, hogy mivel járhat. Pl. ha hitelből meg tudja szerezni az adott terméket, akkor pikk-pakk más lesz neki az ár/érték aránya, mert nem veszi bele azt, hogy emiatt mennyit kell havonta törlesztenie.

Kapcsolódjunk vissza az igényszintre. Azt lehet tapasztalni a mai világban, hogy minél nagyobb a szubjektív ár, annál nagyobbak igények... amit teljesen lehetetlenség teljesíteni. Pl. egy budapesti koncert más egy budapesti számára, és más egy vidéki számára. Míg a budapestinek a koncertjegyen és a tömegközlekedésen kívül nem kell mást kifizetnie, addig egy vidékinek meg kell oldania az odautazást, az éjszakázást is. Ez alapján érthető, hogy csakis a szeretett banda, énekes kedvéért hajlandó ennyit áldozni.

A fentiek alapján érthető, ha két ember közt egyre nagyobb a szakadék. Hogy csak egy másik példát mutassak: egy bécsi kirándulás kiruccanást jelent az egyiknek, a másiknak már felér egy nyaralással. Vagy amikor egy luxuscikkért kimegy külföldre, mert ott sokkal olcsóbb.