Categories
Blogs Computere og Internet Design Education/Undervisning Kim Blog (English)

Amazon Kindle – Vision og forretning

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:

Categories
'i dag' (Danish) Blogs Computere og Internet

Opsigelse af abonnement på WeekendAvisen Knr. xxxxxxxxxx

Hej WeekendAvisen,

Jeg ønsker at opsige mit abonnement Knr. xxxxxxxxxx, prøvede at gøre det online, men det lykkedes mig ikke at oprette en profil.

Det er ikke fordi jeg er utilfreds med avisen, jeg glemmer bare altid at tage den med mig, og så fylder den for meget.

Venlig hilsen

Kim Bach

ps. Jeg tegner abonnement igen, når/hvis jeg kan få den leveret til min Kindle

Categories
Blogs Computere og Internet Kim Blog (English) Technology

Amazon Kindled KISS

Kindle
Order Date: October 7, 2009
Order #: xxx-xxxxxxx-xxxxxxx
Recipient: Kim Bach

Items not yet shipped:
Delivery estimate: October 21, 2009 – October 23, 2009
Shipping estimate: October 19, 2009
1 of: Kindle Wireless Reading Device (6″ Display, U.S. & International Wireless, Latest Generation)
Sold by: Amazon Export Sales, Inc.
1 of: Patagonia Kindle Case (Fits 6″ Display, Latest Generation Kindle)
Sold by: Amazon Export Sales, Inc.

Kindle and Sony PRS-505I’ve been waiting for the Kindle to be launched in Denmark, I’ve wanted one since I laid my hands on one at Reboot 11 in June. So now I know what I’m getting for my birthday.

Yes, the Kindle has it’s problems, and I fear that it will end in my hardware graveyard, alongside my Palm Vx (which I loved, and read books on) and my Compaq PDA (which I loved, and read books on), but the Kindle is a different creature, much like the iPod, it’s focusing on a specific application and has connected that with a clear business model, I see it as a connected object, a beautiful combination of form and function, something Microsoft has never understood, and that Apple has abandoned, except with the iPod Shuffle.

KISS!

For those oblivious to what a Kindle is, it’s an eBook reader developed by Amazon. Amazon’s vision is to make all books ever published available in digital form, and Jeff Bezos can repeat after Steve Jobs: “we have xx millions of accounts, AND they come with creditcards”. I believe that it will take talent for Amazon to fumble this.

Categories
Blogs Computere og Internet Hackers Historier/Stories Humor Kim Blog (English) Technology Uncategorized

Today is #talkhttpday

Yes, today I’m going to talk HTTP instead of shit.

This post will be updated throughout the day

https://twitter.com/timeline/home#search?q=%23talkhttpday
http://en.wikipedia.org/wiki/HTTP
http://www.w3.org/Protocols/

HTTP/1.1 200

The fun thing is that this little game started on Facebook, right now I’m using a combination of Facebook and Twitter to co-create the revolution of the mellemrumssingularitet .

ps. it’s unfortunate that I have to use twitter and facebook, because Jaiku can do it all…

http://www.jaiku.com/channel/talkhttpday

Categories
Blogs Computere og Internet Education/Undervisning Hackers Historier/Stories IT Guruer Kim Blog (English) Open Source Technology Undervisning Videnskab

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

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 😉

Categories
Blogs Computere og Internet Hackers Historier/Stories Kim Blog (English) Open Source Technology

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

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

Categories
Blogs Bookmarks Computere og Internet Education/Undervisning Frivillig arbejde Hackers Historier/Stories Kim Blog (English) Open Source Resources Technology

BarCamp Copenhagen 8.2: BarCamp Copenhagen Intelligence Agency – Part I

BarCamp Copenhagen 8.2 - one of my bagsBarCamp Copenhagen 8.2 on the 22nd of November 2008 is over, THANK YOU SO MUCH for being such a great crowd.

I’d like to extend a special thank you to the sponsors (Signal Digital, Københavns Erhvervs Akademi, Nabz.dk, basementcopenhagen and Toothless Tiger), Ras Bolding and our fabulous team Henriette Weber, Thomas Kristensen, Anders Bendix, Troels Wittrup, Benjamin Wendelboe, Laura Kiralfy and Mark Wubben – you ALL rock, and you KNOW it!

BTW! We’re trying to build a community site at barcamp.dk, so check back often for updates

Pre-camp game
I’m a 3 time veteran of BarCamp Copenhagen, and this time I had multiple roles, primary Henriette challenged me to host a pre-camp game, and this article is focusing on how that unfolded.

My roles were these:

  • Co-organiser
  • Co-host
  • Host of pre-camp warm-up – hmm, it was freezing wasn’t it – event
  • Co-sponsor through Nabz.dk – reseller of the Nabaztag
  • Speaker (accept my sincere apologies for that disaster of a session, but I did learn some important Xcode/Interface Builder tricks)
  • Webmaster at barcamp.dk

Phew! I think that’s about it, no wait, I also found time to be a participant!

“Un-conference”
For those of you not familiar with the concept, BarCamp Copenhagen is part of the world-wide phenomenon BarCamp, and can best be described as a conference with a twist, a so-called un-conference.

I’ll try to illustrate the differences between a conference and BarCamp below.

Conference

  • The list of speakers usually is announced and scheduled
  • Active participation is neither required nor the norm
  • Speakers are invited and often payed
  • Attendees usually pay a fee

BarCamp (un-conference)

  • The list of speakers and the schedule is made up just before the camp starts
  • The audience is expected to participate actively
  • Speakers are volunteering, and access is only limited by the number of presentation slots

Technological treasure hunt, huh?
My major contribution to BarCamp Copenhagen 8.2 was being organiser of the pre-camp warm up.

As mentioned, the task of organising a pre-camp warm-up was given to me by Henriette Weber, she had envisioned a “technological treasure hunt”, and I immediately jumped at the chance, but what to do?

Technology and treasure hunt, we’ll that should be something with GPS, isn’t that something you can assume that people have these days?

After looking into what existed in the market, and even considering if we should try to build our own, I was sort of stuck for at while.

I suspect that Henriette was getting a bit worried, so she sent Mark Wubben to the rescue, and that was great! Mark is probably the coolest guy I’ve ever met, and it’s hard to believe that he’s only 22. Mark is destined for greatness, and I’m humbled by his presence!

I quickly started down an avenue of sending the participants out to research the history of the neighbourhood where the event was to take place, but Mark, in diplomatic terms, told me that that sounded too boring, I instantly agreed, it did sound like a school project didn’t it? I guess my short career as a school teacher had a bad influence on my creativity ;-).

Brainstorm
On October 28th I met with Mark, and he made a couple of important points.

  • The game must not be boring
  • The game should be “hackable”
  • The game should be directed using SMS by the game master

We had a great brainstorming session, and immediately we were turning in the direction of spies, conspiricies etc. Mostly because I instantly made the connection to November 22nd and the mother of all conspiracy theories, since November 22nd is the day of the JFK assassination.

So what we came up with was the concept of a spy-game where you were supposed to find an assassin, take a picture and return with it to the headquarter.

The assassin would be meeting with a contact at an undisclosed location, I thought of Nørrebroparken because it has a “grassy knoll” ;-).

The participitants would be divided into teams, and then sent around in the area looking for codes that, when found, should be relayed to HQ, resulting in another hint about the whereabouts of the assassin.

Planning
On the 8th of November Mark Wubben and I met to investigate the area, and we found several places that would be suitable for waypoints, we decided that Nørrebroparken would be too far away, since we only had two hours for the game, and wanted 5 hints/waypoints.

I didn’t really work too much on the detalis of the game, after the 8th, but when the 22nd of November approached, I suddenly decided that we needed a website to support the game, and what you can whip together in two shakes of a rats tail using Drupal is just amazing, I had a full community site with full geolocation support up and running in a few hours.

Calls for participation
Approx. one week prior to the event, we issued an e-mail with a call for participation, and people were asked to sign-up for the pre-camp event, this was before I had configured the website, so I received a possitive answer from a few people.

Teaser
On the eve of the event, I then sent out this e-mail to the people that had responded to the call for participation:

Dear Agent,

You’ve been selected as a prospect to lead a team at BarCamp Copenhagen.

You will be given a mission that requires that you operate as a field agent from 10am to 11:59am.

Any technology you bring can potentially help you, but you’ll need, at least a camera and a cellphone.

There will be a briefing at 10am on November 22nd @Lygten 16.

Until then you can get updates at the barcamp.dk site, so check back frequently. http://barcamp.dk/content/barcamp-copenhagen-intelligence-agency

If you choose to accept the mission I’ll need your cell-phone number.

Kind regards
Kim Bach aka. K.ox
BCCIA Director

I received commitment from 4 people, I picked them as team-leaders, so that we would have four teams, and now I started building the website, having specific locations geocoded on the website helped me produce nice maps, so all I needed was to finalise the plot.

In the week leading to the event I had enlisted two of my friends to act as agents, and one of them is an experienced role-player so she helped me debug the game, she suggested that I should get rid of the good/bad distinction, and focus on making it much more confusing what was good and bad.

We met the night before BarCamp and decided that the mission should be for the teams to located the whereabouts of an agent, deliver documents, that they should document the handover of the documents, and return to base. What they weren’t aware of was that there was a second agent operating, and that he should steal the documents and disappear.

Hackable game
As mentioned, Mark Wubben tought me the importance of the game being “hackable”, this means that you should be able to bend the rules, so what I came up with was this:

  • Information about the waypoints would be made available on the website once the teams had departed
  • It would be possible to guess the access-codes, and get the hints faster. I choose these numbers for the 5 codes that should be gathered: 13-21-34-55-89 – does that ring a bell? Not? Well it’s the 5 two digit Fibonacci numbers 😉
  • You could get help if you asked for it

The plot
I ended up with a plot where the participants were sent out to locate field agent Szeba, they would be guided by hints that were given to them once they had gone to a waypoint and located the access code and sent it by SMS to HQ

The mission was to hand over some documents to the agent, and return with proof that the documents were delivered to the agent, and return to HQ.

The twist
What the participants didn’t know, was that I had also enlisted another agent, Petrus. The idea was that the agent would steal the documents once they were delivered to agent Szeba.

Game-on
On the eve of the evening I met with agents Szeba and Petrus (aka. Signe and Kim, thank you for helping me, you guys rock).

We went over the plan.

Szeba would be at Nørrebro Station at 11:30 waiting for the documents, Petrus would be lurking, wait for the next train, steal the documents and jump on the train just before it left.

We were ready for the game – mu-ha-ha-ha – it will be GREAT!

Stay tuned for the part two of this where you’ll be told how the game actually unfolded.

The picture that accompanies this article was taken by Karin Høgh, it’s copyright Karin Høgh and she has allowed me to use it here. The picture shows one of my bags!

Categories
Blogs Computere og Internet Historier/Stories IT Guruer Kim Blog (English) Macintosh Mactopia Technology

Passion for industrial design: The spotlight turns to…Jonathan “Jony” Ive

Jony Ive - Apple Senior Vice President - Design

Yesterday, the 14th of October 2008, Apple had an event titled “The spotlight turns to notebooks”, where they unveiled a refresh of the MacBook Pro, a new version of the MacBook in aluminium and a new Cinema Display.

Clever spin
All of these announcements were already confirmed and leaked days before the event, Apple can’t or won’t, contain the leaks, and the new strategy seems to be to use the leaks to drive the hype.

Remembering how secretive Apple events used to be, I sort of, expected Steve Jobs to pull something out of the sleeves of his turtleneck, “one more thing”, but he didn’t, or did he?

One more “thing”
One notable thing about the event was that Steve shared the stage to such a high degree. This is a trend that has been going for some time, especially when it comes to events that focus on the Mac, it’s a bit like Steve isn’t that passionate about computers.

Luckily others are, and at this event Jonathan “Jony” Ive shined – and I’m not referring to the reflections from his shaved head.

It was simply a thrill to see this low-key, soft-spoken, man talk about the manufacturing process involved in producing the new MacBooks, the attention to detail, the months spend refining the new trackpad etc. etc.

Over the years, speculation as to who might take over the position as CEO of Apple after Steve Jobs, has been growing, and my first reaction was that I’d love to see Ive in that position, he’d be a natural.

But really that would be such a shame, so I’m convinced that Ive will stay in his current position, and there’s many more iconic designs hidden in that shiny bald head of his.

So watch the video where Ive talks us through the manufacturing process of the new MacBooks, it’s simply breathtaking.

Risky strategy?
The MacBooks themselves? To me they ooze quality. Apple has obviously decided that they will not address the current trend towards cheap notebooks, aka. netbooks, when asked Steve called it a “developing market”.

The strategy is risky, it defies the market, but I welcome it, and it will only mean that Apple will grow it’s market share in terms of revenue, instead of units moved. With these new notebooks, there’s no doubt that Apple owns the high-end market, and that’s where it’s the most fun, and profitable, to be.

The old MacBook product line has been plagued by quality problems, hopefully the new MacBooks addresses this, I’ll bet that this is the case, these are, to me, the first true Intel based notebooks, designed from the ground up for the Intel chips.

I’m tempted by Ive’s new industrial sculpture

The picture of Jonathan “Jony” Ive, that accompanies this article, is a frame from the video issued by Apple for the launch of the MacBook Aluminium, it’s Copyright Apple Inc. I hope that my use here is considered “Fair Use”.

Currently the video is available on the Apple Website here, it’s likely to be moved, and it’s a good guess that it’s already on YouTube. The video is produced much like a documentary, really professional marketing on Apple’s part.

Categories
Blogs Computere og Internet Historier/Stories Humor Open Source Technology

One final thing: How do you like them Apples? – The spotlight turns to notebooks

Applenotebookevent - The spotlight turns to notebooksA draft of Steve Jobs’ presentation for the Notebook Event titled “The spotlight turns to notebooks” scheduled to take place on October 14th 2008 in Cupertino, has been leaked.

Since rumour has it that Apple is softening up to rumour sites: if you don’t like me publishing this rumour: SOSUME.

“Gi’ mig Danmark tilbage” by Natasja is blasting the Cupertino speakers!

Steve Jobs takes the stage

(applause)

Welcome, and thank you for coming.

One first thing:
Apple has realized that we can’t compete with Linux and has decided to make an investment in Linux. So we’re discontinuing Mac OS X in favour of Linux with KDE, all Mac OS X developers will instead be working on contributing to Linux, ending years of, mostly, passive and luke warm support for the open source movement. Apple wants to appologise for this mal-pratice, and all code will be shared back with the community.

The next version of Mac OS X will be renamed Linux Snow Leopard, and it will be licensed under the GPL – meaning that it can be freely copied, and installed, on any computer.

(oooooh)

Linux Snow Leopard is available as a free download from Apple AppStore, and it is available…NOW!

(applause and cheers)

The reason for this change is that captalism, as we knew it is dead, instead of competing to death and the focus on economic growth, that is destroying the planet, human kind will instead work to improve the quality of life for all.

Democratisation of technology will be instrumental in bringing these changes.

Apple wants to be part of this.

(Steve moves the cover on the table, pulls out a picture frame with a picture of Richard Stallman on one side and Nicholas Negroponte on the other side, from this frame he pulls out a beautiful sub-notebook)

So today I’m happy to announce the insanely great TuxBook, developed in coorporation with Asus.

Asus is bringing the change, and since our old notebooks really weren’t anything but repackaged Asus products anyway, we’ve decided that Jonathan Ive will now be working full time making Asuses look cool.

The TuxBook comes with 2GB RAM, 32GB SSD, WiFi, Bluetooth, a 3G modem and A-GPS. It sports 8 hours of batterylife, and can, optionally, be solarpowered.

Demo:
(The splash screen is a Penguin holding an Apple)

Isn’t that beautiful? KDE 4.1: BOOM!

The TuxBook will be priced at $99, and it is available…NOW!

Thank you all for coming, and Karl Marx was right.

(applause)

One more thing:
Since you can’t make money on stock, APPL will be unlisted from the stock exchange, Apple will in the future be a Section 501(c)(3) not-for-profit charity.

One final thing:
How do you like them Apples?

(standing ovations and wild cheers: T-U-X what’s that spell? TUX!, what’s that spell? TUX!)

Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Resources

DrupalCamp Copenhagen 2008 – Drupal Danmark: You’ve come a long way, baby

Drupal.OrgRegular readers might know that I’m a big fan of the Content Managment System Drupal. I’ve been actively promoting this system for 3 years, and I was active when Drupal Danmark, the Danish Drupal community, was established in the spring of 2006.

Despite this, I’ve never really managed to build anything useful using Drupal!

It’s not that I haven’t tried, actually I’ve ventured into a number of projects where I’ve tried to use Drupal as an application framework, because I, strongly, believe that Drupal is so much more than a CMS.

The projects haven’t failed completely, and I’ve learned valuable lessons, but I never really managed to finish them.

As a developer trying to work with a CMS for development is rather frustrating, since you get to spend most of your time configuring the system, and you constantly run into limitations, that mostly are related to the fact that developers and non-developers alike, has to be able to configure the system.

Why did the projects fail? Was it due to lacking skills on my part, or is Drupal not suited to use as an application framework or are there additional factors?

I’d like to explore this, so I’ve signed-up for the very first DrupalCamp Copenhagen, that will be held November 15th and 16th 2008 in Copenhagen.

I’ve also proposed a session: Using Drupal as a Web Application Framework, let’s see if that is accepted, but for sure I’m not going to be a tourist, and I’m going to actively pursue an answer to my questions.

You’ve come a long way baby
Like I mentioned, I was present when we took the first steps trying to establish the community back in spring of 2006, but since late 2006 I’ve been mostly absent from the community.

Since then Drupal, and Drupal Danmark, has grown stronger and stronger, and if you take a look at the sign-ups for DrupalCamp Copenhagen 2008, you can see how strong the community has grown.

The fact that there’s a significant number of international attendees is impressive. This has a lot to do with Drupal Danmark and evangelists like Morten DK’s and Mikkel Høgh’s very active participation in the international community.

So thank you all for growing the community, and having the guts to go ahead with DrupalCamp Copenhagen 2008. YOU ROCK!

Drupal Danmark: You’ve come a long way baby.

Hope to see you at DrupalCamp Copenhagen.

See also: