>> 2. Is there a specification for the pb dialect of banana?
> Beyond the code, no.


> I would be happy to answer questions, but obviously I'm not super responsive :).
> Let me know what you need.

For two personal projects, I would like to have a reasonable remote objects library in python. I need something which can announce state changes to clients, and receive state change requests from clients. My solution:

1. Make server side class which can spawn Cacheables when it wants to tell clients of its existence.
2. Give RemoteCaches to clients and use observe_* methods as appropriate.
3. Stuff a Viewable into the RemoteCaches so that clients can request state changes.

Question #1: Is this a reasonable use of pb?

This all worked great until I ran into a bug. In trying to fix the bug, I found that

1. pb code is really hard to understand
2. exarkun's thinks pb is bad and that I should implement what I need in AMP.
3. exarkun thinks banana and jelly are reasonable.

Question #2: Would you recommend implementing a simplified replacement for pb on top of banana/jelly, or starting over from AMP? I favor the banana/jelly route because the protocol seems intrinsically flexible, but I read your blog explaining why protocols like banana are bad, so I'm confused about what I "should" do.