In Europa en Google Maps

De afgelopen weken is het rustig geweest op dit weblog. De mensen die mij volgen op Twitter weten ook wel waarom. Al mijn tijd werd opgeslokt door een groot project waar ik aan meewerkte: In Europa.

Boek, tv, website en meer

In Europa is het bekende boek van Geert Mak. In 1999 heeft Geert Mak een jaar lang door Europa gereisd en verslag hiervan gedaan in het NRC. Dit verslag is uitgewerkt in een boek dat in 2004 verschenen is. In maar liefst 1224 pagina’s neemt Mak je mee door de geschiedenis van Europa in de 20e eeuw.

De VPRO brengt nu de verfilming van het boek op tv. In 2 seizoenen worden in totaal 35 afleveringen uitgezonden. Iedere aflevering staat 1 jaar uit de vorige eeuw centraal.

Naast de tv serie is In Europa ook: radio, krant, dvd, reizen en natuurlijk de website waar ik aan mee gewerkt heb.

Google Maps

Op de website is veel informatie te vinden. Naast een weblog en de afleveringen staat de kaart van Europa centraal, de In Europa Atlas.

In Europa Atlas

Deze atlas is een Google Maps Mashup met daarop historische informatie over locaties in Europa in de 20e eeuw. In eerste instantie is dit informatie van en rond de afleveringen van de tv serie, maar er zal ook veel extra informatie te zien zijn (o.a. door bezoekers van de site ingezonden materiaal).

De informatie op de kaart bestaat uit tekst, afbeeldingen en video. Er is video uit de uitzendingen, video welke niet gebruikt is in de uitzendingen, maar ook uniek historisch materiaal.

De Atlas is een verzameling van alle jaren uit de vorige eeuw, maar ieder jaar heeft ook z’n eigen pagina, met z’n eigen kaart, bijvoorbeeld het jaar 1914.

Mogelijkheden

De kaarten maken gebruik van standaard Google Maps functionaliteit, zoals zoomen, bewegen van de kaart, klikken op een punt op de kaart, etc. Daarnaast zijn er een aantal nieuwe mogelijkheden ontwikkeld.

  • Clustering – De kaart kan onoverzichtelijk worden zodra er veel punten getoond worden, maar ook als er een aantal punten dicht bij elkaar liggen. Een mogelijke oplossing hiervoor is om alle punten binnen een bepaalde straal te ‘clusteren’ en af te beelden als 1 punt.
    Voor In Europa hebben we een iets andere benadering gekozen. De redactie kan voor ieder punt een aantal clusterniveaus aangeven. Deze clusterniveaus (land, streek, stad, straat) komen overeen met zoomniveaus van Google Maps. Op het overeenkomstige zoomniveau worden punten met hetzelfde clusterniveau als 1 punt getoond.

  • Routes – De redactie wilde de mogelijkheid om vanuit de tekst onder de kaart, rechtstreeks naar een punt op de kaart te kunnen linken. Toen dit mogelijk was gemaakt, kon er ook vanuit een punt op de kaart gelinkt worden naar een ander punt op de kaart en de mogelijkheid om routes aan te maken was geboren.
    Deze routes, of virtuele wandelingen zoals de redactie ze noemt, kunnen de bezoeker van de site op verschillende manieren meenemen door de geschiedenis, bijvoorbeeld langs alle locaties die bij een bepaald thema of bepaalde persoon horen. Een voorbeeld hiervan is de 1906 route.
  • Punt op de kaart linken – Het gebruik van een kaart is voor een project als In Europa een mooie manier om informatie te ontsluiten, maar er zit ook een groot nadeel aan. Als iemand een bookmark wil aanmaken of een link wil maken naar specifieke informatie, is de url van de pagina niet toereikend. Daarom is er een ‘link’ optie aan iedere locatie toegevoegd. Deze bevindt zich onderaan in iedere infowindow.

Problemen

Tijdens de ontwikkeling liepen we tegen een aantal eigenaardigheden van de Google Maps API aan. De belangrijkste zijn:

  • API keys – Een van de voorwaarden bij de ontwikkeling van In Europa was dat ieder jaar z’n eigen pagina en dus ook z’n eigen url zou krijgen. Op deze manier kunnen de verschillende jaren gebookmarked en gelinkt worden. Probleem hierbij is dat je voor de ontwikkeling van Google Maps met de API een key (sleutel/code) nodig hebt. Deze sleutel werkt op url niveau. Voor iedere url heb je een sleutel nodig.
    In Europa gaat over alle jaren van de vorige eeuw, dus er waren 101 sleutels nodig (100 jaren + 1 overzichtspagina van alle jaren). Maar aan 101 hadden we nog niet genoeg, aangezien het geheel ook nog op een testomgeving moest werken. Dus in totaal moesten er, handmatig, 202 sleutels aangemaakt worden!!!
    Het wordt toch eens tijd dat Google een ander systeem gaat gebruiken voor de API keys.
  • Controls – In Europa maakt gebruik van eigen controls. Controls zijn de knoppen waarmee de kaart ‘aangestuurd’ kan worden. Voorbeelden hiervan zijn de knopjes aan de zijkanten, waarmee de kaart bewogen kan worden, de knop om de straatnamen aan en uit te kunnen zetten. Deze waren niet lastig om te implementeren. Lastiger was de slider waarmee je kunt in- en uitzoomen. Hiervan zijn nog niet zoveel voorbeelden beschikbaar, dus moet je zelf veel uitproberen om tot een goede implementatie te komen.
  • Timing – Het laatste grote punt waar we mee te maken kregen was timing. Soms is een onderdeel nog niet beschikbaar en moet de code wachten voordat het uitgevoerd kan worden.
    Een ander timing probleem is dat de kaart moet kunnen ‘meeschalen’ met de browser. Als de browser wordt vergroot of verkleind moet de kaart mee vergroot of verkleind worden. Hierbij moet het middenpunt van de kaart hetzelfde blijven. Helaas gaat Internet Explorer niet zo netjes met het vergroten en verkleinen van de browser om en was het middenpunt van de kaart continue aan het bewegen. De oplossing hiervoor was een timer inbouwen.
    Nadeel van het gebruik van Timers in javascript is dat dit tot onverwachte resulten kan leiden. Zeker in verschillende browsers.

Helaas moest er bij de ontwikkeling van In Europa ook rekening worden gehouden met Internet Explorer 6. Tijdens de verschillende Google Maps implementaties die ik het afgelopen jaar heb gedaan, heb ik gemerkt dat Google Maps en IE6 geen goede combinatie is. IE6 zorgt vaker voor problemen bij de ontwikkeling van websites, dus mensen stap nou alsjeblieft eens over op een goede browser!

Toekomst

Wat er nu staat is de 1e versie van In Europa, maar dat is niet het einde. Er zijn al heel veel ideeën hoe het project verder ontwikkeld kan worden. Van gebruikers die informatie kunnen toevoegen, reizen die gedownload kunnen worden tot het beschikbaar stellen van de informatie voor het gebruik op andere sites.

Hebben jullie nog ideeën hoe de site verder uitgebreid kan worden? Wat kan er nog meer met de kaart, of wat mis je aan de kaart? Hoe zou de informatie van de kaart ook buiten de site gebruikt kunnen worden? Voeg hieronder je opmerkingen toe.

Google gaat ‘OpenSocial’

De geruchtenstroom was vorige maand al op gang gekomen, Google zou op 5 november met een alternatief voor het Facebook Platform komen. Dit alternatief zou 100% open zijn en bestaan uit een aantal APIs waarmee de sociale informatie binnen Google ontsloten zou kunnen worden. Ook zouden mogelijk andere sociale networken gebruik kunnen gaan maken van deze APIs om toegang te geven tot hun informatie.

Vandaag licht Techcrunch een tipje van de sluier op, Google lanceert morgen OpenSocial.

OpenSocial (link werkt vanaf donderdag) is geen nieuw sociaal netwerk, maar het is een set van APIs waarmee applicaties ontwikkeld kunnen worden, die met alle sociale networken kunnen samen werken, zolang deze de OpenSocial APIs ondersteunen.
Lees verder “Google gaat ‘OpenSocial’”

APIs, Mashups en copyright

Gisteren las ik op Programmableweb.com een artikel met de titel “Can an API Steal Data”. Een Flickr gebruiker is erachter gekomen dat zijn foto’s in een Mashup (Adactio Elsewhere) verschenen, terwijl hij de rechten voor al z’n foto’s op ‘All Rights Reserved’ (ARR) heeft staan. De discussie die hierna onstaan is gaat vooral over wie nu verantwoordelijk voor het probleem is, Flickr of the Mashup ontwikkelaar. Maar wat is nu precies het probleem, wie is er verantwoordelijk en welke gevolgen heeft deze discussie?
Lees verder “APIs, Mashups en copyright”

Gids maar dan anders

Vanochtend las ik een bericht op O’Reilly’s Radar over een TV gids van het Nieuw Zeelandse Throng. Deze gids gaat as maandag live en is een alternatief voor de traditionele lijst weergave van online TV gidsen.

TV gids maar dan anders

Dit is een verbluffend simpele weergave van televisie programma’s. Je kan in één oogopslag wat er nu op tv is, wat er straks komt en wat er later komt. Ook zie je snel of er iets bij is dat je wilt zien. De grootte van de letters geeft de populariteit van een programma aan en de volgorde wordt bepaald door je eigen voorkeur. Programma’s waarvan jij hebt aangegeven dat je ze goed vindt komen vooraan te staan.

Een vraag die bij me op kwam is of het niet een te simpele weergave is, kan je hier nog makkelijk je PVR mee programmeren? Natuurlijk als je iets wilt programmeren of wilt bepalen of een programma je wat lijkt, heb je meer informatie nodig. Maar voor een eerste snelle selectie is deze manier van weergeven uitermate geschikt.

Ik ben ook benieuwd of deze weergave ook geschikt zou zijn om op de TV zelf te gebruiken. De huidige digitale TV gidsen op de televisie vind ik zelf niet gebruikersvriendelijk. Zou je deze weergave met je afstandsbediening kunnen gebruiken?

Toen ik vanmorgen een link naar het Radar artikel op Twitter plaatste, kwam Annet de Graaf (wizziNL) met de opmerking dat dit type weergave niet alleen geschikt is voor TV gidsen, maar ook voor andere sites met een agenda, zoals bijvoorbeeld het Amsterdams Uit Buro. Dat is natuurlijk helemaal waar. De meeste sites waar je een agenda kunt bekijken, hebben nog de traditionele lijst weergave.

Het is tijd voor iets anders, wie durft? Welke omroep, uitburo of andere site met een agenda durft het aan om ’s anders naar hun tijdslijn te kijken? En dan natuurlijk in Web 2.0 stijl ook een community erachter zodat je een op maat gemaakt tijdsovericht kan zien, met aanbevelingen van je vrienden erbij. Ik krijg er nu al zin in om het te gaan bouwen 🙂

Wie weet of er al voorbeelden in Nederland zijn van sites die hun agenda op een andere manier weergeven? Of wie kent er mooie manieren om een agenda weer te geven? Plaats ze in de comments.

Hergebruik van publieke omroep video

Uitzendinggemist is een populaire dienst van de Publieke Omroep. Eind vorig jaar zelfs zo populair dat de dienst dreigde te bezwijken. Waarom Uitzendinggemist zo populair is? Ik denk dat het voornamelijk te verklaren is door de beschikbare bandbreedte in Nederland, de opkomst van het uitgestelde kijken en het Long Tail effect.

Toch mis ik nog een aantal dingen. Je kan de video van Uitzendinggemist niet op je eigen site gebruiken, dus geen artikel schrijven over een bepaalde uitzending en deze direct bij het artikel plaatsen. Je kan niet eenvoudig linken naar een specifiek stukje in een uitzending. En als laatste, er is maar 1 RSS feed voor heel Uitzendinggemist. Het moet eenvoudig zijn om ook RSS feeds toe te voegen voor de verschillende onderdelen van de site (zender, genre, omroep of zelfs specifiek programma).

Ik kan wel een aantal redenen bedenken waarom je video van Uitzendinggemist niet mag ‘herbruiken’ (rechten, in eigen hand willen houden, hogere eisen aan de technische infrastructuur, etc), maar in het huidige Web-2.0 tijdperk kan dat eigenlijk niet meer. Inhoud moet herbruikt kunnen worden, zeker eigen materiaal van de Publieke Omroep. Een publieke organisatie wil met haar uitzendingen oa nieuws brengen, een bijdrage leveren aan politieke discussies, maar ook bijdragen aan de cultuur van Nederland. Hoe kan een organisatie dit nu beter doen, dan toe te staan dat deze uitzendingen ook op andere sites geplaatst mogen worden? Hierdoor wordt het bereik groter en worden er eventueel meer kanten belicht dan op de tv vaak mogelijk is.

Als de Publieke Omroep een mooie embedded player zou ontwikkelen, zouden de video’s herkenbaar blijven als materiaal van de Publieke Omroep.
Lees verder “Hergebruik van publieke omroep video”

Huizensites 2.0 (2): Mogelijkheden

In het vorige artikel heb de ik huidige stand van zaken van de huizensites in binnen- en buitenland beschreven. In deze post geef ik een overzicht van de mogelijkheden die huizensites volgens mij hebben en nog (bijna) niet gebruiken.

De kern (= de Social Objects) van een huizensite is duidelijk, dat zijn de huizen. Helaas zijn de huizensites een beetje vergeten voor wie en aan wie ze de huizen verkopen: mensen!

Dit artikel beschrijft een aantal mogelijkheden waardoor de huizensites de mensen (zowel kopers als verkopers) beter van dienst kunnen zijn. Daarnaast zullen ze door het ontwikkelen en inzetten van deze mogelijkheden het ‘2.0-tijdperk‘ betreden en beter voorbereid zijn op de toekomst.
Lees verder “Huizensites 2.0 (2): Mogelijkheden”

Huizensites 2.0 (1): Huidige stand van zaken

De afgelopen maanden is er in Nederland veel te doen geweest op het gebied van huizensites. Een strijd tussen de verschillende partijen die zich afspeelde in de rechtbank en in de media. Deze strijd ging met name om wie het grootste aanbod huizen heeft en natuurlijk over het feit of een site het aanbod van anderen mag spideren en op hun eigen site beschikbaar mag maken (en zo ja onder welke voorwaarden).

Is dit voor de consument nu zo’n interessante strijd? Natuurlijk is het goed als een huizensite een zo volledig mogelijk aanbod heeft, maar is dat nou iets waarmee de sites zich zouden moeten proberen te onderscheiden? Nu afgelopen week bekend is geworden dat ook Funda andere sites doorzoekt en het gevonden aanbod op hun eigen site zet, is het denk ik tijd geworden voor de huizensites om zich op andere vlakken te gaan onderscheiden. Niet langer bezig zijn met de grootste, maar bezig zijn met de vraag hoe ze hun diensten zo klant vriendelijk mogelijk kunnen maken. Zowel voor mensen die op zoek zijn als voor mensen die hun woninig willen aanbieden.

In een volgende artikel ga ik dieper in op welke mogelijkheden een huizensite zou kunnen (of moeten) gebruiken, nu eerst een overzicht van de huidige stand van zaken.
Lees verder “Huizensites 2.0 (1): Huidige stand van zaken”

500 Web APIs

Gistermorgen las ik op Programmableweb.com een bericht dat er nu 500 Web APIs op de site vermeldt staan. In 2005 is de site begonnen met 50 APIs en nu, 2 jaar later, is dat aantal vertienvoudigt!

De site is een onmisbaar overzicht voor Mashup developers. Van iedere API wordt een omschrijving gegeven en een aantal kenmerken, bijvoorbeeld protocol, support en Licentie informatie, zie bijvoorbeeld de informatie over de GeoNames API. Tegelijkertijd wordt er ook een index van Mashups bijgehouden. Bij deze index wordt ook bijgehouden van welke APIs een Mashup gebruik maakt. Ondertussen staan er 2250 Mashups die gebruik maken van honderden API combinaties.

Toen ik dit las dacht ik: “En hoeveel Nederlandse APIs zouden er nou tussen staan?”. Helaas wordt bij de API index geen informatie bijgehouden over het land waaruit de API afkomstig is, maar ik heb het idee dat er geen Nederlandse APIs bij staan. Zijn deze er eigenlijk wel?

Ik ken een handjevol websites die een Web API aanbieden, meestal voor de zakelijke markt. Een voorbeeld is Webservices.nl. Hier worden een flink aantal Geodiensten aangeboden (Geocodering, wijknamen, routes, etc). Je hebt hier alleen wel een abonnement voor nodig en deze beginnen van € 300 per jaar.

Waar blijven de APIs voor Nederlandse Web 2.0 sites of voor sites met interessante inhoud? Wat te denken van websites in de publieke sector, overheid, etc? De komende weken ben ik van plan om hier meer aandacht aan te besteden op dit weblog. Als je tips hebt op dit gebied, laat ze achter in de comments.

Google Maps op je eigen site embedden

Het is zover, vorige week was er een bericht in een Australische krant dat Google de mogelijkheid gaat geven om Google Maps kaarten te embedden op je eigen site.

Vandaag heeft Google Maps Mania de primeur. Ze geven een gedetailleerde beschrijving van de mogelijkheden. Het is niet alleen mogelijk om ‘Mijn Kaarten’ te embedden, maar ook zoekresultaten van Google Maps kunnen op een eigen site gepubliceerd worden.
Lees verder “Google Maps op je eigen site embedden”

Google AJAX API loader

Today I was going to the Google Maps API documentation and after using it for a while, my eye was caught by this:

Screenshot Google Maps Ajax API Loader Announcement

It’s maybe a bit difficult to read from the above image, but it says:

The Google Maps API is now integrated with the Google AJAX API loader…

I couldn’t remember seeing this before, so besides clicking on the link, I googled “Google AJAX API loader”. I found out it’s a very new way of using multiple Google javascript APIs on the same page.

The main purpose for the loader is to unify namespaces across the different APIs on one page and to have only one script tag instead of separate script tags for each of the APIs you wanna use on your page.
Lees verder “Google AJAX API loader”