ALT=

  • ALT= The case for plug-ins

    Browser plug-ins als Silverlight en Flash bieden bijna alle functionaliteiten van HTML5. Bijna 90% van de HTML-functies is al aanwezig in deze plug-ins. Dat blijkt uit een statistisch onderzoek naar de functionaliteit van HTML5, zoals vermeld op caniuse.com. Daarnaast voegen plug-ins per definitie iets toe aan de webbrowser waar ze op aansluiten. Silverlight en Flash bieden features die standaard in een browser niet mogelijk zijn. En dat blijft zo.

    Het vastleggen van een standaard met een aantal partijen met verschillende belangen is een langzaam proces. Plug-ins worden vlot ontwikkeld door een enkel bedrijf, dat alleen verantwoording schuldig is aan de ontwikkelaars die ermee werken en de eindgebruikers die het resultaat bekijken. Er zal dus in functionaliteit altijd verschil blijven tussen webbrowsers en plug-ins. HTML loopt altijd achter de feiten aan.

    Er zijn nog geen goede gereedschappen voor het maken van HTML-applicaties, terwijl Adobe en Microsoft uitgebreide suites met tools bieden, die ontwikkelaars helpen om snel kwalitatief goede Rich Internet Applicaties (RIA’s) te bouwen. Beide softwarebedrijven ondersteunen ontwikkelaars en hun plug-in door toegang te geven tot uitgebreide informatie, tutorials en labs. Zelfs certificering hoort tot de mogelijkheden.

    Plug-ins gaan verder dan browsers. Ze ondersteunen hardware als webcams en microfoons. Silverlight kan met de juiste rechten functies van andere applicaties en zelfs het besturingssysteem aanspreken. Ook in de features die HTML5 wél biedt, hebben plug-ins meer te bieden. Veel functies worden beter ondersteund, hebben veel meer mogelijkheden en zijn beter aan te passen en uit te breiden. De HTML5 Video tag, bijvoorbeeld, laat je video spelen in een browser, maar je krijgt er standaard user interface controls bij, die verschillend zijn voor elke browser. De videospelers die beschikbaar zijn via plug-ins zijn uitgebreider en flexibeler. De plug-ins spelen verschillende types video af, kunnen streams met variabele bitrate spelen en zelfs van bitrate wisselen afhankelijk van bandbreedte en processorkracht.

    Sommige dingen kunnen wel in een plug-in maar niet in een browser. Media-bedrijven die hun productie hebben gestroomlijnd met Silverlight zijn niet alleen goedkoper uit, maar kunnen ook hun content beschermen. Video aangeboden in HTML is namelijk niet te beschermen. Plug-ins vernieuwen zichzelf, zodat altijd de laatste versie beschikbaar is. De invoegtoepassingen zijn backwards compatible en applicaties geschreven voor vroege versies van de plug-in werken prima in de laatste versies. Alles werkt over tien jaar nog hetzelfde, omdat ontwikkelaars en eindgebruikers vertrouwen op een enkele leverancier.

    HTML5 is voor RIA’s sterk afhankelijk van JavaScript. Er zijn twijfels over de performance van de scripttaal, zelfs nu verschillende browsers JavaScript sneller uitvoeren. Een gecompileerde programmeertaal als C# is sneller dan een scripttaal als JavaScript. Bovendien is C# een rijkere, verder ontwikkelde taal dan JavaScript en is C# bruikbaar op zowel de server als op de client. In Silverlight is de productiviteit groot, terwijl in HTML5 veel werk gedaan moet worden om verschillende implementaties van de standaard te voorkomen en dubbel werk om verschillende browsers te ondersteunen.

    Technologie is een gereedschap dat wijs gebruikt moet worden: de juiste technologie op het juiste moment. Kies daarom afhankelijk van de doelgroep voor een bepaalde techniek of een combinatie van technieken. Plug-ins zijn complementair aan het web, gebruik ze dus om de best mogelijke user experience te creëren.

  • ALT= De toekomst van RIA’s

    De toekomst van Rich Internet Applicaties (RIA’s) is transparant. En dan doel ik niet op de mogelijkheden om transparantie toe te passen of dat de markt transparant is. Het is namelijk verre van dat. Er is een aantal technieken dat aanspraak maakt op een deel van de toekomst van internetapplicaties, maar de gebruiker ziet die techniek niet.

    Adobe Flash kreeg klappen van Apple’s Steve Jobs omdat hij meer controle wil houden over het maken van apps. De Microsoft Silverlight plug-in staat op 70% van de computers in Nederland, in browsers, op de desktop en op Windows Phone 7. Voor AJAX geldt dat de code-bibliotheken uitgewerkt zijn. Eén van de problemen is dat een server wel erg veel page requests te verduren krijgt, waardoor de verwerkingstijd van de applicatie geremd wordt. Met JQuery kunnen op basis van bestaande code-bibliotheken snel dynamische sites en applicaties ontwikkeld worden.

    HTML5 is hot. Maar wat is HTML5 eigenlijk? Is het een taal, een tool of een platform? Het is een verzamelterm voor nieuwe technieken in de specificatie voor de komende versie van HTML die door het World Wide Web Consortium (W3C) wordt opgesteld. Maar het omvat ook specificaties die door andere partijen worden onderhouden. De aandacht gaat voornamelijk naar het Canvas-element, waarvan de individuele pixels te programmeren zijn, zodat met slimme code indrukwekkende resultaten bereikbaar zijn. Gebruik van vectoren was onderscheidend voor RIA’s ten opzichte van HTML. Scalable Vector Graphics (SVG) zorgt ervoor dat vectoren via een Canvas in een webpagina bruikbaar zijn. Dat kan voor design heel belangrijk worden. Daarnaast is er aandacht voor de Video-tag, die het mogelijk maakt om in HTML een videobestand af te spelen.

    HTML5 is een working draft. Het is nog geen specificatie en geen standaard of aanbeveling. Het proces om tot een standaard te komen is omslachtig en langzaam. Browsermakers zijn al aan de slag gegaan en hebben de huidige working draft geïmplementeerd in beta’s van hun komende browsers. Daarbij is Microsoft bezig om de meest standaard-compliant browser te maken die er is. Er is alleen nog geen standaard.

    Onlangs werd ontdekt dat het aantal nieuwe websites minder snel toeneemt dan het aantal nieuwe apps voor mobiele apparaten. Het grootste voordeel van mobiele apps is dat je die altijd bij je hebt. De ontwikkeling is niet meer te negeren en behalve de iPhone, bieden Android en Windows Phone 7 platformen om applicaties te creëren. Via een online marktplaats zijn ze aan te bieden en te installeren. Dit kan zijn impact hebben op Rich Internet Applicaties.

    De toekomst van RIA’s is rooskleurig. Er zijn talloze technieken met grote groepen enthousiaste volgelingen, die prachtige en effectieve applicaties opleveren. Maar de toekomst van RIA’s is ook vaag. Kunnen al deze technieken allemaal naast elkaar blijven bestaan? Welke van de technieken gaat de meeste invloed hebben? Welke zal langzaam verdwijnen? De voordelen en nadelen van de verschillende technieken moeten op een rijtje gezet worden, zodat weloverwogen keuzes voor een bepaalde techniek gemaakt kunnen worden. Uiteindelijk zal het een eindgebruiker weinig uitmaken. Die krijgt een mooie en kwalitatieve applicatie, maar hoe het gemaakt is, interesseert hem niet zo. En dat bedoel ik met: de toekomst van RIA’s is transparant.

  • ALT=User Experience Maturity

    In het Microsoft Optimization Model voor Application Platforms ontdekte ik een Maturity Model voor User Experience (UX). Hiermee bepaalt u de ontwikkeling van UX binnen uw organisatie en zet u een roadmap uit naar een hoger niveau. Het beginpunt is het niveau waarop UX in uw organisatie zich nu bevindt en het einddoel is het niveau waarop u strategische waarde creëert en zakelijke voordelen behaalt. De voordelen zijn goede merkherkenning met positieve associaties; loyale klanten die, ook als het wat minder gaat, u niet de rug toe keren en een gecontroleerd en herhaalbaar ontwerpproces, dat leidt tot kwalitatieve en innovatieve producten die uw concurrenten het nakijken geven. Ik was benieuwd hoe de vier stadia in het Optimization Model voor User Experience in te vullen zijn voor een software onderneming.

    Uw bedrijf is op het Basic UX niveau als u ongecoördineerd en ongestructureerd spaarzame UX initiatieven uitvoert. In deze adhoc aanpak wordt weinig aandacht besteed aan UX en u legt er geld op toe. U weet zelf heel goed wat gebruikers willen. Uw software werkt, maar gebruikers klagen. Training en ondersteu-
    ning kosten geld. U hebt geen huisstijl en er is geen controle over het gebruik van logo en lettertypes. U hebt geen designers in dienst, programmeurs ontwerpen impliciet de User Interface (UI). Daardoor hebben applicaties geen uitgesproken uiterlijk. Ze zijn slecht herkenbaar, waardoor de UX ervan niets doet voor uw merk.

    Op het Standardized UX niveau is er aandacht voor UX bij het management. Gebruikers zijn belangrijk. Uw aanpak is niet gestroomlijnd en kost nog steeds geld. Gebruikers beginnen uw merk te herkennen, maar blijven opmerkelijk stil. Dat betekent dat het goed gaat, want klachten nemen af. U hebt een visie op UX van uw software en ontwerpers voor u aan het werk. Er is een huisstijl, die richting geeft aan vormgeving. U volgt standaarden, zodat u betere kwaliteit levert. U brengt het ontwerpproces in kaart en verbetert die steeds, zodat u kwaliteit behoudt. Als geen borging plaatsvindt in de organisatie, valt u terug naar Basic niveau.

    UX is op het Rationalized niveau een Business Enabler. U controleert de UX en geniet de voordelen ervan, zoals kostenbesparingen en concurrentievoordeel. Gebruikers kiezen voor uw merk, want het staat voor kwalitatieve en gebruiksvriendelijke software. Zij bevelen uw producten aan bij anderen. U hebt het User Centered Design (UCD) proces geconsolideerd, wat herhaaldelijk tot succes leidt. Er zijn huisstijlregels, die strak gehandhaafd worden. De manager van uw interne design afdeling heeft een budget, maar ook een target.

    Op het Dynamic niveau is UX een Strategic Enabler. Design is onlosmakelijk verbonden met uw merk. De waarden ervan worden door iedereen herkend en gewaardeerd. Uw gestroomlijnde en herhaalbare UCD proces heeft uitstekende resultaten. Controle over UX van alle contactmomenten en kanalen, resulteert in grote loyaliteit bij uw klanten. Uw innovatieve software breekt markten open en laat uw concurrenten ver achter u.

    Microsoft biedt een Self Assessment Tool met daarin drie vragen. Is het aanbieden van een eenvoudig te leren, productieve UX prioriteit in uw IT organisatie? Verzamelt u wensen en behoeftes van gebruikers in het development proces? Meet u kwaliteit en succes van uw site of applicatie? Antwoorden leiden tot de strategie richting op hogere niveaus, waar UX kostenposten in concurrentievoordelen worden omzet. Hoe ziet uw organisatie er uit als u het hoogste User Experience niveau bereikt?

  • ALT = "XAML in the middle"

    XAML staat voor eXtensible Application Markup Language en is een markup-taal, net als HTML. Het grote verschil is dat XAML (zeg Zammel, niet Xemmel) een programmeertaal is, omdat onder het de oppervlakte controls instantieert en waarden van attributen zet. Aan de oppervlakte is het gewoon een XML-taal met elementen in vishaken en attributen: . Dat maakt de taal goed leesbaar en schrijfbaar door mensen en ook eenvoudig te parsen en te genereren door software. Expression Blend, met een userinterface die lijkt op een tekenprogramma, is het gereedschap om te werken met XAML.

    XAML is geïntroduceerd met .NET Framework 3.0 en uitgebreid in versie 3.5. Het is de opmaaktaal van Windows Presentation Foundation (WPF), voor userinterfaces van Windows-programma’s. Momenteel is WPF de belangrijkste techniek om desktopprogramma’s te maken. De tijd die genomen is om een coherent platform te bedenken en te ontwikkelen, uit zich in de krachtige functies ervan.

    Silverlight, de Rich Internet Application plug-in voor alle webbrowsers op alle besturingssystemen, heeft voor een tweede, niet minder belangrijke toepassing van XAML gezorgd. De ontwikkelingen van Silverlight gaan heel snel en de nieuwe mogelijkheden hebben weerslag op WPF. Onderdelen van Silverlight zoals de Visual State Manager, waarmee eenvoudig verschillende toestanden en overgangen in userinterfacecontrols te coderen zijn, worden nu opgenomen in WPF.

    Surface, de tafelcomputer van Microsoft, heeft een eigen user interface, die erop gericht is om met meerdere mensen tegelijk via een multi-touch interface applicaties te besturen. De techniek die op de achtergrond draait is WPF en XAML is de opmaaktaal die gebruikt wordt voor Surface applicaties. Surface heeft eigen programmabibliotheken voor de touch-interface en een serie specifieke controls die daarop aansluit. Hiervoor zijn nieuwe XAML elementen en attributen in het leven geroepen.

    Het Windows Embedded Platform is onbekend bij consumenten en zakelijke dienstverleners, maar Silverlight kan door een fabrikant voor de interface gebruikt worden in een elektronisch apparaat. Omdat de code compact en krachtig moet zijn, is de programmeertaal erachter vervangen voor C++, maar userinterfaces kunnen met Silverlight for Windows Embedded met Expression Blend gemaakt worden. Hiermee komt XAML ook beschikbaar voor embedded user interfaces.

    Recent bleek dat Silverlight de techniek is waarmee interfaces en applicaties voor de Windows Phone 7 Series (WP7), de nieuwe en frisse mobiele apparaten met Microsoft software, gemaakt kunnen worden. Hiermee ontstaat een nieuwe toepassing voor XAML, waarbij dezelfde taal, tools en techniek gebruikt worden op het kleine scherm. Een van de Hubs, die functionaliteit binnen bepaalde scenario’s verzamelen, is Marketplace, waar applicaties te koop zijn die in XAML en C# zijn geschreven.

    Met het komende .NET framework 4 zullen deze toepassingen verankerd zijn in de werkwijze van ontelbare programmeurs en ontwerpers, die zich hebben toegelegd op het ontwikkelen van websites en applicaties met XAML en C#. Zij kunnen hun vaardigheden toepassen in WPF, Silverlight, Surface en Embedded en ook in de groeiende markt van applicaties voor WP7. Hiermee staat XAML in het midden van technieken die steeds meer invloed zullen hebben, zowel nu en in de toekomst.

  • ALT = "The User Proxy"

    Agile software-ontwikkelmethodieken hebben een concept dat User Stories heet. Dit is een requirement of feature van het systeem dat iets oplevert voor de gebruiker. Maar waar is de gebruiker in dit proces?

    Het meeste contact met fysiek aanwezige gebruikers was bij de ontwikkeling van projecten voor NedTrain, Cobra Personeelssystemen en voor Macaw zelf (de Macaw XP internet site). In die periode was Usability nog het buzzword. In onze usabilitytests confronteerde we eindgebruikers aan het einde van het proces met wat we gemaakt hadden en haalde zo de scherpe randjes er af. In recente projecten die via SCRUM uitgevoerd werden, zag ik een grote rol voor SCRUM-masters weggelegd, maar echte eindgebruikers waren nergens te bekennen.

    Volgens het boek “User Stories Applied” van Mike Cohn moet 1x per maand overleg met echte gebruikers plaatsvinden. Maar in dat zelfde boek staat dat het team ook een brainstorm sessie kan houden om User Stories te verzamelen:

    “By now the team might have spent an hour (...) and they will have put more thought into the users of their software than probably 99% of all software teams.”

    Minder dan 1% van de software-ontwikkelteams maakt dus gebruik van meer dan een brainstormsessie om de gebruikers van het systeem te leren kennen. Dat komt wel ongeveer overeen met mijn ervaringen.

    In agile methodieken is het de bedoeling dat gebruikers er vanaf het begin tot het einde bij betrokken zijn. En dat is een goede zaak, want alleen zo kunnen de mening, ervaring en kennis van een gebruiker daadwerkelijk in het product terecht komen. Verschillende typen gebruikers krijgen in het Customer Team een representatie. Dit team hoort te bestaan uit de productmanager, testers, interactieontwerpers en echte gebruikers. Maar hier ontstaat wat verwarring: richten we ons op de gebruiker of op degene die de software aankoopt? Wie is eigenlijk belangrijker: de Product Owner of de Customer? Vaak wordt de rol van de User overgenomen door iemand anders in het Customer Team. Dat is de User Proxy.

    Mike Cohn komt met verschillende mogelijkheden om de User Proxy in te vullen:

    • Bij interne projecten de manager van de gebruiker, maar deze gebruikt de software niet op dezelfde manier.
    • Een development manager, maar die heeft andere belangen die conflicteren met de belangen van de gebruiker.
    • Consultants en vertegenwoordigers spreken vaak rechtstreeks met klanten, maar kennen niet het hele verhaal dat gebruikers kennen.
    • Domain experts zijn een geweldige bron van informatie, maar hoeven nog niet de software zelf te gebruiken.
    • Marketeers weten alles van markten, maar minder van gebruikers.
    • Inkopers kopen de software in, maar kijken naar heel andere eigenschappen van software dan echte gebruikers.
    • Trainers en supportmedewerkers praten met gebruikers, maar zullen de nadruk leggen op verkeerde features.
    • Business analisten praten niet altijd met echte gebruikers en hebben voor in het proces veel tijd nodig.
    • Voormalige gebruikers hebben ervaring die meestal is verouderd en niet meer aansluit op wat er nu gebouwd moet worden.

    Kortom, aan alle User Proxies kleeft wel een nadeel. Kan je als developer niet gewoon zelf User Proxy zijn? Mike Cohn zegt hierover:

    "While each type of user proxy has some type of shortcoming that makes her less desirable than a real user, most developers come with even more shortcomings for pretending to be a real user."

    De vraag is dus: Hoe kom je aan gebruikers?

    • In een zakelijke omgeving leiden rollen en functies tot mensen, die via de organisatie gemakkelijk benaderbaar zijn.
    • Als je met stakeholders praat, kan je leren welke gebruikers representatief zijn en die rechtstreeks benaderen.
    • Buiten een organisatie kan je marketing, consultants en buitendienstmedewerkers vragen of ze mensen kennen die willen meewerken.
    • Je kunt vrijwilligers vragen via een nieuwsbrief, website of helpdesk van de klant.
    • Je kunt bedrijven in de arm nemen die mensen voor je gaan inhuren. Hiervoor moet je een profiel opstellen.

    Het is gebruikelijk om gebruikers een incentive te geven om ze te bedanken en te belonen voor hun medewerking, want echte gebruikers leveren een echte bijdrage aan de ontwikkeling van software.

    En ook Mike Cohn weet het:

    "...a real user beats a proxy any time."

  • ALT= “Het Web voorbij”

    Bruce Tognazinni (Tog), één van de interactie ontwerpers van het eerste uur, heeft aan het begin van de 90-er jaren tijd en geld besteed aan de film Starfire, waarin hij een digitale werkplek van de toekomst toont. Dit bevat een gebogen scherm van 2x2 meter die aan de onderkant tot een hori-zontaal werkblad ombuigt. Daarin is een drukgevoelige scanfunctie verwerkt en aan een zijkant is een printer, die een document afdrukt als het er over het werkblad naar toe gesleept wordt. De film toont realistische scenario’s, die de mogelijkheden van de futuristische werkplek overtuigend presenteren. Waarom is die digitale werkplek eigenlijk nooit echt gerealiseerd? Desgevraagd heeft Tog een eenduidig antwoord: alle aandacht ging in die jaren naar Internet en het Web.

    Voor mij ligt een eerste uitgave van een nieuw glossy blad voor Webdesigners met heel groot de tekst Web 2.5 erop. “Web 2.0 is verleden tijd”, zo stelt de kop op de omslag. De nieuwe versie van het Web gaat over integratie. De mens en de computer, de desktop en het Web en verschillende webapplicaties gaan allemaal beter samenwerken op een anders georganiseerd Semantisch Web. Op mij komt het over of alle bekende tools, technieken en toekomsten onder één paraplu worden geschoven en als nieuw worden gepresenteerd. Interessanter vind ik ontwikkelingen die buiten het Web plaatsvinden. Dit spitst zich toe op drie verschillende fronten: media, vectoren en touch.

    Met terabyte harddisks, thuisnetwerken en grote, platte TV schermen is een nieuwe situatie aan het ontstaan bij de consument in de huiskamer. De muziek en film collecties bevinden zich niet meer op zilverkleurige schijfjes, maar op de harddisks van genetwerkte thuiscomputers en worden geconsumeerd via het platte TV scherm. Microsoft brengt in dit verband een Home Server product uit en biedt in twee Vista versies de ontbrekende schakel in de vorm van Windows Media Center (WMC). Dit is een interface naar foto’s, muziek, films en TV uitzendingen die met een draadloos toetsenbord of liever een afstandbediening te besturen is. WMC biedt een omgeving waarin gebruik van geluid, bewegend beeld, tekst en animaties op een hele mooie manier samengaan. Behalve toegang tot media, brengt WMC ook services die via de TV de achterover leunende consument bereiken. Het is mogelijk om voor dit kanaal applicaties te maken met dezelfde verfijning als media center zelf. Dit biedt kansen om een plek te veroveren in het TV aanbod van de toekomst, zoals de Rabobank met TV-bankieren momenteel al voorkomt in het Online Media aanbod.

    Op Vista PCs, die steeds meer zullen toenemen, staat de nieuwe versie van .NET. Dit biedt ontwikkelaars toegang tot workflow en communication platforms, maar ook tot Windows Presentation Foundation (WPF). Dit is een platform om User Interfaces te maken voor Windows Vista. Uniek hieraan is dat het op vectoren is gebaseerd en niet op pixels. Graphics in vectoren worden gerenderd met een resolutie die optimaal is voor het output device. Ook na inzoomen blijft de UI dus haarscherp en wordt het paradigma van zooming interfaces voor desktop applicaties bereikbaar. Alle interface objecten zijn volledig van nieuwe vormgeving te voorzien zonder de functionaliteit ervan te compromitteren. WPF biedt een doordacht, krachtig en modern platform om applicaties voor de toekomst te bouwen waarbij Rich Internet Applications verbleken. Wie weet wat voor UI paradigma’s dat nog gaat opleveren?
     
    Een voorbeeld van de flexibiliteit van WPF is dat het Surface Computing team van Microsoft een WPF layer bouwt om het futuristische apparaat te kunnen programmeren. Dit levert nieuwe UI controls op als een ScatterView, waarbij de items in een collectie getoond worden alsof ze op tafel zijn gegooid. Dit is niet toevallig, want de Surface Computer is een salontafel met een groot horizontaal scherm als tafelblad. Het heeft een touch-screen, dus wat er op tafel ligt is met de vingers te bedienen. Ik zeg vingers omdat het apparaat een multi-touch technologie heeft, waarmee bijvoorbeeld een foto is te schalen door twee vingers op de hoeken te zetten en naar buiten te bewegen. De Surface Computer kan ook digitale apparaten als telefoons en camera’s herkennen en ermee communiceren. Toepassingen voor deze form-factor kunt u waarschijnlijk zelf wel bedenken. Microsoft positioneert het momenteel in de Entertainment sector, maar er is zeker interesse vanuit Onderwijs en Zakelijke kant.

    Kortom, er is meer dan het Web. Mijn hoop is dat de snel groeiende interesse voor Silverlight niet de tijd en geld gaat consumeren dat voor ontwikkeling van WMC en WPF applicaties en hardware oplossingen als Surface Computing kan worden besteed. Wellicht dat er dan zelfs weer een kans voor een Starfire-achtige digitale werkplek...

This Blog

Post Calendar

<February 2012>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

Syndication

Powered by Community Server, by Telligent Systems