31 jan. 2021
Een productplatform bouwen
Ontwerpen voor herbruikbaarheid, flexibiliteit en uitbreidbaarheid
Deze maand maak ik gebruik van platformmogelijkheden om een nieuw product te lanceren. Door de jaren heen heb ik het "Lemmid" platform ontwikkeld, een set bouwstenen waarmee ik snel nieuwe producten kan ontwikkelen. Het ontwerpen van een platform vereist wat extra overwegingen, maar als je een paar simpele regels volgt, kun je het zelf!
Wat is een platform?
Simpel gezegd, een platform is iets waar je op kunt bouwen. Het belangrijkste verschil tussen een platform en een simpel product is dat het platform dingen kan doen (of worden) die oorspronkelijk niet waren voorzien ten tijde van het initiƫle ontwerp.

Moderne smartphones met hun hardwaremogelijkheden en respectievelijke app stores kunnen worden beschouwd als platforms. Het platform maakt allerlei oorspronkelijk onvoorziene functionaliteiten mogelijk door ontwikkelaars in staat te stellen de mogelijkheden van het platform op nieuwe manieren en in nieuwe combinaties te gebruiken.

Herbruikbaarheid, flexibiliteit en uitbreidbaarheid
Als je een platform ontwerpt, moet je rekening houden met herbruikbaarheid, flexibiliteit en uitbreidbaarheid. In zekere zin ontwerp je voor een onbekende toekomst. Om te begrijpen hoe je een platform ontwerpt, is het een goed idee om eens naar Duplo-stenen te kijken.

De eenvoud van een Duplo-steen is bedrieglijk, maar het ontwerp is ongelooflijk briljant omdat het het volgende mogelijk maakt:
- Herbruikbaarheid: Pak een steen, gebruik hem ergens en als je klaar bent, kun je hem eruit halen en ergens anders gebruiken.
- Flexibiliteit: Zelfs een enkele Duplo-steen kan op talloze manieren worden gebruikt, je kunt hem verbinden met andere stenen waardoor je veel verschillende combinaties kunt maken.
- Uitbreidbaarheid: De gestandaardiseerde noppen op Duplo-stenen maken eenvoudige uitbreidbaarheid mogelijk: nieuwe en toekomstige onderdelen kunnen worden verbonden met bestaande stenen als ze dezelfde "noppenstandaard" hebben.
Deze drie ontwerpprincipes maken van de Duplo-stenen een platform, waardoor nieuwe dingen kunnen worden gecreƫerd. Als je een platform ontwerpt, kun je aan deze Duplo-stenen denken. De componenten die je maakt, moeten het "platformprincipe" ondersteunen.

De beste manier om een platform te ontwerpen, is door je te concentreren op een enkele steen. Het zal het elementaire onderdeel van je platform zijn, stel je voor hoe het kan worden verbonden met andere onderdelen en hoe je die (onderlinge) verbinding gaat standaardiseren. Als je dit goed doet, zul je versteld staan hoe gemakkelijk het wordt om nieuwe en originele ideeƫn te integreren.


Lemmid
In de loop der jaren heb ik het "Lemmid"-platform ontwikkeld, het is een set digitale bouwstenen die een basis vormen voor vrijwel elk product dat ik ontwikkel. Dit omvat apps, websites, webshops en zelfs games!

Het platform is ontworpen als een set micro services die een gemeenschappelijke interface en ontwerpprincipe delen. Elk onderdeel is "onbewust" van zijn broertjes en zusjes in termen van ontwerp: ze hebben een lokale scope en zijn zo eenvoudig mogelijk. Ze kunnen alleen met elkaar verbinden via een gestandaardiseerd protocol dat ik zo eenvoudig mogelijk heb ontworpen.
Zo is er een "Lemmid Bill"-blok dat in staat is om facturen te versturen. Aan "wie en wat" is onbekend voor dit blok, andere onderdelen kunnen het "Bill"-blok gebruiken om digitale facturen te versturen. Het kan worden hergebruikt en het werkt voor facturen met dingen erop die ik me nog niet eens heb kunnen voorstellen.
Een ander voorbeeld is het "Lemmid Manager"-blok dat in staat is om content te beheren. Het wordt op meerdere manieren gebruikt door verschillende producten die ik heb gemaakt. Soms wordt het gebruikt als een contentmanagementsysteem voor websites en soms wordt het gebruikt om een productcatalogus te beheren (voor webshops). Het is in staat om content te beheren voor sites en apps die ik nog niet heb gemaakt!
Gebruikmaken van de mogelijkheden van het platform
De food ordering app, bekend als "Lemmid Store", die ik bovenop het Lemmid-platform heb gemaakt, maakt gebruik van de mogelijkheden ervan door de individuele bouwstenen te gebruiken om:
- winkels online te laten zijn: webserver, domeinnaamregistratie, dns-links, enz.
- winkels te vullen met producten: beheren van teksten, prijzen, productfoto's, productcategorieƫn, enz.
- winkels in staat te stellen bestellingen te accepteren: capaciteit controleren, klantinformatie accepteren, betalingen verwerken.
- de authenticatie van winkeleigenaren mogelijk te maken: om winkelbeheer te beveiligen.
- de commercialisering van het product mogelijk te maken door facturen te versturen
- nieuwe klanten te laten registreren

Conclusie
Neem even de tijd om te bedenken of je alleen een product bouwt of dat het zelf een platform zou kunnen worden. Als dat laatste het geval is, is het misschien verstandig om te ontwerpen voor de toekomst en herbruikbaarheid, flexibiliteit en uitbreidbaarheid te omarmen.
"I love it when a plan comes together" is precies wat ik denk als ik in staat ben om de mogelijkheden van mijn platform te benutten. Het lanceren van nieuwe producten en de mogelijkheid om de kracht van bestaande bouwstenen te gebruiken is "nice", om dezelfde Hannibal Smith van het A-team te parafraseren.
