I have a few suggestions: * First, Don't give up! You clearly have a big Vision and a lot of creative ideas.
* I'd go further than your summary post and try to describe the main themes in one screenful, that you can read without scrolling. What are the main ideas? This can be a great way to get your arms around the ideas. You can expand on them separately. Can you get it down to one paragraph? One sentence? * One difficulty with describing ideas is knowing your audience: if you can assume nothing about what they know you have to start from first principles - which gets kind of ridiculous. If you know your audience better, then it's much easier, as you can relate your ideas to things they are familiar with. Learn to speak their language/jargon, and meet them where they're at. It's easier than getting them to come and meet you where you're at. * I know it's hard, but pictures really help. If you can find a few different ways to look at pieces of the system that you could express in picture form that might help you and others to understand what you're aiming for. * I'd prototype some of the individual pieces separately. It doesn't have to be the final form. If interactions with other parts are needed, just use faked up placeholders. Divide and conquer! Keep it simple! * I've often found it helpful to hack my way through the jungle of ideas with a narrow path: just make one small example work end-to-end. Then you can build out sideways. Actually getting something small to work gives you the confidence and enthusiasm to keep going. * I think Microsoft COM (and DCOM) may be another piece that addresses a lot of what you were talking about with RPC. It allows transparent remote procedure call, divides functionality into separate interfaces and deals with versioning, extensible interfaces and also provides a factored means to marshal (encode and decode) function interface parameters and results. I haven't really used that in years, and probably things have moved on, but I remain quite influenced by it. While it's quite sophisticated (read: complicated) it's also quite comprehensive - there's a lot of depth there. Possibly you won't use it directly, but it might be a good thing to study, as it will be complementary to the things that Plan 9 does. I think a lot of the trouble with bringing systems together is logistical rather than technical: getting the right software onto a variety of systems runs up against business interests, amongst other things. The whole IOT thing will struggle while the platforms are all proprietary. Having to "jail break" devices before you even start is a major impediment. In our house we've ditched the chromecasts and assembled Linux RPi's with little audio daughter boards. Now when google has an outage our music doesn't stop... There are many "big thinkers" out there, just as there are many people who focus narrowly. We need people of all kinds. Probably everything we think about has been thought about by other people in other contexts. But that doesn't mean there's no need to keep going. While much is done by people who are very connected and mutually knowledgeable, important advances are also made by relative outsiders. Sometimes being too immersed in a field can make it hard to think outside the box. But it's also worth looking around at related areas, such as distributed transactions, process migration, remote paging, etc. If nothing else, it can be inspiring... ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T4b6cbcbd1021df9b-M8b98c7ade45fca57a505428c Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
