In particular he talks about Electron , which appeared about a decade ago, ... He thinks there might be a better way. I'm sure there is, but the problem is how you convince people it would be worth doing. Here's my 10 cents: Start at the top by defining a language to describe the gross features of the kinds of data the apps are meant to manipulate. These will be things like message forums, threads, messages, user profiles, preferences, user signup and login etc. Then use another language to take these high-level descriptions and define user-interfaces for accessing/altering them. These include status bars, popup notifications etc. This would be a process calculus , allowing you define timers and actions taken when certain events occur. Then for each computational platform, compile those descriptions into machine code on the fly. To do that you will need a whole hierarchy of device driver type information (Interrupts, DMA channels, bus events etc.) and some structure which defi...