2) As a next step, it is necessary to implement access to more hardware. Why shouldn't a web app be able to talk to arbitrary devices if you grant it access to that? Suppose I want to use a web IDE for embedded development and I want it to talk to a JTAG programmer? Suppose I want to use a software synthesizer and I want it to talk to a MIDI keyboard and an external audio interface (in low latency synced multi-channel mode)? That kind of advanced stuff still isn't possible.