[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] PyGame Website Rewrite



hi,

sorry if my emails come across as not being thankful, or appreciative of your efforts... little pygame is my baby(and is many other peoples baby too of course), so I'm maybe overly protective of it.

Thanks partly to you(and others), and your enthusiasm the project seems like it might actually get done, and it is very much appreciated by me and everyone else I'm sure.


On Sat, Apr 25, 2009 at 8:52 PM, jug <jug@xxxxxxxxxxxxxx> wrote:
Hello,

I'm kinda amazed about some points:

1) Did anyone read my concept?
  Some of the discussed ideas here I had before but no one cared. 

2) I created a trac an you said "nice!" and created a Google project.

Thanks for progressive way you went forward and are getting things done.

However, this will be a team effort, and we need to discuss our plan before doing things.

I don't really know you, and I was a little worried you might disappear in a week/month.  Whereas a google site won't just disappear.  I'm not saying that you would disappear... just that it's very common for people to disappear on open source projects.

There's no need to rush into making a decision about what we want to do with the website.  One of the main goals of the rewrite was so that more pygame contributors could modify the websites code.  Three active contributors to pygame have expressed a preference for using cherrypy(pymike, nick, and I).  pymike doesn't write code for pygame itself, but has put more games/projects on the pygame website than almost any other person(him and Ian seem to be in a race to produce the most things).  pymike also expressed interest in working on the website in late January.

The three main 'clients' for this project are...
 - the coders who make pygame,
 - the people who make games with pygame,
 - and the people who contribute to the website. 

So whilst it's important that the people making the website are happy with the choice of tools, it's also important the other main groups are happy with the choices.

As one of the people contributing to pygame for the longest time, I want to make sure the website is done nicely, and is an improvement to the current one.  It's probably the most important part of pygame, so I think it deserves some more discussion.






3) This project was an gsoc candidate and AFAIK all applicants wanted
  to use Django. At least 2 of them (Orcun and me) would like to do it
  even without google. Now you say "let's do it with cherrypy" because
  you don't know Django. Hm. I my view, both - Django and cherrypy -
  are mighty enough for our needs, thus its a relig. question of faith. But you
  asked so to do it. So, here we are! We have time and (only) want to do it
  with Django, cause we don't know cherrypy as you don't know Django.
  Maybe here are some php-experts why do it with php?


Yes, however there's also other people interested in working on the website.

Rather than have you decide what is used, we need to have a discussion.  I didn't know you didn't like cherrypy or not... and I don't know yet what other people want to use.

btw, I have looked at django in the past.  Here you can see a post I made in 2006 about some security problems I found in Django http://renesd.blogspot.com/2006/08/django-security.html  I mention this just to show that I'm not entirely unfamiliar with django.

Let me explain some history, and further outline parts of the current website...




The current website is made with PHP and some website technology made by Phil which he used to make dozens of websites professionaly.  This is what Phil chose to use as the website maintainer in early 2005.  This time around we wanted to make it a team effort, and to make it in python.  Last time we(the mailing list and Pete Shinners) decided to let whoever the website maintainer is make it in whatever they wanted to make it with.  The main goal was to get a good website.

This time we decided it would be better to do it in python, and also have a team of website maintainers.  Since not so many pygame developers people know PHP, and that has meant that it's been a bit difficult for us to make changes... we had to bother Phil mostly to change things.  Luckily the website has worked fairly well without needing to make all that many changes to the code.  It's pretty amazing really what Phil has done with the website, and especially considering how it has worked for many years without many code changes, and is now a very popular website.

Before 2005, the project was more Pete Shinners personal project with a bunch of helpers... now it has evolved into group project with 8 or so main fairly active contributors, and a whole bunch of sometimes contributors... with millions of downloads, 10,000's of people using it to make things, and millions of people playing the games made with pygame.  There's over 1100 projects listed on pygame.org.  Now both Pete, and Phil have somewhat moved onto other things from pygame, but both pop their heads in occasionally... and Pete still does things like pay for domain registration, and also helps us interact with the seul.org people, and occasionally writes stuff on the mailing list.

As shown above, the current pygame website has been a success.  Sure it could be improved... but it's been really quite good.



There's been a plan for a little while to do a website rewrite in python... and some parts are already done in python(build/testing bots, viewvc, the old pygame pcr). 

In January pymike said he wanted to work on the pygame website.    After that Phil prepared the source code so we can release it publically in a svn(which Marcus and I are almost done checking it to make sure no ones personal/private information is disclosed).   I am currently looking at the current database, so I can remove any personal/private information... so we can make the database public (expect a few days before this is ready).

Here is a blog post I wrote about the design work I did concerning integrating httpd support into pygames event queue:  http://renesd.blogspot.com/2009/01/pygame-pywebsite-website-with-joystick.html  It doesn't look like much, but it took a number of iterations to figure out a simple way of doing this.  pygame.org was going to be a test ground for pygame httpd integration - but I'm not interested in doing that now.

I say these things to show that there has already been work done to start a new website rewrite.



The bugzilla bug tracker is run and maintained by one person(James Paige) on a separate server, and also a separate person runs the buildbot/testing machines (Brian).  Nicholas has also contributed to the build server, and a test result collector(written in python/php)... which is planned to be put into the new website(it's not used yet).

There's also heaps of people who write stuff on the pygame.org wiki, and comment sections and contribute in other ways... like adding projects!

The main amount of writing and talk about pygame happens on other peoples websites... forums etc.  If you do a search on google for pygame, and limit it to the last days updates to websites... lots more gets written about pygame elsewhere... not on the mailing list, the pygame.org website, or on the irc channel.  I think that's great... leave the talk for other places... leave pygame.org to concentrate on the projects.

We have specifically decided not to have a forum on the website(search the mailing list for discussion on reasons why).

Projects are the main focus of the website.  It sounds like an obvious thing, but many other projects websites don't do this.  For example the django web page main focus... is django.  What we are making should always be the main focus... not pygame itself.  The other part of this, is it's rewarding people who make games/multi media, not people who write internet posts.  It also provides feedback to people and their games.  A main motivation for people making stuff is to get feedback, and show people what they've done.  So in that way, it's a nice little community of people who make stuff.  People making games/other projects, talking with other people who make stuff.

We could do lots better by the projects of course.  Especially with there being almost 5-10 updates per day some times... it would be better if people could get more feedback on their projects.  So if you make an update, it can be off the front page very quickly.

Another factor with projects is trying to make it easy for people to find code other people have written.  We could do way better in this area.  That is, promoting libraries made for pygame, and making it easier to find libraries made for pygame... even perhaps having development infrastructure for pygame (like testing/build/packaging/distribution bots etc).

The other main point of the website is information.  With wiki pages, documentation and such.  I think this is covered fairly well, but could use a few improvements.  The documentation uses google code search to allow people to find examples of how to use functions/classes.  The search on the website is done using a site specific google search... and also a web search in the wiki.

The news section on the web page has main, and important points we would like to tell people about.  It's generally not updated very often(which is a good thing really).  I think it's probably got too much space devoted to it at the moment.

The seul people run the viewvc for online svn browsing for us(again written in python).  Many other websites access the pygame svn and provide useful services too... eg launchpad, ohloh, google code search,  etc etc.

The wiki is used for many free-form purposes too.  Like for a Cook Book(code recipies), and a basic todo/goal list for making pygame releases.
http://pygame.org/wiki/todo#Website



The WHATSNEW page gets updated from the file in svn called... WHATSNEW.  Which pygame developers are supposed to put new changes in.  However since the last release this practice has lapsed a little.  However... we have svn commit logs!  So before the next release I will go through the commit logs, and update it... and then update the web page.

There is an admin section on the web page that people can update menu links, non-wiki pages, projects, doc comments etc.

There are feeds for various things... like svn updates, mailing list updates, projects updates, news, etc.  They're listed on the feeds page.  Not all feeds are from the pygame website directly... svn feed is by launchpad.  mailing list feed is done using google groups.

The pygame website as outlined above... is actually multiple websites hosted and maintained by separate people.  In effect, we already have a big web team.


... and I think that's most of the main parts of the website(s).

 

4) Even if you don't know Django, you can participate by helping to develop
  the concept, writing specific requirements, care about design, read the
  old code, transfer it and write new templates (Django templates are really
  easy to learn). If we use Trac the way things are going, there will be some
  work on adapting it by editing the Trac templates and style to make it fit
  into the whole page. Then, care about plugins that could be useful or
  necessary (auth, notification, feeds, irc-announcer, ...). Be sure you can help
  us even when using Django for the backend.

Sure.  I'll be happy with whatever the group decides to use, and whatever plan we decide to follow.


I'd still like to hear from anyone else who wants to contribute.  Are you happy using either django, or cherrypy?  Or would you only be interested working on it using one of them?