23. 11. 2005 v sekci webdesign:

Opravdu jednoduché vyhledávání

Zatím žádný z vyhledávacích formulářů mě neznechutil takovým způsobem, jako vyhledávání v Databázi titulů Supraphonu. Vyhledávací formuláře tam mají dva a ani jeden není použitelný či dokonce uživatelsky přítulný. Jednoduché vyhledávání Začneme tím jednodušším – vpravdě jednoduchým vyhledáváním vlevo na stránce. Zadám tedy název do formuláře a BUM! vyskočí na mě hláška není zvoleno KDE hledat. Přece nebudu vybírat kategorii […]

Zatím žádný z vyhledávacích formulářů mě neznechutil takovým způsobem, jako vyhledávání v Databázi titulů Supraphonu. Vyhledávací formuláře tam mají dva a ani jeden není použitelný či dokonce uživatelsky přítulný.

Jednoduché vyhledávání

Začneme tím jednodušším – vpravdě jednoduchým vyhledáváním vlevo na stránce. Zadám tedy název do formuláře a BUM! vyskočí na mě hláška není zvoleno KDE hledat. Přece nebudu vybírat kategorii ručně! Jednoduché vyhledávání je pro mě zbytečnou ztrátou času, snad je formulář vpravo lepší.

Komplexní vyhledávání

Komplexní vyhledávání byl skutečný důvod tohoto článku. Dobře si ho na Supraphonu prohlédněte, protože takhle tedy skutečně NE. Pro ilustraci – co mi proletí hlavou, když projdu jednotlivé položky vyhledávání:

  • Co jsou to sakra závorky? Já nepotřebuju myslet matematicky i na Internetu.
  • Rolovátko KDE HLEDAT není řazeno podle abecedy, nevyznám se v něm
  • Vztah – mé zmatení pokračuje
  • Co hledat – jediné políčko, které vlastně potřebuju
  • A/Nebo – a v rolovátku AND a OR.. k čemu to je?

Stisknu enter a vyhledávání nenajde nic. Pro odeslání formuláře totiž nejdříve musím kliknout na ZAPSAT a pak teprve na HLEDAT. Kliknout! Vždyť já odesílám formuláře entrem! Bonus – když zapomenu a stisknu enter, tak proběhne předešlé vyhledávání a pracně vyplněný formulář se smázne. Znechucen odcházím.

Komentáře

1. heh
23. 11. 05, 10.47

No tady bych se Supraphonu zastal – k tomu co potřebuješ ty, slouží „Pokročilé hledání“ v levém sloupci (prostě třeba zadáš autora, stiskneš Enter a vyjedou ti výsledky). Vyhledávání v DATABÁZI titulů je postaveno databázově i pro ty, kteří neovládají SQL – a můžeš přes něj zadat opravdu složité dotazy. Rychle jsem si pročetl tam uvedené příklady zadání dotazů a bylo mi to celkem jasné:) Jediné co mi tedy taky vadí je nutnost zadat „kde hledat“ u jednoduchého vyhledávání (zřejmě kvůli zkrácení doby zpracování?).

23. 11. 05, 13.27

No to teda nevim, proc by se melo vyhledavani pro profiky v DB delat takovymto zpusobem. Ten formular je nepouzitelny tak jako tak.. :-/ a slozite dotazy jdou zadat do jednoho pole, pokud se dobre nedefinuji souvisejici prikazy..

3. heh
23. 11. 05, 14.48

No právě že ne pro profíky:) Asi je to zbytečně složité, ale úplně mimo mi to nepřijde. Pro běžné hledání je tam hlavně „Pokročilé vyhledávání“, které v článku vůbec nezmiňuješ a které funguje bez problémů a je i uživatelsky přítulné, řekl bych:)

4. heh
23. 11. 05, 15.02

No, nakonec odvolávám, co jsem odvolal…:) Pokud například v posledním definovaném řádku dotazu zapomenete vymazat operátor, vyhledávač to nezkousne – objeví se vtipná hláška ve smyslu „Nadbytečný operátor!“. No když už pozná, že je nadbytečný, mohl by ho i úspěšně ignorovat, ne:)? Takže shrnutí – idea zajímavá, zpracování nedobré.

5. KobOn
23. 11. 05, 18.21

Podle mě komplexní hledání je pro profíky, kteří chtějí najít přesně to, co potřebují. Pro ostatní je tam jednoduché a pokročilé hledání. Kdo nepotřebuje nebo neumí používat logické operátory a nebo „neví co je to závorka“ :-) a nebo neumí myslet logicky, tak ať použije jednoduché hledání. Myslím, že je to na Supraphonu udělané podobně jako v Googlu, ale narozdíl od googlu není potřeba znát jeho složitou syntax, abych vytvořil složitý dotaz. Tady prostě javascript dotaz vytvoří za uživatele. Otázka je s přistupností. Ale když holt chceš pokročilé hledání, musíš mít browser i s javascriptem.

23. 11. 05, 20.14

Kdyby byl Supraphon udělanej jako Google, tak bych mlčel jako hrob :-)

7. /\/\aňazZ
23. 11. 05, 20.42

Je tr zbytečně složitý, správnej programátor myslí na uživatele jenoduché. Jsem sic v SQL DB poměrně zběhlý, ale tohle mě také znechutilo.

8. /\/\aňazZ
23. 11. 05, 20.47

Na druhou stranu musím podotknout, že kdo chce něco opravdu vyhledat a opravdu něco potřebuje, tak to využije, nevyužije to a nadávat bude nějakej šťoural co jde okolo :)

23. 11. 05, 23.48

Ad [8] To je poněkud mimo: Ten formulář nevyužije ten, kdo chce něco najít, ale ten, kdo pochopí, jak to funguje. Nemusí jít jen o šťourala, co šel okolo. Co když to vyhledávání potřebuju, ale kvůli zmatenosti a složitosti formuláře ho nemohu použít? Jsem také jen šťoural?

Podle mě pokud je to komplexní vyhledávání v databázi určené pro profíky, tak ti by nejspíš více ocenili zadání jednořádkového, logicky strukturovaného dotazu, než té hrůzy, co tam je teď.

24. 11. 05, 08.51

Před třemi lety jsem vedl ve tým společnosti iMagic tým, který tvořil katalog pro Supraphon. Na analýze jeho datových struktur a chování k uživateli jsem strávil desítky hodin. Proto bych chtěl k hodnocení autora připojit pár faktů, které doplní informace o katalogu.

Předně bych bych chtěl ale poděkovat autorovi za zvýšení návštěvnosti Supraphonu (i když pravděpodobně ne lidmi z cílové skupiny klienta:-) a komentátorům i autorovi za některé podnětné návrhy, které pravděpodobně budou zapracovány v budoucnu.

Katalog Supraphonu je unikátní projekt v daném oboru pravděpodobně nejen na českém internetu. Unikátní především díky velmi propracovanému rozsáhlému archivu Supraphonu, jehož data přes synchronizační skripty protékají na web. Unikátnost samozřejmě neodhalí ten, kdo se povrchně podívá na formulář a nechce vidět a/nebo nechce/neumí přemýšlet o tom, co mu to zobrazilo za výsledky. Ač to laik na první pohled možná neodhalí, za katalogem stojí docela komplexní relační databáze s více než 40ti tabulkami. Díky ní fajnšmekr může nalézt odpověď na dotaz typu „na kterém CD je skladba AB, v níž je část skladby AB1, kterou nahrál Orchestr CD řízený dirigentem EF s interpretem GH).

Nyní ale ke konkrétním tématům – jednoduchému a komplexnímu vyhledávání.

JEDNODUCHE VYHLEDAVANI

U jednoduchého vyhledávání bych se samozřejmě při povrchním pohledu na věc držel zásady prezentované třeba v knize Steve Kruga „Nenuťte uživatele přemýšlet“ a  nenutil bych bych ho volit, kde hledat. Při detailnějším pohledu, ale poznáte, že by to byl krok proti němu. Důvodů je hned několik.

Kdybychom udělali vyhledávání bez specifikace KDE, znamenalo by to JOIN více než deseti tabulek (docela rozsáhlých). Na stroji, kde to běželo před 3mi lety to trvalo 10sec (byl to dedik). Tj. pár současných uživatelů by stroj spolehlivě položilo.

Šlo by to řešit tím, že to postupně vyhledám v dílčích polích, a pak prezentuji uživateli dílčí n-tice typu „bylo nalezeno n- titulů s autorem XY“. Tím by se částečně snížily nároky na výkon.

PROČ bychom ale uživateli ztěžovali jeho hledání??? V prvním případě by zbytečně dlouho čekal na výsledky, které stejně nejsou příliš relevantní (při zadání Dvořák, to vyhledá spoustu záznamů, které s pravděpodobným cílem hledání tj. skladatel Dvořák nemají nic společného – protože interpretů Dvořák je řada). V druhém případě by taky čekal déle než je nutné a prezentoval bych mu 4n-tice záznamů, které nepotřebuje. Uživatel v tomto případě SKUTEČNĚ VÍ jestli chce hledat název nebo autora či interpreta (samozřejmě, kdybych dělal katalog produktů, tak mu nedám volit jestli chce hledat v poli Popis nebo Název…).

Proto je zvoleno řešení s volbou „kde hledat“ a jsem si jist, že to je pro uživatele v dané aplikaci to nejlepší řešení.

KOMPLEXNÍ HLEDÁNÍ
Nejsem fajnšmekrem na vážnou hudbu a dost mě překvapilo, že paní z archivu Supraphonu řešila denně několik mailů s požadavkem na dohledání titulu se zadáním dotazu, který jsem prezentoval nahoře (spíš ještě složitějších). Právě těmto fandům je určeno komplexní hledání (paní z archivu původně požadovala ještě víc možností hledání).

Nevím o cestě, jak bychom danou funkcionalitu zpřístupnili bez možnosti upravovat prioritu jednotlivých výrazů (tj. částí spojených AND/OR) přes závorky a vůbec bez použití operátorů. Pokud někdo nabídne řešení bez jejich použití a při zachování požadované funkcionality, věnuji rok hostingu zdarma!!!

Hodně jsme přemýšleli i o tom jak otextovat jednotlivé položky, aby to bylo i nematematikovi zřejmé. Výsledek jsme testovali na týmu laiků a nakonec použili. Neříkám že to je absolutně nejlepší cesta, ale o lepší zatím nevím. I zde uvítám náměty (pošlete na renda@imagic.cz).

Abychom ještě více přiblížili složitou funkcionalitu komplexního hledání laikovi, připravili jsme vzorové postupy pro hledání ve formě VÝRAZNÉ nápovědy. I ty jsme testovali na laicích. Opravdu nemohu víc udělat pro lidi, které z principu nápovědu nečtou…

Věřím, že prezentované fakta pomohou čtenářům udělat si kompentnější názor na problematiku katalogu Supraphon.

Samozřejmě uvítám náměty na jeho vylepšení – nejsme neomylní.

Mirek Renda

11. Antirux
24. 11. 05, 20.51

Po přečtení článku jsem se podíval na adresu Supraphonu a po prvním letmém prohlédnutí jsem byl opravdu zmaten a netušil jsem jak se vyhledává.

Přečetl jsem si tedy komentáře a když jsem dočetl rozsáhlý přízpěvek [10], rozhodl jsem se to zkusit ještě jednou. Naladil jsem se tedy na vlnu hudebního nadšence, prošel jsem celou nápovědu a musím uznat, že kdybych teď chtěl opravdu něco najít, věděl bych si rady…tedy až na jednu věc – ani nápověda mi neobjasnila ty závroky – pochopili jste někdo jak fungují???

24. 11. 05, 23.22

Hmmm, docela dobrý podnět [11]. díky profesní deformaci by mě ani ve snu nenapadlo, že někdo neví věc jako priorita operátorů. Měl jsem za to, že to je záležitost z konce základky…

Takže – operátory se vyhodnocují v určitém pořadí – nejprve AND pak OR atd. (další operátory zde nejsou). Tj. pokud chci udělat dotaz „dej skladbu, na které hraje buď X nebo Y a zároveň diriguje Z“ nemohu napsat něco ve smyslu hraje=X OR hraje=Y AND diriguje=Z; musím napsat (hraje=X OR hraje=Y) AND diriguje=Y

Díky za další námět k zamyšlení…

24. 11. 05, 23.32

Dotaz na závorky mě donutil se podívat na vzorové příklady. Už trochu líp chápu Antirux e – ten příklad 3, kde jsou závorky prezentované, je samozřejmě špatně – nejsou tam třeba. :-(())

Opravíme to tam spolu s lepším vysvětlením…