2004-11-14
 
DEN HAAG - 4C. Gelukkig heb ik mijn winterjas binnen handbereik!

nieuws

Eindelijks weer eens wat tijd om wat te schrijven... Het was een enerverende week. Het land lijkt vol met terroristen. En nu ook nog Sinterklaas. Ik heb niet zo veel toe te voegen aan alles wat er al gezegd is. Woensdag stond ik vlak bij het 'bewuste huis', in het Haagse Laakkwartier, en de bewoners hadden al allerlei creatieve oplossingen bedacht om het terrorisme te bestrijden. President Bush blijkt een opvallende come-back te hebben gemaakt. Gelukkig is 99% van de moslims tegen terrorisme, zodat er niet meer dan tienduizend extremisten rondlopen.

Ikzelf ben nog steeds bezig met wat interessante dingen; ik kan er nog niet zoveel over zeggen ;-), maar het begint er steeds beter uit te zien. Ik heb wat gewerkt aan wat projecten, wat C, Perl, Python en PHP geschreven. Ik ontving ook bedankjes van wat gebruikers van mijn software, altijd leuk. Een Amerikaans bedrijf blijkt nuttig gebruik te maken van mijn sendxmpp programma - ze gebruiken het om de mensen in het ontwikkelteam een Instant Message te sturen bij CVS-commits. En ik kreeg er meteen een patch bij, voor SSL/TLS-ondersteuning.

Een bliksembezoek aan Hellendoorn, voor mijn winterjas, en voor het aanvragen van een vers paspoort. Wie weet hoe snel ik het nodig heb? :)

market maturity

Ik las een interessant artikel; "Market Maturity" beschrijft de levensloop van een produkt, vanuit het perspectief van gebruikers, het product en de ontwikkelaars:
Stage Users Want Usability Means Developers
Focus on
I. Raw Iron The basic capability The product works Technical issues and delivery
II. Checklist Battles The best set of features Having the right functions Adding features and fixing bugs
III. Productivity Wars To get their work done better and faster Easy to learn, fast, powerful Performance support, reducing technical support costs
IV. Transparency Lowest cost The product is invisible Reducing costs or seeking new markets

Fase 0

Ik wil daar zelf nog graag Fase 0 aan toevoegen (er is geen Romeins cijfer voor 0 ;-), namelijk de fase waarin de software nog in ontwikkeling is. Commerciële software komt meestal (hopelijk) nog niet op de markt in fase 0. Vrije software is een wat ander verhaal; release early, release often - en dat is een goede manier om wat invoer van mede-ontwikkelaars en heldhaftige gebruikers te krijgen. Met mijn hobbyprojectjes doe ik dat ook vaak, en SourceForge staat vol met "Fase-0"-projecten, die dat stadium wellicht nooit zullen verlaten.

Fase I

De wat stabielere en populairdere producten weten echter fase I te bereiken; da's een fase waarin een redelijk werkend product beschikbaar is en mensen er ook wat mee doen. Vroeger werd daar vaak het versienummer 1.0 aan verbonden, maar vrije software lijkt daar een beetje allergisch voor; je moet wel heel zeker zijn van je zaak voordat je echt versie 1.0 uitbrengt (WindowMaker, gnuvd ;-))

Fase II

Fase II is de fase waarin heel veel vrije software zich in bevindt. Het toevoegen van zoveel mogelijk features ("featuritis") is het doel. In tijdschriften staan vaak tabelletjes met om aan te geven of programma X wel feature Y heeft. En hoe meer vinkjes, hoe beter het programma natuurlijk... zeker voor technisch ingestelde mensen. Neem nou de X-Chat IRC-client of Pan, de Usenet-client.

Ultiem voorbeeld is wel Emacs, de Editor (en zoveel meer...), met 'ingebouwde' psychiater, Tetris, en waarbij je (echt waar!) de configuratie afhankelijk kunt maken van de maanstand.

Fase III

In fase III gaat het eigenlijk over waar het om begonnen was: er voor te zorgen dat mensen hun werk sneller, fijner, beter etc. kunnen doen. Dat vereist dat de in fase II toegevoegde features nu ook bruikbaar zijn, en logisch te vinden.

Het de overgang van II naar III lijkt *erg* lastig. Hoe moet je een logisch geheel maken van al die functies? Ik zie de moeite die het GNOME-project zich getroost om fase drie te bereiken. Minder instellingen. Goede defaults. It just Works. Dat is in ieder geval het doel, en met elke versie zie ik dat het wat beter wordt. Niet teveel focussen op features, maar op bruikbaarheid. Meer Apple, minder Windows, Unix.

Programma's met *heel veel vrijheidsgraden*, zoals een zsh of Emacs kunnen nooit niet 'generiek' (voor alle gebruikers) tot een 'fase III'-product uitgroeien. Maar ze bieden de mijn mogelijkheid om een soort 'persoonlijke fase III' te bereiken - de gebruiker kan ze precies aanpassen aan zijn wensen. En daarom is emacs voor mij een stuk productiever dan gedit en vrienden, hoewel die veel 'eenvoudiger', 'intuïtiever' etc. zijn.

Fase IV

Het nirvana voor software is fase IV: het product is transparant geworden - het is nauwelijks nog als een product herkenbaar.Voor marketeers in fase IV niet zo fijn; maar als ik free software voor eindgebruikers ontwikkel, moet het zo 'transparant' mogelijk zijn. Programma's moeten werken, er moeten redelijke defaults zijn, en gebruikers moeten zo min mogelijk lastig gevallen worden door een programma.

ergo

Als voorbeeld neem ik mijn programmaatje ttb. Het concurreert met de officiële teletekst browser van de NOS. Die hebben geprobeerd hun programmaatje zoveel mogelijk te laten lijken op Internet Explorer, zo lijkt het. En dat leidt tot een belachelijk aantal knoppen. 'Favorieten'?! Een 'Stop'-knop?! te nemen - ik haal alles behalve de essentiële knoppen weg. Ik heb geprobeerd de titelbalk ook weg te halen, maar dat zag er wat lelijk uit, en bovendien wordt het verplaatsen van het venster misschien wat lastiger (nou ja, alt + muis).

Zitten er nu geen leuke ideeën in de officiële client? Nou ja, ik kan pagina automatisch laten verversen.

Natuurlijk kan ik ook een instelling maken of er ook ververst moet worden, na hoe lang etc. En ik kan de instelling per pagina laten verschillen. Maar dat is nu precies wat ik niet wil. Minder is meer.

De PgUp/PgDown keybinding zijn wel een goed idee. (Fijntjes merk nog op dat de officiële client bijna 1 Mb meet (installatiebestand), terwijl ttb slechts 5Kb in beslag neemt (gecomprimeerd) :-) Ik wil van ttb een Fase III product maken. Het moet werken. Leuke features moeten 'transparant' zijn. Instellingen moet geminimaliseerd worden. Heeft iemand nog suggesties? Gebruikt iemand die screensaver-modus echt?!

misc

Python voor Perl-programmeurs: 1. PerlPhraseBook; 2. PLEAC.

Nog wat semi-grappige links: Japan is vermoeiend. Voetbal verbroedert.


0 Reacties:

Een reactie plaatsen


Emacs, the UberEditor Powered by Blogger