Amazon Kindle – Vision og forretning

November 27th, 2009

Who's afraid of Virginia WoolfHvad er en Amazon Kindle
Amazon Kindle er en kompakt enhed der minder om en computer, men er beregnet til at vise tekst, f.eks. digitale bøger – eBøger/eBooks, på en skærm der bruger en teknologi der hedder eInk. Denne teknologi adskiller sig fra traditionelle computerskærme, ved at den danner billedet med magnetisk blæk, og at skærmen virker med reflekteret lys, som papir, oplevelsen minder derfor meget om papir, og i øvrigt gør det at enheden bruger meget mindre strøm, da det kun er når billedet dannes på skærmen at der bruges strøm, den relativt langsomme opdateringshastighed skærmen arbejder med, gør at man ikke kan vise ting som video.

Kindle har en 6″ skærm med en opløsning på 800×600 punkter, dette giver en meget tydeligt skærm, som skal ses før man tror det. Teknikken gør dog at skærmen ikke kan vise farver, men det er noget der bliver arbejdet på det, og netop i dag afholdes der en konference i Frankrig, hvor der efter sigende er rigtig mange brugere af de nye eBogs læsere.

I denne artikel, som nok bliver en artikelserie, vil jeg fokusere mere på visionen bag, så der er ikke rigtig tale om en anmeldelse, og alle de steder der står Amazon Kindle, kunne der lige så godt stå noget andet, f.eks. “Tölva” – som en fremtidig enhed kunne hedde – “tilfældigvis” er det netop det jeg har kaldt min Kindle ;-)

Hvorfor!
Så hvorfor købte jeg en Kindle? Først og fremmest så var jeg så heldig at få en i hænderne til reboot11, og jeg ønskede mig straks en, så da Amazon annoncerede at Kindle ville bliver lanceret internationalt, trak jeg straks et nummer. Den officielle lanceringsdato var den 18-oktober, den blev sendt den 19-oktober og jeg havde den den 22-oktober, hvilket inkluderede en nat på DHLs lager – den moderne internationale handels evner til levere imponerer mig altid.

Visionen
Den virkelige grund til at jeg anskaffede en Kindle, var nu også at jeg længe har haft et erklæret ønske om at læse noget mere, og her synes jeg Kindle giver os et glimt af fremtiden. Bøger og aviser er utroligt “upraktiske”, jeg glemmer dem, synes de er uhandy og tunge, og dette gælder også paperbacks – jeg føler at det er en af grundende til at jeg ikke læser så meget som jeg selv ønsker. Nå ja, jeg er jo glad for dimser, og da Nikolaj Sonne fra “So Ein Ding” så min Kindle til Copenhagen Cocoa Development Camp et par dage efter jeg havde fået den, stoppede han helt op midt i sin “procedure”, jeg havde en Kindle før Mr. Ding himself.

Når jeg ser en Kindle tænker jeg i øvrigt iPod anno 2001. Kindle er ikke rigtig en dims (gadget – savner dansk ord), det er en platform. Som iTunes og iPod, udnytter Kindle en eksisterende infrastruktur, nemlig Amazons, og husk at iTunes Music Store ikke var i nærheden af at være klar da iPod blev introduceret, Amazon er klar, og har allerede 360,000 titler tilgængelige, og Amazons vision er rent faktisk at samtlige (skrevne) værker der er udgivet i menneskehedens historie, skal være tilgængelige på Kindle. Jeg synes dette er en smuk vision, som det undrer mig at man skal høre fra en privat, kommerciel virksomhed fra USA.

Unboxing
Det første jeg bemærkede, da jeg pakkede min Kindle ud, var at den viste nogle instruktioner på skærmen, jeg prøvede at fjerne den plastik jeg antog var placeret på skærmen, sådan plejer det jo at være, ude af stand til at finde plastikkens kanter, gik det op for mig at Kindle viste et billede på skærmen! eInk skærme er virkelig anderledes, sammenlignet med traditionelle computerskærme – når skærmbilledet først er dannet har det ikke brug for strøm, så selv om enheden var slukket viste den et billede.

Whispernet, trådløs adgang der bare virker!
Jeg var godt klar over at Kindle var en opkoblet dims (wireless device), så jeg var meget overrasket da jeg ikke var i stand til at finde en eneste reference til opsætning, det værende sig SIM-kort, WiFi eller lignende, i den korte dokumentation der følger med – underligt – hvordan kommer den så på nettet?

Så jeg var yderst overrasket da jeg, efter at have været en tur forbi MyKindle websitet på min computer for at ændre navnet og e-mail adressen for min Kindle, og efter en kort lur, opdagede at Kindle havde opdateret sig selv, og at der nu stod “Tölva” i stedet for “Kim Bach’s Kindle” på skærmen.

At se en opkoblet dims der bare virker så snart man har pakket den ud, burde ikke føles som en fantastisk ting, det er sådan teknologi burde virke, men vi er anderledes vant – knockout sejr til Kindle her!

24-November-2009 sendte Amazon i øvrigt en opdatering til version 2.3 af Kindle softwaren, og den virkede perfekt, og blev sendt automatisk – endnu et eksempel på hvordan teknologi burde virke – ingen iTunes og computer nødvendig – tak og lov!

Jeg er dybt imponeret over den aftale Amazon har fået med AT&T, der er nemlig tale om intet mindre end en gratis, global, mobil data-roaming aftale.

Passioneret fællesskab
Naturligvis skrev jeg om Kindle på twitter, og der gik ikke lang tid før jeg fik et svar. Det kom fordi jeg undrede mig over hvor jeg ville finde åbent og frit indhold – det andre kalder gratis – altså bøger der allerede findes på Internettet – f.eks. gennem Gutenberg projektet.

Disse bøger findes som regel i nogle standard formater der hedder .mobi, og dem kan Kindle læse direkte.

Svaret jeg fik på twitter, og jeg havde ikke formuleret et spørgsmål, bare luftet en undren, var at jeg skulle få fat i softwaren calibre. calibre og det er et must hvis du har en eBogs læser. Der er tale om et open source program som fungerer lidt som iTunes til eBogs læsere, det kan konvertere mellem mange formater, og sidst men ikke mindst, importere RSS feeds og overføre dem til Kindle og andre eBogs læsere.

Der er iøvrigt flere muligheder for at overføre data til Kindle, man kan enten gøre det via. Whispernet (e-mail), men det koster så $1/megabyte, så det er bedre at bruge det medfølgende USB kabel, som er standard mikro-USB.

PDF – ikke en eBogs standard
Mange er nysgerrige for at høre om Kindle understøtter PDF. Det korte svar er ja, det lange er noget mere kompliceret. De fleste PDFer er sat op til at blive udskrevet på A4 papir, og det passer ikke ret godt til Kindles 6″ skærm. Et af problemerne er at PDF er mange ting, skannede sider f.eks.

Dette skuffer sikkert mange, men problemet er altså PDF, ikke Kindle, man er simpelthen nød til at omformatere sin tekst så den understøtter variable “papir” størrelser, og der bliver nødvendigt at “teste” sine udgivelser på mange enheder.

En lidt sjov ting jeg har brugt PDF visning på Kindle til, er at jeg har lagt billetter på den, og brugte min Kindle som billet to gange under CPH:DOX – desværre havde de ikke stregkode skannere til nogle af arrangementerne, men jeg synes det ser sandsynligt ud at det ville fungere.

Amazon Kindle Store – impulskøbsalarm
Amazon Kindle Store virker som det skal, gå til forretningen, søg efter den titel du er intereseret i – her er det smart at Kindle har et tastatur, køb og titlen er klar på din startside i løbet af 30 sekunder – imponerende. Kindle bruger din Amazon konto, så hvis du har one-click slået til, så er din Kindle, effektivt, et kreditkort. Samtlige bøger kan i øvrigt hentes i en prøveudgave med adgang til udvalgt indhold, så man kan se om det er den rigtige titel, dette fungerer virkelig godt, men det er lidt for let bagefter at komme til at trykke køb, da det er standardknappen – derfor har jeg nu en kopi af “Pigen der legede med ilden” på engelsk. Det skal dog tilføjes at man straks får muligheden for at fortryde sit køb.

Der er også mulighed for at abonnere på en lang række aviser og tidsskrifter, jeg valgte straks International Herald Tribune og Asimovs Science Fiction. Det smarte, og farlige, ved aviser og tidsskrifter er at man får den 14-dage gratis.

Kindle som browser
Selv om Kindle umiddelbart er en “iPod for bøger”, altså har sin egen hukommelse hvor indkøbte bøger bliver downloadet til, så er Kindle også en computer der kører en speciel version af Linux. Der er også indbygget en browser, som tilgås gennem Kindles menupunkt “Experimental features” – her finder man “Basic Web”, og her får man adgang til en webbrowser, der, i den internationale version, ser ud til kun at give adgang til Wikipedia, men det er da heller ikke så tosset, gratis adgang til Wikipedia uanset hvor man er i verden.

Jeg har testet hvordan sider med f.eks. matematiske formler viser, og det ser virkelig godt ud.

Kindle er bestemt ikke verdens hurtigste browser, men det virker, og er gratis.

One Kindle Per Student (and Teacher)
En vision jeg får når jeg ser en dims som Kindle er at en dims som denne burde være tilgængelig for hvert eneste barn, eller rettere hver eneste “studerende” og lærere, og hvorfor nu det?

Kindle er enkel, virker robust, og kan allerede i dag, indeholde en kopi af alle de skolebøger man har brugt i hele sit aktive studieliv, det er lige fra Folkeskole til Universitetet.

Kindle eller Dynabook?Jeg synes at Kindle ser meget bekendt ud, og den minder mig om Alan Kays vision – Dynabook – Wikipedia, the free encyclopedia. “A Personal Computer For Children Of All Ages.”

Hvis samtlige børn (”studerende”) havde en platform som Kindle, ville det også skabe et nyt marked for skolebøger, hvilket burde være med til at forbedre kvaliteten – hvis man ellers tror på markedsøkonomi.

I dag bliver innovationen indenfor uddannelse bremset af ophavsretsloven, det er, f.eks., meget svært at hjælpe børn med ting som matematikopgaver over Internettet, fordi det ikke er muligt at dele skolebøgerne online, eller som downloads til en eBogs læser.

Lærer er i øvrigt i den brede definition, fordi vi alle vil blive, potientielle, lærere hvis denne teknologi blev gjort tilgængeligt for alle.

Rent faktisk er vi også alle studerende, nutidens samfund kræver af os at vi fortsætter med at uddanne os hele livet, er det ikke vidunderligt, og det er også sundt! Få din hjerne til at “pumpe jern”.

Hvor er verdens førende IT land?
HVORFOR kan jeg ikke få lov til at betale for min avis (og heller ikke BØLGEN ;-) ) – der er nemlig ikke en eneste dansk avis der synes det var umagen værd at levere aviser gennem Amazon? Tilgengæld kan jeg, via. RSS og den uundværlige calibre software, hente Information, og det koster helt gratis.

At ingen danske forlag har fundet det nødvendigt at kunne distribuere via. Amazon var mere forventet.

Rygtet om litteraturens død er stærkt overdrevet
Kindle kombinerer vision og forretning, Amazon har leveret en dims der er så let at bruge som jeg mener det er muligt med nutidens teknologi, og der er en klar forretningsmodel. Amazon har en vinder her.

Hvordan går det så med at læse noget mere. Jeg er f.eks. nu halvvejs gennem min første bog, “The Raw Shark Texts”, som blev indkøbt til mig af min veninde @anetq fra den fine Undr! blog – tusinde tak for “gaven”.

Igen virkede twitter på mystisk vis. Da jeg roste bogen på twitter, og skrev forfatterens navn, gik der ikke mange minutter før jeg fik et “thanks” fra @steveha11 – forfatteren af the “Raw Shark Texts” – en bog jeg nyder meget. Det er fantastisk at forfatterne nu kun er et tweet væk. Så vidt jeg kan forstå, så arbejder Steve Hall på en filmatisering af “The Raw Shark Texts” – noget der ikke bliver helt let.

Jeg tror virkelig at Amazons vision kan få os til at læse mere, hvilket også vil få os til at skrive mere, så rygtet om litteraturens død (Information 2059: Amatørerne har gjort en ende på litteraturhistorien) er stærkt overdrevet. Hvordan det kommer til at gå med “bogen” – jeg tror personligt at bogen, som vi kender den, forsvinder, men at vores enheder vil blive så gode at vi slet ikke kan se forskel.

Her er et tip til hvordan Danmark kan blive nummer 1 på rigtig mange af de lister Statsminister Lars Løkke Rasmussen snakker om – sats på åben og fri digital distribution af alle skolebøger, og vi kan få en renaisance for læsningen og viden.

Bogen er død, længe leve bogen!

Tidligere dækning:

Eksterne henvisninger:

Her kan du hente gratis eBøger

  • epubBooks.com http://www.epubbooks.com/ – et bredt udvalg af eBøger i ePub formatet. Skal konverteres, f.eks. med calibre, før de virker på Kindle, noget calibre gør automatisk
  • Project Gutenberg http://www.gutenberg.org/wiki/Main_Page – her er der over 30.000 gratis eBøger
  • Planet eBook.com: Free eBooks – en række klassikere i PDF format

Litteraturliste:

Forget this world and all its troubles and if possible its multitudinous Charlatans… – Celebrating women in tech

March 24th, 2009

March the 24th 2009 is Ada Lovelace Day, the brainchild of Suw Charman-Anderson. Suw pledged to write a blog-post about a woman in tech that she admired, if at least 1,000 would make the same pledge, and since I’ve admired and been fascinated by Ada Lovelace since childhood, and especially after I read the wonderful book The Difference Engine, so I embraced the project, but at the same time I knew that it would be difficult for me to find just a woman in tech that I admire, that is because the list is long, and I’m happy to say that it’s actually getting longer.

In the end it turned out to be quite simple to name one single woman in “tech” that I admire, a woman that I’ve admired for 2,5 years since I met her at the wonderful BlogForum 2 – an initiative that we really need to revive – and almost did at Copenhagen Twitterfestival.

Since 2006 the woman I have in mind has become quite the celebrity, due to her uncompromising and relentless pursuit of the truth in the murky waters of the Danish tech-business, and this year she’s the natural selection, she’s the woman behind the mainstream breakthrough of the blog-media in Denmark, she is – of course – Bizzen/Toften: the journalist and blogger par excellence Dorte Toft.

Love/hate relationship with “tech”
I have a love/hate relationship with my field, the field known as “tech”. Tech is definitely one of the places where change is happening today, and I feel blessed that I’m involved in bringing this change.

But “Tech” is a field that is riddled by paradox. On one hand it’s crawling with greedy snake-oil salesmen, on the other it’s home to the most revolutionary, idealistic and altruistic people ever as well as some of the most wonderful concepts that humankind has ever come up with.

The problem with the snake-oil salesmen, is that, until now, they’ve pretty much got away with cheating their customers, the authorities, the business community and worst, their employees, and a lot of the snake-oil has been sold under the heading that Denmark is number one in tech.

It’s been a constant embarrassment to me, and I actually left the business four years ago, and it took me two years of “repenting” before I felt that could return to “tech”, and today I’m luckily to be employed by a tech-company that doesn’t carry any snake-oil.

Emperor’s new clothes
I’m just going to, briefly, mention the fact that Dorte Toft was the woman that noticed that Stein Bagger and IT Factory didn’t wear any clothes, thus exposing one of the biggest scams the Danish tech-sector has seen to date, but thank you Dorte for exposing these people, so that we can be protected against these predators and making it possible to feel proud about working in “tech” again.

Feminism isn’t “low-status”
What I’d rather celebrate today is that Dorte Toft is a self-proclaimed feminist, even though it’s – in her own words – a field that is “low-status”, and her labour of love “Nærmest Lykkelig I Nørdland” (”Almost happy in Geekland” – something got lost in translation sorry about that), where Dorte Toft has been writing and writing and writing about the benefits young women would have if the choose to join the so-called “though” fields, technology and science, a very noble cause.

I noticed that Dorte Toft also wrote a blog-post in observation of Ada Lovelace Day today. In this blog-post Dorte is pledging to return to “Nærmest Lykkelig I Nørdland”, I’m so, so happy to hear that, Dorte Toft has been toiling away, trying to ease young women into the fields of tech and science, and her work deserves so much more attention than the perpetual Stein Bagger saga.

To all the wonderful women that I’ve worked with, am working with and will work with in the future, thank you so, so much for putting up with us, we need you, and remember how far you’ve come.

When I mentioned to my father how much I loved having female managers, he simply said that he could never ever imagine have a female manager, I was appalled.

Women, “tech” is too important to be left to men
Women please don’t stop now, so that next time I’m in a position where I’m hiring tech-staff, I hope that I’ll receive applications from women. Looking at the number of students at the IT University in Copenhagen I’m quite optimistic that that would be the case.

DORTE TOFT: Please go work on “Nærmest Lykkelig I Nørdland”, I’m waiting for it, unlike the book about “Banditterne i habitterne” (”The Bandits In Suits”) – and remember feminism isn’t “low-status”!

YOUNG WOMEN: We really, really need you in the tech-sector. Tech is far too important to leave to us men, and listen to, and get inspired by Dorte Toft!

Celebrating the Enchantress of Numbers
I’ll close this post with these wonderful quotes.

We may see aptly that the Analytical Engine weaves algebraic patterns just as the Jacquard loom weaves flowers and leaves
Lady Ada Lovelace

Forget this world and all its troubles and if possible its multitudinous Charlatans – everything in short but the Enchantress of Numbers
Charles Babagge, inventor of the Analytical and Difference engines

Notes
If you want to learn more about the fascinating life of Ada Lovelace, daughter of Lord Byron, by many considered the inventor of programming languages, I’d strongly recommend “The Bride of Science: Romance, Reason, and Byron’s Daughter“, “Zeroes and Ones: Digital Women and the New Technoculture” and “The Difference Engine“.

I’m also building a “shrine” to Ada Lovelace on Algorim.dk, a result of “mellemrumssingulariteten” which was inspired by a young woman I know, this woman is, BTW., working in the purest field of them all ;-)

DrupalCamp Copenhagen 2008: Guess what, I’m the hero – Introducing Droopy your new microblogging service

December 5th, 2008

The Danish Drupal community, Drupal Danmark, organised a miniconference, DrupalCamp Copenhagen, in the weekend of the 15th and 16th of November 2008 at La Oficina, a new – FANTASTIC – co-working space in Copenhagen

Show your <3 for Drupal

People that know me, also knows that I’m a big fan of the Content Management System (CMS) Drupal, and I constantly push it.

One of the main reasons I LOVE Drupal is that it, besides the pure open source license <3, also tries hard to support standards, rather than doing “clever” things in core. This is in strong contrast to other tools, that attempt to make it easy for the user, but then locks you in.

Personally I love HTML and the constant cry for a rich editor in core is lost on me, but then again, I’m writing this using the off-line client ecto ;-)

A restless 2008, but where’s the inspiration
2008 has been an amazing year for me, and I’ve attended several events that should have made me so inspired that I’d blog up a storm, but somehow this failed to happen, and I was reluctant to sign up for DrupalCamp Copenhagen, because I was also involved in the organisation of BarCamp Copenhagen the following weekend – I was afraid to overcommit myself, resulting in me burning out.

It turned out that I was “pushed” – nah let’s say inspired – to sign-up by a guy I’ve never met in person, but knew well from the Danish Mac community.

“Unfortunately” I got so inspired that I even had the audacity to suggest that I should host a session at DrupalCamp Copenhagen – oh no what a fine mess I got myself into, this happens every time I get inspired, like I said, I tend to overcommit myself.

Then all was quiet for a while, like forever, and DrupalCamp Copenhagen was only four days away, when a preliminary schedule was sent out to the participants, which, by the way, was now exceeding the capacity of the venue, pretty Fanø amazing!

Hmm, my session wasn’t on the schedule, ok, I guess I don’t have to prepare anything then :-)

So you want to be a Drupal Star, well the stage is yours!
On Wednesday night the final schedule was sent out, and lo-and-behold, my session was actually featured, “Using Drupal as a Web Application Framework“, hmm I’ll be addressing a bunch of hardcore Drupal professionals, and they have payed a fee, albeit a nominal one, to attend, but still this is the first time ever that I was to address a paying audience, pretty daunting when you think about it.

So I started thinking hard about the theme of the session.

When I sugested the session, I had promised that the session would be much more of a participatory session, than a presentation, and that I was hosting it to learn from the failures I had trying use Drupal as a framework for web-applications.

In my mind a different idea began to take hold, one that focused on the things that I learned, and was succesful in achieving instead of focusing on the failure of my projects.

I decided that I’d start by asking the question: “What is a web-application?”, and inspired by one of my “failed” projects, I decided that I’d do a walk-through of how you could build a Twitter like site without any, or close to no, coding on your part.

Twitter is the perfect candidate for demoing a web-application implemented using Drupal, since it’s all about content and simplicity. Strangely enough my choice of Twitter as a model for a sample aligned itself perfectly with the Miki’s session, Modules 101, on Sunday, even though he took a different approach than I did, and actually did a fair amount of coding.

One could have the idea that we had co-ordinated this, we hadn’t, so I’ll just rack it up to coincidence, and the fact that Twitter is the second most hyped thing on the Internet these days.

Guess what, I’m the hero
Drupal Droopy DogI won’t go into serious details about my session, but it saw me show praise for open source and Drupal, do a hands-on step through of how to build a Twitter clone, called Droopy, and demo my first Mac OS X Cocoa application EVER!

Droopy is a fictonal web-application, the name was inspired by the Tex Avery cartoon, but it also sounds like Drupal.

Droopy allows you to post microblog content using a simplified form. Microblog content, or “Droops”. A “Droop” is a standard Drupal content-type, that you can submit to the site by using a custom form. Implementing the form took some 10 lines of code to implement as a module.

At your service
The real star of the show was, however, the wonderful Drupal services module. If you install the services module you can access Drupal using a varity of web-service standards, but as default it support XML-RPC, so that’s what I focused on.

The services module implements a number of methods that you can use, I focused on the node and the user services.

The node service implements methods for retrieving, deleting and updating nodes, the user service implements methods for login and logout.

One of the nicest features of the services module, is that it has a nice UI for browsing and testing the exposed services.

A KISS from Droopy
You can, of course post content using /node/add/droop, but like I said I’d like to do that a little smarter/simpler, so for that purpose I developed a small module that utilises the Form API to implement a simplified data entry-form to post the content-type a “droop”.

This was quite simple to do, the only problem I had was that I wanted to tag my content (flat taxonomy), and in order to do that, you can’t simpy use the standard mechanism to save a node, this is how I implemented a method to create a node programatically including creation of tags, the vid that is hardcoded to 2 might be problematic, but the thing to focus on is the line:

$node->taxonomy['tags'] = array($vid => $tags);
/**
 * Create a droop node programatically.
 * @param $param
 * Either a droop - enabled node type or a $node object with at least valid $node->type.
 * @param $title
 * The body of the droop post.
 */
function droop_create_node($param, $title, $tags) {
  if (is_object($param)) {
    $node = $param;
  }
  else {
    $node = new stdClass();
    $node->type = $param;
  }
  $node->title = $title;
  $node->body = $title;
  $node_options = variable_get('node_options_'. $node->type, array('status', 'promote'));
  // If this is a new node, fill in the default values.
  foreach (array('status', 'promote', 'sticky') as $key) {
    $node->$key = in_array($key, $node_options);
  }
  // Get the content-type settings as default
  node_object_prepare($node);
  global $user;
  $node->uid = $user->uid;
  $vid = 2;
  $node->taxonomy['tags'] = array($vid => $tags);

  node_save($node);
  return $node;
}

In order to have the custom form show up, I decided to do a theme hack, this could probably be done much cleaner, but it’s really simple to have a form show up on a page.

print(drupal_get_form('droop_simplified_form', $currentGroup));

Below is a screenshot of a simple theme that shows the simplified form:

Droopy and Droop form screenshot

Fat client
I already had a functional XML-RPC client written in PHP, but I wanted to do something a little smarter.

Fundamentally I believe that the web is extremely ill suited to host applications, what you can do with a full client that has direct access to the rich presentation services that the operating system exposes, is just so much easier to develop, than trying to support x-number of browsers. I’m a huge fan of applications like iTunes, since they combine webcontent with a fat client, I think that’s going to comeback in a big way, powered by the mobile platforms, that, due to limited resources, forces us back to writing applications that tagets specific platforms.

In my daily job I work with Microsoft .NET on a standard Lenovo pc, but when I’m at home, I swear by my beloved PowerBook G4 12″, and that doesn’t run Windows and Visual Studio, so how could I develop a fat client to use to demo how to shout “DOWN BOY!” to Droopy, I had never ever had any success developing for Mac OS X? OTHO, that was a challenge, and I love those, even though this was now late Friday morning, and my presentation was less than 48 hours away!

Schizoid development platform from the last century
Development for Mac OS X is strange, Apple does bundle the development tools you need to target Mac OS X with Leopard, but that’s basically where the help stops.

So I knew that I need to enlist the help of Google, and I already knew what I was looking for, so how difficult could it be, well it turned out that it was.

For one, development for Mac OS X is not very widespread, but I did manage to find a number of samples, one of them implemented what is know as a framework, which basically extends Mac OS X with additional features, but hey, I just wanted to call a service using some simple XML that I wanted to post using HTTP, did that really require a framework?

Another strange fact, was that the samples I found were really old, but I found out that Mac OS X actually contains some nice high-level APIs that you can use to call web-services, they’re all prefixed with WS, for instance WSMethodInvocationCreate, WSMethodInvocationSetParameters and WSMethodInvocationInvoke, the strangest thing about these interfaces was that I saw several warnings against using these functions, strange.

Drupal XMLRPC Cocoa ClientOh well I manged to find a suitable sample here: Ranchero Software: Cocoa XML-RPC Demo, and I managed to change it so that I could call the node.load method exposed by the node service, but this was when trouble arose.

The node.load service allows you to supply a list of node-fields that you want to to have returned, if you supply an empty list, you’ll get all the fields. I tried several things, to no avail, my service kept returning node not found errors, this was a problem that I never manged to fix.

The problem has something to do with the way Apple’s API serialises it’s parameters, Drupal is expecting a list, that will get de-serialised into a PHP array, I couldn’t get that to work.

I then decided that I’d try to interface with the user service instead, and that faired better, and I manged to login to Drupal from my client, heavenly bliss :-) .

OK, next step would be to add an additional button to my client, called “Login”, and have two buttons in my application, this was when I hit rock-bottom, I just couldn’t figure out how to hook up an InterfaceBuilder push-button with an Objective-C eventhandler.

This is something that is super-simple to do with almost any other development tools, why oh why has Apple decided to stay in the 80ies, I want a double-click in the designer to generate a stub and open my event-handler code in the editor.

Oh well, my application works, but I think that I’ll follow the advice, and stop using the WS* APIs, and start interfacing directly with the HTTP POST API, and serialise/deserialise the XML myself, another benefit of this approach, is that it’ll also works on the iPhone ;-)

Below is the code required to do a login to Drupal using XML-RPC from Mac OS X.

- (IBAction) doUserLoginLogin: (id) sender {

	/*
	Called when the Login button is clicked.
	*/

	int ixState = [numberField intValue];
	NSNumber *stateNum = [NSNumber numberWithInt: ixState];
	WSMethodInvocationRef rpcCall;
	NSURL *rpcURL = [NSURL URLWithString: @"http://localhost:8888/droopy/?q=services/xmlrpc"];
	NSString *methodName = @"user.login";
	NSDictionary *result;
	NSMutableDictionary   *params;

	params     = [[[NSMutableDictionary alloc] init] retain];

	[params setObject:@"user" forKey:@"username"];
	[params setObject:@"password"            forKey:@"password"];

	/*First create a method invocation.*/

	/*First parameter is the URL to the XML-RPC web service.
	Second parameter is the name of the XML-RPC method to call.
	Third parameter is a constant specifying XML-RPC protocol.*/

	rpcCall = WSMethodInvocationCreate ((CFURLRef) rpcURL, (CFStringRef) methodName, kWSXMLRPCProtocol);

	/*Then set the parameters. (There's just one in this case.)*/

	/*First parameter is the invocation created above.
	Second parameter is a dictionary containing the parameters.
	Third parameter may be an array specifying parameter order.
	(Since there's just one parameter, NULL is passed for parameter order.)*/

	WSMethodInvocationSetParameters (rpcCall, (CFDictionaryRef) params, NULL);

	/*Do the actual XML-RPC call and get the result.*/

	result = (NSDictionary *) (WSMethodInvocationInvoke (rpcCall));

	/*Display the result.*/

	if (WSMethodResultIsFault ((CFDictionaryRef) result)) /*error?*/
		[resultField setStringValue: [result objectForKey: (NSString *) kWSFaultString]];

	else /*no error; all's well*/
		[resultField setStringValue: [result objectForKey: (NSString *) kWSMethodInvocationResult]];
	} /*doLogin*/

Lessons learned

  • It’s easy to develop a web application with little, or no, coding using Drupal.
  • I’ve actually learned a LOT from my failures
  • Work with the framework, not against it
  • I can haz OS X apps
  • Oh and: Don’t hack core ;-)

Thank you to the organisers
DrupalCamp Copenhagen 2008 was a tremendous success, 100 people, including visitors from as far away as Canada, a venue filled with energy, amazing sessions, especially the sessions hosted by Miki and Acquia filled with practical advice, but it’s also amazing that the Danish newspapers showed up, ready to share their experiences on how to performance optimise Drupal, I guess that print media is finally getting the Internet and the concept of open and free, and it fills me with optimism!

I’m now ready to face the world with renewed faith in Drupal and my own abilities to put it to use, gentlemen start your Drupal engines!

One more thing
Come to think about it I should have named my Twitter clone, Sylvester, OTOH Sylvester never manages to catch “Tweety Bird” does he :-)

External links

Droopy is a trademark of and copyright MGM, Sylvester and Tweety are trademarks of and copyright Warner Brothers. I claim fair use

iværk08: Morten Lund: “Amateurs build the Ark. Professionals build the Titanic”

September 14th, 2008

iværk08: An emotional Morten Lund facing the pressAn emotional Morten Lund, faced the press at the iværk08 conference for entrepreneurs in Forum, Copenhagen, Denmark, on September 13th 2008. Morten Lund is a Danish Entrepreneur and Investor, usually associated with Skype, but more recently with the horrible collapse of the Danish newspaper Nyhedsavisen, which he owned a majority stake in.

Morten Lund started out, clearly shaken, and in a most open way, much against the advise of his counsellors, by addressing the press. He did that by stating that he would be accepting, at least 7 questions, from the audience first.

I really, really, want to believe that all that has actually happened, is that Morten Lund has lost a lot – he says all – of his money, and that his considerable ego has taken a serious hit. He’s also very sorry for the people that lost their jobs, and he’s also very regretful about having tried to start-up something in Denmark, which is a big shame.

His story sounds credible, and you can read it on his blog, LundXY: The Day I Woke Up Without Arms And Legs.

Personally I understand, and applaud, that Morten Lund took on the Danish media, they’re in serious need of being shaken up, but why he choose to do it by investing that heavily in a venture like Nyhedsavisen will remain a mystery to me, he must have known that it was a black-hole when he entered, or maybe he just had very, very bad advisors. The reason I’m baffled is that Nyhedsavisen clearly had the best website of all Danish media, but Nyhedsavisen relied heavily on distribution of a print-version, and my first reaction when I heard about Morten Lund’s investment was that it didn’t make any sense.

The established Danish media is a formidable foe, just consider the unfortunate fate of “Dagen”, the previous high-profiled, and very short-lived, attempt at shaking up the Danish media landscape.

While answering the questions from the press, Morten Lund made a very bold statement, by claiming that everyone was “played” by David Montgomery. (David Montgomery is Executive Chairman of Mecom, which owns Berlingske Media, one of the major Danish media conglomorates, and a main competitor of Nyhedsavisen). A statement that can also be found on his blog.

The case will unfold in the days and – probably – years to come, and there’s likely to be a juridical aftermath, even though Morten Lund, according to his blog, is keeping his fingers crossed. The juridical aftermath could become very ugly indeed.

After taking the promised 7 questions from the press, Morten Lund went on to discuss how to start things, which was what the majority of the audience had come to listen to.

Morten Lund – “The Amateur”

Morten Lund has a number of well-know mantras, like “Act don’t talk”, “Network is everything” etc. but a mantra that sort of sums up his general attitude is this:

Amateurs build the Ark. Professionals build the Titanic

Morten Lund takes pride in being the amateur – which literally means ‘lover of’. A get-goer and change-maker, who claims that he really doesn’t know anything – what so ever – about the fields that he gets involved in, but he manages to either find out, or to find people that do, and you can feel the energy and passion when he speaks about these topics, it’s quite contagious, hey it got me blogging again – something neither the Roskilde Festival 2008 nor Reboot 10 managed to do – which is rather strange come to think about it.

Even though Morten Lund says that nobody can predict the next big thing, he believes that the future is all about technology, and that Google is the one to watch. After praising AdWords, which is a brilliant idea, that is making Google tons of money, he asked the audience if anyone could explain the business model of Google to him. Only one raised his hand (me ;-) ), so I guess I have some explaining to do, because it goes somewhat further than AdWords. Will blog about it, so stay tuned, but if you’re a regular follower of mine, you might have guessed that it will have something to do with “Pyramids”, hey I might – finally – make my point about that clear.

Morten Lund finished by demoing how to create a brand. After that demo, he will now – at least in the minds of the audience – forever be associated with recorder flutes! Great demo – hmm did they collect the flutes after the demo? Didn’t notice!

I want to believe

Like I said: “I want to believe”, and right now, I hope that Morten Lund, a true entrepreneur and risk taker, will have his name cleared, and that he, in the eternal words of Chumbawamba, “got knocked down, but will get up again”.

OTOH considering what happened last time I “wanted to believe”, I’m not overly optimistic.

The real looser in this case is the Danes. Unfortunately Morten Lund is most likely done trying to do business in Denmark :-( , so somebody else will have to pick up the gauntlet, and take on the Danish media.

Denmark deserves better media than what we have now, and risk takers like Morten Lund are in short supply. His message that Denmark is the perfect place to take risks, since there’s a wonderful social security system to avoid you from falling into poverty, could have been lost in translation – he qualified it by stating how important having that security is, and that we should nurture and respect our welfare society – good call! His point was that Danes really have nothing to fear, so take those risks!

I also did some live Jaikuing from iværk08, you can read it here:
At iværk08 in Forum: Amazing amount of small start-ups working with IT, including a former business partner

Last.fm, Jaiku and Dorit Chrysler – a match made in heaven?

May 31st, 2008

Dorit ChryslerIt’s been a while since I wrote about the Jaiku online service, but it’s a service I use all the time, and I love it.

This is, mostly, due to the fact that Jaiku is filled with people, with whom I share interests, but the people there, all, seem to be more interesting than I am, so I can learn new things, and that is the thing in life I love the most.

One of the things I’m very adventurous about is my music, and another of my favourite online services, Last.fm, supports that perfectly.

Yesterday a conversation about Last.fm surfaced on Jaiku:

Jaiku | Det slår mig lige, hvorfor jeg er så vild med last.fm. Jeg kan holde liv i det ved at gøre noget, jeg alligevel ville gøre: Høre musik :-

Translation: It just struck me why I’m so crazy about Last.fm. I can keep it going by doing something, I’d do anyways: Listen to music :-)

That is correct, Last.fm builds and extends your network by comparing your musical preferences to the other users, and it also gives you recommendations based on your listening habits.

Eventually the question was asked: What do you use it for?

This triggered me to use Last.fm again, something I usually only do once a month, and the feature I love the most, is the similar artist radio.

In April 2008 I travelled to Lisbon, Portugal, and I was so fortunate to attend a concert by Dorit Chrysler, a very talented artist from Austria, that has specialised in using the Theremin instrument, a very strange instrument that you control by moving your hands in the electrical field generated by the instrument, that basically is a bend metal-rod.

So the Jaiku post triggered me into finally ripping the CDs I bought in Galeré Zee dos Bois in Lisbon, listening to them, and then using that to listen the Dorit Chrysler Similar Artists Radio.

And what I dug into, was a wealth of wonderful music, that spans from Opera to Classical Chanson, over Russian Abstract Hip-Hop and even the wonderful Colleen, that I already knew.

Here’s a list of some of the wonderful artists I discovered:

  • Robert – A wonderful French chanteuse
  • Gudrun Gut – German female singer. Original member of Einstürzende Neubauten
  • Ute Lempner – German chanteuse
  • Susanna and the Magical Orchestra – Norwegian act that, for instance, does some amazing covers, especially one of Dolly Partons Jolene is wonderful
  • Meret Becker – Another German singer that has be associated with Einstürzende Neubauten

The list goes on, and I’ll recommend exploring the artists that are similar to Dorit Chrysler, you will not regret it.

Last.fm remains one of the most impressive, and genuinely useful, online services – the list of these services is short, the big three are, to me, Jaiku, Last.fm and Flickr.

The picture used here was taken from Last.fm, and is, most likely an official promotional pressphoto, I hope my use here will go under “fair-use”

OIO REST: RESTful web services developed by the Danish Public Sector

May 23rd, 2008

The Danish Office for IT and Telecommunications (IT & Telestyrelsen) is experimenting with so-called RESTful web services, and I’m very happy to hear that, because this is an indication that something finally is happening again, after years of impasse.

Services for the REST (sry) of us

RESTful web services are the predominant implementation model for web services developed by web 2.0 companies, Last.fm and Flickr are prime examples of services with extensive RESTful web services and APIs (Application Programming Interfaces).

A web service is a software service, or API, that software (application) developers can use to provide functionality to their applications, and thus users. The “web” refers to the fact that the service can be accessed using technology developed for the web, like a standard web-browser.

Other technologies for implementing web services exits, the best known is the web service or (WS_*) stack, often referred to as SOAP. REST is, however, much easier to use than SOAP, because it has a GET based interface, meaning that you can query a RESTful service using simple URIs for instance entered using a browser. REST is also much better understood by commercial web developers in the private sector, and the tools they use, eats REST for breakfast.

Here’s an example: http://oiorest.dk/danmark/veje?q=lindevangshusene

This retrieves the road-code and city-number of the street I live on in XML format, pretty sweet.

What IT&TS has done is that they, two years later, have picked up my idea, so that I don’t have to implement it (well it only means that I’ll never release my own code) ;-) .

Concerns that history will repeat itself

I’m pleased, very pleased, and surprised that The Danish Office for IT and Telecommunications (IT & Telestyrelsen) has begun experimenting with such a relevant service, and has actually made some real-word applications available on the web-site.

But! I fear that history might repeat itself.

Something like 3-4 years ago, a sample SOAP service Address Web Service (AWS) was developed by IT&Telestyrelsen, they even had a competition to develop a sample application, and there even was a winner. But AWS never went into production, and the project dropped off the radar, that is until now. It seems that AWS soon will be released for production, and this is great news.

The problem was that I lost faith in AWS, I felt the project had died, so I didn’t really want to develop against it, and I hear the same concerns from others regarding the RESTful services today.

Do we need pseudo-standards like REST?

The RESTful experiments will probably never launch, but with the SOAP/WS_* AWS likely to go into production, we don’t really need them do we?

What we do need is an open and free infrastructure, for instance for eFaktura, it’s way too expensive to use the current providers, so I suggest that the next thing you do IT&TS, is to pick up another of my old projects ;-)

In many ways I fail to see the real need for a RESTful service, but RESTful APIs are so much easier to implement than SOAP.

What I’d like to see is light-weight data-formats, like JSON, and JavaScript APIs Google style. The light-weight data-formats are simpler to parse than XML, so I’d love to see a JSON, or similar, version, e.g. something that is closer to the internal representations of data, without going to binary interfaces, even though they’re coming back, for instance through WCF (Windows Communication Framework).

Conclusion: BIG thumbs up! (but it was overdue)

All in all BIG thumbs up to IT&TS for this initiative, keep it up, and stay above the radar in the future, please. We need widely available, and free, services like AWS, and with the competition from Google GeoCoder, which can be implemented with few lines of code – and works with other than Danish addresses, and findvej.dk – that is using it’s own, outdated, copy of data from Kort og Matrikelstyrelsen to provide a nice, URI based service, reviving of AWS, and the new initiatives, were way overdue.

Æbletræet.dk fylder 2 år – stort til-held-og-lykke og Elvis har forladt bygningen

April 4th, 2008

Elvis Smoking - By Esben ThomsenI går, den 3die April, kunne Æbletræet.dk fejre sin 2 års fødselsdag. Æbletræet.dk er et Internetbaseret, indholdsdrevet, fællesskabs projekt der startede som en idé om at skabe en begynderguide til Mac, men er endt med at være en af de, ja måske det, største Danske online fællesskabsdrevne indholdsdrevne Internet projekter. Projektet er dog, for længst, gået skridtet videre, og indeholder nu artikler om meget andet end Apple.

Historien om Æbletræet, eller MacWiki som det oprindelig hed, er dokumenteret på Wikien, hvilket er ganske unikt, som du kan finde på http://www.theappletree.dk (jeg bruger – bevidst – den Engelske version – da projektet – naturligvis – som nogle af de første – benytter en IDN (International Domain Name) – nogle skulle jo starte, og det blev os.

Ideen til Æbletræet udsprang af det danske forum for Apple fans, Macnyt.dk, en gruppe af faste brugere var blevet trætte af at besvare de samme spørgsmål om og om igen, så det blev diskuteret om man kunne skrive en bog eller lignende.

Fra start af var det klart, for mig, at man absolut ikke skulle skrive en bog, men lave det online på Internettet, og jeg havde noget i baghånden, MediaWiki, det samme system som driver Wikipedia – der er åben og fri software.

Første møde blev afholdt den 3-April-2006, og da jeg kom hjem installerede jeg MediaWiki på min server og oprettede de første artikler.

Der gik noget tid inden de andre projekt deltagere forstod ideen, og indlæringskurven for MediaWiki er ikke just lav, derfor opsatte jeg også et traditionelt forum, som stadig kan findes på http://macwiki.kimbach.org/portal, og diskussionen flød.

Det er fantastisk at arbejde sammen om at producere indhold, og når man kan se at der er mange rettelser på MediaWikis recent changes, så virker det simpelthen ganske inspirerende, og man får lyst til at skrive mere.

Jeg føler det er nødvendigt at aflive nogle myter, da den slags opstår når folk ikke taler sammen.

  • Jeg har ingen ambitioner om at være leder eller bestemme noget som helst
  • Jeg er blevet beskyldt for at tage Æbletræet som gidsel – det kan jeg ikke se – grunden til at vi ikke er på PHP5 – som jeg helt ærligt – ikke forstår er så vigtigt – er at vores udbyder Site5 ikke understøtter det, og da projektet er baseret på gratis og frivillig arbejdskraft, så har det været svært at få ejeren af serveren til at bruge tid til at få flyttet server

Og så et par ord om hvordan jeg fungerer: jeg bliver stresset af at tænke på produktions-problemer, og i påsken forsøgte jeg at opgradere Æbletræet.dk, det gik ikke helt som ventet, jeg bad derfor om, først at få os på PHP5, derefter ville jeg installere MediaWiki 1.12, og så flytte til Gigahost (hvilket jeg ikke tror er så god en idé), hvis man spørger kan man jo få svar, og jeg venter på min frivillige hjælper.

Fundamentalt hader jeg simpelthen drift, og her mener jeg ikke den første installation, men de problemer der – næsten altid – opstår når man skal opgradere serveren – så vidt jeg husker – så har vi nu ikke haft de store produktions problemer – en enkelt gang var vi nede i 48 timer – fordi Site5 havde skiftet IP adresser.

En grundregel – som gælder al drift – er: “if it ain’t (totally) broke – don’t fix it” – på Dansk: “pil ikke ved noget der fungerer, også selv om det ikke fungere helt optimalt”. At dette så betyder at “change” ikke sker, er uheldigt, men det er simpelthen ikke noget man kan byde frivillig arbejdskraft – så ting tager tid!

Jeg har – længe – forsøgt at få vores server opgraderet til PHP5, men igen – frivillig arbejdskraft skal man ikke presse – man må væbne sig med tålmodighed. Tro mig, jeg ved det – for 3 år siden prøvede jeg at køre et del-projekt i min Frivilliggruppe hårdt, det faldt ikke i god jord – og folk hadede det jeg producerede, men jeg producerede! Siden dengang har jeg væbnet mig med tålmodighed.

Efter 2 år kan projektet dog, sagtens, stå på egne ben, og jeg føler at min fortsatte deltagelse i projektet ville betyde en fragmentering af fællesskabet, der – efter min mening – ganske enkelt ikke brug for endnu et Dansk Apple site, og nøj hvor er det imponerende med de nye Apple fora, som i kan se havde vi et Drupal baseret forum allerede for 2 år siden.

Jeg vil derfor, fremover, ikke deltage i projektet som andet end bidragyder, med mindre jeg bliver udelukket – hvilket jo ikke kan udelukkes (pun intended).

Faktisk er det eneste jeg er ked af, at jeg har mistet en fantastisk god ven – det bedste minde jeg har er dengang vi bagte en kage til brug for Dansk Flygtningehjælps 1000 flere arrangement, og jeg undskylder MANGE MANGE gange for Beyoncé, som blev Skypet til dine sarte ører mangen sen nat.

Det sjoveste er faktisk at vi, mest fordi vi havde en åben proces, blev udsat for en domænehaj. macwiki.dk blev registreret af en af den slags personer ,der ikke burde have lov at betræde Internettet, sjovt nok blev navnet jo æbletræet.dk, så fjolset brændte inde med domænet LOL.

God vind kære Æbletræ, det har været fantastisk sjovt! Specielt tak til David, Esben men også Thomas x 2, Wendelboe, Sebastian, Allan, Liv for at have holdt mig ud så længe, noget af en bedrift ;-) .

Et par fakta – Æbletræet.dk kører videre, så længe det ønskes. Hvis der er interesse i at bevare navnet, hvilket jeg da tvivler på, så kan det redelegeres, jeg ejer det p.t. I øvrigt sletter jeg aldrig indhold, men da vi ved at dublikeret indhold er noget Google ikke bryder sig om, trækker jeg stikket så snart der er flertal for det.

Jeg er blevet beskyldt for gidseltagning – intet er mig fjernere – jeg er SUPER stolt af at have været med til dette – og det var det jeg kunne få jer med til. Fremtiden tilhører egen-produceret indhold, som man selv hoster og ejer, websitet er dødt! Elvis har forladt bygningen.

Billedet der ledsager denne artikel er en manipulation udført af Esben Thomsen, det er Copyright Esben Thomsen, men jeg håber at dette falder under fair use. Esben kender mig bedre end de fleste, og det “grønne skrig” opsumerer “mig” ganske godt (man kunne sige perfekt)

BarCampCopenhagen: Party for your right to geek

January 28th, 2008

BarCampCopenhagen LogoAs it might have caught your attention, the second BarCampCopenhagen took place this Friday (25th of January 2008), and there was great energy in the building. It’s evident that there’s a strong interest in having an event like BarCamp in Copenhagen, and it was inspiring, just to try to tap into that energy.

On the practical level, BarCamp was a great success, especially thanks to generousity of Beaconware (Troels, Allan and Kimmy) and of course Toothless Tiger (Henriette and Thomas) and Laura who moderated the “Kangaroo?” sessions, and thanks to the sponsorship from BridgeIT (my employeer), the event could be taken to such a high level, without having to charge the participants.

I must say that I’m amazed by the group of dedicated and interesting people that showed up, this is what they do for a living, but they’re also interested in sharing their ideas openly – thank you all!

To me the greatest moments were that I, finally, got to meet some people, that I’ve been following online, in real life.

If you have to criticise the event a little, I think we had some “growing pains” – in 2006 the event was more intimate, since we could all fit around one table, this meant that we could have more of an “open space” type of event, and that is the format that I prefer.

Civilisation 0.1

I did a presentation – Civilisation 0.1 – a pun on Tor Nørretranders Civilsation 2.0 – and I had some (understatement) difficulty making my points, that most likely had something to do with the fact that I had the wrong audience, since they’re all “believers”. Knowing the audience is, I believe, number one on the list of things to remember when doing a presentation of any kind, so that was sobering.

Since I failed to get my points across, talking about Pyramids, Archs and Fountains, I’ll try to do better here.

My presentation was inspired by this famous quote from Alan Kay:

If you look at software today, through the lens of the history of engineering, it’s certainly engineering of a sort—but it’s the kind of engineering that people without the concept of the arch did. Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

My argument is that we’ve, so far, been building pyramids, but that we’ve invented the arch.

“The Pyramid”, is current ICT businesses, and their monopolistic pratices
“The Arch”, is “open source” and MM(O)C (Massively, Multiuser (Online) Collaboration)
“The Aqueducts” is the “Internet”
“The fountains” and “Temples” are the “things” we can build using “the arch” and the tremendously powerful tools and technologies we have in our hands.

I also tried to make these points:

  • Basic infrastructure should be free
  • We’re busy building “Pyramids” – using brute force
  • Civilisation is still in beta
  • We actually have the power to change things – get involved
  • The beer isn’t free – it will cost money
  • Join the revolution

Like I said, and this was obvious if you attended, I wasn’t too good at getting these points through, and to me, one of the main ideas of BarCamp, is to throw ideas on the table, even half baked ones, and have them tested, and even shot down.

My ideas was mostly shot down, and I got a “Emperor’s new clothes” type of comment: “To build the aquaeducts that feeds the fountains you already need an arch”, and someone else pointed out, that “something” was missing going from “The Pyramid” to “The Arch”, did it just appear out of the blue? I didn’t really answer that too well, my point is that the technological equivalent of “The Arch” has been/is being invented, now we can go build the aquaeducts and fountains armed with that knowledge.

Christian Schade was the most sceptical, I need people like him to question my ideas, so thank you Christian.

I’ve actually done a lot of thinking about this, basically I’m a strong believer in utopian ideas – they’ re getting a bit old, and others are better at getting them across than me.

I enjoyed the discussion we had afterwards, and I think that I managed to sell some of my ideas. It’s really quite simple, don’t wait for the revolution to happen, get involved. Like I said, this was the wrong audience, since they’re all already involved in the revolution.

My presentation did align itself, almost perfectly, with the two that followed, those of Christian Schade and Tania Ellis.

The Digital Divide

I was very pleased to, finally, meet Christian Schade, a person that I’ve been following for some time. I’ve never met him before, and I only knew him because he, sometime ago, added me as a contact on the online service Jaiku. The way he’s using a microblogging service is very similar to the way I use it, he often posts short messages that only he can understand – like a song that he had some sort of association to.

Christian talked about “the digital divide”, and he started out by stating that the difference between the things he was going to talk about, and the things I talked about, was similar to “the glass is half-full” (me)/”the glass is half empty” (Christian). You could say that I’m the optimist and Christian is the realist.

Christian got his points through, and they’re quite sobering. It’s possible that the younger generation is tech-savy, but they’re basically IT illiterate, yes they know how to use their cellphone, but the Nokia N95 they’re carrying around really is an extremely powerful computer, that they’re just using to TEXT each other.

Since the current trend is that businesses, and the public, use more and more advanced electronic solutions – yes: e-mail qualifies as advanced – IT skills are increasingly important, skills that the educational system isn’t focusing on.

So the digital divide is getting bigger, even in developed countries, and no one seems to care, like Christian pointed out, no one has really seriously looked at the problem with the digital divide, since the Dybkjær report, and when that was issued, they weren’t even sure if the Internet should be the backbone of the “Digital Denmark”.

Of course part of the problem with technology has to do with accessibility, and the general computer really is too complicated to be the basic tool of the digital revolution – no-one should have to know what a firewall and an anti-virus program is…We have a great challenge ahead of us, but no-one seems to care.

I later had a long discussion with Christian, and that was great.

Capitalism with a human face

Tania Ellis at BarCampCopenhagenBarCamp was also graced by Tania Ellis, author of the book “De nye pionerer” (The New Pioneers), and her presentation was about “Social business” – new alliances (oops ;-) ) between economics and humanism.

Tania started out by showing a picture of the two choices of careers you’ve had since the 70ies, either you’re the poor, “peace and love” hippie or the greedy business man, but could a third way be emerging? A way where you can merge and/or mix the two, achieving balance and the best of two worlds.

Tania has been giving this a lot of thought, and the examples she found were ranging from the relatively well known (Life Straw), to the “interesting” (Solar Powered Vibrators) to the self-contradictory (Environmentally friendly munitions).

After Christian’s venture into dystopia, Tania presented hope for the future, maybe that is an attribute of the feminine? Afterwards she said that having children certainly helps, something that Christian tried to protest ;-) .

I think that Tania managed to put words to my ideas, and present them is a structured manner – the “exercise” of writing a book is probably helpful ;-) . Seen as a whole, the pre-dinner presentations by Christian, Tania and me fit extremely well together.

BTW, the splash screen on Tania’s web-site is a quote from Alan Kay. It used to be part of the name of my PowerBook, until I discovered that iTunes Music Store doesn’t like long computer-names, strangely enough the fact that I’ve written about the solution, is the biggest driver of traffic to my blog!

del.icio.us

After these three Kangaroo? tracks, it was time for dinner, and that was just del.icio.us (sorry or soz as I’ve begun to say recently).

Ruby don’t take your love to town

After the break, I decided to stay truer to my Geek roots, and attended the session “Ruby, Rails <meta>?” by Casper Fabricius. This was a great introduction to Ruby. Ruby is definitely very cool – like Neo cool – and I do love interpreted languages. I got a flash-back to the strangest language I’ve ever worked with, APL – an interpreted language that I have mainly used on an IBM mainframe.

One thing I find interesting is the trench-digging, and categorisation of people based on what programming languages they use – with the possible exception of Perl, I haven’t seen a programming language I couldn’t master with relative ease, and I’m, of the conviction that you need to have some general awareness of the different languages and tools that you have at your disposal. If Ruby can get the job done, quicker and faster, you should be allowed to use it.

Unfortunately Denmark is Microsoft country extraordinaire, and .NET is way too dominant. I totally agree with Casper that Reflection in C# is very hard to grasp, within this field Ruby is pure simplicity, and it is just beautiful.

As with all interpreted languages, there are justified performance fears, but if you can deliver solutions quicker, the benefits might overshadow those concerns.

Casper asked the question: so what can you use all this Neo-coolness for? He didn’t really have the time to answer this, but Ruby is being used to build world-class applications.

If you want to get started with Ruby, Casper pitched the web-based Ruby development environment Heroku, and it looks like a good place to start venturing into Ruby coolness. Heroku is in closed beta, but you might be allowed to pass through the Pearly Gates to Ruby coolness, by contacting Casper. [Casper has made me aware (see comments) that Heroku is for Ruby on Rails development, it's important to distinguish between the two].

Quo-vadis?

The most surprising presentation of the evening, was the presentation by Henrik Biering of the work NETAMIA has done to develop a single-sign-on (SSO) engine, called net-safe. Net-safe is a standards based, plug-able SSO infrastructure, that also contains address validation etc. Running a successful on-line business depends on correct identification of the users, and having valid user data, also means that the users are better behaved.

Henrik knew what he was talking about, based on the experiences of the huge user base of heste-nettet.dk, which he runs. I guess it is obvious, but it really was an eye-opener to me, correct/valid information of users is extremely important, if you want to run a serious web-site.

Everyone in the room was blown away by seeing how polished a product Net-safe is, and when asked how much it had cost to develop it, Henrik answered: hmm, it was something I did together with my son…Amazing!

Embracing the chaos

Henriette talked about how to get businesses to embrace the chaos of the net, it’s a topic she’s writing a book about, and I look very much forward to it.

Engaging the geek warp drive

After all these sessions, I really needed a break, but when Michael Widerkrantz aka. MC, started rearranging the chairs, I just knew that I had to attend.

MC talked about IPv6, and why it’s important. In case you don’t know, IP is the basic communications protocol of the Internet, and the version we’re currently using, has a build-in limit of the number of allowed network addresses, that we’re about to hit, MC said that a recent session of RIPE, estimated that it would happen in less than two years.

I know just a little about networks, but this was mostly over my head, basically I’m sitting somewhere above layer 7, and just want the network to, ahem work, so it beats me why the ISPs just don’t get started rebuilding the infrastructure for IPv6, before it’s too late.

An interesting side-note is that a friend of mine just recently returned from South Africa, and I found out, because her computer acted strangely, that it was because she had been using IPv6 – as seems to be common with developing countries, South Africa is skipping the legacy infrastructure completely, a legacy that will soon hit us, and the entire digital economy, which today is synonymous with the economy.

Thank you

That concluded the official program of BarCamp Copenhagen, and what a great night it was, the air was literally buzzing with energy. Events like this are important, and I hope that this will get people talking and taking similar initiatives.

Getting out of beta: The decade of “search” is over – ushering in the decade of “knowledge”

January 9th, 2008

When “Sergei and Larry” approached Yahoo with a brand new concept of a “search engine”, they discovered, to their dismay, that Yahoo wasn’t really interested in “search”, but in selling ads. So Google was born.

How I discovered Google

In 1998 I was doing a search of myself, e.g. ego-surfing, using my preferred search engine, Lycos, and I was stunned to see that the top hits were Usenet groups that contained my name, several of them in fact, but worse: they had names like kimbach.slut.slut.slut etc.

I was a bit upset, especially since I, at that point, was being sued over violation of the marketing law by a former employer – a case that was later thrown out – but I assumed that they might have created those groups, to slander me, and I was quite sure that it wasn’t me that created those groups ;-) .

I took a look at the content of the groups, and they had very low traffic, I only found some spam, which was rare in 1998, and someone who asked the question “who is Kim Bach” – a question I’ve pondered myself, but it didn’t look like it had anything to do with me.

Eventually I contacted the hotline of my ISP, Image Scandinavia, and they referred me to…GOOGLE.

Doing a search on Google, I realised that it had nothing to do with me, but that the groups had been created by a disgruntled husband, and Kim Bach was his ex-wife!

I also believe that using Google for the first time, immediately made me drop Lycos. At that point Lycos actually yielded what I’d label “better results”, but that changed quickly.

Google, originally, cracked “the search code”, and the world changed.

How I discovered Wikipedia

This I also remember clearly, and it’s quite interesting, I googled it – indirectly!

3-4 years ago I was trying find the English word for the type of dog, that is called “gravhund” in Danish, I somehow ;-) knew that a literal translation wouldn’t do, since that would have yielded “diggingdog”, “digdog”, “gravedog”.

So a Google search let me to the English Wikipedia article for Dachshund, and that was what I was looking for!

Seeing Wikipedia was an instant eye-opener, and at that point it hadn’t even dawned upon me, that Wikipedia was pure user-generated content!

Google isn’t interested in “knowledge”

Google won by doing a better job, but now “we, the people” are approaching the world with a concept of a “knowledge engine”, only to discover, to our dismay, that for instance Google isn’t really interested in “knowledge”, but in selling ads.

The difference: “we, the people”, will, surprisingly, transform Google from a “search engine” into a “knowledge engine” as well, no matter what Google does. The algorithm Google uses will give preference to “quality”, at least in the long run, and since “we, the people” are so numerous this will happen sooner rather than later.

Case in point, the best SEO strategy I know of is to create a Wikipedia article, try googling the terms I’ve created Wikipedia articles for (for instance: Kim Schumacher, DB03 and DB07).

You’re brainwashed

Google and the big companies have had us, pretty much, brainwashed to think that we have no say. This is reflected by the response to the launch of the Wikia Search engine, on the historic day, January 7th 2008.

Everyone is trying to compare Wikia Search to Google, and that’s missing the point COMPLETELY, and people should read what Wikia Search are writing:

WE KNOW THAT THE QUALITY OF THE SEARCH IS: “PRETTY LOW” (a polite way of saying that it “stinks”)

The way to help change it, is simply to get involved.

Every-time you do a search on Wikia Search, you’re offered the option to edit a “Mini Article” on the search. A “Mini Article” is just a Wiki article, that explains the search term. The “Mini Articles” will be used to improve the search index.

“Unfortunately” people seems to have been using a search on themselves as a benchmark, meaning that a lot of the “Mini Articles” are links to private and small web-sites, but that reflects the community.

Ego-surfing was also one of the first things I did, and the first hit that could be attributed to me was result number 8, and that yielded the photos I’ve taken, that are in the Flickr pool I created for Sjakket, my former place of work.

Is that my major contribution to the world? Well it’s not that far from it, bordering that I believe that it could be.

Getting involved – choose a community to “work” for

My criteria are:

Not for profit, open, free, strong community, sustainable.

The beer isn’t free however, so you’re allowed to make money, but take into consideration how the money is being made, if it is sustainable etc.

Personally I’ve chosen these organisations

Currently I’m mostly involved in Wikia Search, I’ve found it really intimidating to be a contributor to an Encyclopaedia, so my contributions to Wikipedia have been quite limited, Wikia Search is much less intimidating, and right up my alley.

Where would you put your money (e.g. time)?

In ten years, Google has gone from no to 16.000 employees, but “we, the people” will, in ten years go from no to 6,5 billion, or how many it is that “we” are in 2018.

Where would you put you money (e.g. time)? It will only cost you time, and you’ll be involved in building a beautiful shrine to knowledge and human achievement.

Together we’ll do Google one better: crack the code of “knowledge”, and the world has changed forever.

Free at last, free at last, oh God almighty we’re free at last.

And “we”‘re hiring! No need to submit a resume, come join the fight!

Read more here:

Weaving an untangled web – The Friend of a Friend (FOAF) project

January 4th, 2008

FOAF Project LogoThe Friend of a Friend (FOAF) project

I really need to “get out more”, since I’ve only just now discovered the Friend of a Friend project (FOAF), and I LOVE it!

The Friend of a Friend (FOAF) project is creating a Web of machine-readable pages describing people, the links between them and the things they create and do.

Say what?

FOAF is an important part of the so-called semantic-web, and FOAF is just a so-called RDF specification of who you are. RDF (Resource Description Framework) is one of the basic technologies of the semantic web, and it’s nothing more (or should I say less) than an XML schema condoned by the W3C for describing resources.

Think of RDF as “the mother of all links”, RSS and Atom actually uses RDF.

The problem with links

So what is that RDF does better than the tradtional link?

When you create a link, you rarely remember to provide important information about what it is that you actually link to. At best you provide an ALT attribute (description) to an image tag. Google actively uses the ALT tag when indexing images, but if the link to an image contained more information, eg. semantics, Google could do a much better job.

Semantics means that you provide information about content and context, not just a link to it. You could call that metadata, abstracts or just “data”.

Many CMSes uses the URI of posts to provide some semantics, it’s often called SEO (search engine optimisation), the URI of this post has FOAF in it, meaning that a link to this article indeed contains some semantics.

A common standard for the WordPress CMS is that it uses year, month, day and the title of the post to generate the URI.

The problem is that this information should be provided in a structured, machine readable and – most importantly – open format, in order to make it possible to provide semantics.

I actually despise the concept of SEO, since it amounts to cheating, the only valid SEO is:
“provide interesting content”

A semantic “you”

A number of standards for providing semantics exists, one of the most interesting, especially in this day and age of social media, is the FOAF format.

FOAF is a format that describes you and your connections to provide semantics about people (you) and your connections (friends), in a standardised way, using RDF.

The FOAF file contains information about who you are, how to contact you, but most interestingly it contains links to your friends, and their FOAF files.

The beauty of FOAF is, that all you have to do, is:

  1. Create a FOAF file, for instance using FOAF-a-matic
  2. Put it on a server
  3. Provide the URI
  4. Make sure that it can be found by others (e.g. by posting a link on a page you know is indexed)

Chances are that the FOAF spiders will have a feast on your FOAF, sooner rather than later.

Create your FOAF file

It’s quite simple to create a FOAF file, all you need to do is go to FOAF-a-matic, fill in a number of fields, generate the FOAF file, copy it to a text-editor, publish it on your web-site.

Below is a screenshot of the FOAF-a-matic page.

FOAF-a-matic screenshot

Take back your profile, it’s…YOURS!

No need to register with social networking sites, your profile is YOURS.

Who owns the information about “who you are”? You do! Should that information be made available in an open format? You bet! RDF and FOAF is the way to go.

And don’t take my word for it, just take a look at the people who are promoting and developing RDF and FOAF…

So how did the chicken cross the road

I’ll provide you with the story about how I found FOAF, since it’s interesting to say the least.

My good buddy Sebastian Lund just recently set up his blog, Silence is deafening, and I’m looking forward to following it, he’s using a beautiful theme, the Dilectio Theme, developed by Design Disease.

Design Disease has a number of free WordPress themes available, and you can test them, when I tried that, their “Lorem Ipsum” turned out to be an article by no other that TBL, timbl, Tim Berners-Lee, Mr. Web himself, and he was writing about blogging and FOAF…

So:

What an untangled web we’re weawing.

Now I need to think of a good URI for my FOAF file, TBL suggests this:

A lot of people have published data about themselves without using a URI for themselves. This means I can’t refer to them in other data. So please take a minute to give yourself a URI. If you have a FOAF page, you may just have to add rdf:about=”" and voila you have a URI http://example.com/Alan/foaf.rdf#ABC. (I suggest you use your initials for the last bit). Check it works in the Tabulator.

Ready, steady FOAF

So what are you waiting for? Create your own FOAF file, and start sharing.

And now I’m moving on to explore Tabulator, more on that later…