PHP Throwdown - debriefing!

Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy.
This forum is not for asking programming related questions.

Moderator: General Moderators

User avatar
Kieran Huggins
DevNet Master
Posts: 3635
Joined: Wed Dec 06, 2006 4:14 pm
Location: Toronto, Canada
Contact:

PHP Throwdown - debriefing!

Post by Kieran Huggins »

crap - I hit refresh and lost my post :-( This will be somewhat less eloquent:

So we decided to make a flash card database website, where people could find, use, create and share flash cards. The general idea was a study aid, pumped up with all the web 2.0 goodness that seems to be all the rage these days.

At Ole's suggestion, we spent a few hours on Wednesday doing a "dry run" of sorts. We've posted previously about the "three hour spree" as it came to be known, so I won't go into any great detail here. Needless to say, that experience would save our collective bacon during the contest.

The day before the contest was spent in preparation. Ole made up several revisions of a UML that would go on to serve as our road map / checklist. Dave wrote up numerous docs and schema for everything from the database structure to the website overview, and I spent some time designing some UI mock-ups on paper, and then in Photoshop. We also bought a domain and started a backup SVN server, just in case. Aaron was also with us for the spree and some of the planning, but he never made it to the contest sadly (he warned us this could be the case).

I don't think any of us really got nearly enough sleep the night before the event, and to make matters worse Dave and I are both in GMT -5:00, so the start time was at 7am (early for any geek)! This would prove hardest on ole though, who was able to remain conscious until 7am GMT - I real trooper.

At the start of the contest, our SVN credentials didn't work. We spent some time trying to connect and having our password reset, but in the end we gave up and used our own SVN server that was thankfully already set up. Once that issue was out of the way, we were able to start coding. Dave and ole were immediately knee-deep in Zend framework and I was busy getting the front end worked out.

We stayed connected in Skype for most of the contest, mostly with a conference channel open, and always with the chat window up. Looking back, I'm forced to wonder if it wouldn't have been easier to concentrate if we we're in less communication. I often found myself listening to discussions about the Zend framework when I should have been concentrating on what I was doing. I suppose that we're a rather self selected group that way though, since we all met on phpDN ;-)

All in all, we got exponentially less productive as we got more exhausted. This is where the 24 hour time limit becomes a real challenge. I'm sure that if we'd broken it up into three 8 hour days we'd have gotten far more accomplished, but I guess that's part of the competition.

By the end of the project, we'd successfully built every layer of functionality we'd aimed for, which is a fantastic thing to be able to say. Given a little more time, we'll be able to add more UI and a few features, but the core site works, and that's worth celebrating :-)

We ended up buying http://flashcardr.com as a tongue-in-cheek reference to a [urlhttp://flickr.com]popular photo site[/url]. While we did put our end code up on the server at the end of the night, it's fairly useless to the casual surfer at this point. We all agreed that it's a project we'll continue to work on in the future. You are all welcome to join us.

In the meantime, please feel free to play with a couple of our rudimentary demo pages:

http://flashcardr.com/deck/display/id/1
http://flashcardr.com/deck/sort/id/1

More than a semi-working demo, I think we all took something away from this experience that's invaluable. I had never worked on software in a collaborative environment before, nor had I made any real use of SVN. I know Dave and ole also feel the experience was generally enriching, but I'll let them share their own opinions.

Cheers,
Kieran
The-PHP-DN-TD-Ninja-Space-Team-Crew, and flashcardr ;-)
User avatar
superdezign
DevNet Master
Posts: 4135
Joined: Sat Jan 20, 2007 11:06 pm

Post by superdezign »

You guys are incredibly talented.
User avatar
Ollie Saunders
DevNet Master
Posts: 3179
Joined: Tue May 24, 2005 6:01 pm
Location: UK

Re: PHP Throwdown - debriefing!

Post by Ollie Saunders »

PHPTD was one hell of an emotional roller-coaster. I got stuck on one particular feature and ended up holding up Dave. It stressed me out. Later on both Dave and I experienced a sense of helplessness, all the while Kieran remained compulsively optimistic. A rock. All of us said we had difficulty sleeping the night before because we were so excited. The pace at the start was a bit of an anti-climax though with Kieran and Dave arriving after myself and then having many difficulties with SVN.

Working with people of different abilities and standards to yourself is difficult too. It really put me out of my comfort zone. If somebody writes some code that can't be easily unit tested what do you do? Rewrite it? Bitch at them? Conform? It was tricky, I realise now I can't live without unit tests.

I've always used the number of tables in a database schema as a rough indication of the complexity of a web application. Ours had 13. I can spend several weeks, normally, working on applications with that many. I think we were too ambitious. We tried to use tools (Zend Framework, jQuery, XSLT) that we weren't fully competent with.
The day before the contest was spent in preparation. Ole made up several revisions of a UML that would go on to serve as our road map / checklist. Dave wrote up numerous docs and schema for everything from the database structure to the website overview
We used Google Documents for live collaboration to do this. It's got some bugs but was an invaluable tool. </bigUp>
Aaron was also with us for the spree and some of the planning, but he never made it to the contest sadly (he warned us this could be the case).
What happened dude?
We stayed connected in Skype for most of the contest, mostly with a conference channel open, and always with the chat window up. Looking back, I'm forced to wonder if it wouldn't have been easier to concentrate if we we're in less communication. I often found myself listening to discussions about the Zend framework when I should have been concentrating on what I was doing. I suppose that we're a rather self selected group that way though, since we all met on phpDN ;-)
Yes, I totally agree with that. We didn't use it for the three hour spree and I was able to direct people without there being big conversations. That said, it was nice just being able to chat and getting to know some people from DevNet. For that reason I didn't complain during the event.
All in all, we got exponentially less productive as we got more exhausted. This is where the 24 hour time limit becomes a real challenge. I'm sure that if we'd broken it up into three 8 hour days we'd have gotten far more accomplished, but I guess that's part of the competition.
Yeah, the second you get a bug or something doesn't work as you expect, you have to delve into manuals and concentrate - your brain won't be havin nonna that!
By the end of the project, we'd successfully built every layer of functionality we'd aimed for
Perhaps. I definitely would have preferred fewer features done better.

Sorry if I sound negative there but I'm a bit of a perfectionist. The exercise was amazing and I would definitely do it again (for the chance to do it better) or recommend it to someone else.

Sidenote: I didn't like the categories for PHP TD. I wonder how many GTK entries they got? I think it might have been better if they had written up 6 or so 200 words briefs on applications you had to write and then you just had to pick one.
User avatar
Burrito
Spockulator
Posts: 4715
Joined: Wed Feb 04, 2004 8:15 pm
Location: Eden, Utah

Post by Burrito »

Good effort guys...I think if the team were scattered a little bit more (more people from different time zones) and you worked in shifts, that would have helped out tremendously.

All in all, great work! You represented us well :D
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

I agree, it was a good representation! But what was really important, on personal terms, is what you took away from the experience.

Here's to phpThrowdown 2008 ;). Hopefully I can make that one!
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

Maugrim_The_Reaper wrote:Here's to phpThrowdown 2008 ;). Hopefully I can make that one!
Aye! :D
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

Maugrim_The_Reaper wrote:I agree, it was a good representation! But what was really important, on personal terms, is what you took away from the experience.

Here's to phpThrowdown 2008 ;). Hopefully I can make that one!
I second that. Maybe next year things will be less hectic for a lot of us and we can sport a team of 20 to 30 developers. That's be kicking some tail.

Way to go guys. Regardless of your final position, outcome or whatever, we are all proud of you.
User avatar
daedalus__
DevNet Resident
Posts: 1925
Joined: Thu Feb 09, 2006 4:52 pm

Post by daedalus__ »

Everah wrote:
Maugrim_The_Reaper wrote:I agree, it was a good representation! But what was really important, on personal terms, is what you took away from the experience.

Here's to phpThrowdown 2008 ;). Hopefully I can make that one!
I second that.
I want to participate, as well. Perhaps next year I will if I have time and I'm not sucj a noob.
Everah wrote:Way to go guys. Regardless of your final position, outcome or whatever, we are all proud of you.
/agree
User avatar
DaveTheAve
Forum Contributor
Posts: 385
Joined: Tue Oct 03, 2006 2:25 pm
Location: 127.0.0.1
Contact:

Post by DaveTheAve »

Yea, you know what would be really nice? If everyone could chip in get get the three of us something to remember this event from: The Official PHPThrowDown Store. On a more realistic note, yeah this was a fun time, we all enjoyed it. Had some laughs though at the end when me and Kieran were completely out of it; I think the biggest laugh we when we found out Ole's "Great" installation and configuration script didn't handle SQL installation.
Kieran Huggins wrote: So we decided to make a flash card database website, where people could find, use, create and share flash cards.
Yeah, what a great idea, wonder who we got that idea from???
Kieran Huggins wrote: I don't think any of us really got nearly enough sleep the night before the event, and to make matters worse Dave and I are both in GMT -5:00, so the start time was at 7am (early for any geek)!
What are you talking about? I wake up, crap my coffee, read the DailyWTF and i'm ready to roll baby!
Kieran Huggins wrote: We stayed connected in Skype for most of the contest, mostly with a conference channel open, and always with the chat window up. Looking back, I'm forced to wonder if it wouldn't have been easier to concentrate if we we're in less communication. I often found myself listening to discussions about the Zend framework when I should have been concentrating on what I was doing.
I possess the magical ability to sound out convs, also known as selective hearing; thus, i rather enjoyed the conversations that we had, I learned a lot about Kieran and Ole and I thought that the verbal communication with other programmers is what made the contest THAT much MORE fun.
ole wrote: I got stuck on one particular feature and ended up holding up Dave.
No comment. *cough* Still don't handle SQL Installations *cough* (I didn't say that I SWEAR, a mod did that. I blame Feyd!!!)
ole wrote: It was tricky, I realise now I can't live without unit tests.
I STILL don't see why anyone would use them, outside of UML compliance all that good stuff.
ole wrote: I didn't like the categories for PHP TD. I wonder how many GTK entries they got? I think it might have been better if they had written up 6 or so 200 words briefs on applications you had to write and then you just had to pick one.
$agree++;
Burrito - The guy who's children want a house of only 7000sq feet wrote: I think if the team were scattered a little bit more (more people from different time zones) and you worked in shifts, that would have helped out tremendously.
$agree++;
Everah wrote: Maybe next year things will be less hectic for a lot of us and we can sport a team of 20 to 30 developers.
$agree++;
$nextYearsDevelopers[] = 'David Branco';

Also during the contest my girl ended up calling me several, over half-a-dozen, times to talk to me. Well, since I programmed for 20 hours straight, 7am-4am, and got 2 hours of sleep, 4am-5:45am, I wasn't able to hold a conversation with her about me not answering. I ended up passing out on her lap; she felt better after that.
User avatar
Burrito
Spockulator
Posts: 4715
Joined: Wed Feb 04, 2004 8:15 pm
Location: Eden, Utah

Post by Burrito »

DaveTheAve wrote:
Burrito - The guy who's children want a house of only 7000sq feet wrote:...
it was the wife actually...and I had to snap her back to reality that evening 8O
User avatar
DaveTheAve
Forum Contributor
Posts: 385
Joined: Tue Oct 03, 2006 2:25 pm
Location: 127.0.0.1
Contact:

Post by DaveTheAve »

lol, sorry didn't really catch it all; must be that selective hearing I have.
User avatar
daedalus__
DevNet Resident
Posts: 1925
Joined: Thu Feb 09, 2006 4:52 pm

Post by daedalus__ »

DaveTheAve wrote:lol, sorry didn't really catch it all; must be that selective hearing I have.

bahahahaha a gift and a curse blessed be us with our selective hearing!
User avatar
Ollie Saunders
DevNet Master
Posts: 3179
Joined: Tue May 24, 2005 6:01 pm
Location: UK

Post by Ollie Saunders »

I think the biggest laugh we when we found out Ole's "Great" installation and configuration script didn't handle SQL installation.
Ha ha ha yeah! Yeah well, I'd spent too long on it by that point. I rushed it out initially but I wasn't at happy with it. Then I went for a walk, set up SimpleTest and did it properly. The difficulty was in the conditionality of a working database connection, form repopulation, existence and contents of the configuration file. The solution involved 3 objects. Once I got all that working I didn't bother with the SQL, there were bigger fish to fry.

Adding the SQL was relatively simple....yes that's right 'was'. I've commited an update. I haven't tested it though. I found a couple of good chunks of duplication in my code whilst I was in there, clearly shows I wasn't thinking very well at all.
No comment. *cough* Still don't handle SQL Installations *cough*
I hope you're happy now you little f... :P
User avatar
DaveTheAve
Forum Contributor
Posts: 385
Joined: Tue Oct 03, 2006 2:25 pm
Location: 127.0.0.1
Contact:

Post by DaveTheAve »

ZOMFG!!! It's the end of the world!!!
OLE commited to flashcardr!!! I think I'm going to die!!!

um... perhaps I should have told you that we don't need a installation script anymore. The software has now found a permanent residence on flashcardr.com.

Please don't kill me. <runs />
User avatar
Kieran Huggins
DevNet Master
Posts: 3635
Joined: Wed Dec 06, 2006 4:14 pm
Location: Toronto, Canada
Contact:

Post by Kieran Huggins »

sweet! Let's not let this project fade into obscurity!
Post Reply