willem.com

Lemmid Store on Willem's Blog

Building a product platform

Designing for reusability, flexibility and extensibility

Jan. 31, 2021
Leverage platform capabilities to quickly launch new products, designing for reusability, flexibility and extensibility.

This month I am leveraging platform capabilities to launch a new product. Over the years I have developed the "Lemmid" platform, a set of building blocks that allow me to swiftly develop new products. Designing a platform takes some extra considerations, but if you follow some simple rules you can do it yourself!

Working with special hardware from China

On developing software without a manual

Dec. 31, 2020
This month I reversed engineered my way into developing software for a Chinese Android device with an embedded printer!

This month I received a shipment from China containing some special hardware, Android devices with embedded printers! To make life easier for the restaurant and business owners that use my food ordering app, I want these devices to automatically print new orders. If only I can get these machines to work with my software... challenge accepted!

Designing a multi dimensional capacity queue

Managing kitchen-, delivery- and pickup capacity

Dec. 2, 2020
Dealing with a capacity queue is challenging, but if you take the time to model it right it is possible to create a performant and reliable system.

This month I needed to create additional dimensions to a capacity queue mechanism. The food ordering app that I created needed to be able to restrict capacity based on the number of orders, the contents in individual orders and the dispatch type (takeaway/delivery). Read along to find out how I used a Lambda Architecture to do this.

Influencing purchase behaviour

Applying behavioural sciences principles to the purchase decision process

July 31, 2020
For my work I am continuously looking into scientific sources to improve e-commerce performance, conversion rates and online revenue. Use this useful report to apply behavioural sciences principles to your advantage.

This week I stumbled upon a brilliant report on how people make their purchase decision. For my work on the online food order app I am continuously looking into scientific sources to improve performance, conversion and online revenue. This report by Google discusses six biases influencing decision making. It's worth reading their full report, let me explain why.

Linking Lemmid Store with kitchens

Integrating with external systems that you don't control

June 12, 2020
Designing backend servers to connect with external services is challenging as you need to take into account unreliability and unpredictability.

As part of the food ordering app I am building, I needed to design a reliable way to link the app to external systems. These external systems are beyond my direct control and include different checkout registers, kitchen management systems and ticket printers. Read along for more on designing for the unknown and unreliable.

Scalable application design without magic

Leveraging client computing power for high performance with many users

May 11, 2020
I needed to design a scalable backend infrastructure that could handle lots of concurrent users. I did this by leveraging the client's computing power having it handle most of the user interaction workload.

As part of the online food ordering app I'm building, I needed to design a scalable backend infrastructure that could handle lots of concurrent users. Scalability is considered a hard problem to tackle. Often it's presented like it's something magical, done by million dollar companies using secret tools. But, there is no such thing as magic, or is there?

Designing an interface for a food ordering page

Striking a balance between powerful options and mobile usability

May 1, 2020
Designing a food ordering page is surprisingly challenging because of the many variables that need to be accommodated on a very small screen.

Online ordering pages are more important than ever before. The COVID-19 virus, the resulting lockdowns and the social distancing rules have emphasised the need for a well-designed webshop user interface. This is surprisingly hard to get right!

Designing and implementing a (micro) payment system

Monetising my blog with coffee, Apple Pay and Mollie

Mar. 25, 2020
Designing and implementing a micro payment system with an emphasis on simplicity. Read about how I did it in this post.

Online payments are now more important than ever as businesses are disrupted by the COVID-19 virus. It drives my customers to seek new ways to make money online. I designed and implemented a (micro)payment system. This post is about achieving simplicity by solving complex challenges.

All blog posts
It runs Android - with some Chinese sauce on it (figuratively speaking...)
It runs Android - with some Chinese sauce on it (figuratively speaking...)
Designing the coffee cup using Picta Graphic for iPad
Designing the coffee cup using Picta Graphic for iPad
Building upon a platform - the coloured blocks could be imagined as products upon a platform foundation
Building upon a platform - the coloured blocks could be imagined as products upon a platform foundation
A Duplo brick is can be so much more than just a brick
A Duplo brick is can be so much more than just a brick
Connecting frontend with backend technology, simple as 1-2-3
Connecting frontend with backend technology, simple as 1-2-3
Mollie is a payment provider that supports many different payment methods, including credit cards, PayPal, iDEAL, Sofort, Giropay, SEPA, various bank apps and Apple Pay
Mollie is a payment provider that supports many different payment methods, including credit cards, PayPal, iDEAL, Sofort, Giropay, SEPA, various bank apps and Apple Pay
Steve Jobs announcing the Keynote app at MacWorld 2003, joking that it was build for himself, him being an underpaid beta tester
Steve Jobs announcing the Keynote app at MacWorld 2003, joking that it was build for himself, him being an underpaid beta tester
If your platform design is good - adding new and exciting pieces to it should be child's play (and thus, a lot of fun!!)
If your platform design is good - adding new and exciting pieces to it should be child's play (and thus, a lot of fun!!)
Snake '97 on the Lemmid Printer - ha!
Snake '97 on the Lemmid Printer - ha!
People use the app to order food - orders are forwarded to kitchen and delivery staff
People use the app to order food - orders are forwarded to kitchen and delivery staff
Its party trick is the embedded printer - super useful in the context of handling (online) orders
Its party trick is the embedded printer - super useful in the context of handling (online) orders
Smartphones (and tablets, PC's) have become more powerful over the years (image: Apple)
Smartphones (and tablets, PC's) have become more powerful over the years (image: Apple)
Three capacity constraints: kitchen / delivery / pickup
Three capacity constraints: kitchen / delivery / pickup
Separating the remaining server workload: serving products and handling orders
Separating the remaining server workload: serving products and handling orders
Ordering food in three steps: list, detail, summary
Ordering food in three steps: list, detail, summary
A brief history of the evolution of marketing models (Rennie Et Al., 2020)
A brief history of the evolution of marketing models (Rennie Et Al., 2020)
Transfer of preference from original choice to fictional brand, per shopping category (Rennie Et Al., 2020)
Transfer of preference from original choice to fictional brand, per shopping category (Rennie Et Al., 2020)
Integrating external systems into your app is like fitting third-party parts to an engine: you must carefully consider their fit and reliability (image of a combustion engine, public domain)
Integrating external systems into your app is like fitting third-party parts to an engine: you must carefully consider their fit and reliability (image of a combustion engine, public domain)

More Lemmid Store on Willem's Blog

All blog posts