effektív c m s · 2015-04-23 · válaszidő 0.1 sec –azonnali válasz (100ms) 0.6 sec...

68
Vándor Tamás Effektív C M S

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Vándor Tamás

Effektív C M S

Page 2: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Tematika

Sebesség

UI Design

Akadálymentesség

Page 3: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Sebesség

Page 4: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Válaszidő

0.1 sec – Azonnali válasz (100ms)

0.6 sec – Folyamatos, megszakítatlan

működés (Gmail, 600ms)

1 sec – Folyamatos működés, de a

felhasználó már észreveszi

10 sec – A fókusz elvesztésének határa

http://www.useit.com/papers/responsetime.html

Page 5: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Sebesség

Szerver oldali (Backend)A felhasználó kezdeti kérése a szerver felé, a szerver összeállítja a

HTML dokumentumot, és a válasz megérkezik a böngészőprogramhoz.

Kliens oldali (Frontend)Minden, ami a HTML dokumentum megérkezése után történik

beleértve:

– a szerver oldali időt (főként statikus fájlok olvasása),

– a hálózati továbbítás idejét,

– a HTML, CSS, JS fájlok feldolgozását, és a JS végrehajtását.

http://cs193h.stevesouders.com

Page 6: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

A sebesség kritikus tényező

A felhasználók észreveszik

Használhatóság

Nagyobb látogatószám, több eladás

Google: +500 ms -20% traffic

Amazon: +100 ms -1% sales

http://cs193h.stevesouders.com

Page 7: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Idő arányok

5% Backend95% Frontend

Cache szerepe jelentős.1. Frissesség (Expiration date)

2. Érvényesség (Since last-modified)

Firebug: wired.com FF 11.0

Page 8: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Sebességmérés

Firebug Net panel

másik szoftver: HTTPWatch

Page 9: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

HTTP fejlécekKÉRÉS GET http://www.wired.com/js/cn-fe-common/jquery-1.6.4.min.js

Accept: */*

Accept-Encoding: gzip, deflate

Accept-Language: en-us,hu-hu;q=0.8,hu;q=0.5,en;q=0.3

Connection: keep-alive

Host: www.wired.com

Referer: http://www.wired.com/

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0

...

VÁLASZ HTTP/1.1 200 OK

Accept-Ranges: bytes

Cache-Control: public, max-age=18684

Connection: keep-alive

Content-Encoding: gzip

Content-Length: 32103

Content-Type: text/html; charset=UTF-8

Date: Fri, 30 Mar 2012 18:41:00 GMT

...

Page 10: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

If-Modified-Since

If-Modified-Since Thu, 15 Mar 2012 01:30:54 GMT

HTTP/1.1 304 Not Modified

IMS érvényesség lekérdezése

IMS az oldal újratöltése esetén

ETag + If-None-Match is használható az

érvényesség lekérdezésére.

Page 11: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

14 szabály (Yahoo)

1. Kevesebb HTTP kérés

2. Használj CDN-t

3. Hosszú lejárati dátum a fejlécekben

4. Gzip tömörítés

5. CSS-t az oldal elejére

6. JS-t az oldal aljára

7. Ne használj CSS expression-t

8. Külső JS és CSS

9. DNS kérések minimalizálása

10. JS tömörítés

11. Átirányítások kerülése

12. Dupla JS kódok eliminálása

13. Etag-ek konfigurálása

14. AJAX gyorsítótár használata

http://cs193h.stevesouders.com

Page 12: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

YSlow

Firebug + YSlow =

14(+9) szabály ellenőrzése

Page 13: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

1. szabály: Kevesebb HTTP kérés

Több JS helyett 1 JS

Több CSS helyett 1 CSS

Image maps

CSS sprites

Inline képek

200

100

Page 14: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

2. szabály: Használj CDN-t

CDN = Content Delivery Network

Geográfiai terheléselosztás

Fordított proxy

Előbb a statikus tartalmak

Szolgáltatók: Akamai, Mirror Image, Amazon, …

http://cs193h.stevesouders.com

Page 15: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

3. szabály: Hosszú lejárati dátum a fejlécekben

Hosszú lejárat = 1 év (átlagos kép életkor 100 nap felett)

Változtasd meg a fájlnevet! (Agresszív proxy szerverek.)

Expires: HTTP/1.0, max-age: HTTP/1.1

Expire meghatározott dátum:Expires Thu, 10 Apr 2014 06:21:53 GMT

max-age másodpercek száma:21600 [= 6 óra]

Expires esetén fontos a kliens és a szerver óráinak

szinkronizálása

max-age felülírja az Expires fejlécet

http://cs193h.stevesouders.com

Page 16: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

4. szabály: Gzip tömörítés

Accept-Encoding: gzip, deflate

Content-Encoding: gzip

Válasz mérete: -70%

Böngészők támogatják: 90%+

HTML, CSS, JS

1KByte felett

Képekre nem érdemes

CPU terhelést növel szerver és kliens oldalon is

http://cs193h.stevesouders.com

Page 17: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

5. szabály: CSS-t az oldal elejére

A weboldal töltődése visszajelzés a felhasználónak

(progress indicator)

IE: minden CSS letöltést megvár és utána rajzol

– Indoklás: újrarajzolás elkerülése

– Lassúnak tűnik

– Nincs visszajelzés, hirtelen megjelenik a teljes oldal

FF: közben is mutatja az oldalt,

– Feltételezi, hogy a CSS-t előre helyezte a fejlesztő

– A végére helyezett CSS megváltoztathatja a stílust

– Újrarajzoláskor villog

http://cs193h.stevesouders.com

Page 18: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

6. szabály: JS-t az oldal aljára

HTTP/1.1 javaslat: 2 párhuzamos kapcsolat / felhasználó

Eredmény: lépcsőzetes letöltés, oldalbetöltés ideje nő

minden újabb 2 komponens hozzáadásával

Modern böngészők: 6 párhuzamos kapcsolat

Több domain használata növeli a párhuzamosságot

JS blokkolja az oldal további betöltését

– Document.write: elkerülés, alternatív megoldások

– Ads: iframe, AJAX töltés

– Kód függőség: JS-ek kombinálása, amennyire lehet az oldal aljára

– Opera: késlelteti a JS betöltést a végéig, emlékszik a

document.write pozíciójára

http://cs193h.stevesouders.com

Page 19: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

7. szabály: Ne használj CSS expression-t

width:expression(document.body.clientWidth > 800? "800px": "auto" );

background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );

Csak IE 5-7: dinamikus CSS tulajdonság beállítás

Probléma: gyakori kiértékelés, lelassítja az oldalt

– Egérmozgással 10 000 kiértékelés 1 perc alatt

– Oldal görgetése (scroll)

– Billentyű lenyomás

Megoldások:

– Esemény kezelők (pl. onresize)

– Egyszeri kiértékelés (dinamikus felülírás)

http://cs193h.stevesouders.com

Page 20: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

8. szabály: Külső JS és CSS

HTML méret növekedése vs. kérések száma

JS, CSS cache mentése

HTML minden alkalommal letöltődik

HTML mérete nagyobb inline JS, CSS esetén

Programozási szempontból sem előnyös

40-60% üres cache / felhasználó napi látogatása

75-85% feltöltött cache oldalletöltések / nap

http://cs193h.stevesouders.com

Page 21: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

9. szabály: DNS kérések minimalizálása

1 DNS lekérdezés ~20-100ms, néha > 500ms

OS és a böngésző tárolja a DNS feloldásokat

Keep-Alive használata

– HTTP/1.1 alapértelmezés

– Előny: kevesebb CPU, hálózati torlódás, nincs kézfogás

– Apache 15 sec

– Hátrány: felesleges nyitott kapcsolatok, foglalt erőforrások

DNS vs. Párhuzamos letöltés

– Legtöbbet használt domain nevek meghatározása

– Max 2-4 gyakran használt domainipconfig /displaydnsorigo.hu----------------------------------------Rekord neve . . . . . : origo.huRekordtípus . . . . . : 1Élettartam . . . . : 22385 /in sec/Adathossz . . . . . : 4Szakasz . . . . . . . : VálaszA (állomás) rekord . . . : 195.228.240.145http://cs193h.stevesouders.com

Page 22: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

10. szabály: JS tömörítés

Felesleges karakterek eltávolítása

csökkenti a fájlméretet

Kommentek, white space karakterek

Obfuscation: változók neveinek rövidítése,

kód összekeverés (hátrányok)

JSMin, Google Minify, YUI Compressor, …

CSS tömörítés – kevésbé hatékony

http://cs193h.stevesouders.com

Page 23: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

11. szabály: Átirányítások kerülése

301 Moved Permanently

302 Moved Temporarily (aka, Found)

Átirányítjuk a betöltést másik URL-re

Mindent késleltet, a teljes betöltési

folyamatot eltolja időben

Átirányítás oka: szebb URL, forgalom

követés, azonosítás

http://cs193h.stevesouders.com

Page 24: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

12. szabály: Dupla JS kódok eliminálása

Teljesítmény csökkenés

– Felesleges HTTP kérések (IE, reload)

– JS dupla értelmezése, végrehajtása (IE+FF)

Mikor fordul elő?

– Ads

– Iframe

http://cs193h.stevesouders.com

Page 25: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

13. szabály: Etag-ek konfigurálása

Válasz: ETag: "19f1e-7920-4525b037f0440„

Kérés: If-None-Match: "19f1e-7920-4525b037f0440"

Válasz: HTTP/1.1 304 Not Modified

Érvényesség ellenőrzése

ETag egyedi az erőforrás minden verziójára

Többféle attribútum alapján képződik, ami függ a szervertől is

– Apache ETags „inode-size-timestamp" (inode – szerverfüggő)

– IE ETags "timestamp:changenumber„ (changenumber - szerverfüggő

Megoldás:

– Apache: FileETag none

– IIS: changenumber szinkronizálása az összes szerveren

http://cs193h.stevesouders.com

Page 26: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

14. szabály: AJAX gyorsítótár használata

Asynchronous JavaScript and XML

– Passzív: várható felhasználói igények miatt előre futtatjuk

– Aktív: válaszul a felhasználó kattintására/műveletére

Aszinkron <> azonnali válasz (pl. email keresés)

Az eddigi szabályokból alkalmazható:

– Hosszú Expire fejléc (Legfontosabb!)

– Gzip

– JS tömörítés (minify)

– Átirányítások elkerülése

– Etags konfigurálás

HTML vs. XHR cache

– HTML URL: gyakran fix, könyvjelzők, kereszthivatkozások,

felhasználók megjegyzik

– XHR URL: nem látható, fejlesztő kontrollálja, módosítható a cache

kikerülése érdekében http://cs193h.stevesouders.com

Page 27: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

UI design

Page 28: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

300 millió dolláros gomb

Web áruház fizetni szeretnék gomb megnyomása utáni űrlap

2 mező: email, jelszó + 2 gomb: Login, Register

Eredeti elgondolás: segíti a visszatérő vásárlókat, első

vásárlóknak is jó lesz, mert visszajönnek

Valóság:

– Miért kell regisztrálnom, csak vásárolni szeretnék?

– Nem emlékszem a jelszóra, néha az email-re sem. (Visszatérőket is

érintő probléma)

– A kereskedő az adataimat akarja. (Nem kért extra adatot a kereskedő)

– A vásárlók 45%-a rendelkezett dupla regisztrációval.

Megoldás: Continue gomb + kis magyarázat a nem kötelező

regisztrációról

Eredmény: +300 millió USD bevétel az 1. évben

Web Form Design author: Luke Wroblewski

Page 29: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Ergonómia – Legrövidebb út

Fitts törvénye (Paul Fitts, pszichológus az Ohio State

University-n, 1964)

– Finom szenzomotoros koordináció összefüggése az idővel, mérettel és

pozícionálással

– Repülésbiztonság

– „MT” a cél átlagos elérési ideje

– Az „a” és „b” empirikus konstansok (lin. regregsszió)

– „A” távolság kezdőpont és a cél középpontja között

– „W” szélesség, „c” környezetfüggő konstans 0,0.5,1

Mágikus élek (Magic edges), mágikus sarkok (Magic corners),

Gombok közelsége pl. Mentés és Törlés

Terhelés tervezés

– Megfelelő és elégséges információ

– A lehető legkevesebb kattintás

Page 30: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Ergonómia – Fitts’ törvénye

615 ms 627 ms 633 ms

Page 31: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Ergonómia – Fitts’ törvénye

552 ms 641 ms 705 ms

Page 32: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Ergonómia – Fitts’ törvénye

475 ms 617 ms 824 ms

Page 33: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Ergonómia – Fitts’ törvénye

Mit jelent ez?

Méretezés – Fitts’ törvénye alapján a gombokat megfelelően nagyra kell méretezni, mivel a

felhasználók lassabban és nehezebben kattintanak kisebb gombokra

Ha kicsi a gomb felirata, akkor tervezzük szélesebbre:

Célterület – Az egész gomb legyen kattintható, ne csak a felirat.

Kompenzálás – Ha a gombok, linkek távolabb

helyezkednek el egymástól, akkor érdemes nagyobb

méretűre tervezni őket, hogy kompenzáljuk az elérhetőségüket.

Page 34: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Használhatósági tesztelés

Thinking Aloud - #1 teszt

5 felhasználó

N(1-(1-L)n)

– N = összes használhatósági

probléma

– L = 1 felhasználó által

felismert problémák aránya %

– n = tesztelő felhasználók

száma

L ~ 31%

0 felhasználó = 0 információ

Miért nem 15?

– Iteráció és költségek

http://www.useit.com/alertbox/20000319.html

Page 35: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

„Hangos gondolkodás” teszt

#1 Használhatósági tesztelési módszer A rendszer felhasználói közül minden fő szerepkörből 5-6 fő kiválasztása.

Reprezentatív feladatok végrehajtásának kérése.

A “hangos gondolkodás” lényege, hogy a felhasználók a vizsgált rendszeren végzett feladatok

közben folyamatosan szóban is kifejezik a gondolataikat.

Előnyök Könnyen kivitelezhető

Rugalmas– Már tervezés fázis során is használható

Meggyőző eredmények – Azonnal látható a felhasználó reakciója a felülettel és sokszor eltér attól, amit a felhasználó egy interjú során mond a rendszerről

Megbízható

Hátrányok Nem természetes szituáció

Szűrt állítások vs. közvetlen reakció

Nem elég önmagában ez a módszer

Page 36: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Felülettervezés

Felület hogy fog kinézni?

Vázlat melyek az alkalmazás konkrét

komponensei?

Struktúra hogyan illeszkednek a puzzle darabjai egy

képpé és hogyan viselkednek?

Hatókör milyen funkciókat szükséges megvalósítani a

stratégia eléréséhez?

Stratégia mit kívánunk elérni az alkalmazással? Mit

szeretnének a felhasználóink?

Page 37: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

UI design mérése – Google Analytics

1. A látogató letölt egy weboldalt az

Analytics kóddal

2. JS tömb _gaq létrehozása, mérést

elindító parancsokkal

3. <script> létrehozása, aszinkron

betöltés engedélyezése

4. Ga.js betöltése, http(s) választás,

mérés elindul

5. DOM beillesztés

6. 1x1 GIF kérés küldése adatokkal

Analytics adatbázisnak

Intranet és Flash követésre is alkalmas!

Page 38: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

UI design mérése – Google Analytics

Mit mérünk?

– Időbeli eloszlás

– Tartalom: oldalletöltések,

egyedi látogatók,

visszapattanás, oldalon töltött

idő

– Látogatók földrajzi

elhelyezkedése, OS,

böngésző & verzió, flash

verzió, képernyőméret, …

– Forgalmi források: direkt,

másik oldalról, kereső,

kulcsszavak, reklámok, …

– Oldalon belüli elemzés (heat

map)

Page 39: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Szemmozgás követés

Infravörös fény + CCD

30ms mozgás érzékelés

Feldolgozási gyorsaság mérése

Hotspots - Heatmap

Gaze plots

– visszajátszás is

– export

http://www.uxmatters.com/mt/archives/2005/12/introduction-to-eyetracking-seeing-through-your-users-eyes.php

Page 40: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Űrlapok elrendezése

Balra, jobbra, felülre igazított címkék

Melyik a legjobb?

– Felül: 1 irány, mező és címke közelsége,

gyors feldolgozás, címke hossza nem

kötött, de nagy vertikális tér

– Jobb: mező és címke közelsége,

kevesebb vertikális tér, de kevésbé gyors

feldolgozás, címke hossza kötött

– Bal: gyors címkefeldolgozás, kevesebb

vertikális tér, de nagy mező és címke

távolság

Szemmozgás követési idők címke és

hozzá tartozó mező között

– Felül: 50ms

– Jobb: 240ms

– Bal: 500msWeb Form Design author: Luke Wroblewski

Page 41: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Találd meg a kék pontokat!

O(1) idő, azonnali felismerés

Designing Interfaces author: Jenifer Tidwell

Page 42: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Találd meg a kék pontokat!

O(1) idő mérettől nem függ

Designing Interfaces author: Jenifer Tidwell

Page 43: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Találd meg az 1-nél nagyobb számokat!

Nem is olyan egyszerű…

Designing Interfaces author: Jenifer Tidwell

Page 44: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Karakterfelismerés

Találd meg a nem 3-as karaktereket!

Page 45: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Gestalt alapelvek

Automatikusan, azonnal felismert alakzatok

Designing Interfaces author: Jenifer Tidwell

Page 46: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Usability – Grids (continuity)

Khoi Vinh – Mark Boulton: Grids Are Good

Page 47: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Usability – Grids (continuity)

Khoi Vinh – Mark Boulton: Grids Are Good

Page 48: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Usability – Azonnal felismert attribútumok

Jennifer Tidwell: Designing Interfaces

Page 49: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Akadálymentesség

Page 50: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Tévedések

Külön lap létrehozása vakoknak

Akadálymentesség = vakbarát

Gyengénlátók nagy kontrasztú oldala = vakoknak szóló oldal

Csak a fogyatékkal élők szempontjából jó

Túl sok követelmény, nem lehet betartani

WAI esetén nem lehet táblázatot használni

Page 51: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Célcsoportok

Fogyatékossággal élők

Technológiailag megkülönböztetettek

Speciális célcsoportok

Page 52: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Fogyatékkal élők

Vakok

– Külön lap?

– Beszédes linkek

Gyengénlátók

– Nagy kontraszt

– Betűméret állítása

Színvakok

– Szín ne hordozzon fontos információt

Hallássérültek

– Zajos környék (étterem, műhely)

– Videó mellett felirat vagy leírás

Mozgássérültek

– Csak egér vagy csak billentyűzet

– Sok gépelés (cookie)

Értelmileg visszamaradottak

– Vezetni a felhasználót (kikapcsolható)

Page 53: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Technológiailag megkülönböztetettek

Eltérő képernyőméret

– 19’’ LCD képernyők

– Mobil, PDA (vízszintes görgetés)

Elavult böngésző

– JavaScript,

– Flash,

– Java (Vagy pl. reptér – letiltott JavaScript)

Gyenge hardware

– Kis sávszélesség (képek, Winword HTML)

– Akadozó hálózati kapcsolat (ma is gyakori rövid időszakaszokon

szélessávú elérésen is)

– Proxy szűrés

Page 54: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Web Content Accessibility Guidelines

Priority 1 (must)

Priority 2 (should)

Priority 3 (may)

KIETB ajánlás is tartalmazza!

USA Rehabilitation Act 508. section

www.w3.org

Page 55: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 1 (must)

Alternatív szöveg biztosítása

Szín ne hordozzon információt

Nyelvváltások jelzése

CSS nélküli olvashatóság

A dinamikus tartalmak alternatívái az eredetivel együtt

változzanak

Ne villogjon

Egyszerű nyelvezet

Redundáns linkek biztosítása szerver oldali image maphez

www.w3.org

Page 56: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 1 (must)

Redundáns linkek biztosítása szerver oldali image map

navigációhoz

Kliens oldali image map a szerver oldali helyett, kivéve ha a

régiók nem definiálhatók geometrikus alakzatokkal

Tábla sor- és oszlopfejlécek azonosítása

Keret (frame) azonosítás és navigáció

Applet és script nélkül is használható az oldal

Multimédia objektumok esetén szöveges leírás biztosítása

Multimédia objektum és szöveges alternatíva időbeli

szinkronja

Ha minden erőfeszítés ellenére sem sikerült az eredeti oldalt akadálymentessé tenni,

akkor és csak akkor biztosítani kell egy alternatív oldalra mutató linket

www.w3.org

Page 57: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Milyen a jó HTML?

DOCTYPE – ne bízzunk a böngészők találgatásaiban

CSS nem a HTML része – nullázás, resetelés

HTML nyelv teljes kihasználása – néhány elemet

elfelejtettünk

Böngésző osztályok (A,C,X) megvalósítása könnyebb WAI

esetén

JavaScript

– Külső JS fájlok

– Ne függj vagy bízz a JavaScript-ben

– Ellenőrizd létezik-e

– Változók és láthatóság

– Több eseménykezelő

<thead><tfoot><tbody><caption>

Nate Koechley: Professional Frontend Engineering

Page 58: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Melyik a jobb?

1. <span class=”title”>This is a title</span>

2. <h1>This is a title</h1>

3. <p><b>This is a title</b></p>

Nate Koechley: Professional Frontend Engineering

Page 59: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Melyik a jobb?

1. alma<br /> körte <br />

2. <li>alma <li> körte

3. <li> alma</li> <li>körte</li>

4. <ul><li>alma</li> <li>körte</li></ul>

Nate Koechley: Professional Frontend Engineering

Page 60: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Melyik a jobb?

1.

<dl>

<dt>List of Stuff </dt>

<dd>apple</dd>

<dd>orange</dd>

</dl>

2.

<h3>List of Stuff</h3>

<ul><li>apple</li>

<li>orange</li></ul>

Nate Koechley: Professional Frontend Engineering

Page 61: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Melyik a jobb?

1. <div id=”lablec”>© 2012 Webra …</div>

2. <div id=”lablec”><p>© 2012 Webra …</p></div>

Nate Koechley: Professional Frontend Engineering

Page 62: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 2 – 1. rész

Háttér és előtér szín kontrasztja képek esetén

Jelölő (markup) nyelv használata képek helyett pl. felsorolás

Ellenőrzött, ajánlásoknak megfelelő dokumentumok (HTML, CSS)

CSS használat az oldal struktúrára, formázásra (pl. CSS font vs. HTML FONT)

Relatív egységek az abszolút helyett az attribútumok értékeimben pl. em

HEADER elemek megfelelő használata (H1-H6)

Felsorolások, számozott listák helyes használata

BLOCKQUOTE használata idézetekre (nem formázásra)

Dinamikus tartalom akadálymentes legyen vagy biztosítsunk alternatív szöveget

Villogás kiküszöbölése

Automatikus frissítés elkerülése

Átirányítás elkerülése

Felugró ablakok elkerülése és a tartalom megváltoztatásáról a felhasználó

értesítés

W3C ajánlások követése

Elavult (Deprecated) technológiák mellőzése

Információ kisebb blokkokba történő rendezése

www.w3.org

Page 63: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 2 – 2. rész

Értelmezhető, beszédes linkek (click here kerülése)

Meta adatok használata

Honlaptérkép

Konzisztens navigáció (használhatósági szempont is)

Ne használjunk táblázatokat az oldal elrendezésének kialakítására

Ha táblázatot használunk az oldal elrendezésére, ne használjunk sor- és/vagy

oszlopfejléceket

Keretek (frame) céljának leírása

Űrlapok esetén ügyeljünk a címkék és vezérlők helye pozícionálására

Definiáljuk a címkék és vezérlőik összetartozását

Script és applet használata esetén az eseménykezelők legyenek beviteli eszköz

függetlenek

Kerüljük el a mozgó tartalmak alkalmazását

Direkt elérhetőség az applet és script elemekre vagy kompatibilitás

akadálymentes technológiákkal

A külön interfésszel rendelkező elemek esetén az interfész eszköz független

legyen

Logikai eseménykezelők az eszközfüggő eseménykezelők helyett (onfocus)www.w3.org

Page 64: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 3 – 1. rész

Rövidítések és betűszavak magyarázata

A dokumentum elsődleges nyelvének azonosítása

TAB sorrend

Gyorsbillentyűk, billentyű kombinációk linkekhez, image mapekhez, űrlapokhoz,

vezérlőkhöz (adatbevitel gyorsítása)

Nyomtatható, elválasztó karakter alkalmazása egymás melletti linkek esetén

Felhasználó preferenciák kiszolgálása (pl. francia nyelvű oldalverzió)

Konzisztens navigáció (megjelenés, pozíció oldalon belül)

Csoportosított linkek, csoport azonosítása

Különböző szintű keresési lehetőségek

Fejlécek, bekezdések, listák elején megkülönböztető jel használata

Összefoglaló információ többoldalas dokumentumok vagy gyűjtemények esetén

ASCII rajzok átugrása, értelmezése

Hosszabb alternatív leírás biztosítása a képekhez, grafikonokhoz,

hanganyaghoz, amelyek a szöveg értelmezése szempontjából fontosak

Konzisztens arculat

Kliens oldali image map régióihoz leírás biztosítása

www.w3.org

Page 65: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Prioritás 3 – 2. rész

Összefoglaló táblázatokhoz

Rövidítés a fejlécekhez

A nem linearizálható táblázatokhoz alternatív szöveg biztosítása

Szövegbeviteli mezők alapértelmezett feltöltése

www.w3.org

Page 66: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Automatikus ellenőrzés – Cynthia Says

http://www.contentquality.com

Page 67: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

További automatikus ellenőrzések

HTML ellenőrzés

http://validator.w3.org/

CSS ellenőrzés

http://jigsaw.w3.org/css-validator/

JSLint

http://www.jslint.com

Tipp: FireFox Developer toolbar

Page 68: Effektív C M S · 2015-04-23 · Válaszidő 0.1 sec –Azonnali válasz (100ms) 0.6 sec –Folyamatos, megszakítatlan működés (Gmail, 600ms) 1 sec –Folyamatos működés,

Köszönöm a figyelmet!

Vándor Tamá[email protected]