Berry

Berry

Berry Groenendijk  //  I am an Information Architect at http://www.caerleon.nl. I am very interested in the various, unexpected and unintended ways in which information is, can and perhaps should be used in enterprises.

I am also the co-founder of www.localpoint.nl. A website collecting local news. It also provides a platform for small and medium sized enterprises for online local advertising.

Aug 6 / 4:11am

The evolutionary brain

I am just a layman on these matters. I just like thinking about evolutionary processes. I like to think that understanding evolutionary processes can perhaps lead to innovative new applications. In IT for example.

Thinking about the evolution of human kind and thus also the evolution of our brains I visualized our brain to contain very abstract algorithms. Algorithms that change over time and are highly adaptive and highly interactive with all other algorithms in our brain.

Take for example object recognition. Our brains are excellent recognition machines. We do not simply recognize a particular shape like a square or a circle, but also all the varieties of those shapes. We apparently have some highly abstract notion of all kinds of shapes. This notion is accompanied by the ability to recognize for example repetition or patterns and their change over time. Perhaps these are also two (or more) kinds of abstract algorithms. Question is, is this a good model of how our brains work?

I just watched a very interesting interview with Leda Cosmides and John Tooby. They are pioneers in the field of evolutionary psychology. They devote their time to discover and understand the design of the human mind. In their view the mind is a set of information-processing machines that were designed by natural selection to solve adaptive problems faced by our hunter-gatherer ancestors. Or as Tooby says in the interview “‘Matrix’ programs playing in our head structuring the world for us”. Interesting indeed.

So perhaps our brains do indeed contain a set of abstract, highly adaptive programs which change over time via an evolutionary process. However this just raises a lot of questions for me. How many of such programs are there? 10, 100, thousands, millions? And where are these programs described? That should be simple to answer: in your DNA. Really? How many genomes do you need to describe one brain program? 10, 100, thousands of genomes? Most probably not. Because there are much less genomes then we originally thought. In this interview with Craig Venter he states that there are probably ‘just’ 40.000 genomes. Ten years of genome research has learned us that we still know very little about how these information blocks, DNA and genomes, actually describe us as humans. If we will ever know how our brain programs look like thus remains to be seen. Yet another puzzle to resolve.

This shouldn’t stop us to keep thinking. And luckily people indeed do not stop thinking. A new Scientist article describes how artificial life forms evolve basic intelligence. Using computer models (a.k.a. artificial life forms) and using software based evolution people are creating digital organisms. Over many generations these digital organisms develop for example a simple short-term memory. Given the right conditions, environment and feedback loops these digital organisms can perhaps evolve in artificial life forms that can do remarkable things. Interestingly enough they do this not by reproducing high-level intelligence in a computer but by building complex traits from the bottom up using very simple things. This is exactly what happens in nature (see also Emergence). We have evolved into very complex beings. But it al started with very simple things like atoms, molecules, proteins, RNA, DNA, etc.

One day there will be an artificial life form or an adaptive computer program that will be able to really understand what I (and others) am saying and that is perhaps even able to talk back to me in a voice that resembles my own.

Update: In this article by PZ Myers titled “Ray Kurzweil does not understand the brain” Myers explains:

“The genome is not the program; it’s the data. The program is the ontogeny of the organism, which is an emergent property of interactions between the regulatory components of the genome and the environment, which uses that data to build species-specific properties of the organism.”

Update 2: Ray Kurzweil responds to PZ Myers article. Ray Kurzweil explains:

“It is true that the brain gains a great deal of information by interacting with its environment – it is an adaptive learning system. But we should not confuse the information that is learned with the innate design of the brain. The question we are trying to address is: what is the complexity of this system (that we call the brain) that makes it capable of self-organizing and learning from its environment? The original source of that design is the genome (plus a small amount of information from the epigenetic machinery), so we can gain an estimate of the amount of information in this way.”

Filed under  //  evolutionary computing    AI   evolution  
Mar 19 / 6:03am

Build an actual website instead of drawing wireframes to test your website design

Whenever you are designing a website, for a customer for example, you quickly want to test your early design. You want to know if you are on the right track and have understood the wishes and requirements of your customer. Wireframes, either drawn by hand or some kind of tool, are a great way to document your design and to test your (early) design. But, wireframes tend to be very static en not clickable. In my experience users are easily distracted by the lack of detail in wireframes and the lack of interactivity. You constantly have to explain to users that they have to imagine how things would look like or how things will work. Users are not very good at imagining things. This lack of imagination can influence the quality of feedback you will get from your users.

What if you could build an actual, functional website in (almost) the same time you would draw a wireframe? And what if that website is actually the very first incarnation of your final website? Is that possible? I think it is. I am convinced that with the right tools you can build a (very early) website in something like an hour. So, you can start to gather feedback from your customer or users very quickly.

Because I already am an experienced Django programmer I used Django to test this idea. I opened up a github project called djangodemo. I started from scratch on my Macbook to build a website. Unfortunately djangodemo is written in Dutch and targeted for a Dutch audience. In the readme of this project I have documented every step needed for building the very first incarnation of a website. In this case the example website is not the obligatory blog roll but the very, very first incarnation of an administrative system for city councils. Including setting up github and documenting every step building the first incarnation of the website took me 3 hours. The result is:
  • a clickable, functional website
  • some basic, but very extensible and already consistent looking styling, using Compass
  • an admin interface for entering and managing data
Most of the prerequisites, like Python 2.5 (including SQLite) and Ruby are already present on a Macbook. You only have to install Django and Compass to start building websites. Django and Compass are a great way to quickly build a good looking, fully functional website and to actually let your ideas come to live, so you can start gathering feedback from your customer or users.

Just today I discovered an article by Ciaran Jessup on howtonode.org. Ciaran shows how to build a completely functional blogging system using node.js + express + MongoDB. For styling Ciaran is using haml and sass (compass is build on top of sass). Basically, Ciaran has described the same example as I did but using different technology components.

The technology components to quickly build completely functional and good looking websites are: a userfriendly webframework (Django, node.js + express or Ruby) with a well designed templating engine (Django templates or Haml) plus a userfriendly CSS language/framework (Compass and/or Sass).

The next time you start to draw wireframes think about actually building the website. It's quite easy if you use the right tools.
Filed under  //  compass   django   python   sass  
Sep 8 / 3:18pm

Beautiful designed electric folding bicycle

I have always been interested in recumbant bicycles. The riding position on normal bicycles is a bit strange if you think about it. But, recumbants are usually not very compact bicycles. They usually also have long chains to drive the wheel.


The other extreme is a uni-cycle. This design is very compact. But, pedaling and keeping your balance is pretty hard. And the speed is pretty low. People have been experimenting with self-balancing electric uni-cycles. And I like the idea of having a very compact vehicle that can move you around.

Grant Ryan has designed a very compact bicycle that is basically a uni-cycle with a small second stabilizing wheel. You sit on it in a almost upright postion. He calls it mini-farthing. In the orginally design it is a human powered bicycle. But under the name Yike-Bike Grant Ryan is selling a all electric version. This thing looks great. I like the design very much. This thing is definitly going on my wish list.

Filed under  //  renewable energy  
Jul 27 / 3:16pm

The Human-Hybrid-Motorcycle

Media_httpwwwerockitn_mutqz

From Berlin comes a new kind of vehicle. Is it a bicycle? Is it a motorcycle? No, it's a eRockit. You have to peddle to move forward. And it reaches speeds of 80 km/h. Of course it is electric. Nice machine!

Jun 27 / 9:11am

Disruptive business model for music, the iPhone app store

Michael Jacksons death got me thinking: Can his success be repeated in this day and age? Traditionally a musician reached his/her audience via music publishers. Producing music, printing CD's, marketing and other stuff is all taken care of or at least pre-financed by the music publisher. This allowed Michael Jackson to sell 750 million records. In this day and age artists can only dream of such sale numbers.

Apple created a similar ecosystem as the music publisher have done before, the iPhone app store. This time however the artists are not musicians but programmers. A programmer creates an application and sends it to Apple for acceptance. The programmer decides on the price of the application. Free or usually a small amount. On every sale Apple keeps 30% and the programmer receives 70% of the sale. Apple takes care of the distribution of the application by creating the medium (iPhone) and the store (iTunes App Store).

The iPhone app store is insanely successful. More than 50.000 application and more than a billion downloads. Some applications generate a lot of money. Flick Fishing for example is the first paid iPhone application to sell 1 million applications. The price of Flick Fishing is just 99 cents. Still, a million sales generates quite a lot of money.

But, what if I am a musician and want to sell my music? How can I get on iTunes? As a musician you cannot upload your song to iTunes yourself. You need to find some kind of distributor.

Apple however simply has to make the iPhone app store business model available for iTunes music, video's and podcasts to be completely disruptive to the entire music and also film industry. Allow everyone to upload songs and/or videos to iTunes. Let the artist decide on the price. Either free or a small amount. Apple takes 30% and the artists receives 70% of every sale. 30% of every sale generates enough money for Apple to do quality control on every song or video uploaded. And a lot of quality control can also be automated. This simple business model, already in place for iPhone applications, allows musicians and video artists to completely bypass publishers and other distributors. And it can also be applied to books as well.

Never mind DRM. All this can be done without DRM securing your sale. If the sale price is low enough people are prepared to pay for it. Certainly if it is more convenient to pay and download directly from iTunes then finding and downloading songs from somewhere else. And if your audience is large enough you can still earn a decent amount of money. You only need a 1000 true fans to make a living. Or a million fans who pay just 99 cents for your song.

I think it is only a matter of time before Apple applies the iPhone app store business model to iTunes music and video's. And eventually also books. 

Apr 24 / 2:47pm

What books on Information Architecture should I definitely read?

As an architect you are designing (information) systems for human use. For this system to be build an architect defines rules and constraints. As an architect I seek inspiration from existing software, reading books, discussions with peers, etc. And of course the internet is constant source of inspiration. I am especially interested in the influences of internet concepts and ideas on "traditional" enterprise and government IT architectures.

Some of my sources of inspiration are:

  • The ReST architectural style. I believe ReST-like systems will have a profound influence in future enterprise and government IT architectures. The reasons being that ReST-like information systems:
  • are simple and easy to understand for users (and developers)
  • promote serendipitous reuse
  • are inherently designed for connectedness
  • are focused on resources/information instead of services
  • Christopher Alexander and the concepts of patterns and sequences. And I am especially interested in the concept of how an architecture will unfold itself given a set of rules and constraints.

  • Language. I am very much interested in the role of language in an information architecture.

  • Context Orientation. The role of context in an information architecture is very interesting. But, I have not found any good books or websites on this theme.
So this is my question: do you know any interesting books or websites about information architecture? Please let me know in the comments below.
Mar 28 / 8:39am

Feed-in regeling in crisisakkoord.

Eindelijk eens wat goed nieuws over crisis. De succesvolle feed-in regeling voor duurzame energie opwekking zoals in die in Duitsland wordt gehanteerd is in het crisisakkoord van de regering opgenomen. De Kleine Aarde houdt nog even een slag om de arm wat betreft deze regeling, want het is nog niet duidelijk hoe de regeling in de praktijk er uit gaat zien. Maar, het begin is er. Zie: http://www.duurzaamnieuws.nl/bericht.rxml?id=41950&title=Feed-in%20regeling%20in%20crisisakkoord

Update: Het was ook té mooi om waar te zijn: De schijn regeert. Het is nog afwachten hoe de plannen precies vorm gegeven gaan worden, maar kennelijk durft deze overheid niet door te pakken.

Mar 19 / 4:17pm

Doe-het-zelf-klus: duurzame energie voor je buurt

Een aantal artikelen deden mij aan het denken zetten. De artikelen:

„De natuur is de vijand van het kapitaal! De natuur werkt gratis! En gratis is een vloek! Niet de natuur moet produceren! Wij moeten produceren! Wij! Wijzelf!”

Ik zal de inhoud van de artikelen niet herhalen. Maar, na de kredietcrisis lijken we te gaan afstevenen op een energiecrisis of liever gezegd een grondstoffencrisis. Telkens weer blijkt dat de problemen niet technisch van aard zijn. Technisch zijn er voldoende mogelijkheden om de (komende) energiecrisis te lijf te gaan. Ook geld lijkt geen rol te spelen. Er is voldoende geld in omloop. Het ontbreekt voornamelijk aan (politieke) wil.

Kennelijk staat bij kiezers het onderwerp "energiecrisis" ook niet op hun netvlies. Anders had het onderwerp ook wel hoger op de politieke agenda gestaan. Misschien moeten we niet naar de overheid kijken voor een oplossing. De oplossing ligt bij ons zelf: de burger.

Meer dan ooit hebben we de middelen om ons als burger te organiseren. Het middel: internet. Een interessante ontwikkeling is DIYCity, een doe-het-zelf-stad. DIYCity vraagt zich af of het mogelijk is om een set van technologische tools te verzamelen die iedereen kan gebruiken om een stad beter te laten functioneren. Is het mogelijk een stad te maken waarin informatie open en gemakkelijk gedeeld kan worden tussen overheid en burgers en tussen burgers onderling? Is het mogelijke een informatie ecology te creeëren dat het leven in een stad voor iedereen in die stad verbeterd?

Ik stel voor hetzelfde te doen op energiegebied. Burgers in een straat of een wijk zetten een "energiecoöperatie" op. Iedere deelnemer aan de coöperatie is mede-eigenaar. De coöperatie voorziet huizen van zonnepanelen, bouwt in een naburig weiland 1 of meerdere windmolens, bouwt een WKK centrale, bouwt een koude/warmte opslagsysteem, etc.

De investering zijn hoog. Voorstel is dat gemeenten in dit burgerinitiatief kunnen participeren door voor maximaal een belang van 49% deel te nemen in de coöperaties. De gemeente blijft zo zicht houden op de initiatieven en kan sturing geven aan de initiatieven. Zo kan de gemeente bijvoorbeeld gebieden aanwijzen waar energiecoöperaties windmolens mogen plaatsen.

Energiecoöperaties kunnen te allen tijde te veel opgewekte stroom terugleveren aan het net (zie ook feed-in tarief). De vergoeding komt ten goede aan de coöperatie en haar leden. De overheid dient te reguleren dat stroom altijd teruggeleverd kan worden aan het net. Energiecoöperaties kunnen ook hun netwerken onderling aan elkaar gaan koppelen waardoor er een betrouwbaar netwerk ontstaat. De overheid zou hier de juiste randvoorwaarden kunnen creeëren waardoor gestimuleerd wordt dat netwerken aan elkaar gekoppeld worden.

Op deze manier wordt er door burgers, voor burgers, een energienetwerk opgebouwd waar gemeenten en de overheid in participeren. De stimulans om een dergelijk netwerk op te bouwen is dat een dergelijk energienetwerk uitzicht biedt op een duurzame en relatieve goedkope energievoorziening voor de toekomst. Als we niets doen dan blijven we afhankelijk van een energiebron die de komende tijd alleen maar duurder gaat worden. De door de burger opgezette energiecoöperaties zorgen voor een toekomst met duurzame, betaalbare energie, die zorgt voor werkgelegenheid, innovativiteit, koopkracht verbetering en minder CO2 uitstoot.

Ik ben benieuwd wanneer de eerste burger-energiecoöperatie het levenslicht ziet.

Mar 4 / 4:04am

Paul Graham: "Why TV Lost"

Volgens Paul Graham is het duidelijk. De computer heeft de convergentiestrijd tussen de TV en de computer gewonnen. Sterker nog. Het is niet eens een convergentie geworden. De computer heeft de TV gewoon weggedrukt.

Ik ben het met Paul Graham eens. De computer, of liever de computertechnologie, in combinatie met het Internet als distributie- en met communcatiemedium is enorm krachtig. De creativiteit en innovativiteit die computers en internet nu teweeg brengen is enorm. Bestaande omroepen, dagbladen en (muziek)uitgeverijen worstelen nog steeds met dit nieuwe medium. En hoe langer zij worstelen des sneller en genadelozer de mediabedrijven worden ingehaald door nieuwkomers op het internet.

Dat bestaande mediabedrijven nog steeds hun hakken in het zand zetten is de laatste tijd ook te zien aan de TV producenten. Zij proberen de computer nog steeds in de TV te krijgen. Zo komt Philips met een Net TV en zijn er ook andere Internet bedrijven als Netflix die proberen een plekje op de TV te bemachtigen. Bekende consultancy bedrijven zien een grote toekomst weggelegd voor deze ontwikkeling en zien een verschuiving van macht in het medialandschap voor zich, waarbij kabelmaatschappijen aan macht moeten gaan inboeten en waarbij die macht gaat verschuiven naar TV producenten.

Ik voorspel dat al deze pogingen zullen mislukken. Stel je het volgende voor. Ik koop een TV van merk P en kan dan kanaal A en B bekijken en website C en D. Maar, kanaal X en website Y kan ik niet bekijken, want TV merk P heeft geen deal met X en Y gesloten. Huh? Dat gaat toch nooit werken. Dit businessmodel kan alleen maar werken als alle TVs met een open systeem gaan werken. Met een "computer" in de TV die ik als gebruiker zelf kan voorzien van de software en waarbij ik als consument zelf kan bepalen naar welke kanalen ik kijk en welke website ik kan en mag bezoeken. Zo lees ik bij het verhaal van de Net TV van Philips dat er (wederom) een speciale HTML subset is bedacht voor het tonen van websites op een TV. Ook dat gaat niet werken. Net zo min als dit ook niet gewerkt heeft voor de mobiele telefoon. Pas op het moment dat mobiele telefoons gewone normale HTML gingen ondersteunen, zoals de iPhone, en pas op het moment dat het gehele internet vrijelijke toeganklijk was op de mobiele telefoon, pas toen werd mobiel internet een succes. Net als bij de telefoon zal de TV een open platform moeten zijn, dat met normale internet standaarden kan omgaan en waarbij het gehele internet vrij toegankelijk. Iedere beperking die TV producenten zullen opwerpen zal er voor zorgen dat consumenten deze TV's niet gaan kopen.

En hoe kun je een TV nu open platform maken? Door er een standaard PC in te zetten! Een PC met Linux, Mac OS X of Windows. De PC is dé TV van de toekomst. De PC heeft de strijd gewonnen. TV producenten zijn dus LCD-paneel leveranciers geworden cq. gebleven. De TV van de toekomst is een iMac bijvoorbeeld. Een iMac is nog te duur om als TV te dienen, maar Apple kan ook kastjes leveren met een afslanktere vorm van hun OS (zie iPhone, zie Apple-TV) waardoor zo'n Apple TV een stuk goedkoper kan worden. Plus dat zo'n computer TV meteen ook allerlei andere dingen kan doen. Games, Bluetooth, Wifi, foto's, video, etc. etc.

The TV Lost.

Mar 1 / 9:57am

Agile webdevelopment getting easier with schemaless db's and design tools like Atlas

In a project I am currently part of we are using Scrum as an agile development method. In each short iteration of 4 weeks we are building a working webapplication. The advantage is that the customer can see a working example (a preview) of the final application within a very short time after the project has started. With traditional project methods the first time a customer would see a working example typically would be towards to the end of the project.

To be able to quickly build working versions of webapplications you need the right tools. Tools that give you the power to quickly build a website, to show it to the customer and be able to easily make changes. Still, the tools need to be serious enough to build complex and maintainable applications.

What are those tools? That's a question that's been bugging me for a while now. Does it matter which database you use? Does it matter which programming language you use? Does it matter which (information) architecture you adhere to?

For example. Most people will argue that you can build anything with any programming language. I think this is not true. And I am certainly not alone in thinking this. Some programming languages are more efficient for building webapplications for example than others. Especially interpreted languages like Python, Ruby, Groovy, Lisp, etc. seem to be much more efficient than compiled languages like Java or C#. Especially young internet startups flock to these interpreted languages. Primarily because you can quickly build your first iteration of your idea. Put it on the web and create an audience for your application. Listen to your audience and then quickly modify your application as your audience and your traffic grows. The tools used by these startups seem to help them to get quickly up and running and the tools also seem to be able to help them when their business grows. So, I keep a close watch at the tools young startups are using. And interpreted, dynamically typed programming languages seems to be a more efficient tool for building web application than compiled and statically typed programming languages.

Still, existing enterprises and governmental departments do not seem to see this trend. Or perhaps they do see it but do not know how to act on it. Most enterprises are still focused on the more traditional toolsets like Java EE, .Net and traditional RDBM's. These tools have served them well in the past. Complete departments exist to build and maintain applications build using these tools. And it is very understandable to use the tools that served a company so well to also build the company webapplication with these tools. But webapplications have their own dynamics. Especially public facing webapplications need tools and information, software and hardware architectures that scale well beyond the traditional requirements of a business application. The time-to-market for a public facing website needs to be very short. You need to be able to pick up a trend and quickly build an application. You need to be able to make changes to an existing website quickly and often. Your customers expect this and will appreciate and reward you for this. So, as a company you need to have procedures in place that make this possible. Traditionally changes to an application take "for ever" to test and deploy. So, traditional enterprises and governmental departments need to adept themselves to these new trends.

One of my personal goals for 2009 is to make (traditional) enterprises and governmental departments aware of the trends in webapplication development and to make them aware of how these new toolsets and new ways of designing your information architecture (ie. REST) can help a company to meet their goals more quickly and more (cost) efficiently.

This was a long introduction to what I really wanted to share with you. This week there is quite some talk on the internet about two trends: schemaless db's and new in-browser visual layout design tools.

First schemaless databases are gaining popularity. The reasons: very quick reads, high-scalability, supports agile development, changes to database schema are easy (because their is no schema). There must be a trade-off and that is there are no in-database relations defined. Relations between data is defined much more ad-hoc. More hypermedia like. If a relationship must be maintained this is usually done in easy to read code. Schemaless database tend to be very lean and mean, easy to use and to maintain. Examples:

And last but not least in the summer of this year a new visual layout IDE will be released: Atlas. It is build 280 North and based on Cappuccino. Atlas promises to be an IDE with which you can build webapplication very quickly and easily. Point and click. What I really like is the following:
And unlike a lot of existing layout editor availabe today, Atlas is not a code generator. On the contrary, Atlas lets you edit the live JavaScript objects in memory and then takes a “snapshot” of them in place.

And all this is done in Javascript. You do not need flash or any other plugin before you can view Atlas build websites. It is fully cross-browser. This promises to be a very interesting technology for quickly building desktop like applications that run in a browser. Enterprises are going to love this.