torstai 2. joulukuuta 2010

Testauksen avainkysymys?

Virheetöntä ohjelmistoa ei ole olemassakaan. Ohjelmistot ovat ihmiskunnan monimutkaisimpia tuotteita, joten ei siis ihme, että niiden täydellinen testaaminen on mahdotonta. Netin kautta automaattisesti päivittyvät bugikorjaukset ovat jokaiselle koneenkäyttäjälle arkipäivää. Tietokoneiden lisäksi korjauksia tulee myös esimerkiksi matkapuhelimiin ja nykyisin jopa pelikonsoleihin. 
Ohjelmistotieteilijä E.W. Dijkstra on lausunut jo 70-luvulla edelleen paikkansa pitävän faktan: 
Testing shows the presence, not the absence of bugs. 
Testaaminen on siis menetelmä, jolla ohjelmistojen virheitä voidaan osoittaa, mutta sen sijaan ohjelmiston virheettömyyttä ei voida aukottomasti todistaa. Niinpä testauksen avainkysymys onkin: koska ollaan testattu tarpeeksi? Toisin sanoen: koska yhden virheen löytämiseen käytetty aika on kokonaisuudessaan kannattavaa? Kannattavuuden määritelmä riippuu paljon ohjelmiston käyttökohteesta. Esimerkiksi lentokoneen ohjausjärjestelmän testaukseen käytetään useita vuosia, kun taas helposti päivitettävässä web-sovelluksessa päästään huomattavasti pienemmillä testauspanoksilla. Ohjelmointityön jälkeen löydettyjen virheiden määrä vähenee jatkuvasti suhteessa testaukseen käytettävään aikaan. Jokaisen sovelluksen kohdalla onkin erikseen määriteltävä, kuinka kauan kyseistä järjestelmää kannattaa testata. Millaisia ongelmia virheet aiheuttavat käyttäjille? Kuinka helppoa virheet on paikata jälkikäteen? Millainen testauspanostus tekee liiketoiminnasta vielä taloudellisesti kannattavaa?

lauantai 19. kesäkuuta 2010

Visual Studio 2010 - mitä jäi käteen?

Visual Studio 2010:n näkyvin muutos on sininen käyttöliittymä.
Maaliskuussa Microsoft julkaisi odotetusti Visual Studion kymppiversion markkinointinimellä 2010. Pidän Visual Studiota ehdottomasti parhaimpana IDE:nä, mutta odotuksistani huolimatta 2010 versio ei tarjonnut .NET 4.0 tuen lisäksi juuri mitään uutta. Päinvastoin - päivitys oli hienoinen pettymys: uusi versio vaikuttaa huomattavasti edeltäjiään hitaammalta, tuki SSIS ja SSAS kehitykselle puuttuu kokonaan ja IDE:stä on saatavilla ainoastaan 32 bittinen versio. Toki pieniä uudistuksia on paljon ja esimerkiksi Windows Presentation Foundation (WPF) kehittäjälle 2010 on tervetullut päivitys, mutta palvelinohjelmoijalle näkyvin muutos on hidastunut IDE ja uusi sininen käyttöliittymä. Lisäksi jos kehitystyökaluihin lukeutuu SSIS, SSAS ja .NET 4.0, niin koneessa saa pitää Visual Studion versiot 2008 ja 2010 vielä pitkään rinnakkain. Jos tukea .NET 4.0:lle ei tarvitse, niin en suosittele tekemään päivitystä lainkaan tässä vaiheessa. Täytyy toivoa, että SP1 poistaa ongelmat ainakin hitauden suhteen. Millaisia kokemuksia muilla on Visual Studio 2010:stä?

sunnuntai 14. helmikuuta 2010

6 syytä miksi ribbon päihittää menu- ja toolbarin?

Office 2007:n yhteydessä Microsoft uudisti tutun toimistopaketin käyttöliittymän, vaihtamalla menu- ja toolbarin valintanauhaksi, eli ribboniksi. Sittemmin Windows 7:n myötä myös muissa tutuissa sovelluksissa tehtiin sama uudistus, kuten Paintissa ja Wordpadissa. Myös tulevan Office 2010:n käyttöliittymä tulee perustumaan ribboniin. Toistaiseksi ribbon ei ole yleistynyt vielä muissa, kuin Microsoftin ohjelmissa, mutta parantuneiden ohjelmistokehitysvälineiden myötä näin tulee mitä todennäköisemmin käymään. Esimerkiksi tänä vuonna julkaistava .NET Framework 4.0 tulee sisältämään ribbon-käyttöliittymäkomponentin, jolloin valintanauhan käyttö omissa sovelluksissa helpottuu.
Microsoftin kehittämä valintanauha, eli ribbon, on ikään kuin yhdistelmä vanhasta menu- ja toolbarista.
Valintanauha on ikään kuin yhdistelmä vanhasta menu- ja toolbarista. Ribbon perustuu välilehtirakenteeseen, jossa välilehdet vastaavat vanhaa menubaria. Välilehtien sisältö sen sijaan vastaa vanhaa toolbaria, muutamien parannusten kera. Esimerkiksi yllä olevassa kuvassa välilehdet home ja view vastaavat vanhoja menubarin file ja view valikoita. Sen sijaan, että välilehdet aukaisisivat alivalikkoja, ne avaavatkin omanlaisiaan toolbareja. Ribbon on saanut osakseen myös paljon kritiikkiä ja osa käyttäjistä ei pidä sitä lainkaan helppokäyttöisenä. Mielestäni tässä on kuitenkin kysymys normaalista muutosvastarinnasta ja pienen totuttelun jälkeen ribbonin edut tulevat esiin. Ribbonin etuja perinteisiin menu- ja toolbareihin verrattuna ovat:
  1. Tärkeitä toimintoja voidaan korostaa ja vähemmän tärkeitä alikorostaa. Tehosteina ikonit, toimintojen koko, tekstit, väritykset, sijoittelu ja ryhmittely.
  2. Samankaltaiset toiminnot voidaan ryhmitellä keskenään ja ryhmä voidaan nimetä. Esimerkiksi kuvassa näkyvät tools, shapes ja colors ovat ryhmiä.
  3. Toiminnon klikkaus ei piilota valintoja. Toisin kuin menubarissa, valikkoa ei tarvitse avata aina uudestaan toimintoja vaihdettaessa vaan se säilyy esillä. Tämä vähentää klikkausten määrää huomattavasti. Ribbonin saa haluessaan toimimaan myös vanhan menubarin kaltaisesti, jolloin valinnan jälkeen vaihtoehdot katoavat. Tätä kannattaa käyttää ainoastaan pieniresoluutioisilla näytöillä.
  4. Ikoneiden, värien ja ryhmittelyn käyttö parantaa toimintojen muistettavuutta, verrattaessa pelkkään toiminnon tekstiin.
  5. Ribboniin voidaan upottaa paljon monipuolisempia komponentteja, kuin pelkkiä nappeja. Tämä parantaa ribbonin käyttömahdollisuuksia, kun pelkkien nappien sijaan ribbonin voidaan sijoittaa jopa pienimuotoisia toimintoja. Tällä voidaan päästä eroon muutamista pienistä popup-toiminnoista.
  6. Kuhunkin käyttötilanteeseen soveltuvat toiminnot ovat esillä kaikki kerrallaan, eikä muihin tilanteisiin tarkoitetut toiminnot sekoita näkymää.

maanantai 18. tammikuuta 2010

Käyttöliittymien seuraava sukupolvi on NUI

Tietokoneiden käyttöliittymät ovat kehittyneet tasaisesti aina 80-luvulta lähtien. Vielä 80-luvun alkupuolella suurin osa käyttöliittymistä oli merkkipohjaisia CUI-käyttöliittymiä (Character User Interface), joiden käytön oppiminen vaati todellista opettelua ja aiheeseen paneutumista. Jotkut pitävät tallaisista käyttöliittymistä edelleen ja on totta, että merkkipohjaiset käyttöliittymät ovat tehokkuudeltaan erinomaisia, mutta esimerkiksi opittavuudeltaan, muistettavuudeltaan ja virhealttiudeltaan kehnoja.
Niinpä 80-luvun puolivälissä ja 90-luvun alussa yleistyivät graafiset käyttöliittymät, eli GUI:t (Graphical User Interface). Suurin osa nykyisistä käyttöliittymistä perustuu GUI:hin, eli perinteisesti tietokoneen graafiseen työpöytään ja siihen liittyviin epäsuoriin ohjainlaitteisiin kuten hiireen. Tällaisille käyttöliittymille on luonteenomaista ikkunat, napit, valikot ja muut tuhansista ohjelmista tutut kontrollit, joita ihmisten on ollut pakko opetella käyttämään vastatakseen työelämän ja yhteiskunnan muuttuneisiin tarpeisiin. GUI-käyttöliittymien käytettävyys voi olla erinomainen, joskin se riippuu käyttöliittymän suunnitteluntyön onnistumisesta.

Käyttöliittymät ovat kehittyneet CLI:stä GUI:hin ja pian myös GUI:sta NUI:hin (kuva: http://www.flickr.com/photos/wlonline/2898044840/).
Käyttöliittymien seuraava sukupolvi on 2000-luvulla päätään nostanut NUI (Natural User Interface). NUI-käyttöliittymissä käyttö perustuu ihmisille luontaisiin eleisiin, kosketukseen, puheohjaukseen yms. NUI käyttöliittymässä käytetyt eleet ovat ihmisille reaalimaailmasta tuttuja, jolloin ne ovat automaattisesti intuitiivisia ja helppo oppia. NUI järjestelmät ovat tietoisia myös laitteen ympäristöstä ja siinä tapahtuvista muutoksista ja osaavat reagoida muuttuneisiin olosuhteisiin toivotulla tavalla.
Hyvä esimerkki kuluttajamarkkinoille ehtineestä NUI-käyttöliittymästä on Applen iPhone, jossa käyttöliittymän ohjauksessa käytetään käsieleitä. Nykyiset NUI-toteutukset perustuvatkin lähes poikkeuksetta kosketusnäyttöihin, mutta tulevaisuuden NUI voi olla myös paljon muuta. NUI-ilmiötä tutkitaan paljon esimerkiksi Microsoftin Surface yksikössä Redmondissa, jossa on visioitu käyttöliittymien sulautuvan jopa osaksi rakennusten seiniä, lattioita ja huonekaluja. Tällaiset lattiat voisivat esimerkiksi tunnistaa kävelijän ja ohjata häntä oikeaan suuntaan tai vastaavasti pöytätasot voisivat tunnistaa esimerkiksi siihen asetetun matkapuhelimen ja hyödyntää siellä olevia tietoja. Toistaiseksi Microsoftin Surface yksikkö on julkaissut ainoastaan yksikön nimellä kulkevan kostusohjatun pöydän, joka on kerännyt suosiota lähinnä USA:ssa. Kyseessä on innovatiivinen ja ennennäkömätön tuote, mutta selkeästi vasta ensimmäisen sukupolven laite, joka tulee kehittymään jatkossa. Microsoftin Steve Ballmer onkin veikannut NUI-käyttöliittymiä yhdeksi vuoden 2010 IT-trendeistä - tähän veikkaukseen on helppo yhtyä.

sunnuntai 20. joulukuuta 2009

Spotify on vuoden 2009 SaaS-palvelu

SaaS (software as a service) ja siihen vahvasti kytketyt pilvipalvelut ovat ehkäpä IT-alan puhutuin ilmiö vuoden 2009 aikana. Aikaisemmin tässä blogissa olen kertonut ennusteista, joiden mukaan tähän ansaintamalliin perustuvat palvelut tulisivat kasvattamaan huomattavasti lähivuosina. Eräs SaaS-palveluiden komeetoista on ehdottomasti ruotsalainen musiikin suoratoistopalvelu Spotify, joka on kasvattanut suosiotaan huimasti tämän vuoden aikana.
Palvelu on kuluttajille suunnattu musiikkipalvelu, josta kaikki järjestelmään liitetty musiikki on vapaasti kuunneltavissa, mutta musiikkia ei saa kopioitua itselleen. Palvelusta on mainoksilla höystetty ilmaisversio, mutta 10 € kuukausihinnalla mainoksista pääsee eroon, äänenlaatu paranee hieman ja palvelun saa myös omaan Symbian tai iPhone matkapuhelimeen. Spotifyä on kritisoitu monessa yhteydessä liian pienistä rojalteista levy-yhtiöille ja artisteille ja monet artistit ovatkin vetäneet musiikkiaan pois palvelusta. Tästäkin huolimatta musiikkikirjasto on valtavan laaja, vaikkakin monet huippuartistit loistavat edelleen poissaolollaan.

Spotifyn Premium version saa nyt myös kännykkään S60 ja iPhone alustoille.
Tilasin noin kuukausi sitten Spotifyn maksullisen Premiumin version ja sain palvelun myös kännykkään. Olen testannut mobiiliversiota iPhonessa ja Nokian S60 puhelimessa ja palvelu toimii loistavasti. Kaupunkialueella musiikki toistuu 3G verkon yli ongelmitta ja ohjelma toimii luotettavasti. Puhelin ei ole kuitenkaan riippuvainen nettiyhteydestä, sillä soittolistoja saa kopioitua myös puhelimen muistiin jopa yli 3000 kappaleen verran. Myös ohjelman käytettävyys on erinomainen ja varsinkin sovelluksen S60 version käyttöliittymä on yksi parhaista, joita kyseiselle alustalle on tehty. Erityisesti odottaisin palvelua vielä Playstation 3 alustalle, joka toimii meidän olohuoneessa pääasiallisena musiikkitoistimena. Tämän alustan myötä Spotify täyttäisi kaikki meidän talouden musiikkitarpeet.
Oli miten oli, niin Spotify on kaikesta huolimatta erittäin innovatiivinen ja ehdottoman nykyaikainen palvelu, joka on vihdoin uudistanut tavan jakaa musiikkia vanhan levymyynnin sijaan. Helppokäyttöisyydellään se päihittää jopa musiikin laittoman nettikopioinnin, eikä hinnankaan pitäisi olla kovin suuri este. Toivottavasti Spotify ja muut vastaavat palvelut ottavat tuulta siipiensä alle ja vievät musiikkiteollisuuden lopullisesti tämän kaltaiseen ansaintamalliin.

keskiviikko 28. lokakuuta 2009

Windows 7 - ensikosketus

Pääsin eilen vihdoin asentamaan Amazonista elokuussa tilaamaani Windows 7 Home Premiumia. Olen käyttänyt jo noin puolen vuoden ajan Windows 7:n beta ja RC versioita, mutta eilen tein ensikosketuksen lopulta valmiiseen Windows 7:n. Ensikosketus oli varsin lupaava - asennus kesti ainoastaan 30 minuuttia ja kaikki koneen laitteet ja ajurit toimivat automaattisesti ilman ylimääräistä säätöä. Ja mikä parasta - käyttöjärjestelmän suorituskyky on valovuoden vanhaa Windows XP:tä edellä. On historiallista, että Microsoft on ensimmäistä kertaa kyennyt tekemään aikaisempaa käyttöjärjestelmää kevyemmän ohjelmiston. Toisaalta on tavanomaista, että uusi käyttöjärjestelmä on aina nopea juuri asennuksen jälkeen, mutta uutisointien mukaan Windows 7:n ei pitäisi hidastua käytön myötä vanhojen versioiden tapaan. Myös käyttöjärjestelmän tarjoama monikosketustuki on tervetullut ominaisuus, joka tulee varmasti kasvattamaan erilaisten monikosketusnäyttöjen suosiota tänä ja ensi vuonna.

Vanhat tutut ohjelmat kuten Paint ja Wordpad perustuvat nyt Officeseta tuttuun ribboniin.
Käyttöliittymäpuolella suurimmat muutokset tulivat jo XP:stä Vistaan siirryttäessä. Vistan ja 7:n välillä muutokset eivät ole merkittäviä, mutta esimerkiksi Vistan hailakasta värimaailmasta on tehty harppaus eteenpäin. Myös vanhat ohjelmat kuten Paint ja Wordpad on tehty 7:ssa uusiksi ja niiden käyttöliittymä perustuu Officesta tuttuun ribboniin. Muita käyttöliittymäuudistuksia ovat esimerkiksi:
  • Ikkunan raahaaminen näytön vasempaan tai oikeaan laitaan suurentaa ikkunan puolen näytön kokoiseksi. Kätevä nykyisillä laajakuvanäytöillä.
  • Gadgetteja voi määritellä mihinpäin näyttöä tahansa.
  • Tehtäväpalkin avoimista ohjelmista näytetään enää pelkät ikonit, jotka ilmoittavat muutoksista eri värein.
  • Tietyin aikavälein automaattisesti vaihtuva taustakuva.

keskiviikko 2. syyskuuta 2009

Mistä iPhonessa on todella kyse?

 
IPhone 3G S on nopea ja helppokäyttöinen älypuhelin. 
Meidän talouteen ostettiin heinäkuussa iPhone 3G S, joka saapui postissa noin viikko sitten. Kyseisen ihmelaitteen ympärillä on riittänyt paljon hypetystä ja Apple on normaaliin tapaansa onnistunut puhelimen markkinoinnissa lähes täydellisesti. Erityisesti puhelimen käytettävyyttä on kehuttu muita puhelimia paremmaksi. Ensimmäinen iPhone 2G oli ominaisuuksiltaan selvästi keskeneräinen markkinoille tullessaan vuonna 2007, sen sijaan nykyinen 3G S malli toimii sunnunannäyttäjänä monessakin eri asiassa muille laitevalmistajille. Muihin laitteisiin verrattuna iPhonessa on kolme ominaisuutta ylitse muiden:
  • nopeus,
  • markkinoilla olevien maksullisten ja ilmaisten ohjelmien lukumäärä ja laatu sekä
  • käytettävyys.
Laite on nopein koskaan näkemäni puhelin niin ohjelmien latausaikojen, väliainimaatioiden kuin yhteyksienkin osalta. Esimerkiksi hs.fi sivusto latautuu puhelimeen hetkessä ja ongelmitta, kun taas esimerkiksi Nokian kännykät lataavat sivua pitkään ja lopulta kaatuvat. On myös hämmästyttävää, miten iPhonelle on julkaistu niin suuri määrä erilaisia laadukkaita sovelluksia ottaen huomioon, että puhelin julkaistiin vasta 2007. Puhelimelle on saatavilla esimerkiksi joukkoliikenteen GPS avusteinen reittiopas, Skype ja pian myös Spotify. Myös sovellukset joita on saatavilla monelle eri alustalle, vaikuttavat olevan iPhonessa laadukkaampia, kuten esimerkiksi Fring.
Sitten on vielä se paljon puhuttu käytettävyys. Monet ovat subjektiivisesti arvioineet iPhonen käyttöliittymän paremmaksi ainostaan sillä perusteella, että se on miellyttävämmän näköinen ja käytön aikaiset animaatiot toimivat sulavasti ja näyttävästi. Toki nämäkin ovat hyviä argumentteja ja vieläpä täysin totta, mutta lisäksi laitteen käytettävyys vaikuttaisi olevan myös tehokasta. Käyttöliittymä on tehokas silloin, kun jonkin tietyn käyttötilanteen suorittaminen vaatii mahdollisimman vähän työvaiheita: syötteitä tai näppäilyjä. Tässä vertailun vuoksi muutama eri käyttötilanne, kun vastakkain laitetaan iPhone ja eräs Nokialaisten parhaimmistoa, E71. Kaikissa testitapaukissa puhelin on alussa ja lopussa näppäimet lukittuna:
KäyttötilanneSyötteitä E71 vs.Syötteitä iPhone
Laite äänettömälle91
Musiikkikappaleen vaihto104
Tekstiviestin lähetys129
Numeroon soittaminen67