Forum OpenACS Q&A: Re: Re: Call for Volunteers: Redesign OpenACS.org inside and out

Hi Nick,

I'll have to have a think about what makes good examples. However, the problem with finding examples is that in the same way that its hard to find another piece of software that mirrors the ACS its also difficult to find a site that encompasses all the aspects I'd like to see.

I've already had quite a lot to say on the subject earlier in this thread and therefore I'm in danger of repeating myself (and boring everyone rigid), but perhaps I can explain by way of 'thin slices', i.e. there are sites out there that have aspects of what I'd want, but are not in themselves complete. Also, there are sites that demonstrate exatcly what I don't want to see. I dislike using negative examples, but if you'll bear with me perhaps it will help.

    Ruby on Rails

http://www.rubyonrails.org

Ok, I'll start with the exemplar you gave. First impression of the site is that it looks like an advert. The very phrase 'Web development that doesn't hurt" sounds like a strap line. The front page is committing lots of horrible sins about how websites should function. The quotes fading in and out are make it look like a video billboard. I absolutely hate the fact that its got a central column (nasty to read) and that its wasting valuable screen space. Its my browser and I expect sites to use the space I provide to the fullest.

I can't really make much comment on the content or collaborative nature of the site because there a) isn't enough and b) what is there isn't jumping out at me.

On the other hand its fairly clean and uncluttered and quite direct and to the point. In fact it seems to be saying 'come on in, this is easy to use, this is for newbies'.. perhaps this is a reflection of the relative lack of sophistication of RoR? Either way I don't think this kind of site would be a good reflection of ACS. What kind of newbies are we aiming for? Acs is for sophisticated applications. This is somewhat orthoganal to the goals of many newbies. We surely want to attract 'experienced' newbies?

Anyway, I don't wish to be overly critical of your exemplar, but hopefully you can see where I'm coming from. We should be aiming for a site that is more than simply an online brochure/sales leaflet. Incidentally I suspect that where the site really wins is in its subject matter. People are saying warm fuzzy things about Ruby, and I think almost any site would benefit from the association... A shame TCL does not seem to attract the same warmth.

    Apache

http://apache.org

This site has always had a lot going for it. Its simple, clean and purposeful. It lacks the 'advertising' feel of many other sites and it resonates nicely with web developers (i.e. white background, black text, blue links... )

However theres only one aspect that interests me here and that's how Apache presents itself as a focal point rather than a product. What I would take from Apache is the way it treats sub-projects. There is obviously the core product (apache itself) but along side that is over 20 related projects. Each is fairly autonomous with Apache being the unifying theme. I would like to see this approach with Acs packages and related projects. OpenACS should be the body around which other projects orbit. There have been various comments from people who claim that its hard to commit their work to the community. They should be encouraged to become orbiting satellites, prominent and yet autonomous.

    Hibernate

http://www.hibernate.org

Ok, there are plenty of things wrong with this site but it does do a number of things very, very well. Read through some of the FAQs or docs. They are *extremely* bullish about their product. Now, as a database centric kind of guy I'm no fan of Hibernate; yet more middleware for the Java boys. However the product itself if you ignore its motivations is first rate. The site knows exactly who its audience is and appeals to them. It know that is main user base is in the middleware space, it is sympathitic to the fact that this is 'enterprise' software and it presents itself in such a way that it appeals to the middle-manager-mindset. It avoids advertising in favour of justification through argument. It is not particularly newbie centric but I think this is the correct approach. The product is not intended for the faint hearted and is squarely aimed at professionals. Correctly so.

    Wikipedia

http://www.wikipedia.org

Ok, this is an easy and I'm sure popular choice. This site is really good and I think a lot can be gleaned from it both in terms of presentation and purpose. I won't even bother going into detail because it so obvious for all to see. However I will say that when I first came across it it reminded me a bit of the kind of sites the ArsDigita folks used to bang on about building. QED.

    TwoplusTwo

http://www.twoplustwo.com

Now this is unusual as it must be a contender for the worst looking website in human history! But, whats important here is that this site is therefore the embodiment of the idea that content is king. Its looks absolutely appauling and yet its hugely popular. It has one of the most active forums/communities out there. It contains a wealth of useful information and has community members who really know what they are talking about. It shows that substance on the web is far more important than appearance.

    Spring

http://www.springframework.org

Many of the comments that applied to Hibernate apply here. However this also looks quite nice (subjective of course). The reason I mention Spring is that these guys are getting the attention that we could/should/would be having. Everything about Spring is about how you take a wholly inappropriate technology (Java) and try fit-it-in. If you've spent more than about a day with a dynamic language then you'll understand what a giant red-herring Spring is. The kinds of problems that Spring solves (agile, SOA, IOC, lightweight development) are problems that barely even exist within a framework like OpenACS. Where they have it right is in exactly that word 'framework'. The aspect I'd take form here is the idea of Acs as a framework for solutions.

Ok, I could go on all day and still not make a complete argument, however hopefully the principle comes through. The site must match the community and the product. As our product is distinct so it follows the site must have its own character. We cannot find another site and say 'like that', we must analyse what we are, what we do and what we like from whats out there; and create something individual.

I suspect that we all know what sites 'look good' (take the bbc for example). The real key is whether they have the substance. Anyway, perhaps this is a good first step. Lets find aspects of other sites that would be a good fit for Acs, from there we can build a list of requirements and from there a plan...