So here goes,
I mostly agree with what everyone has been saying. As I have been writing code it have not been using ZCA because I'm just not sure where it would be useful. I've been trying to think about it and plan accordingly, but, as I have discussed with Tao, it seems like we are just putting another layer of abstraction with no gain. What I mean is that so far most interfaces we define have a 1 to 1 implementation. So abstracting that interface gained us nothing other than abstraction. It seems we do a lot of "just in case of the future" trains of thought, which is very ideal, but it seems we are shooting ourselves in the foot trying to do it. Meaning, we are planning for future changes, but most likely the changes we are planning for won't occur.

Here are my less philosophical ideas:
1) I don't think it makes sense to take out ZCA and still try to code to allow ZCA to be used at a later time. If we are going to code for ZCA, we might as well use it. The coding is much different than normal coding styles, so we can't have our cake and eat it too. 2) If we plan to stay with ZCA (which in all fairness doesn't seem like too bad of an idea) we have to identify EXACTLY which parts we think should be swappable. We don't have any design or architectural plan laid out whatsoever, we haven't identified any components. Our design plan just seems to be "GET IT DONE", and we pick up whatever IT is at the time. So, with that said, ZCA can be effectively used if we identify where we want to use it. Clearly everything shouldn't use ZCA as all things don't need to be swappable components. Maybe we should come up with some guidelines on how to decide. 3) I don't like the idea of splitting the project. The whole point of this project was to pull together all the code that was currently in place, integrate it, and expand it. Rather than having people working independently on the same thing, we should make compromises and find the best solution. 4) This one is directly for Tao: to me, it seems the problem lies in the fact that we all can't see how ZCA gives us anything that using normal OO coding styles can't. I mean, most software doesn't use ZCA and they get along just fine. We have design patterns, OO design in general, and all else to make things swappable and manageable. Why so driven to use ZCA and not just design our code using GREAT OO design principles? Coding to interfaces works outside of ZCA.

I hope I didn't offend anyone. In any case, I think we need a more solid design to base our decisions on.
Thanks, and I REALLLLY hope this gets settled soon.

TJ





Lawson English wrote:
Christian Scholz wrote:
Hi!

Enus Linden schrieb:
So I've been mulling it over, and philosophical concerns aside, I'd like to think about the practical impacts of the architectural decisions we made a month ago.

We've chosen to include components in pyogp that the group is finding challenging to work with. Tao spends a lot of time describing how things need to be done to work in the framework, and we aren't collectively moving forward as quickly as we could due to uncertainty on how to do things. I am concerned that the code will become a maintenance issue down the road. I'm also concerned pyogp won't be an accessible code base to open source devs, or Linden Lab devs themselves. It hasn't proven itself to be so yet...

Issues challenging us will settle as we solve them, but that doesn't solve accessibility and maintenance concerns I have.

The primary goal we have is to test OGP enabled grids; the agent domain, region domain, sims, etc. We do this by building a client library and test suite. It seems to me that we've made it more challenging for the participants involved so far than in necessary.

I'm just thinking here. It's not too late to refactor back to a simpler world. We lose some measure of flexibility and formality, but these can be regained later if it's fitting. I think we would gain development speed, accessibility, and maintainability, and ultimately more functional code faster.

Thought I'd throw this out before the get together tomorrow. I do appreciate and admire the work and the contributors. I just am feeling troubled by how things are going, and want to do right by our time and efforts...

Thoughts would be appreciated.

Well, understandable issues. I for myself just can say that working with it, once understood has helped to produce more maintainable code and using buildout keeps you from installing all sorts of packages manually. Of course only as long as it works :-/.

Accessibility is relative though. For instance I find mulib not really that accessible, also due to the fact that it uses it's own registration scheme for adding consumers and the like. Here I would find a more standardized way of doing that easier.

But as said, it's understandable so I let you decide then on how you want to go on.

I think I myself will nevertheless maintain a branch/copy/something which builds on top of ZCA as for me it makes developing things faster and more reliable because of the process it implies. If the decision is to drop ZCA I will then think about some plan on how to make reuse things from the lib package inside a ZCAified package.

I've nothing against the ZCA, in fact I like it, from what I can understand, but this is a short-term deadline vs long-term architectural niceties and deadlines gotta win. Especially given that there's only a relatively few missing lines of code here and there to get things ready for the first deadline.

Seems to me that the overall structure of the system can be retained, and we just sidestep ZCA for now and hardcode the interfaces between modules keeping in mind that they could (and we hope, will) be ZCA-zied when we have breathing room to work out the issues slowing us down.

Likewise, if the message handling module isn't quite ready, fallback to my presence code UDP handler or whatever Enus managed to prettify from that, and hand code the half-dozen payloads that will be need to support TP.

Its the architectural support that is blocking us, NOT the coding, IMHO.


Lawson




_______________________________________________
Click here to unsubscribe or manage your list subscription:
https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp

_______________________________________________
Click here to unsubscribe or manage your list subscription:
https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp

Reply via email to