A new era in (scalable) technology (a blog for the ‘rest of us’ about Erlang and other things)

When I started my new company Maximonster Interactive Things, I was as excited as anyone about the cloud and nearly called my company the Silver lining (as in “every cloud has a silver lining’’). We were setting out to build some new technology (starting off with MaxClass) and everything would be in the cloud and for the cloud. Now two years on, we have achieved just that: we’re very distributed (I just got out of a video conference with developers in the US, Estonia and the Netherlands) and we’re using a totally new category of tooling. It really feels like a new era! Developers are giving and getting open source solutions freely across the borders of corporations, start-ups are building amazing applications without getting tangled in corporate licenses and development is funner than ever. May I call this a paradigm shift?

Michiel Klønhammer – Maximonster interactive Things

Thanks for comments (all mistakes remain mine :-): Arjan Scherpeniss, Marc Worrell, George Serbanut

TOOLS DESCRIBED FOR THE REST OF US

I’m not a developer (those would be Marc Worrell and Arjan Scherpenisse and others in in the Erlang Talent Community – thank you everyone) and have noticed how little easy-to-read information there is out there for ‘the rest of us’. So I thought I would describe some of the tools we use, using slightly-less-tech-jargon.  Key is scalability: affordable, well managed growth with little redesign of web applications.

Erlang

Erlang

Erlang is a programming language that is extremely good for building sites and systems that need to be extremely scalable, extremely stable, are distributed across many servers (so it doesn’t matter if a few break down) and can do many things at the same time. Erlang is used for a growing number of websites, many chat-like systems like Facebook chat, IMVU and Jabber and for building tools that need to be fast too (see some of the tools below). Erlang is (depending on who you ask) both a reference to the Danish mathematician Agner Erlang and an abriviation of Ericsson Language as it was originally developed at Ericsson. Thank you Ericsson!

Note: You might have heard of Erlang/OTP. OTP is simply a set of development libraries for Erlang.

More info: www.erlang.org

Riak

RiakRiak  (written in Erlang) is a datastore which is particularly useful for storing massive amounts of data distributed across many servers without any one of the servers being the ‘master’ (basically all servers are equal making it very scalable) . Riak is open source but is mainly developed by Basho, a company which sells support and offers products like Riak search and Riak CS.  Riak and other NoSQL solutions like MongoDB and CouchDB have disadvantages too: no standard consistency like SQL databases like Postgres, MySQL and MS SQL can have, no standard indexing to make search easy and limited support for ad-hoc queries. So for typical business solutions it isn’t always the best solution but for situations where data is ‘big’ and less structured (no tables), NoSQL solutions can be useful.

Riak was partly based on research done at Amazon. Users include: GitHub, Ask, Mozilla and Conduit

More info: www.basho.com

Zotonic

ZotonicA framework for building Erlang based web applications. Zotonic helps developers build super-fast websites or mobile applications by providing standard functionalities, an integrated webserver and a way of building the front-end of a site, which typical Erlang developer find difficult. Zotonic also provides a standard back-end for things like managing content and adding functions to a site. Though Zotonic has been dubbed a content management system, I prefer calling it a framework as it’s suitable for a wide range of (very fast) applications. Examples are: MaxClass.com,  Channel.me, Women on Waves. Alternatives are: Chicago Boss and Nitrogen (which Zotonic was originally based on).

Warning: I am involved with the Zotonic open source team as a non-developer contributor so don’t believe anything I say – have a look yourself.

More info: www.zotonic.com

RabbitMQ

RabbitmqRabbitMQ is an application (written in Erlang) used for passing messages between parts of large systems. MQ stands for Message Queues. You might think of it as an API with an advanced way of dealing with queues. For example: big banking systems need to pass information from one part of their system to the next and do this very very quickly. They would use RabbitMQ or other message queuing systems like the hosted Amazon SQS. RabbitMQ is an built on top of the AMQP protocol, a standard for messaging.
RabbitMQ is part of SpringSource, recently acquired by VMWare.

More info: www.rabbitmq.com

Elasticsearch

Scalable applications mean scalable search. Elasticsearch is an application built on top of the existing Apache Lucene search. Elasticsearch makes it possible to build one or many indexes (searchable lists) based on content in a data store and then distribute the index across servers. Again: for stability and speed.

Another open source search solution is IndexTank, open sourced by LinkedIn. There is a wave of start-ups stepping up to provide hosted services based on both Elasticsearch and IndexTank.
Users include: Mozilla, StumbleUpon, Klout.

More info: www.elasticsearch.com

MochiWeb

Scalable applications need a ‘webserver’ (the actual software serving the content) that is easy to use across lots of webservers and doesn’t  slow anything down. MochiWeb is a set of tools that form the webserver originally written (in Erlang) by developers from MochiMedia, a games company. Zotonic (above) has MochiWeb integrated into it. Other popular erlang-based webservers are Cowboy and Yaws.

More info: https://github.com/mochi/mochiweb

GitHub

The list of open source tools above could go on for quite a bit, and for an average scalable application it does. Nearly all open source ‘projects’ or tools (certainly the Erlang related ones) are hosted on Github, a website which hosts code, making it possible to work together on code, add comments and manage versions. “Git” is one of the popular systems for storing- and managing versions of code. Alternatives are Google Code and Bitbucket, but Github is by far the most popular one. Github is a company with a huge following. An active Github profile has become essential for the CV of open source developers.

More info: www.github.com

Rackspace

RackspaceNot long ago I was struggling with complicated contracts for hosting web applications. It could be scary at times as tiny errors in judgment could turn out to be fatal (or at least shockingly expensive when a site got busy). Now developers (certainly at ambitious start-ups)are turning to services by Amazon or – in our case – Rackspace, two category-killer-companies that are offering (low) pricing by the hour and unlimited amounts of servers that are ready to use within minutes. A new contender in this area is Joyent, focusing on hosting Riak, MongoDB (another noSQL datastore) and other new technologies.
More info: www.rackspace.com

Interested in the new era in technology too?  Need a speaker? Need a development team? Need a job? Please check us out at www.maximonster.com

Advertisement

E-learning & Flash: the end is nigh and what now? (8 non-flash solutions)

Since the web replaced cd-roms, there hasn’t been a bigger shock to the e-learning market than the killing of Flash by Apple. Ever since Apple so successfully introduced the iPad and announced that Flash would not be supported, the e-learning world has been in all states. And now that Microsoft will be following suit (no support for Flash or even Silverlight on tablets), the end is really nigh.

Let’s face it, Flash was the first technology that was suitable for (reliable) multimedia content on the internet. When it was first introduced, it was one of many plugin based technologies and there was some resistance as plugins were frowned upon. But Macromedia and later Adobe went on to develop an incredibly stable and useful technology and just about everybody happily installed the plugin. Many – actually nearly all – e-learning companies have been using tools which are based on Flash. Especially the rise of ‘rapid e-learning’ (relatively simple e-learning roughly based on PowerPoint presentations) which often used voice overs, video and relatively simple interactions and testing.

I was recently asked to offer my opinion on what strategy would be wise when developing a new e-learning course in the near future (in this case for a healthcare project). The big dilemma (there are lots) was of course: does one use flash for another few years and ignore iPad or find a tool that outputs HTML5 (or maybe even basic HTML) .

I didn’t realize what I was getting into when I doing some research. My wish list: an efficient production approach that can scale (at least a promise of workflow) and a tool that could offer rich media (video, voice over, learning interactions etc.) and all this based on HTML5. And – I thought this would be obvious: something that really works…

There is an incredible amount of software developers struggling with the HTML5 issue. Actually, it really isn’t possible to publish HTML5 without problems at all (right now) and I don’t think it will  become as easy to publish HTML5 as it was Flash for the next couple of years. As we speak, there is,for example, not one single HTML5 video format that will work in all browsers.

Anyway… I thought I would share some things I discovered. If you think I missed an important tool that produces HTML5 based e-learning, I’ll add it.
There’s one thing you need to know: not one of these tools can guarantee anything. HTML5 is just not finished and it won’t be easy to build a tool that makes e-learning production for all platforms as easy as it was during the Flash-era.

Articulate: one of the main players in the rapid e-learning market. A pretty good product which works with a Powerpoint plugin so that you can use Powerpoint to design about 90% of the product. It has been rumored Articulate is working on a HTML5 tool but nothing has been announced. www.articulate.com

Moodle: the famous open source LCMS isn’t really good at rich media but as it’s all HTML you can use it in combination with e.g. youtube video (which is HTML5). www.moodle.com

EXE: an open source editor which produces scorm complaint HTML-only courses (demonstrated on the Moodle demo site). Not supported anymore and outdated. There have been people willing to take over the project but I haven’t been able to find any progress being made. exelearning.org

Lectora:  they have announced publishing-templates for iPad but it’s a steep learning curve and you have to know what works and what doesn’t as Lectory does lots of things that won’t work on iPads. www.lectora.com

Captivate: Adobe announced HTML5 support (by export) for Captivate, one of the leading tools for rapid learning and tutorial development. I’m not the only one that has tested it and I’m not the only one that found that  it just doesn’t work. Rumor has it that Adobe is starting from scratch and will be offering something new. www.adobe.com/products/captivate

Udemy: an interesting startup offering basic course development tools (mostly video and text) and publishing tools (you can earn money!). As they have avoided really interactive learning, it will work on an iPad. www.udemy.com

Luminosity: this start-up offers an interesting tool for developing HTML5 e-learning. The interactions are all a bit simple but it’s new so worth looking at. Includes some workflow. www.cm-luminosity.com

Rapid Intake MLearning:  the only tool I have found that offers working examples for IOS. A bit rough and relatively expensive but worth taking another look at.  Rapid Intake also offers a LMS and they also offer cloud collaboration tools. rapidintake.com/mlearning-studio

Taking scrum into my private life

After two days with Jeff Sutherland, one of the inventors of Scrum, I was rewarded with this celebrity picture taken in Amsterdam. Even though he was teaching me the fine art of Scrum Mastery and product ownership  in software projects, it was obvious that Jeff was nearly more interested in scrum on the enterprise level than in projects alone, something I can fully understand.

Jeff Sutherland and Michiel Klønhammer in Amsterdam

One of the arguments against spending much time with Scrum in some companies, is that the amazing results of scrum for a development team are really not very important within the context of an ineffective enterprise. A wonderful example was given to me by Jeff in the form of a case study of a Swedish game company.

A game took 18 months to produce but after analysis it turns out that only 1 or 2 months were actually development. So what’s the point of reducing development time if it has so little influence on the total product life cycle (which includes concepting, selection, production, user testing etc)? No… you need to Scrum the whole organisation. And if you do, you can reduce the product life cycle by a year or so. Now that’s impressive and worth some thought for just about every company.

I spent the weekend thinking about this and as a little experiment I tried to use Scrum in my personal life.

1. The Name Game. Scrum to make my daughter Maria totally effective.

Scrum is about focus. Very serious focus. Focus that can speed projects up to 10 times a fast.
And one of the funnest ways to prove that focus works is the name game (which I learnt from Jeff). Try this: Let one person write letters down on a piece of paper  which a group of other people say out loud, so that you end out with their names. Each person says one letter of his or her name and then the next person says one letter. This will take something like 80 seconds. In this example you would write M – M – L , then a -i-a  etc.

Maria
Michiel
Laszlo

Then let the five people just quickly spell their names one by one. This takes about 8 seconds. Get the point?
So I played this game with my daughter Maria (15) who I might say is one of the most  best organised people I know as it is. But she has so many activities (Piano, Street dance, Volleyball, Model United Nations, editing a website, running, a lot of homework etc etc )  that it all gets a bit busy, sometimes too busy. Alle these activities need to  be combined with keeping up with Facebook, twitter and other social things… you can imajine she just runs out of time. So even for a teenager it’s pretty important to know that you can be 10 times as effective by NOT multitasking.  Ah… you say… but this is life not a software project. Well fine… we could settle for 2 times as effective 🙂

2. Limit communication time with loved ones.

An important ceremony in scrum, is the daily stand-up or scrum. It’s a short meeting with a specific structure. I don’t really believe the chosen structure is so important (though Jeff would argue otherwise) but I do believe that the limiting of time of a (regular) meeting is very important.
So after a needlessly long and irritated discussion with a loved one, you might think about this (I did this weekend).  Most couples know how it goes: something has been irritating you both for a while and then you both try and solve it with a veeery long discussion. You get tired, confuse feelings and there you go, a perfectly fine day has been spoilt while you could have avoided this so easily.

Now don’t worry, I’m not going to have a daily scrum with my love (though I’ve heard of families adopting Scrum), but I did suggest a change based directly on Jeff’s teachings: less but more focused communication. I admit it made her laugh (which is a good thing), but it did make me realize scrum is indeed a wise approach for more than software development.

Erlang talent community!

Erlang is hot and Erlang is here to stay. It orginated in Sweden at Ericsson as a language for telecom-systems. Really fast, really scalable. Used by Facebook, used by SpillGames, used by MaxClass.

Erlang is what we need now for internet or mobile platforms: real scalability. Cheap concurrenty. Hot swapable code.

So after being involved in MaxClass (social network), Totally Erlang and Zotonic implementations (all Erlang), I decided we should start a Erlang Talent Community. If all goes well, within a few weeks we should be up to speed and don’t need to keep dissapointing clients in need of exactly that talent.

So please pass it on or if you are an Erlang developer of even if you work as a front-ender together with a Erlang developer and feel good about it: sign up for the:

Erlang Talent Community.

Checklist online jaarverslag (Dutch Download)

Ieder bedrijf en veel instellingen zijn verplicht om een jaarrekening te produceren. Dit bevat de kerngegevens van een onderneming of instelling en wordt jaarlijks gedeponeerd bij de Kamer van Koophandel. Een jaarverslag is echter veel meer dan een samenvatting van cijfers. Het is een moment om stil te staan bij de voortgang van de organisatie en een belangrijk moment om te communiceren met medewerkers en relaties. Het is daarmee een wezenlijk element van de corporate-communicatie.

Het is belangrijk om onderscheid te maken tussen een financieel jaarverslag en een sociaal jaarverslag. Deze checklist is vooral gericht op een financieel jaarverslag, maar de meeste zaken zijn toe te passen op sociaal jaarverslag. Dit sociale jaarverslag is verplicht voor een organisatie met een ondernemingsraad. Meestal bevatten deze informatie over de plannen van het bedrijf in zoverre deze effect hebben op het personeelsbeleid. Een financieel jaarverslag kan deze informatie ook bevatten.

De vraag is: wat wilt u bereiken met een jaarverslag en waarom zou u deze digitaal willen maken?

Antwoorden op de eerste vraag zijn vaak: het informeren van relaties, het bijdragen aan een positief imago van het bedrijf en het bedrijf helder positioneren voor zowel relaties als personeel.

Belangrijk hierbij is dat een jaarverslag een momentopname is en dat het ook een moment is dat u stilstaat bij ontwikkelingen en plannen. Het is echter wel een publicatie dat het hele jaar door voor uw relaties en medewerkers beschikbaar blijft of het nou digitaal is of niet.

Maar waarom nou digitaal? Waarom op internet? Hier zijn verschillende redenen voor te bedenken.

Kosten:de productie en vooral de effectieve distributie van een papieren jaarverslag zijn hoog. Internet maakt dit zeker eenvoudiger.

Bereik:veel meer mensen kunnen kennis nemen van een online jaarverslag.

Transparantie: iedereen is in staat om snel inzage te krijgen in de informatie die het jaarverslag biedt.

Mogelijkheden: het internet biedt veel meer mogelijkheden dan een papieren verslag.

Redenen genoeg om de overweging te maken! En als u aan de slag wilt – in huis of in samenwerking met een partner – hebt u hierbij een handig checklist om het tot een succes te maken.

 Wij wensen u veel succes bij de voorbereiding van uw digitaal jaarverslag.

Download gratis: Checklist – Digitaal Jaarverslag v1.0

Michiel Klønhammer & ICATT interactive media

Wat hebt u nodig voordat u begint met een digitaal jaarverslag?

  • Globale strategie (bijvoorbeeld een marketing-plan, kanalenstrategie of een heldere briefing).
  • Inzicht in de mogelijkheden van te gebruiken systemen.
  • Globale planning van het project.

Hoe werkt deze checklist?

  • Loop de punten door en vink deze af – dan weet u dat er aan is gedacht.
  • Vul onderdelen in die relevant voor u zijn.
  •  Gebruik de ruimte aan de rechterkant voor een datum of initialen van de verantwoordelijke collega.

Checklist Online Jobmarketing-site (Dutch download)

Jobmarketing-site, career-, recruitment- of arbeidsmarkcommunicatie-site… het zijn allemaal dezelfde termen voor een afgescheiden website voor een bedrijf of instelling die bedoeld is om toekomstige werknemers aan te trekken, klanten een goede indruk te geven van het bedrijf en huidige werknemers met trots naar hun werk te laten gaan. In het huidige communicatielandschap staat zo’n site niet meer los van de vele communicatielijnen* die lopen tussen de organisatie en potentiele werknemers en andere doelpersonen (en klanten!). Sterker nog, arbeidsmarktcommunicatie staat minder los van corporate branding en -marcom dan ooit. Je kunt als potentiele klant van een bedrijf tenslotte makkelijk meekijken naar de communicatie-uitingen van recruiters. Als je bijvoorbeeld je in de markt profileert als snelgroeiende innovator en je heb een jobmarketing-site waar slechts enkele vacatures voor salesmensen staan, hebben potentiele klanten of investeerders je direct door. Bovendien hebben de social media een enorme impact op jobmarketing-sites: eerlijkheid wordt (soms) beloond en fouten kunnen hard worden afgeschaft. Ik verwacht dan ook dat de opkomende webcare-afdelingen van organisaties steeds vaker een rol zullen spelen in het recruitment proces.

Onderstaande checklist is een goede start bij het nadenken over jobmarketing en het opzetten van een site of deel van een website voor een bedrijf of instelling. Maar laat het woord checklist niet suggereren dat het ontwikkelen van een site een project is met een einde. De online wereld is zo complex dat de bereidheid om te experimenteren en bij te stellen een vereiste is voor succes.

Michiel Klønhammer


 

Download gratis:  Checklist – Jobmarketing-site

Continue reading “Checklist Online Jobmarketing-site (Dutch download)”

E-mailmarketing checklist (Dutch)

Social media is hot. E-mailmarketing is old school. Je zou het bijna gaan geloven als je de media een beetje volgt. Toch blijft e-mail het medium met een bijzonder hoge return on investment. In veel blogs over het interactieve marketing wordt e-mailmarketing nog steeds genoemd als een van de belangrijkste communicatiemedia. Sterker nog – er ontwikkelen zich steeds nieuwe mogelijkheden om mail nog meer te gebruiken in de communicatiemix. Hoewel ik de laatste tijd weinig cijfers over het onderwerp voorbij zie komen (ROI is danook niet bepaald makkelijk te onderzoeken met de huidige explosie van media) ben ik er van overtuigd dat het bijzonder de moeite waard om te blijven investeren in e-mailmarketing, zeker voor 20+ (daaronder wordt e-mail wel langzaam minder belangrijk). En juist door de opkomst van socialmedia is het gebruik van e-mail complexer dan ook. Niet alleen echte e-mailmarketing maar ook het meer indirecte gebruik van e-mailnotificaties met bv footer-informatie in automatische mails of van de mails van medewerkers worden steeds belangrijker.

Toch zie je dat er vaak erg weinig aandacht wordt besteed aan e-mailmarketing. Ik verbaas mij altijd over het gebrek aan creativiteit en continuïteit bij grote bedrijven die mij al doelpersoon zien. Maar erger is dat het zo vaak fout gaat. De mail werkt niet zonder afbeeldingen, het is te breed voor Outlook, de doorkliks werken niet enz enz.

Helemaal verbazend is het niet. Als je er wat ervaring mee hebt dan weet je hoe veel er mis kan gaan. Daarom hebben wij een checklist ontwikkeld die verreweg de meeste fouten kan voorkomen. Deze checklist (geschreven samen met collega’s bij ICATT) en een aantal anderen van mij zijn ook gepubliceerd bij Communicatie magazine.

DOWNLOAD: ICATT-checklist-e-mailmarketing-v1.0

Invitation for Educational Start-ups

A year ago I started meeting some interesting people working on an innovative idea for the educational or learning market. As I had just started working on an idea with a team (MaxClass) I was inspired to meet more of them but somehow it doesn’t happen too often. Maybe it’s because learning happens all over the place so that the (non existant but potential) ‘scene’  is spread all over the place making it less likely that we meet each other.

So maybe meeting each other, learning from each other and have some fun together needs a little push. So here it is: a gettogether called Totally Edu, a group of educational startups and other innovators. The first people that have joined are from Drillster, Skillio, Movietrader, Mathgarden, Joyrite, Cool Learning and a couple more.

Are you an entrepreneur, developer, designer, creator, funder, researcher or educational specialist and are you working on bringing exciting new technology or other innovations to schools or other learning environments? Are you part of this friendly, passionate scene? Do you want to share some experiences at events (let’s start in a café)?

Got to Totally-edu.org and fill in the form!

Note: Totally-Edu is starting in the Netherlands, but feel free to request being added to our network so we can get in contact with you for later events.

Cool Learning

Recently I presented MaxClass at the “Learning of the Future” event and I bumped into serial entrepreneur Bas Mennink who presented CoolLearning – a wonderful little online tool that I thought deserved attention.

It’s basically simple: a teacher enters a list of learning tasks into an online app. The tasks (for example simple sums or word learning tasks) are scheduled to be fired at a student using social media or text messages.  Why? Bas explained to us that it will help keep a student’s brain activated in the time between lessons. And however simple the idea is, I think it’s pretty interesting. It’s well known that some students can’t cope with long summer holidays – they just forget too much. And anyone knows how hard it is to remember new things without constant repetition. I’ve recently been hearing about some applications of online learning with texting inbetween online sessions with little tasks and apparently people really love it. So I think CoolLearning might be a bit specific for some teachers but I think the general idea is great and should be given a chance.