PHP Throw Down - News from the DevNet Team Meet

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

Post Reply
User avatar
Ollie Saunders
DevNet Master
Posts: 3179
Joined: Tue May 24, 2005 6:01 pm
Location: UK

PHP Throw Down - News from the DevNet Team Meet

Post by Ollie Saunders »

PHP Throw Down is really happening!

Members

Present for the meeting (shown as phpBB usernames) in order of appearance:
  • Kieran Huggins
  • ole
  • aaronhall
  • DaveTheAve (he really wants to win!)
I know there are more people than this who are interested but didn't turn up (probably due to availability). We missed NSG :(

Others that showed an interest in the thread previously:
  • The Ninja Space Goat
  • [s]Maugrim_The_Reaper[/s] (not available)
  • d11wtq
  • seodevhead (for css)
  • kaYak
I'm tempted to say that we should limit the numbers of people involved to those who are:
a) dedicated to the project and will be contributing 8 hours or more
b) can program in PHP, well. Or are near expert in something else we will be using such as XML or MySQL.

I'm worried that too many cooks will spoil the broth and I've chaired game mod projects where that has happened. Thoughts?


Communication

We've all agreed that Skype is the way to go for communication but we are only using the chat features. You can set it to notify you only when certain strings appear in the messages. That could be handy. Also you can bookmark the main chat and close the window and all the previous chat history, that you weren't present for, will appear in the window as backlog so you can catch up even if you close the program (we tested it) although there may be a limited buffer. You can of course to PMs (backlog always present) as well or set up separate chats.

We have agreed to have another meeting. Because of timezone issues it is difficult to decide a time when this should happen. So we are leaving the chat window open and you can join anytime by downloading a copy of skype (v3 is recommended) and adding "irkengir" (me) or "kieran.huggins" (Kieran Huggins duh!) to your contact list. We'll add you to the chat. Unless we're both asleep or something. Incidentally, I'm on GMT and I'm going to be asleep soon after this post. It would be useful if people interested in the project could post their timezones here too.


Leadership

The role of leadership will largely be one of coordination and code design decisions. Decisions relating to features, for example: what to cut out of the spec if we are running short of time, will, I imagine, be done by the person who contributed the initial idea, not the leader.

There was a rumour that feyd would lead the project. feyd is this true, comments? I wouldn't mind leading but only if people back me. Kieran isn't interested in leading the project and we didn't really get round to asking Aaron and Dave. Who do you think should lead? Would you like to stand as a possible leader?


Team Name

Whilst I love "PHPDN Ninja Forum Space Crew Team" we've pretty much decided to go with "PHP Developer Network" its the full title of who we are and we won't be embarrassed about it in the years to come. If anybody has any strong views on this (because we didn't really) then make them known to us. Personally I think it is more important to fry the big fish that has "What application should we write?" etched into the side of it, first.


Said Fish

I don't particularly want to reveal all the ideas for applications in here because this is a public forum. @admins and mods: That private forum could be really useful right now because each idea could warrant it's own thread. Is that possible?

There were quite a lot of ideas, all of which were rejected. I think a number of these ideas still have life in them however, and I'd like to see further discussion until we are sure that they should be scrapped. Some of the ideas were rehashes of old one, some completely new, others new perhaps to PHP but implemented in other languages already. There seemed to be a lot of disagreement on exactly what makes a good idea and also how much we can achieve in a 24 hour period. Ideally we are looking for ideas that are
  • Scalable - a simple implementation can be built and features added on to it in a modular fashion so that there is something to show for our efforts even if it goes tits up
  • Original or with strong elements of originally - something like a spamless wiki isn't really going to cut it on the originality front.
  • Useful - this seemed to be important to many during discussions but often in conflict with originality. Which do you think is more important?
  • Possible to actually write in PHP/JS/XML/SQL - these are technical limitations we simply can't ignore. It should also not require complex installation (we'll lose points immediately for that)
  • Be Web 2.0 - Generally this involves community generated content but there are more detailed definitions. I remember watching a really good podcast on this actually but I can't find it anymore :(
  • Be Legal - One example: I suggested we create a PHP implementation of a board game but this can't be done unless the board game is of our own creation for licensing reasons.

Technologies

Room for debate here. XSLT was pretty much decided though.
  • Zend Framework - This should speed development and provide us with many nice things straight out of the box. Would the learning curve of this be a problem or perhaps people are prepared to learn in the time before the compo? There are now many good tutorials on it. The initial difficulty of the MVC pattern is the only real challenge to people. Other things that could be useful in ZF: Db, Services, Config, ACL - none of which I've personally used.
  • XSLT - to be used for all the view code. That would mean all model code will have to finish by parsing in a load of XML for the XSLT to transform. Kieran uses XSLT extensively in his work so he is experienced with it, I've used it for a few days only but I'm pretty confident with it. I have a couple of books available to me. Basically me and Kieran should be able to handle all the XSLT code. The advantages of using XSLT are that is creates a very real, separation of roles between model and view code and will totally prevent model programmers from writing view code. Also its very very fast to develop and should allow us to mock up interfaces and change our mind about interfaces several times throughout the 24 hour period. Also won't let you produce anything but valid XHTML output.
  • JQuery - Seems to be accepted as the JavaScript library of choice. Once reason for this was that it plays well with other libraries. There was plenty of other praise about JQuery and, in fact, I've never actually heard a bad word about it.

Stuff Not Discussed

...that probably should have been: -
  • Use of patterns and OOP versus alternatives
  • SVN usage issues and conventions
  • Unit Testing
  • Coding Standards
  • Code review / pair programming
  • Code commenting
  • Division of roles amongst individuals (probably need to decide what we're going to write first)
User avatar
DaveTheAve
Forum Contributor
Posts: 385
Joined: Tue Oct 03, 2006 2:25 pm
Location: 127.0.0.1
Contact:

Re: PHP Throw Down - News from the DevNet Team Meet

Post by DaveTheAve »

ole wrote: Members

Present for the meeting (shown as phpBB usernames) in order of appearance:
  • Kieran Huggins
  • ole
  • aaronhall
  • DaveTheAve (he really wants to win!)
Is it that easy to tell? lol

Awsome post OLE, I'll have to read it later; Be sure i'll get back to you one it all.
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

We missed NSG Sad
Sorry, I'm so busy at work right now :( I would have been busted if my boss saw me doing anything but work.

I'm for the Zend Framework. I use it for all of my applications now. For a good example of how to set up MVC with the Zend Framework, refer to Astrum Futura, a project which Maugrim_the_Reaper works on in his spare time.

http://sourceforge.net/svn/?group_id=183159 (you'll need an SVN client)

I downloaded it recently, and it is very clean and easy to read. I think this code alone should be all that's needed for most of us to get the idea of ZF's MVC.
If it isn't, than refer to Maugrim's recent 7-part AJAX/Zend Framework tutorial on DevZone. It's excellent.
http://devzone.zend.com/node/view/id/1581

I will be able to contribute to the project, but I am EXTREMELY busy right now. I will do what I can. I'll be thinking of ideas for what the application should be. Can't think of anything good right now, but I'll let you know if I do.
ole wrote:Useful - this seemed to be important to many during discussions but often in conflict with originality. Which do you think is more important?
According to the rules, innovation is the most important thing.
Code Readability & Documentation (5 pts) - how easy the code is to follow & read
Installation/Configuration (5pts) - how quickly and easily we can get it installed
Functionality (20pts) - what it does
Performance (5pts) - how quickly it does it
Error handling & Security (15pts) - what happens if there are errors and how secure is the code
UI/Appearance (5pts) - how pretty is the final product
Accessibility/Standards Compliance (5pts) - how well does it adhere to applicable standards
Code Innovation/Creativity (30pts) - how this is different than all the other apps out there.
Overall Quality of the App (10pts)
User avatar
DaveTheAve
Forum Contributor
Posts: 385
Joined: Tue Oct 03, 2006 2:25 pm
Location: 127.0.0.1
Contact:

Post by DaveTheAve »

Alrightly i'm out of the shower lets see what I can complain about now. (Like I didn't creitize enough about the ideas in the chat-room right?)

First off it would rock if we can somehow get Maugrim_The_Reaper to help us out, with him on our team we can't lose. Secound I feel that the team size should be <=6.

Skype is most definitely our chosen methoud of communication. I love the fact I can close the window, leave for hours, come back, open the screen, and read the new messages. (all 200 of them - Mostly about Huggins and his child porn)

As for the leader, I don't mind if you are OLE, after seeing this post you made, I think you secured yourself that position. However, as you already noticed, I like the leader role and tend to control things. (I'm sure my girl is behind that clam, poor thing; I'm glad she got used to it, not that it's right.) Thus, if I'm being too controlling tell me to back off; I just get that way some times.

The team name is now SOLID "PHP Developer Network" is now the OFFICIAL team name.

Now about your "Said Fish", this is were almost all the ideas were shot down. Ether they were not original or where not very useful; with the exception of Huggins incest.us, "Fun for the whole Family", or his child porn site which are just plan illegal.

Now for third-party tools, I already said we should use ZF, thanks for including it in the list OLE, I strongly feel, and i'm sure Maugrim does too, it would cut development times dramatically if used. I did indeed mention jQuery for the Ajax but only because drupal used it and its gotten a lot of good feedback; it's something we she look into at least. (b4 it's not to late) Another note I wanted to add here, i know where using XSLT but if need be i made a Smarty Plugin for Zend that works just as the built-in Zend template engine does; i don't think we'll need it but it's at our despoil.

How on to your "topics we should of discussed":
We have to use OOP, it's the ZF were talking about... it's a contest.... OOP!!!!!! As far as unit testing goes, i've actually never done them, I tried once and seen it a waste of time. Perhaps this will encourage me, who knows; on-the-other-hand, if we have time it would be some nice extra bonus points for the contest. Coding Standard would HAVE to be the ZF standards, I know not everyone is not at 100% ZF standards but as long as we try we should be fine. As far as code review and code commenting goes ALL functions should be PHPDoc commented and all other comments should be /* */ comments NOT // comments. Having the PHPDoc blocks not only gives us better code AND a API reference AFTER AND WHILE programming it counts as points. At last for division of roles... it's hard to do without a concrete idea of a project.

OLE: I'm glad to see i'm not the only one who likes my forum category idea; however, i wish to take it a step further now, may we (as in the PHPDN PHPThrowdown Team members) please have ether admin access to ONLY that forum and/or create a idea subforum in the PHPTakedown forum. This will give us a place to throw around ideas and easily evaluate them WITHOUT the public eye.

OLE/Aaron/Huggins: At 11:45:31 PM EST -5GMT, I posted an Idea in which Huggins replied "I like it!". Please review this idea and cretize. You seen how I judged your ideas, I basically found flaws in all the ideas; now it's your turn to me again.

Thank you OLE for your wonderful post. Aaron, Huggins We're not out of the planning yet, buckle up, it's gonna be a bumpy ride.
User avatar
Ollie Saunders
DevNet Master
Posts: 3179
Joined: Tue May 24, 2005 6:01 pm
Location: UK

Post by Ollie Saunders »

NSG wrote:If it isn't, than refer to Maugrim's recent 7-part AJAX/Zend Framework tutorial on DevZone. It's excellent.
http://devzone.zend.com/node/view/id/1581
Maugrim wrote that? Oh yeah. Ahh I remember now, Maugrim is a bigshot! Just like I wanted to be :( stupid forms. *cough*
NSG wrote:According to the rules, innovation is the most important thing.
Yep I agree - although it may be because I wanted some of my wackier ideas to go through ;)
NSG wrote:I will be able to contribute to the project, but I am EXTREMELY busy right now. I will do what I can. I'll be thinking of ideas for what the application should be. Can't think of anything good right now, but I'll let you know if I do.
You'll miss out on the discussion of course but the day itself is a Saturday so you only really need to be about for that. It's only 3 days away now!
Dave wrote:with the exception of Huggins incest.us, "Fun for the whole Family", or his child porn site which are just plan illegal.
I should stress at this point that is a joke. I was going to mention it because it's funny but, you know, forum rules, I was scared.
Dave wrote:As for the leader, I don't mind if you are OLE, after seeing this post you made, I think you secured yourself that position.
Votes for me: 1
Dave wrote:The team name is now SOLID "PHP Developer Network" is now the OFFICIAL team name.
Well, I'm not going to argue with that.
Dave wrote:We have to use OOP, it's the ZF were talking about... it's a contest.... OOP!!!!!!
Yes I'm for OOP too. But I'm also quite happy with a mix if that is preferred. I don't feel we should use objects just for the sake of using objects. Also if people on the team aren't experienced with OOP there're risks about over inheritance, design smells etc. we could end up getting into bad messes with functions alone that isn't likely to happen.
Dave wrote:As far as unit testing goes, i've actually never done them, I tried once and seen it a waste of time. Perhaps this will encourage me, who knows; on-the-other-hand, if we have time it would be some nice extra bonus points for the contest.
Ahh well you see I'd actually say that unit testing is more important than OOP. I think people are really going to need to know how to do this OR work closely at all times with someone who does.
Dave wrote:Coding Standard would HAVE to be the ZF standards, I know not everyone is not at 100% ZF standards but as long as we try we should be fine.
Yes, I agree.
Dave wrote:As far as code review and code commenting goes ALL functions should be PHPDoc commented and all other comments should be /* */ comments NOT // comments. Having the PHPDoc blocks not only gives us better code AND a API reference AFTER AND WHILE programming it counts as points.
You mentioned code commenting there. Code review is basically critique of your code by someone else. I think it could be very important...
Dave wrote:At last for division of roles... it's hard to do without a concrete idea of a project.
...well I'm not so sure. We could have people assigned to writing unit tests for others or reviewing code for others. We could literally have somebody who's job it is to review other people's code, and nothing else.
User avatar
Kieran Huggins
DevNet Master
Posts: 3635
Joined: Wed Dec 06, 2006 4:14 pm
Location: Toronto, Canada
Contact:

Post by Kieran Huggins »

ole wrote:
Dave wrote:with the exception of Huggins incest.us, "Fun for the whole Family", or his child porn site which are just plan illegal.
I should stress at this point that is a joke. I was going to mention it because it's funny but, you know, forum rules, I was scared.
So just to be clear: you don't think a dating / genealogy site mashup is a good idea? But it's soooo web 2.0! Incidentally, incest.us and incestuo.us are already registered... but we could still pull off a del.icio.us with in.cestuo.us! (come on - we'd get 10/10 for style!)

:rofl:
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

kieran... in.cestuo.us... haha priceless!

Anyway, I'm not sure there will be time for unit testing, ole. I think a lot of things like unit testing and code review are just going to have to be decided on the basis of whether we have time or not.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

You know, this is a 24 hours contest. If you put two developers in charge of the core coding, one in charge of DBA, another in charge of code review/editing and another in charge of designing, you could feasibly push the code timing to 20 hours, and move all review/ancillary stuff back by one hour so the designers/reviewers can have an hour to catch up to the code. Its just a thought.
Post Reply