Marktfalen in de telecom

Berichtje in de Parool van iets wat natuurlijk al veel langer bekend is. Als je dataverkeer verbruikt in het buitenland dan betaal je je compleet scheel aan roaming mobiele data rates. En je hoeft er niet eens voor naar het buitenland.

Dit is een duidelijk geval van marktfalen, maar wat te doen? Een maximumprijs instellen op deze diensten werkt niet, omdat er dan wordt onder-geïnvesteerd zoals op de energiemarkt van Californië. Nutsificeren zou tof zijn maar de animo daarvoor is ontzettend laag.

Marktfalen treedt meestal op juist door de inmenging van de overheid. Er zijn veel zogenaamd vrij markten waarvan er bijna geen een echt vrij is. Draadloos breedband werkt voor geen meter omdat de overheid wholesale monopolies heeft verkocht op de frequenties en daarin kan een operator compleet zijn eigen gang gaan. Monopolies zijn niet tof.

In Amerika heeft Google zich voor de veiling van de 700MHz-spectrum garant gesteld voor de reserveprijs van $4.6 miljard dollar als de spectrumovereenkomst aan een handjevol eisen wat betreft openheid zou voldoen. Dat is half gelukt en Cringely had er al zijn bedenkingen bij.
Monopolies uitdelen is een slecht plan, open monopolies uitdelen klinkt al een stuk beter. Dat is misschien ook een idee voor hier maar beter nog, waarom zijn er überhaupt frequentievergunningen nodig? Waarom mag niet iedereen zijn gang gaan? Het zal in het beginnen vast wel een zooitje worden maar met wat duwen in de goede richting kan er vast wel een emergente orde worden gewonnen.

Ik ben niet echt een expert op dit onderwerp, maar mijn gevoel voor logica spreekt gewoon tegen monopolies van welke soort dan ook. Experts die hier iets over kwijt willen?

OpenID een robuuste open manier van Single Sign On

In ander nieuws, dit weblog ondersteunt sinds zojuist OpenID. Dat is een manier van inloggen met een gebruikersnaam en wachtwoord op verschillende sites die veilig is en waarbij je toch zelf de controle over je gegevens houdt.Ik heb er eerder al een uitleg over geschreven op Frankwatching wat redelijk veel aandacht trok en een recent artikel op Four Starters sloeg ook lekker in. De strekking van dat laatste artikel is dat de meeste mensen als een OpenID hebben, maar zich er niet van bewust zijn. Kijken of je toch een OpenID hebt, spoed je dan naar mijn OpenID generator.Als je niet wil dat er iets verandert, verandert er ook niets. Ik heb de wpopenid+ plugin hier geïnstalleerd om wat dingen met betrekking tot OpenID en innovatieve toepassingen hiervan uit te kunnen proberen. Dus misschien gaan dingen hier een beetje kapot in de komend tijd, maar ik probeer de gewoonlijke diensten hier zo goed mogelijk doorgang te doen vinden.

Internetcultuur dringt het gewone leven binnen

Iedereen die enige tijd online heeft doorgebracht kent de dansroutine van OK GO voor het lied “A Million Ways” wel en de vele vele keren dat het nagedaan is door mensen over de hele wereld.

Hieronder is de eerste keer dat ik het heb zien nadoen op het ijs en dan wel in een erg goed uitgevoerde routine tijdens een wedstrijd:

(via Ben)

Ik denk niet dat iemand van de aanwezigen het snapt, maar die groep mensen wordt groter en groter. Hoe lang nog voordat LOLCATS op billboards prijken?

Eindelijk Radio 1 luisteren op de Mac

Ik heb hier wel vaker geschreven over de beroerde webstreams beschikbaar voor Radio 1 bij de omroep. Daar is nu verandering in gekomen en het is nu af te spelen in Windows Media, Quicktime of Real.

Reden tot blijdschap dus, maar nog steeds vreemd waarom ze niet gewoon één MP3-stream hebben opgezet die volgens mij door alle drie die players probleemloos kan worden afgespeeld.

Update: Blijkbaar is dit een hele populaire post en ik luister redelijk wat radio via iTunes. Hoe je dat doet is als volgt, onder Advanced staat een optie Open Audio Stream (Command-U) en daar kun je de URL van een stream in plakken. Bijvoorbeeld:
Radio 1: http://shoutcast.omroep.nl:8100/listen.pls
Kink FM: http://81.173.3.20/listen.pls
Studio Brussel: http://mp3.streampower.be/stubru-high.mp3?rand=644

De URL die ik heb van 3FM doet het niet meer, maar die mis ik toch niet zo.

Update: Voor streaming heeft Radio 1 nu een pagina die niet direct vindbaar is vanaf de site zelf: Luister online naar radio 1

JavaONE Afterglow – Desktop Java

Ik was gisteren op de JavaONE Afterglow in Affligem en hier zijn mijn aantekeningen van een sessie daar (geconverteerd van Markdown):

Java on the Desktop by Sebastien Stormacq

How much Java is out there?

91% of all PCs run Java platform
Distribution through OEMs and JR software redistribution agreements

Q: What is the state of bundled video codecs for the Java platform (FLV)?

Example applications

Lightzone
Myspace video uploader (IILWY.com does the same with Flash and does it very well)

Note for Roel: Inglewood

sweet spots:
First wave of applets
enterprise applications
developer tools (Eclipse)
large consumer deskotp applications (Azureus)

Q: Under attack from Flash, XUL and Silverlight, C#/Mono

Badnews

Goodnews: aware of problems and working on solutions (hopefully) soon

Startup time (coldstart)

  • Coldstart: 5-10 seconds, not acceptable
  • Warmstart (after a recent run of VM): < 1-2 seconds
    Coldstart: about disk cache, java platform reads a lot from disk
    Solutions:
  • preloading Java on the OS level
  • Rearranging rt.jar

Quickstarter: preloads memory pages with help from the OS
pages can be flushed if needed

Install time and process

7-15MB download which extracts to 40+ MB
Lots of small files

Solution: Kernel JVM
Bare essentials to get your program running immediately
Additional dependencies later via web
Kernel is 2MB: Core JRE, Web Start, Plug-in, Installer

Roel questions hom big a part are the Corba and RMI parts?

JRE software detection and installation

No good way to detect JR software existence and version from browser
Developers use “Get Java” button which takes users away from the site

Applets constrained to lowest-common-denominator APIs
between MS VM or JDK 1.1

Solution: deployment toolkit
Javascript solution hosted by Sun
Redirects to download site, polls for succesful install and redirects back to original site

This already exists.

Windows Graphics Acceleration

Directx9 based pipeline
High performance for Swing and 2D

Nimbus

Modern look and feel

http://nimbus.dev.java.net
Scaleable and resolution independnt

Looks quite pretty.

Coming soon: consumer Java Runtime Environment

In Java6

  • Quickstarter
  • Kernel
  • Deployment toolkit
  • Windows Grphics acceleration
  • Nimbus look & feel

Planning is subject to change

Media

Java Technology needs a standard media solutino
Support for native formast through native players
Swing components for video/audio playback

Q: No builtin codecs?

Cross platform codec for standardization in the Java world

3D

You can do 3D with Java right now

Animation

Modern desktops are getting more animated
Widget toolkits which do not support this run the risk of looking outdated

Swing supports basic control animation, very manual to do more

Need:
* Better timing facilities
* Animations and effects

Components

Translucent windows
Shaped top-level components

Simplifying GUI development with Netbeans

Netbeans GUI builder: Matisse

Simple and intuitive GUI layout

Suggests component alignment and spacing

Introduces the Group-Layout manager

Transparent Internationalization

Q: How does this work?
WYSIWIG code builds a DOM of controls
this DOM is serialized into Java Code
edits in the Java code are parsed and the visual representation of the dom is redrawn

Swing Application Framework

Goals:
* As small and simple as possible
* Explain it in one hour
* Standard basic appliaction architecture
* Works very well for small/medium apps
* No integral docking framework, generic data model, scripting language, GUI markup schema

Lifecycle

Actions

Nice encapsulation, behaviour
manages enable/selected state

Overhead in creating Action classes
Visual properties should be l8n
Asynchronous Actions are difficult
enable/selection wiring can be a mess

@Action
“sayHello” ActionMap entry
ActionEvent argument is optional

Background thread for
* computationally intensive tasks
* task that might block
Monitor for:
* starting, interrupting, finishing
* progress
* messages
* descriptive information
SwingWorker does most of this

Task extends SwingWorker

Resources

Tasks

Session State

user preferences like window size etc.

Create subclass of Application
Create and show your GUI in the startup method
Use Application-Context services to

Flickr Photo Viewer

Demo taks using Netbeans running on Solaris running on Parallels on a Macbook Pro

Mac version of Java has a bug concerning multiple screens

Demos a Flickr picture retriever using Matisse

Wysiwig buildup allows you to build flexible resizable GUIs

Uses a precoded Flickr.java file with a lot of code
It would be easier (in a scripting language) to do a REST call and parse the resulting XML (2 lines of code)

Action of retrieving an image from Flickr blocks the GUI

Alper: This would have saved me hours and hours while still at university.

http://appframework.dev.java.net

Beans Binding

Source object
Target object

Source to target: Converter
Target to source: Converter + Validator

Another demo showing how to bind beans from various controllers to each other

And another demo showing a (no lines of code written) database connection and Access style data editor

Java FX Script by David Delabassee

What is JavaFX Script?

Programming language for the java Platform

Simple syntax somewhere between ActionScript and Javascript

Shows Silver Surfer application
with animation and other graphical effects and playing of video through the Java Quicktime binding

  • Object oriented
  • Declarative syntax
  • Statically typed + type inference
  • Automatic data binding
  • Extensive Widget libarry encompassing swing and Java 2D

Tutorial widget where you can adjust the values of JavaFX objects and their properties live.

Have built a JavaFX version of a lot of Flash applications to demo that the same thing is possible using Java.

Q: Java tring to kill the Flash hegemony? Both have a ridiculous amount of presence and penetration. Flash does not have a strong mobile presence yet but Java is already there, could capitalize on that presence.

Insted of using Quicktime binding on the mobile, use a binding to run 3GP files natively and stuff

Roel: Quicktime for Java (ask Reinier)

HTML5 wants to adjust HTML to be capable of most of this out of the box.

jfx.org to learn more
JavaFX Mobile

Deploy the exact same application both on desktop, web and mobile

De Volkskrant toch maar opzeggen

De foto hiernaast is genomen op het evenement Mediawijsheid (mijn verslag) waar de dagvoorzitter Pieter Hilhorst vroeg wie van de aanwezigen zijn nieuws enkel via internet tot zich nam. Ik was een van de weinigen en hoongelach uit de zaal viel mij ten deel. Hoe kon ik toch ooit verwachten goed geïnformeerd te worden door het (grote boze) internet ?

Dit incident is veelzeggend over de aanwezigen. Een grote groep mensen die zo onbekend is met het internet dat ze zich niet kunnen voorstellen dat mensen daar de voorkeur aan geven boven de traditionele media. Een schrijnend gebrek aan mediawijsheid.
Hilhorst zelf had er natuurlijk alle belang bij om deze gedachtengang in stand te houden. Hij is zelf columnist en het business model Hilhorst is erbij gebaat dat het goed gaat met kranten en de papiercultus.

Sindsdien heb ik weer een krant uitgeprobeerd, maar erg bevallen doet het niet. Ik had mijn abonnement op de Volkskrant al teruggeschroefd van langweekend naar alleen zaterdag en de rest online maar ik denk dat ik hem helemaal ga opzeggen.

De tijd/kwaliteit-afweging bij kranten is niet meer wat het geweest is.

Vroeger was er niks anders dan jouw krant en misschien nog één televisiekanaal. In dat ecosysteem is het vanzelfsprekend om een krant te lezen. Die vanzelfsprekendheid is er nog steeds, niet omdat de realiteit dat vraagt maar omdat mensen slecht reageren op veranderingen.

Het media-aanbod is ontzettend gegroeid zowel lokaal als globaal. De kans dat je iets uit een krant leest is gering. Het aanbod van kwalitatieve gratis publicaties is zo groot dat er sites ontstaan met als enige doel om hier een filtering in aan te brengen.

Daarnaast is de kans dat een artikel in een krant kwalitatief goed is ook niet al te groot. Als expert lees ik de berichtgeving over internet en nieuwe media in de kranten en deze is over het algemeen buitengewoon achterhaald en tenenkrommend slecht van kwaliteit. Moet je je voorstellen hoe slecht die artikelen zijn over onderwerpen waar ik geen expert in ben.

Ter illustratie dit bericht van Francisco van Jole over een fout in een artikel in de Volkskrant. Natuurlijk goed dat hij het toegeeft en zo’n fout kan er makkelijk insluipen maar er lopen nu wel slecht geïnformeerde weinig kritische volkstammen rond die denken dat Steve Jobs Twittert.
Hoe zou je met die mensen in discussie moeten: ‘Het staat in de Volkskrant dus het is waar.’

(Kranten)artikelen die geschreven worden als dialoog en waar mensen op kunnen reageren bieden een goede uitweg uit dit soort problemen. Het samen vinden van kennis en waarheid heeft wel wat. Mijn stukjes worden er beter op als ik me niet opstel als authoriteit maar de bijdragen van anderen verwelkom.
Dat dit grote problemen op het gebied van vertrouwen en authoriteit met zich meebrengt klopt, maar daar zijn oplossingen voor.

Nou is de vraag natuurlijk of ik als ik gevraagd mocht worden om tegen een aardig honorarium af en toe iets willekeurigs in een krant te schrijven, dat zou kunnen weigeren? Waarschijnlijk niet. Het is niet al te moeilijk werk wat vast redelijk betaalt en het gepeupel is prima nog wat langer te misleiden.

Daarom is het in het algemeen belang dat kranten doodgaan zodat iedereen gedwongen wordt om nieuwe en betere manieren van het beschrijven van de werkelijkheid te creëren.

Portfolio

Sommigen hebben het al gezien, ik heb een kleine site gemaakt waar ik een fotoportfolio kwijt kan.

Een paar templates, een invoerbestand met de foto’s en beschrijvingen en een script draaien de boel uit. Ik heb gisteren ook nog even de links naar Flickr toegevoegd en categorie-overzichtspagina’s gemaakt.

Veel simpeler kan het niet echt, veel ingewikkelder hoeft het van mij op dit moment ook niet.

De open samenleving en haar vijanden

Een nieuwsbericht op Fok over dat de doodstraf staat op mobiel bellen in Noord-Korea.

Daaruit een plan om het regime van Kim Jong-il geweldloos omver te werpen:

Gebruik niet waarneembare nachtvluchten om pakketjes met OLPC‘s te parachuteren in Noord-Korea. Zorg dat ze WiMax of een satellietverbinding hebben zodat ze met de buitenwereld kunnen praten.

Noord-Korea kan moeilijk zeggen dat het uitdelen van gadgets aan mensen een daad van oorlog is maar open communicatie met de buitenwereld zal van binnenuit een gigantische eroderende werking hebben op het regime.

Een open samenleving heeft vijanden, maar openheid zelf is een krachtig wapen.

Starre denkpatronen in de webindustrie

Een tijdje geleden praatten we met wat verlichte zielen over de stand van webstandaarden in Nederland. We vonden dat daar verbetering in moest komen en we hebben allemaal wel ons best gedaan om mensen hiervan te overtuigen. Het lijkt er nu op dat de verbetering voor een deel is gerealiseerd maar dat sommige mensen wellicht zijn doorgeschoten.

Ik kom regelmatig webboeren tegen die valide XHTML 1.0 pagina’s aan de man proberen te brengen met als argument dat dit het beste is wat er bestaat op het gebied van mooie onderhoudbare webpagina’s.

Dit is pertinent onwaar. De voordelen van XHTML boven HTML 4.01 zijn —als ze er al zijn— miniem. De genoemde voordelen schone semantische code en een scheiding van inhoud, presentatie en gedrag, kunnen net zo goed en tegen lagere kosten gerealiseerd worden met normale HTML.

Potentiele nadelen zijn er daarentegen genoeg. Hier wat voorbeelden.

Futiele moeite

XHTML wordt door vrijwel geen enkele browser geïnterpreteerd als XHTML. Aangeraden wordt om vrijwel altijd je pagina’s aan te bieden als mimetype text/html. Je XHTML code zal dan alsnog geïnterpreteerd worden als normale HTML. Dit doet de meeste voordelen die je dacht te hebben al teniet.

Je kunt beter HTML 4.01 schrijven wat net zo semantisch kan zijn, niet langzamer is en beter begrepen en ondersteund wordt.

Draconische foutafhandeling

XHTML berust op een harde foutafhandeling om onvoorspelbaar gedrag te voorkomen. Het gevolg hiervan is dat als er een fout in een pagina mocht staan, de afhandeling stopt en de gebruiker geen pagina meer te zien krijgt maar alleen een foutmelding. In een internet dat grotendeels door mensen wordt geschreven en waar content van verschillende bronnen gehaald wordt, is het moeilijk om perfecte pagina’s te garanderen.

Een vergevingsgezinde parser zoals bij HTML met heldere afspraken wat te doen bij fouten is handiger.

Doodlopend pad

Er is geen helder migratiepad gedefinieerd van XHTML 1.0 naar XHTML 2.0. De XHTML 2.0 specificatie bevat significante veranderingen ten opzichte van de vorige waardoor veel code handmatig zal moeten worden aangepast. Het gebrek aan visie in deze specificatie zadelt iedereen die meedoet met XHTML 1.0 op met significante kosten wanneer er moet worden overgegaan naar de volgende versie.

HTML 4.01 is goed begrepen en wijd ondersteund. Er is een duidelijk upgrade-pad naar de HTML5 specificatie die zowel backwards compatible is met HTML 4.01 als een groot aantal nieuwe features bevat voor de toekomst.

Conclusie

Het is op dit moment dus af te raden -zelfs schadelijk- om XHTML te gebruiken. Dezelfde voordelen kun je met een veel groter gemak bereiken door het eenvoudige ouwe semantische HTML 4.01 te gebruiken.

Ik pleit ervoor dat we niet alleen pleiten vóór webstandaarden maar tegelijkertijd ook voor een flexibelere manier van denken en een kritische houding ten opzichte van alles. Ik kom teveel mensen tegen die na enige deliberatie een standpunt accepteren en er dan niet meer aan twijfelen maar het uitdragen als een soort gospel.

Continue kritiek van alles is noodzakelijk. Wat vandaag waar is, hoeft dat morgen niet meer te zijn. XHTML lijkt op dit moment dood, maar HTML5 biedt een serialisatie naar XML wat mogelijkheden biedt voor de toekomst.

Je wereld kan veranderen. Het zou jammer zijn als je daar zelf als laatste achter kwam.

Update: Ik denk dat ik hier nog wat aan ga schaven en het dan op Frankwatching zet.