OpenID: poučení z krizového vývoje

Příběh OpenID zatím nekončí, přesto nabízí ponaučení i pro ostatní projekty. Obzvlášť pro projekty podobného ražení. Pokud vám připadá, že se OpenID nějak neujalo a hledáte příčinu v technických problémech, zbystřete – podle všeho se totiž opakuje historie o technicky zajímavém, ale zcela zbytečném řešení.

Lidé se mýlí. Někdy se mýlí rádi („jsem přesvědčen, že tohle nedopadne dobře, i když bych se rád mýlil!“), ale většinou mýlení nepatří mezi vítané kratochvíle. Na druhou stranu každý, kdo se pohybuje v IT (a technologiích vůbec), musí počítat s tím, že se v odhadu zmýlí.

Obvykle nemívám ve zvyku se mýlit. Když už se mi to ale při odhadu vývoje stane, připadá mi snazší říct na rovinu „vypadá to, že jsem se sekl“ než vymýšlet zdůvodnění a vyjmenovávat, kde všude mě vývoj věcí příštích podrazil. Takže: Ohledně OpenID to vypadá, že jsem se řádně sekl.

OpenID od počátků…

Nějakou shodou okolností jsem implementoval OpenID už před mnoha lety v blogovacím systému, kde sloužilo jako „jednotná identita“ pro komentátory – tedy vlastně dělalo přesně to, k čemu bylo původně navrženo. V té době se v ČR o OpenID moc nemluvilo, a když jsem chtěl lidem tuhle novinku „prodat“, musel jsem začít od osvěty, od vysvětlování principu, jak to funguje a k čemu to je – čímž jsem se stal, jaksi mimoděk, propagátorem téhle technologie.

Proč to nepřiznat: OpenID se mi po technické stránce líbilo. Princip je (pro technika) poměrně srozumitelný, nasazení (s knihovnou) práce na jeden den. (Implementovat celý „protokol“, obzvlášť verze 2.0, z čisté vody a na zelené louce je ale horor.)

OpenID se ve světě pěkně rozvinulo, podporovat ho začali „skoro všichni“, od Google a Microsoftu po Seznam, náhle během roku a půl vzniklo mnoho „autorit“ a já vedl dlouhé debaty o OpenID s kolegy vývojáři. Debatovali jsme o technických aspektech toho řešení, o limitech technologie, o bezpečnosti přístupu OpenID, já psal o OpenID články na Zdroják, všechno vypadalo jako velmi slušně rozběhnutá záležitost, ale při pozornějším pohledu bylo vidět, že OpenID na jednu nohu kulhá.

Začala být stále patrnější určitá nevyrovnanost: Počet poskytovatelů, tedy serverů, kde můžete mít svou identitu, byl a je velký. Víc než dostatečný. Problém je na té druhé straně – když už tu identitu máte, kde se s ní přihlásíte? To, že se jaksi nedostává míst, kde můžete OpenID použít, je očividné, ale proč to tak je? Je to snad příliš těžké? Nebo to čeká na nějaký silný impuls, co strhne lavinu?

Technicky nebyl a není s nasazením OpenID velký problém; to, nač nadávají vývojáři, co OpenID implementují, jsou většinou, promiňte mi mou hrubost, banality, řešitelné pomocí přístupu „použij přiměřený nástroj“. Námitky kolegů vývojářů se motají okolo toho, že OpenID je složitý na implementaci (od čeho jsou hotové knihovny?), že je pomalý, nepřehledný, že ho může někdo zneužít nebo že OAuth je mnohem lepší (je to něco jiného!) Je příznačné, že v diskusích vývojářů a implementátorů nezaznívá výtka, která se nakonec ukazuje jako ta podstatná.

Můj omyl spočívá hlavně v tom, že mě až donedávna nenapadlo se na OpenID podívat právě z tohoto úhlu.

Problém s OpenID

OpenID má, podle všeho, výraznou konstrukční vadu, co nespočívá v technologii, ale v nezvládnuté ambici. OpenID totiž dnes řeší problém, který lidi nepálí.

Pregnantně shrnul tento poznatek Yishan Wong ve své, dnes již proslulé, odpovědi na serveru Quora. „Není snad nutnost registrovat se a udržovat různé identity na různých serverech velký problém, který všichni máme?“ Odpověď zní: „Ne, není!“

Wong správně poukazuje na to, že tuto záležitost řeší lidé různými způsoby: zaregistrují se se svým oblíbeným jménem a heslem, zaregistrují se a kliknou na „pamatuj si mě“, uloží si heslo do prohlížeče, neregistrují se a jdou jinam… Ajťákům budou vstávat vlasy hrůzou nad tím, jak lidé nedodržují pravidla bezpečnosti, ale realita je, že většina lidí se chce dostat na stránku a nějak s ní pracovat. Nebudou ale používat něco, co řeší problém, který je nezajímá.

Stav OpenID podle Wonga odpovídá situaci, kdy si technik všimne, že lidé nosí spoustu klíčů na kroužku. Zamyslí se, řekne si: „To musí být nepohodlné!“ a navrhne řešení – univerzální klíč v něčem, co vypadá jako mobilní telefon. Ten pak nabídne lidem: „Helejte, tady máte něco místo té vaší spousty klíčů –  tam si můžete některé z klíčů dát, zamknout si je dalším klíčem a používat je. Akorát že to nefunguje na všech zámcích, takže některé z těch klíčů na kroužku si budete muset nechat, jen k nim teď přidáte tenhle divný mobil. Jo a nefunguje to jako mobil. A je na tom logo nějaké firmy. Do té firmy to pošle zprávu vždycky, když to někde použijete!“

S Wongem polemizuje Scott Gilbertson, který tvrdí, že pokud je OpenID propadák, pak tedy velmi úspěšný. Argumentuje 50 000 weby, kde lze OpenID použít – a vzápětí dodává, že „pro spoustu uživatelů je přihlašování přes OpenID obtížné, takže jej nepoužívají“. I když je k dispozici těch 50k webů. Uvádí příklad podobné služby Facebook Connect, připomíná OpenID Connect, zmiňuje podporu OpenID na StackOverflow…

Podle Wonga však má Facebook Connect podobný problém jako OpenID. Jakákoli služba tohoto druhu bude mít stejný problém. Technologicky bude možná přijatelná, snadno ji na web kdekdo nasadí, ale jidé ji nebudou chtít používat, protože řeší problém, který lidé nemají.

Gilbertson správně poukazuje na to, že jednou možná bude OpenID skrytý kdesi v hlubinách prohlížeče a bude nás přihlašovat na požádání, jako to dneska dělá se jménem a heslem. Nabízí se otázka: Proč by to dělal? Když už dnes umí uživatele přihlásit jménem a heslem, v čem je tedy ten podstatný rozdíl, kvůli kterému by to měl dělat pomocí OpenID?

Je OpenID mrtvé?

Musím se přiznat, že mi Wongovy argumenty připadají srozumitelné; čím delší dobu jsem pryč od programování, tím víc jim rozumím. Věřím, že kdyby OpenID zůstal coby nástroj pro přenášení ověřené identity komentátorů mezi blogy, byl by přijatelný. Po technické stránce je OpenID použitelné; z hlediska uživatelského rozhraní v něm taky není zásadní problém (je to pouhý protokol, vlastní implementace může být mnohem použitelnější než to, co současné weby předvádějí). Jen ta zatrolená užitečnost, s tou je potíž.

OpenID není zatím odepsaný, na to v něm firmy utopily příliš mnoho peněz – je to ale zboží, po kterém nevznikla poptávka. Je stále patrnější, že toto bude ten hlavní problém, který nevyřeší žádná úprava specifikace.

Ostatně: pro každý projekt, technologii, nápad je rozhodující, jestli řeší problém, který lidé cítí. (Ve skutečnosti ho mít nemusí, stačí, když si budou myslet, že ho mají.) To je to, co v důsledku rozhodne – ani ne technická vyspělost, ani zpracování, ani snadnost použití! Na to často tvůrci a vynálezci zapomínají…

V té souvislosti nelze nezmínit MojeID (a – ano, vím že tu je na něj reklama).

Když se na mojeID podíváme „Wongovým pohledem“, nutně si položíme otázku: „Je jednotné a ověřené přihlášení na různé weby se všemi osobními údaji věc, která nám tu chyběla?“ Obchodníci možná odpoví, že ano, že pro ně to je užitečné. Klíčová otázka, která rozhodne, ale je: chybí to uživatelům, zákazníkům, lidem? A zde si právě nejsem ani trochu jist jednoznačným souhlasem. I když bych se rád mýlil.

K tématu: Learning from our Mistakes: The Failure of OpenID, AtomPub and XML on the Web

Začal programovat v roce 1984 s programovatelnou kalkulačkou. Pokračoval k BASICu, assembleru Z80, Forthu, Pascalu, Céčku, dalším assemblerům, před časem v PHP a teď by rád neprogramoval a radši se věnoval starým počítačům.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 97

Přehled komentářů

Rdm já myslím, že ani openid ani mojeid uživateli nechybí
Oldis Re: já myslím, že ani openid ani mojeid uživateli nechybí
BobTheBuilder Re: já myslím, že ani openid ani mojeid uživateli nechybí
Pavel Šimerda Re: já myslím, že ani openid ani mojeid uživateli nechybí
Oldis Re: OpenID: poučení z krizového vývoje
debil Re: OpenID: poučení z krizového vývoje
dracul Re: OpenID: poučení z krizového vývoje
Ondra Kněžour Re: OpenID: poučení z krizového vývoje
dracul Re: OpenID: poučení z krizového vývoje
Ondra Kněžour Re: OpenID: poučení z krizového vývoje
Pavel Šimerda Re: OpenID: poučení z krizového vývoje
Pavel Šimerda Re: OpenID: poučení z krizového vývoje
nepřihlásím Re: OpenID: poučení z krizového vývoje
belzebub souhlas
Pavel Šimerda (pavlix) Re: souhlas
volani.webnode.cz Re: souhlas
Pavel Šimerda Re: souhlas
Pavel Šimerda Povedlo se
Martin Malý Re: Povedlo se
František Kučera Re: Povedlo se
Pavel Šimerda Re: Povedlo se
www.google.com Re: Povedlo se
Pavel Šimerda Re: Povedlo se
Inkvizitor Re: Povedlo se
MilosNemec Mě ten problém pálí
Jindřich Re: Mě ten problém pálí
MilosNemec Re: Mě ten problém pálí
Jindřich Re: Mě ten problém pálí
MilosNemec Re: Mě ten problém pálí
Los Re: Mě ten problém pálí
Rdm Re: Mě ten problém pálí
iki Re: Mě ten problém pálí
Pavel Šimerda Re: Mě ten problém pálí
Pavel Šimerda Re: Mě ten problém pálí
ondra.novacisko.cz S clankem v zasade nesouhlasim
JmJ Re: S clankem v zasade nesouhlasim
Martin Malý Re: S clankem v zasade nesouhlasim
ondra.novacisko.cz Re: S clankem v zasade nesouhlasim
Martin Malý Re: S clankem v zasade nesouhlasim
ondra.novacisko.cz Re: S clankem v zasade nesouhlasim
Martin Malý Re: S clankem v zasade nesouhlasim
ondra.novacisko.cz Re: S clankem v zasade nesouhlasim
alancox Re: S clankem v zasade nesouhlasim
Pavel Šimerda Re: S clankem v zasade nesouhlasim
anonym Re: S clankem v zasade nesouhlasim
František Kučera Re: S clankem v zasade nesouhlasim
jet Re: S clankem v zasade nesouhlasim
anonym Re: S clankem v zasade nesouhlasim
Tomáš Tintěra Cyba OpenID je skutečně v neužitečnosti. Ale je to jeho designem.
Maaartin Re: S clankem v zasade nesouhlasim
Tronda Re: S clankem v zasade nesouhlasim
Anonym Proč nemít jednu identitu?
shade Re: Proč nemít jednu identitu?
Anonym V podstatě ano,
keff Re: V podstatě ano,
Mordae Re: V podstatě ano,
Anonym Ano,
Pavel Šimerda Re: Ano,
alancox Re: V podstatě ano,
Pavel Šimerda Re: V podstatě ano,
Pavel Šimerda Re: V podstatě ano,
alancox Re: Proč nemít jednu identitu?
Pavel OpenID
Martin Malý Re: OpenID
ondra.novacisko.cz Zbytečná paranioa
JmJ Re: Zbytečná paranioa
Karel Re: Zbytečná paranioa
ondra.novacisko.cz Re: Zbytečná paranioa
František Kučera Re: Zbytečná paranioa
ondra.novacisko.cz Re: Zbytečná paranioa
alancox Re: Zbytečná paranioa
Opravdový odborník :-) Re: OpenID: poučení z krizového vývoje
Tronda Re: OpenID: poučení z krizového vývoje
Martin Malý Re: OpenID: poučení z krizového vývoje
ondra.novacisko.cz Re: OpenID: poučení z krizového vývoje
alancox Re: OpenID: poučení z krizového vývoje
Pavel Šimerda Re: OpenID: poučení z krizového vývoje
veros Použití OpenID v praxi
Pavel Šimerda Re: Použití OpenID v praxi
Martin Malý Re: Použití OpenID v praxi
ondra.novacisko.cz Re: Použití OpenID v praxi
Pavel Šimerda Re: Použití OpenID v praxi
veros Re: Použití OpenID v praxi
Jan Re: Použití OpenID v praxi
veros Re: Použití OpenID v praxi
Pavel Šimerda Re: Použití OpenID v praxi
cz3dtc Lidé chtějí anonymitu
veros Re: Lidé chtějí anonymitu
Pavel Šimerda Re: Lidé chtějí anonymitu
imploder soutěž o iPad a Kindle 3
Pavel Šimerda Re: soutěž o iPad a Kindle 3
Tom Re: soutěž o iPad a Kindle 3
imploder Re: soutěž o iPad a Kindle 3
imploder Re: soutěž o iPad a Kindle 3
Clock A jake problemy tedy lidi pali?
František Kučera Re: A jake problemy tedy lidi pali?
ondra.novacisko.cz Re: A jake problemy tedy lidi pali?
Zdroj: https://www.zdrojak.cz/?p=3515