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.

Second Life: Wat moeten we ermee?

Second Life; Abort, Retry, Ignore?

Net tijdens de lunch de tweede helft gevolgd van een lunchdebat georganiseerd door the Platform for Ethics and Technology hier in de Aula. Aparte timing voor zo’n discussie maanden nadat de publiciteitshype rondom SL voorbij is.

Het ging ruwweg over wat we nu precies aanmoeten met Second Life. Helaas werd de discussie volledig gekaapt door een vent van het CDA: Harry van der Molen.

Er vallen veel dingen voor en veel dingen tegen Second Life te zeggen. De manier waarop het platform gebruikt wordt door louche marketeers en webontwikkelaars om tijdens de hype de meest vage concepten te lanceren verdient inderdaad geen schoonheidsprijs.
Een van de voorbeelden die genoemd werden, was de investering van de gemeente Zoetermeer in een virtueel stadhuis. Een slecht doordacht concept, weinig bezoekers en als enige resultaat de publiciteit na het aanvankelijke persbericht.

Van der Molen gebruikte dit ene voorbeeld en een paar schimmige onderzoeken om Second Life compleet af te branden. Zijn argumenten die op zichzelf wel enige merites hadden, waren doorspekt met een waanizinnige hoeveelheid negativiteit.
Na Second Life moesten eigenlijk alle virtuele werelden het ontgelden en uiteindelijk was volgens van der Molen alles wat virtueel was niet de moeite waard. De argumenten over substitutie, realiteit als escapisme werden handig verpakt in een roep naar de zaal: “Get a life!”.

Dit is natuurlijk zwaar overdreven en ronduit dom. Een groter en groter gedeelte van waarde creatie speelt zich online af. In de huidige genetwerkte samenleving zoeken mensen naar nieuwe samenwerkingsverbanden. Second Life en andere virtuele werelden kunnen daarin een rol spelen als een drie dimensionele extensie van huidige media als Skype en IRC.
Het feit dat er een ruimte is waar de interactie zich afspeelt speelt in op de manier waarop onze hersenen gebouwd zijn. Second Life en anderen werken al wel, maar de techniek is nog iets te beperkt om het vloeiend te laten plaatsvinden.

Intense Debate

CDA

Wat er in de zaal gebeurde en hoe Harry van der Molen discussieerde is exemplarisch voor hoe het CDA politiek bedrijft in het post-Fortuyn tijdperk. Dat ze daar veel succes mee boeken kun je betreuren.

Van der Molen polariseerde het debat volkomen door uit te gaan van uitersten en van absoluut verwerpelijke dingen. Verslaving onder Second Life gebruikers en het zich afspelen van (virtuele) kinderporno zijn dingen waar niemand voor kan zijn. Deze paar voorbeelden kwamen van der Molen zo goed van pas, dat hij het praktisch nergens anders over had.

Naast het kwaad had hij ook nog een argument over de zinnige besteding van publiek geld zoals in Zoetermeer niet het geval is geweest. Hier kan ook niemand tegen zijn. Iedereen wil dat publiek geld goed besteed wordt. Op mijn vraag of er in al zijn realiteitszin misschien ook nog plek was voor enige visie, kwam een nietszeggend antwoord.

Door zichzelf neer te zetten als tegenstander van het absolute kwaad had hij het debat al bijna gewonnen. Daarna hoefde hij alleen maar alle andere argumenten terug te brengen tot zijn basisargumenten en in te spelen op angst.
Argumenten mochten ook zeker niet te genuanceerd zijn of te ingewikkeld. Dat zou ervoor kunnen zorgen dat de polarisatie afneemt. Misschien van der Molen daarom steeds extremer ging formuleren.
Hij hield het verder lekker makkelijk en populistisch, af en toe verpakt in een half grapje. Als je de zaal aan het lachen krijgt, maakt niet uit waarom, laat je zien dat jij een toffe peer bent en niet de kwaadste.

Balkenende zelf beheerst dit kunstje uitstekend en van hem wordt binnen het CDA dus dankbaar afgekeken.

Eindelijk WiFi in huis



linksys, originally uploaded by illustir.

Sinds ik een Mac heb maak ik gebruik van het bestaande draadnetwerk in huis. Het is een beetje primitief maar met de twee kabels die er zijn kon ik op de meeste plekken wel internetten.

Mess of cables

De drang naar WiFi was er wel maar het was nog niet zo makkelijk te realiseren. In de eerste plaats was onze internet router een oude Linux-bak waar tegelijkertijd de webserver van alper.nl op draaide. Dat moest dus blijven draaien. Met de recente migratie van alles van alper.nl naar Dreamhost is de weg dus vrij gemaakt voor het opheffen van die bak en het installeren van een echte draadloze router.

Vandaag deze oude FON router bij mijn ouders opgehaald en geïnstalleerd. Op Cristiano’s aanraden heb ik de Fon-firmware overschreven met dd-wrt wat bijzonder fijn werkt en uit den treure configureerbaar lijkt.

Mis-configuratie

Ik probeerde na de nieuwe firmware de router draadloos te configureren en ik kwam op een langzame en vreemd uitziende gebruikersinterface uit. Hier een beetje rondgeklikt, het wachtwoord veranderd en een ACL voor Mac-adressen ingesteld.

Toen kwam ik er niet meer in en na het inpluggen van een kabel in mijn linksys kwam ik op een andere (!) —de juiste— admin interface terecht. Het blijkt dus dat ik de router van iemand anders in de buurt heb zitten configureren, maar nu kom ik (en waarschijnljk hij ook) er niet meer in.

Eerlijk delen

De enige functionaliteit die ik mis in de dd-wrt router is de mogelijkheid om mijn netwerk af te schermen maar voor mensen in de buurt een kleine internetlijn open te stellen. Ik waardeer het erg als ik ergens ben en er open WiFi is. Ik zou graag datzelfde willen aanbieden. Het schijnt dat die functionaliteit er in een volgende versie in komt.

Koolstofneutraal is het nieuwe zwart

Op TOPdesk vandaag het nieuws dat al ons drukwerk milieuvriendelijk gedrukt wordt

Green Web Hosting! This site hosted by DreamHost.

Nu vraag je je af hoe wij moderne mensen ons steentje bij kunnen dragen tegen de klimaatcrisis. Ik krijg net de Dreamhost nieuwsbrief binnen waarin staat dat alle hosting bij hen nu koolstofneutraal is. Dus alper.nl is nu koolstofneutraal net zoals fourstarters.com, tipit.to en verschillende andere sites.

Nu nog de thuisserver die hier trouw staat te brommen definitief met pensioen sturen en vervangen met een wireless linksys router. Dan zijn we echt op de goede weg.

PC Magazine over OpenID

Ik lees bijna geen print media, maar de meeste mensen boven de 30 doen dat wel en laten zich in hun beslissingen ook daardoor leiden. Daar moeten we rekening mee houden.

Ik kreeg een week of wat geleden een mailtje van een journalist van PC Magazine die een stukje wilde schrijven over OpenID en bij mij kwam naar aanleiding van mijn stukje bij Frankwatching.

Na een korte e-mailwisseling bleek dat deze persoon bijzonder in de war was en er redelijk op gebrand was om een ‘kritisch’ stukje te schrijven over OpenID.

Ik heb geprobeerd de twijfels van deze man weg te nemen en alles wat er niet klopte te ontkrachten maar ik ben er niet zeker van of dit wel gelukt is. Mijn vraag is nu dus: Heeft iemand zo’n stukje al gelezen in PC Mag of vergelijkbare publicaties?

Mocht zo’n stukje namelijk verschenen zijn en misleidend zijn, dan zou ik het als mijn taak zien om zo’n stukje te ontkrachten puur als dienst in het algemeen belang.