User Experience programování : Použitelnost dot kom

User Experience programování

Březen 13, 2010 by Berka
Rubriky: Laici, Pokročilí, Zaujalo mě, Začátečníci 

Napsal mi kamarád, velmi zkušený programátor:

> Uplne super UX vec, alespon z demicka to tak vypada. Chtel bych videt testy na programatorech. Ikdyz, hotovi programatori maji hotove navyky

>…
> Co na to rikas ?

http://www.cs.brown.edu/people/acb/codebubbles_site.htm

Ahoj Z…,

už je to dost let, co jsem naposledy programoval, ale jestli říkají, že mají kvalitativní i kvantitativní data, které prokazují zlepšení a jestli je jim co věřit, věřil bych jim. Jsou to vědci, ti si snad navzájem ověřují vásledky, i když…

Byl jsem na prezentaci person, jak je dělali pro NetBeans. Tam měli asi šest radikálně různých person. Věřím, že Code Bubles může některé z nich pomoci a zvýšit produktivitu. Tak proč do toho nejít.

Code Bubles je vlastně dashboard – jedno místo, kde vidíš vše podstatné. To je dobrý koncept.

Jsem přesvědčený, že jak se za mě programovalo (čtyři a víc let zpět, pozn. red.) (editor, kompilace, debuger, tester, produkce), bylo dost špatně – použitelnost velmi nízká. Však se podívejme na hlavní paradigma – každý software musí mít chyby. Žádný rozumný softwarový tým se neobejde bez testerů a ani ti nenajdou všechny problémy – tady je něco špatně systémově. Také to, že softwary vyžadují školení, a dokumentaci, je špatně. A je otázka, co za to může. Podle mě je chyba právě v tom, jak se software tvoří. Za největší zlo považuji debuger – musí to jít bez něj.

Zkusím najít čas, což bude velmi těžké, a vymyslet co s tím. Vlastně je to dost výzva.

Máte někdo z vás nějaký nápad?

Přeji hezký den

Berka

Komentáře



Článek byl komentován 7x.

  1. Zamboch on So, 13th Bře 2010 10:58 pm
  2. Myslim ze prevenci je TDD, to krasne minimalizuje chyby v business logice. Zdaleka ale neverim ze tester se da eliminovat. Mam sveho testera rad :-)

    Debugger je vhodny pro hledani chyby v algoritmech, normalni mozek si proste tu stavovou masinu nedokaze promyslet do hloubky. A tak je potreba si pripravit scenar ktery nefunguje a krok za krokem si prohlizet stav do ktereho jsme se dostali. Tim se zjisti v cem clovek udelal chybu, tj. kde realita neodpovida predpokladu. No a to zni jako zadani od uzivatele pro UX lidi.

    Coz mi pripomina dalsi slibnou techniku ktera se snad brzo dostane do mainstreamu: staticka analyza kodu a formalni overeni deklarovanych predpokladu.

  3. Berka on So, 13th Bře 2010 11:38 pm
  4. [Zamboch] Tak si to představ, co řeší programátor za úkol – pomocí jednorozměrné sekvence písmen a číslic popisuje reálný 2D/3D svět. Pomocí sekvenčního algoritmu definuje komunikaci s paralelním člověkem.

    To, že normální člověk nedomyslí stavový diagram do hloubky, a musí, je chyba. Ale ne člověka. Právě že je třeba vymyslet něco, aby nemusela ta kvanta nevinných programátorů nejdřív tvrdě studovat a pak pracovat v cizorodém chladném prostředí vývojového diagramu. To je ta moje výzva.

    Kdybys nepotřeboval testera, mohl by tvůj milec s tebou programovat :-) Udělali byste toho víc ;)

  5. Jakub on So, 13th Bře 2010 11:47 pm
  6. Tak ono dost záleží, pro jakou platformu programuješ. Problém je, že programátoři jsou taky lidi, tudíž dělají chyby. A nástroje, který jim pomáhají tyhle chyby najít nejde vymýtit úplně. Asi jsem nepochopil, proč je podle Vás debuger špatně.

    Existují techniky, jak se chybám vyhnout, třeba zmíněné TDD a s tím podle mě dost spojená agilní technika countinuous integration, ale prvotní odladění chyb dnes umí editor – tj zvýraznění chybné syntaxe. Pokročilejší IDE, jako VS umí i u silně typových jazyků rozhodnout, jestli takové a takové přirovnání je vůbec možné ještě před samotnou kompilací. Debuger je jen další level a TDD další.

    Školení a dokumentace se bude psát tak dlouho, dokud to klient bude vyžadovat. Nevím, jak jako neprogramátor chcete spasit svět programátorů, ale nemyslím, že na to najdete odpověď. Programování jako věda je tu už nějaký rok a každý máme nějaké návyky, které dodržujeme, aby jsme programovali s méně chybami a ty návyky, které se ustálily, se přejmenovali na návrhové vzory. A pokud se debuger ustálil, asi na něm něco bude :)

  7. Berka on Ne, 14th Bře 2010 12:29 am
  8. [Jakub] Byl bych rád, kdybychom si tady tykali.

    Mám vystudováno IT, programování mě dost let živilo, takže trochu tuším, o čem to je :-) Jen už teď neprogramuji.

    Na školení a dokumentaci je z pohledu UX špatně to, že existují. Jsou uživatelé, těm je dost let na to, aby obstáli ve velmi komplikovaném reálném světě. Dokáží si sehnat potravu, rozmnožit se, nezmrznout, neotrávit se, vydělat si na počítač… spousta velmi komplikovaných úloh, jen nám jdou jaksi samy. Na druhé straně je software, tedy něco, co bylo vytvořeno pro uživatele a ne naopak. Člověk se ale podle tvůrců softwaru musí najednou něco učit, studovat, pamatovat si… jako by tu člověk byl pro ten software. Toto mám proti školení. Raději bych (a to je úlohou UX) ukázal vývojářům, co jsou to lidé a dokonce bych jim k tomu dal manuál (persony). Dokonce bych je vozil na safari s uživateli (uživatelské testování)…

    Techniky, jak se chybám vyhnout, neexistují. Jen je lze redukovat.

  9. Berka on Ne, 14th Bře 2010 12:34 am
  10. Tento článek je provokativní, alespoň se zamyslíme na tím, jestli nejde vyvíjet software nějak rapidně jinak.

    Je pravdou, že jsem přesvědčen, že UX samotného vývoje softwaru je nic moc.

  11. Berka on Ne, 14th Bře 2010 12:58 am
  12. Kdysi byly všechny softwary volány z příkazové řádky. Moc lidí to nedalo. Pak přišel Apple s použitelným grafickým GUI. Dnes mají všichni možnost pracovat s GUI a tím se počítače zpřístupnily opravdu (skoro) všem.

    Nevidím důvod, proč by si nemohla moje máma něco naprogramovat. Třeba gamesku do iPhonu pro vnuka. Napoprvé. Bez chyb. Bez debugeru. Bez testera. Bez celého toho aparátu, který dnes potřebujeme.

  13. Zamboch on Ne, 28th Bře 2010 7:57 am

Pokud chceš mít u svých příspěvků obrázek, zaregistruj se na gravataru!