PyWeek, the website

OK, I know there's bugs (hello, MD5 upload form, where aaare you??) and I'm working on those.

I'd like to solicit some feedback though. Basically, I suck at designing websites :)

What could be improved on this site? How could the layout (both pages and the site as a whole) be improved? What pages work, what pages don't? What pages are missing? Does navigation work? How could that be improved?

Additionally, if there's any keen web developers out there who would like to help develop the site, I'd be happy to hear from you!

(log in to comment)

Comments

Can I help?

I am a django user. and have many years experience in this area.
Number of comments on diary entries should be listed next to each diary entry summary?
also a way to access older diary entries from the main page listing all of the topics would be helpful.

It might also be nice to be able to start a thread not as an entry for things not so associated with your own entry, but then again maybe not.
Yes, I often feel as though I want to add a comment that's attached to a particular entry rather than someone else's diary posting.

It would be good for discussions pertaining to a particular game, such as bugs. You'd have an easy way of finding all the relevant comments about a game, instead of having to hunt through everyone's diaries.

I'd love to add pagination to the diary postings list (like on the front page) but I'm really unsure how to do it in a way that doesn't kill the server (given that it includes a lookup in comments for max(date_created) to figure out the last-modified date for a diary entry).

Greg that's a neat idea. No idea how it'd work though :)

Another thing -- it's annoying having the links to diary entries change when there haven't been any new comments for a while. It means you can't rely on the visited status of the links in your browser to tell whether there's something new to see.

A better way might be to have two links for each entry, one pointing to the entry as a whole that never changes, and a "Latest Comment" link that gets updated, but never expired.

That would also give you a way of going to the top of a new entry you haven't seen before, instead of getting taken to the bottom and having to scroll up to the top.

richard, Are you like add a google project for pyweek engine?

Then we can to supply some patch for it.
Richard wrote:
I'd love to add pagination to the diary postings list (like on the front page) but I'm really unsure how to do it in a way that doesn't kill the server (given that it includes a lookup in comments for max(date_created) to figure out the last-modified date for a diary entry).
A technique that's sometimes used with those pagination-type things is to retrieve all the results on the first query and cache them, then just return the requested page from the cache on subsequent queries (until something happens to invalidate the cache).
Greg that's a neat idea. No idea how it'd work though :)
If you mean the one about attaching comments to games, there would be an "Add Comment" button on the page for each game, that anyone could use to add a comment about that game. They would be kept in a separate list accessed by a "Show Comments" button on the game's page.
Also probably the game comments should show up in the list on the main page somehow.

Maybe instead of a "Diary Entries" list, the list on the main page should be a "Recent Comments" list -- showing individual comments, of either type. Sorted most recent first, so you can see what's new without having to hunt down for unvisited links (which isn't reliable at the moment anyway for the reason I pointed out earlier).

And another thing -- it would be handy to have a way of attaching a reply to someone else's reply.

In fact, the whole thing is really wanting to be a mailing list server... or even better, an NNTP server...

milker, that's not a bad idea. And I'd welcome your input (sorry I didn't respond positively sooner).

I'm liking the various ideas flowing about messages. An issue I have at the moment is that I can't just post a message without having an entry (nor can anyone else) hence the admin_6 "entry". Being able to associate a message with an entry either as a "diary entry" or a comment on it (two distinct meanings) is interesting. So is threading of comments. Keep the ideas coming :)

Something I'd be interested to do is look into whether the Django scene has produced any pluggable bits I could use to either enhance or redevelop the site.

It seems there is a developing PyWeek community here, see also the discussion about Pyggy. What we should consider is what we, as a community, want in order to help this community develop further. Besides the website we have had a wiki during this PyWeek and the IRC channel sees a lot of conversation. But all these things are fairly disparate at the moment.

By and large, all the projects are unconnected. People discuss each others projects briefly and in passing on the website and occasionally on IRC. Although during PyWeek itself the pressure can be quite high, so maybe people don't have much time to give conversations with other teams a great deal of attention. Is this an attitude to discourage? I'm not sure, because at the end of the day PyWeek produces some amazing games and then everyone talks about them afterwards.

Anyway, the above discourse was just because I just wanted to give my thoughts on the game dev culture we're developing.

So, the website: in my opinion, the system we have at the moment works, although it has limitations. It should be possible for anyone to start a thread about a particular entry, it should also be possible for anyone to start a thread about no entry at all (for over-arching discussions). Basically when a thread is started the creator should somehow say what it pertains to. I'm not a fan of complex design, especially in community projects. Something should be complex enough to be sufficient and then the community will work out how to use it, anything more and you risk dictating how it should be used.

Richard, I have plenty of worthwhile experience in developing web applications (in Python)... it's part of my job. :-) I'd like to at least be involved somehow if the site is being reworked.
OK :)

I'll look at setting up a Google Code project this weekend. We can use that project site to discuss the site and its future.

I also have a Google App account now. If only there was some way to leverage that. LOL. Someone else has already registered a Google App with the name "pyweek"!

(Google App is probably too new, and then there's the file storage stuff, so I'll stick with my traditional hosting for now)
I have a Google App account, mostly out of curiosity. Got an e-mail about it today. Not sure if I'll want it but I'll experiment with the SDK a little.
Google Code project set up. Email me with your google login & I'll add you if you're interested.
I think: development on google code project is nice.

But rewrite the site isn't easy joy.
Please write a document for website developer.
maybe setup a wiki for write out a TODO list.
I've been checking my email every 10 minutes to see if I get a Google App account! Jealous! I think porting PyWeek to Google App would be a good learning experience.

Anyhow, if you ever decide to do it, I'm in. Maybe I could do the help section. :)

PS: Whoever registered pyweek there ... JERK!

I agree that it would be nice to be able to post unaffiliated threads. I'd also like to have a "short" or "summary" entries page, because I don't like having to scroll to find the entry I'm looking for. It would just have a table with a row for each entry, listing just the team name and game name, maybe.

Speaking of which, I'd also like to have an official place to put my game's name, and have that show up on the listings page. It's not clear to me whether the entry name is supposed to be the team's long name or the game name. I would prefer to have both "Full team name" and "Game name" in the entry profile.

I used to get confused between the two pages pyweek.org/ and pyweek.org/6/. They're very similar except that the latter has the "Entry listings" link in the sidebar. It makes sense now, but it the first couple times I had trouble finding the entry listings page because of it.

As for what doesn't work, I wasn't able to edit my team membership after the competition started. I emailed you about it during the competition.

Is there a good reason not to just add a forum system? People are talking about forum categories, whether they are using that word or not, and replies (and replies of replies, etc) and exactly a forum. Lastly, the permalinks issue is also solved. It doesn't address diary entries, but I think they should be separate systems and I'm personally quite happy with the current diary system, provided some of the other things mentioned above got taken care of. It might, however, be a pain to set up a new thread/category for each project, and over-arching discussions probably aren't common enough to warrant a forum on their own. These are probably the key factors in deciding what to do. Also, as it is PYweek, maybe you don't want to throw in a non-python forum and I have no idea if django has adequate forum stuff available.
Can we get it so that each entries page will show whether it is a team or not - and who is part of it?

Right now the only way to see if an entry is a team is to go a user from that team's userpage, and then see what teams they has been in...
I'd definitely help with this - but I'm a very busy right now - but maybe once the site is actually in the svn ;)
Richard: I was just about to offer you some designing hours for pyweek before the compo started. It's still a offer I make: maybe some work on the logo, the colors, and design in general. Talk to me if you're interested :)
ra: I'm interested. What skills / amount of effort are you able to contribute?
New feature. See if you can spot it.

Also, you may edit your game's name in your entry's admin screen. It's not used much yet. Just in the new feature.

Nice list. At first i was confused because i expected it to be sorted alphabetically. But sorting it after the judging results is better after all. If someone need to find a game or member, he can use the browsers search functions. Very interesting, what was programmed during 6 pyweeks :)

Great Job!
Three comments on the current page:

1) - I quite liked the "latest screenshot" thing that we used to have. Let you see cool things as the compo was running
2) - The comments form when ranking is very small when an entry has a screenshot on my 1024x768.
3) - The all games link is cool. Seeing games by ranking is nice.

Nice Gamelist!
Maybe can be sorted by name before 'judgement day'?
@Tigga: yep. 1 & 2 are layout issues :)

@claxo: not really much point, is there? Those entries are only there unsorted for 2 weeks.

Richard - is it the "All Games" feature?
BTW - isn't it missing some?
Hmm - maybe not I thought that there were more 4+ average games - like 20,000 lightyears in space...
My bad.
If you need some help, I would like to offer my help. But I wouldn't be able to help until after May 6(the day of my last final). Although Im the one that got stuck doing the graphics for our game after our artist had to drop out, I am a programmer at heart with 3+ years exp. in freelance web development.
Besides the graphics in my game, heres my deviant art page with some graphical examples...(most recent being the 'my site WIPS')
Click Here

For coding examples i'd have to email you some... I had to take my site done for the time being as I finish up a design for it.
One suggestion I would have is adding a WSYIWYG editor instead of the basic input system you have, to save the hassle of users having to add the basic HTML to their posts themselves. Theres plenty of free Javascript implementations and even if you do not want to use a pre-existing one its fairly easy to create in javascript. You wouldn't have to add anything to the parsing of the input on the server, it would all be handled on the client side. You would just to the same thing as you are now catching for dis-allowed html tags/code.
@mwpippin: thanks for the offer, and contact me when you're free!

Yes, using a WYSIWYG editor would be nice. There's no way I'd ever trust data from a client though, so there'll always be some server-side filtering (as there is now) :)

thats what I mean, you would not have to change anything on the back-end from whats there now. You actually could, since the id for the edit box is set, attach an onload event handler to the edit box itself to create the wysiwyg without altering the front end you have now besides including a javascript file.
Richard, I'd liek to suggest use the Paginator object in the diary entries page.
@Juanj: the problem isn't in the method of pagination but in the volume of data to process to get a list of stuff to paginate. The database schema needs to be improved to support pagination.
I think the data schema need to redesign for new pyweek site.

Are you need to limit scope for new website design ?
Ground rules for PyWeek website improvements:
  1. It's not going to be a rewrite.
  2. Rule 1 doesn't apply if someone else does all the work.
:)
Yes,

I like this sound.
Please setup code.google.com to hold pyweek or another version control system, let helper can see the code and support the patch.
You can approve it or not.( If you not approve the patch, please give some reason.)
How about a special, 1 time, pyweek competition to come up with a new design and features. Features should be modular so it would be easier to tie them into a final design. Just an idea I had.
One suggestion: Archive the conversations preserving chronology.
@djfroofy_c_: I'm not sure I understand your suggestion.
@richard: On the main competition page you have threads ordered by last updated (most recent of top). My suggestion is to allow browsing backwards/forwards through history - with `older and newer' links at the bottom and/or top of the threads. At first I thought conversations were just getting deleted.
I'm not sure if this has ever been suggested, but a nice feature for this site would be an option to email new posts to everyone.
Err... I think you mean have new posts emailed to you. I'm fairly certain not everybody wants to get spammed with every new post.
@djfroofy_c_: as I've hinted at earlier in this discussion, that is a hard problem at the moment... "the problem isn't in the method of pagination but in the volume of data to process to get a list of stuff to paginate. The database schema needs to be improved to support pagination."

@pymike: yes, that's definitely something I'd like to see.

richard: about my offer: skills: some graphic taste and interest for usability time: it all depends on the timing. if you're not in a rush, we can make some iterations of (proposals + discussion + evolution of proposal)
All volunteers please send me your google account name so I can add you to the project :)
I'm rayentray at gmail dot com. If you want to, we can have a chat to talk about the site.
I am ...

milk2cows AT gmail DoT com .
Welcome aboard. Feel free to edit the wiki (via SVN at the moment)
Sorry if someone already suggested this, but I would like to be able to list the games according to all three criteria, not just the average score.
Oh, and seeing who started a diary entry from the main page would be nice too.