I should acknowledge and emphasize that the complete vision I’m sketching here is demanding and costly to build and operate. Assuming the Roon team shares this vision (and there have been public hints that they do), choosing and prioritizing is a crucial step. And I leave that to the team. The essence of engineering is optimizing under constraints.
Wonky section:
In particular, I talk about the requirement for multi-master with intermittent connectivity, i.e. the ability to add music or edit metadata even when temporarily disconnected. Multi-master is famously difficult and many implementations have failed. But I believe some of the deepest challenges do not apply in the Roon case.
In computer science we talk about transaction processing. The typical example: you transfer $100,000 from one bank account to another, this has to be treated as one transaction, even though the process does two operations, deduct $100,000 from one account and add it to another; if something goes wrong in the middle you don’t want one of the operations to succeed and the other to fail because that would lose the money, or double the money depending on the order of operations. This has to be true even in the case of computer crash, or earthquake. And while the transaction is under way, if another program or person looks at the account balance, it cannot see $200,000 or $0. The solution is well known, even when the accounts are on different computers. But it is challenging with intermittent connectivity, and at planetary scale.
Roon has a database. With a simple implementation we could have problems. For example, I star an album while disconnected, and at the same time my wife deletes it: when I reconnect Roon has to deal with the confusion.
But I don’t think this is serious. It isn’t banking. And Roon already supports multiple endpoints and has to deal with the possible conflict. It is more difficult under intermittent connectivity, but the consequences of possible confusion are no more serious.
- that’s what ML is for me. We built a car, and now we take new tech which means all those buttons there that are confusing and distracting to the driver can be removed…