maandag 22 juni 2009

CLI meets NLP meets browser

Tijdens de laatste fase van mijn studie heb ik mij verdiept in natural language processing (NLP). Voor mijn afstudeerproject heb ik onderzocht hoe je tekst van mensen kon laten lezen door een computerprogramma. Het idee was dat de gebruiker zijn vragen in zou typen en de computer daar dan antwoorden op zou geven. Dit was nog voor de tijd dat het web gemeengoed was.

Kort daarna, toen ik net begon te werken, had ik een studiegenoot die nog een beetje verder studeerde. In een wereld waarin grafische user interfaces (GUIs) de nieuwe norm waren, onderzocht hij of command line interfaces (CLIs) niet efficienter waren. Ik vond toen al dat hij een goed punt had: voor veel taken en gebruikers is een GUI ideaal, maar voor sommige taken en gebruikers is een CLI toch beter. Ik start nog steeds regelmatig een terminal op om taken uit te voeren met UNIX-commando's.

Vandaag ontdekte ik Ubiquity van Mozilla Labs en vorige week zag ik Thymer. Beide tools laten zien hoe je in een webomgeving commando's kunt invoeren die veel op natuurlijke taal lijken. In beide gevallen kent het tool een paar simpele commando's en wordt achter de schermen de tekst rond de commando's geanalyseerd om parameters voor de commando's te achterhalen. Het resultaat is erg krachtig: je omzeilt pagina's vol invoervelden door het invoeren van een simpel zinnetje.

Ubiquity heeft nog twee extra voordelen. Ten eerste is het niet toepassingspecifiek, zoals Thymer, maar maakt het deel uit van de browser. Daarnaast is het er voor gebouwd is dat je er heel eenvoudig eigen commando's aan toe kunt voegen. Ik geloof niet dat Thymer bovenop Ubiquity is gebouwd, maar dat had wel heel goed gekund.

Ik krijg allemaal visioenen hoe deze technologie kan worden gecombineerd met bijvoorbeeld Twitter, microformats en spraakherkenning en verwacht dat we hier nog wel meer van zullen horen.

vrijdag 19 juni 2009

5 redenen om voor open source software te kiezen

Waarom gebruik ik open source software? (En dan bedoel ik niet hier een daar een tooltje, maar een compleet systeem, in mijn geval Ubuntu.)

Daar zijn vele goede redenen voor. Hieronder geef ik vijf goede redenen voor de gemiddelde thuisgebruiker:

1. Het kan

Er is geen enkele reden meer om het niet te doen. Al je dagelijkse computergebruik wordt prima ondersteund door open source software. Soms zijn open source toepassingen een beetje beter dan gesloten software, soms een beetje minder, maar door de bank genomen zullen er weinig thuisgebruikers zijn die niet prima in hun behoefte kunnen voorzien met open source software.

Je moet wel even de stap nemen om het besturingssysteem dat je computerleverancier ongevraagd op je computer heeft geplaatst te vervangen door een besturingssysteem dat je eigenlijk wilt. Maar daarna is het vinden en installeren van al je favoriete toepassingen een fluitje van een cent. Eenvoudiger zelfs dan met gesloten software, want alle toepassingen zijn al voor je onder één paraplu samengebracht en georganiseerd. Geen leveranciers meer die proberen je systeem over te nemen of niet willen dat je software van de concurrent gebruikt. Wat een gemak!

2. Het mag

Open source software is 100% legaal.

Dus je hoeft je niet meer schuldig te voelen dat je stiekum een illegale versie van Windows 7, Paintshop of Microsoft Office hebt gedownload, maar je kunt frank en vrij verkondigen dat je Ubuntu, GIMP en OpenOffice gebruikt.

3. Het is leuk

Open Source Software kan je helemaal naar je eigen smaak samenstellen en inrichten.

Geen irritante popups dat de leverancier van de software geen overeenkomst met Microsoft heeft gesloten en dus misschien niet te vertrouwen is. In plaats daarvan krijg je software die door medegebruikers is getest om te kijken of het naar behoren werkt.

Geen software die stiekum je gegevens doorsluist, of je ongewenst van reclame voorziet. Want open source software kan op dat soort misstanden worden gecontroleerd en heeft dat daarom dus niet.

In plaats daarvan krijg je een ruime keuze aan mogelijkheden. En jij bent degene die kiest. Wil je Thunderbird, Evolution of Mutt gebruiken om je email te lezen? Je zegt het maar. En vind je al dat kiezen maar lastig? Ook al geen probleem: dan heeft Ubuntu zijn eigen voorkeuren die standaard worden geïnstalleerd.

En dan kan je de look & feel nog helemaal naar je eigen smaak aanpassen. Vind je de Mac geweldig mooi? Geen probleem. Wil je een functionaliteit in Firefox die er standaard niet inzit? Waarschijnlijk is er een addon voor.

4. Het is goed

Open source software is niet alleen legaal, het is zelfs goed. Je steunt er een goed doel mee: het vrijmaken van computergebruik.

De softwarewereld wordt teveel gedomineerd door een paar grote spelers, waarvan Microsoft voor de thuisgebruiker het bekendst is. Monopolies zijn schadelijk voor de consument: ze beperken keuzevrijheid en ze remmen innovatie. Door te kiezen voor open source software help je een alternatief in stand te houden.

5. Het is cool

Of vet, of gaaf, afhankelijk van de laatste trends in het woordgebruik en de mate waarin je je daar iets van aan trekt.

Door open source software te gebruiken onderscheid je je van de meute. Omdat je open source software helemaal naar eigen wens kan inrichten, wordt je computer individueel, van jou, eigen. Dat geeft leuke, verbaasde reacties: goh, kan dat ook?

Ja, maar...

... zijn er dan geen nadelen? Natuurlijk wel.

Ten eerste moet je de stap nemen om zelf een besturingssysteem te installeren. Ik heb eerder al aangegeven welke mogelijkheden er zijn om die stap minder eng te maken.

Daarnaast is er wel erg veel keuze. Dat maakt het kiezen soms moeilijk. Zoals gezegd heeft Ubuntu, net als alle andere distributies, daarom alvast een voorkeur voor je geselecteerd. Hierdoor kan je ook zonder te kiezen direct aan de slag. Je hebt dus zelfs de vrijheid om niet te kiezen.

Voor heel specifieke toepassingen zijn geen goede open source alternatieven. Zo heb ik nog geen prettige vervanging gevonden voor Visio. Dia doet wel wat, en met BOUML kan ik UML modelleren, maar het is net niet je dat. Zo zijn er ook mensen die GIMP geen volwaardige vervanging vinden voor Photoshop. Maar voor de meeste gebruikers (zeker degenen die vooral Internetten) is dit allemaal niet relevant.

En dan zijn er de drivers: Lang niet alle hardwareleveranciers leveren drivers voor Linux of de gegevens die nodig zijn om zulke drivers te maken. Daarom blijft het voor sommige apparaten moeizaam om ze op een Linux-systeem aan te sluiten. Toetsenborden en muizen zijn geen enkel probleem, maar webcams en printers worden al moeilijker. Dit is volgens mij het belangrijkste obstakel voor mensen die willen overstappen.

Tenslotte is er de compatibiliteit tussen bestandsformaten (maar ook tussen toepassingen die hetzelfde bestandsformaat gebruiken). Het lezen van documenten die Microsoft Office zijn gemaakt is geen probleem meer, al gaat er nog wel eens iets mis met de layout. Maar als je zelf in OpenOffice werkt en je werkt aan een document samen met iemand die Microsoft Office gebruikt, dan wordt het al lastiger, omdat je het document dan verschillende keren heen-en-weer converteerd. En met minder algemene bestandsformaten (voor mij is dat bijvoorbeeld Microsoft Project) wordt het al snel lastiger. Voor degenen die hun PC vooral gebruiken om te Internetten is dit echter nauwelijks een probleem en PDF is voor het uitwisselen van bestanden die niet bewerkt hoeven te worden natuurlijk een prima oplossing.

Conclusie

Voor mij wegen de voordelen ruimschoots op tegen de nadelen. En ik denk dat de Internettende thuisgebruiker nauwelijks hinder zal ondervinden van de nadelen. Dus: gewoon doen!

maandag 15 juni 2009

Wie heeft ervaring met de Palm Centro?

Vandaag zag ik voor het eerst informatie over de Palm Centro. Zou ik die het afgelopen jaar over het hoofd hebben gezien?

Het lijkt precies wat ik zoek: Palm, simpel en betaalbaar. Ook de reviews zijn lovend.

Het belangrijkste minpuntje dat ik heb kunnen vinden is het ontbreken van voice dialing. De Centro heeft wel MobileVoiceControl, maar dat vereist dat elk commando naar een centrale server wordt gestuurd om geïnterpreteerd te worden. Dat kost tijd en verzendkosten.

En laat voice dialing nu net een functie zijn dat ik veel gebruik. Vooral in de auto, maar ook als ik te lui ben om door mijn contactpersonen te bladeren. Gelukkig is er een applicatie te koop (à $15) dat het gat opvult: VoiceDialit.

donderdag 11 juni 2009

Ubuntu voor bangerikken

De echte helden gooien Microsoft van hun PC/laptop en vervangen het genadeloos door hun favoriete Linux-distributie.

Voor de rest van ons ligt het iets genuanceerder.

Gelukkig zijn er verschillende gulden middenwegen. Ik kende er al vele en voor Ubuntu Linux heb ik net geëxperimenteerd met een zoveelste variant, dus werd het tijd om één-en-ander eens op een rijtje te zetten.

Ten eerste kan je je systeem dual boot inrichten. Dat wil zeggen dat je bij het opstarten de keuze krijgt tussen Windows en Ubuntu. Deze keuze vereist dat je je harde schijf opknipt in verschillende partities. Ten minste twee: één voor Windows en één voor Ubuntu. Persoonlijk heb ik er nog twee partities bij: één voor belangrijke documenten (werk en privé) en één voor media (vooral mp3). Het voordeel van deze extra partities is dat ze zowel vanuit Windows als vanuit Ubuntu te gebruiken zijn. Ik heb in beide omgevingen dus toegang tot mijn bestanden.

Een variant hierop is de Live CD. In dit geval haal je een CDROM-image van het Web en brandt je dat op de CDROM. Bij het opstarten van je laptop kies je dan uit het boot menu de optie om van de CDROM op te starten en vervolgens heb je het besturingssysteem van je keuze tot je beschikking. Het voordeel is dat je systemen kunt proberen zonder iets aan je computer te veranderen. Geen partities, geen bestanden op je harde schijf. Het nadeel is dat het werken van CDROM erg traag is. Dit beïnvloedt natuurlijk je beleving van het systeem. Bovendien gaat alles wat je op het systeem doet verloren als je afsluit. Je kunt op de CDROM immers geen bestanden opslaan. Maar voor een eerste impressie is het een goede oplossing, en meestal kan je van de CDROM het besturingssysteem ook definitief op je computer installeren.

De derde mogelijkheid is het gebruik van virtualisatie. De populairste toepassing hiervoor is VMWare, maar je kunt ook kiezen voor Qemu of Virtual Box. Met virtualisatie kan je het ene besturingssysteem binnen het andere draaien. Je kunt dus Ubuntu als je hoofdbesturingssysteem kiezen en Windows opstarten in een virtuele machine als je een applicatie nodig hebt waarvoor geen Open Source alternatief beschikbaar is. Het voordeel van deze oplossing is dat je meerdere besturingssystemen tot je beschikking hebt, waartussen je met een druk op de knop kunt wisselen. Het geeft je ook de mogelijkheid om relatief eenvoudig met verschillende besturingssystemen te spelen. Zie de Free OS Zoo voor images van veel gratis besturingssystemen.

De vierde optie die tot je beschikking staat is Wine. Wine is bedoeld om individuele Windows applicaties binnen Linux te kunnen draaien. Internet Explorer lijkt dan net een gewone Linux-applicatie. Dit is anders dan zoals bijvoorbeeld ReactOS, die een poging doen om een Open Source Windows te realiseren. Wine is een zogenaamde vertaallaag bovenop Linux en ReactOS is een compleet besturingssysteem naast Linux. Hoewel Wine een nobel streven is, heeft het voor mij nooit gewerkt. Maar op het Web zijn voldoende berichten te lezen van mensen die er wel veel plezier van hebben.

Nog een vijfde alternatief is Cygwin dat een complete verzameling GNU/Linux tools biedt die gewoon binnen Windows draaien. Daarmee is het dus zo'n beetje het omgekeerde van Wine (de technische oplossing is anders, vertaallaag vs compileren voor een ander doelplatform, maar voor de gebruiker is dat minder relevant). En in tegenstelling to Wine werkt Cygwin als een zonnetje. Ik gebruik het veel om krachtige commando's als find en grep te kunnen gebruiken als ik toch onder Windows moet werken.

De nieuwste mogelijkheid om Ubuntu te draaien is Wubi. Deze aanpak lijkt op dual boot, maar is subtiel anders. Ubuntu draait nu namelijk niet van zijn eigen partitie, maar van een bestand binnen Windows. Dit geeft je de mogelijkheid om Ubuntu uit te proberen zonder dat je je harde schijf hoeft te verbouwen, maar ook zonder het verlies in prestaties die bij virtualisatie horen. Bij het opstarten kies je (net als bij dual boot) namelijk al tussen Windows en Ubuntu. Toen ik Wubi uitprobeerde gaf dat het verwarrende verschijnsel dat ik eerst in GRUB moest kiezen tussen mijn 'echte' Ubuntu en Windows, daarna in de Windows boot loader tussen Windows en Wubi Ubuntu, en daarna weer in GRUB tussen de verschillende mogelijkheden van Wubi.

Zelf houd ik het voorlopig op dual boot, want helemaal zonder Windows kan ik nog niet. Maar voor iemand die Ubuntu eens probleemloos wil uitproberen lijkt Wubi de beste optie. Je hoeft je systeem niet te verbouwen (zoals bij dual boot), je bewerkingen gaan niet verloren (zoals bij Live CD) en je hebt optimale prestaties (in tegenstelling tot Live CD en Virtualisatie).

(Dit artikel verscheen ook op Transparante Zaken)

woensdag 10 juni 2009

Microsoft Surface

Naast de Microsoft Sphere is er nu ook de Microsoft Surface. Ik heb me verbaasd over dit filmpje: waarom blijft het nu bij speeltjes? Waarom geen serieuze toepassingen? Want nu heb je als Microsoft zo'n mooie technologie, en dan heb je er geen killer application voor. Het apparaat is gericht op de zakelijke markt, maar de applicaties zijn vooral leuk voor thuisgebruik.

En de mogelijkheden zijn eindeloos. Want het apparaat leent zich bij uitstek voor het ondersteunen van rondetafelbesprekingen, en als we ergens veel tijd aan besteden in het bedrijfsleven, dan is het dat wel. Het apparaat lijkt me ideaal voor brainstormen, waarbij je allemaal ideeën op een hoop gooit en elkaars ideeën oppikt en combineert. Vanwege het medium kan je "op een hoop gooien", "oppikken" en "combineren" op allerlei manieren interessant visualiseren.

Of denk aan een keukenshowroom. Zou het niet leuk zijn als je een applicatie voor de Surface had zoals de Ikea 3D Keukenplanner? Dan kan je samen met de verkoopmedewerker om je ontwerp zitten en het samen verbeteren.

Zoals eerder gemeld, zijn er allerlei andere ontwikkelingen op dit gebied. En hoewel de combinatie van camera's en oppervlaktesensoren van de Surface al een krachtige combinatie vormen, zou de toevoeging van eye-tracking daar nog 3D-mogelijkheden aan toevoegen.

Ik ben erg benieuwd wat er van dit Microsoft-product zal komen.