Pages: [1] 2 3 4
  Print  
Author Topic: Function approval process  (Read 2817 times)
Offline (Male) polygone
Posted on: February 28, 2011, 02:01:49 AM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
I think the function approval process could use some work. It's not exactly organised at the moment and not much seems to happen. It should be structured in a way so people know what is going on and things are kept moving.

I propose several sub-forums for the function approval system:

- Review
- Testing
- Committed
- User
- Rejected

All functions are first posted in the Review sub-forum. Here they are discussed and optimised fully, when they appear to be written properly they are then moved to the Testing sub-forum. Here anyone can test the function and mark as working correctly. Then they should finally be moved to either the Committed or User sub-forum, depending on whether it is a function that should be committed or just a user-made function that can be used by people. Before moving to the Committed forum functions should also be committed to the SVN. The Rejected sub-forum is obviously for any functions that are not considered useful and thus sent out of the approval process.

By changing to this system hopefully it will drive more progress forward, it will then also leave a nice list of committed and user functions which people can easily browse.

I'm not even sure how this board is moderated, but if the proposal does come to light it might be helpful to have some local mods in the forum to help. And just an extra suggestion that the list of missing and finished GM functions should be pinned somewhere in the forum.
« Last Edit: February 28, 2011, 08:37:07 PM by polygone » Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Unknown gender) TGMG
Reply #1 Posted on: February 28, 2011, 09:56:31 AM

Developer
Joined: Jun 2008
Posts: 103

View Profile Email
Yes I agree I think we do need a much better system for approving functions. The problem I can see with using the forum is that only certain people (moderators) can edit topics and move the topics around, which is alot of work that could be spend on development.

Also another problem is that in a forum topic the useful information is spread across many different posts so information is easy to miss.

I was thinking you could use the wiki for this purpose. Have a page that lists all the unimplemented functions, each function is a link to a wiki page for that function.
You can put wiki pages into different categories like "Testing", "To be committed", "Faulty" etc. The developers can easily just look through the categories and put the "To be committed" in svn etc.
The page could allow developers implementing the functions to share information like test cases, problems with the current implementation, optimizations etc.

When the function is complete the page can simply become the documentation page for that function. The implementation details could either be removed or could provide helpful information for functions that don't have documentation yet.

Forum topics would still be useful for discussion about functions though.
Logged
forums.G-creator.org
GMbed 2.0 :: Embed you gm games in websites.
Offline (Male) RetroX
Reply #2 Posted on: February 28, 2011, 04:33:32 PM

Master of all things Linux
Contributor
Location: US
Joined: Apr 2008
Posts: 1121
MSN Messenger - classixretrox@gmail.com
View Profile Email
Moving a topic takes ten seconds.  And if it means adding more functions, that is development.
Logged
My Box: Phenom II 3.4GHz X4 | ASUS ATI RadeonHD 5770, 1GB GDDR5 RAM | 1x4GB DDR3 SRAM | Arch Linux, x86_64 (Cube) / Windows 7 x64 (Blob)
Quote from: Fede-lasse
Why do all the pro-Microsoft people have troll avatars? :(
Offline (Female) IsmAvatar
Reply #3 Posted on: February 28, 2011, 07:51:11 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 849

View Profile Email
I can see the value of both methods.
I agree with RetroX in that it's not a problem for us Mods to move the topics.
But I'm really drawn to TGMG's suggestion of using the wiki.
Function discussion can be done on the wiki under the Discuss page.
Unfortunately my biggest concern with using the wiki is that it's not frequented in the same way that a forum is. Although we can place a timestamp with every function on a function list wiki page (I envision a table with "Category | FuncName | Status | Date"), it's still not going to get the traffic needed for a good peer review process because it's much easier to see changes when the forum topic has "1 unread post" than visiting the History page of every function or visiting the Recent Changes area.
Logged
Offline (Male) polygone
Reply #4 Posted on: February 28, 2011, 08:35:55 PM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
Hmm the wiki is probably better for the long term, I guess that is where things could become organised and standardised so it is unneeded on the forum. But the main reason for suggesting this is to try and drive progress, which the forum is best for right now. The wiki can all be written later.

Also with the wiki what about user functions that aren't going to be committed, where to they fit into things?
Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Female) IsmAvatar
Reply #5 Posted on: February 28, 2011, 08:43:46 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 849

View Profile Email
Generally at this point it's pretty easy to see which functions are user functions and which are GM functions, simply by virtue of the function existing in GM or not. Otherwise, it's fine if it appears on the wiki, it would simply be marked as a user function, and if it ultimately doesn't belong there, then we can delete it and just leave it on a User Functions forum.

I don't like the "wiki can be written later" mindset. It's procrastination for something that can be easily implemented now and will save us a bunch of work later. At the very least, we should consider having each submitted review function also have a wiki page.
Logged
Offline (Male) polygone
Reply #6 Posted on: February 28, 2011, 09:14:35 PM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
Ok I see your point, if it's left till later it will probably be left for a long time. What about if there is an extra step in the forum procedure? Where after testing is done the function must be documented on the wiki before it is committed. People will be more likely to document things then if there is the benefit of having it committed afterwards.
Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Female) IsmAvatar
Reply #7 Posted on: February 28, 2011, 09:47:50 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 849

View Profile Email
I suppose that would work.
Logged
Offline (Unknown gender) TGMG
Reply #8 Posted on: March 01, 2011, 05:39:48 AM

Developer
Joined: Jun 2008
Posts: 103

View Profile Email
What about if I (or somebody) posted a new topic every week with all the new functions that have been tagged in the wiki, with links to the pages. In order to get feedback from all or most of the current developers and forum users before the function is committed to svn, if after a week their is no objections or bugs found in the functions contained in that topic they will be added to svn by me (or somebody else).

The topic could contain the top functions ready to be added, a list of functions that are too buggy to be added (to remind).

This way people would be aware of the new functions about to be added and help either test, optimise or fix functions before they are added. Since its sort of a weekly thing progress is much more likely to take place and functions are unlikely to be left unnoticed in a forum for a period of time. All the functions will be added in a weekly commit so no waiting for developers to add each individual function.

Also another benefit is that the testing information such as:
show_message("Hello world"); // Displays "Hello world" correctly in a message box
show_message("Hello \n World"); //Displays Hello on the first line and World on the second

Can easily be left in the page to become examples of how to use the function.
So when developers are testing their function they can write all the tests in the wiki page (so other users can see what tests have and haven't take place along with tests that fail), when added to svn this information can allow users new to gml examples for how to use each function.

Also functions can be tagged as not working in MacOSX and I can instantly see the functions which are causing problems, same with any platform. You can tag functions as working in Android, iphone, opengl, directX etc, so users can see which functions work and don't work for there target platforms.

If the function has been committed and later found a bug in the function developers can use the wiki page again to implement the fix and new testing information.

Plus since the programmer who implemented that function pretty much knows the function inside out, it shouldn't take too long for them to write a short description of what its used for.
Logged
forums.G-creator.org
GMbed 2.0 :: Embed you gm games in websites.
Offline (Female) IsmAvatar
Reply #9 Posted on: March 01, 2011, 11:53:02 AM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 849

View Profile Email
Personally it would work for me since the topic would serve as a reminder. The process could possibly even be automated/streamlined by a bot.
Logged
Offline (Male) polygone
Reply #10 Posted on: March 01, 2011, 02:36:58 PM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
I suppose a forum post would work as a reminder, but then like moderation it will take some commitment from someone to actually do it. What's more importantly needed here as well as the process being changed is someone committed to keeping things organised and moving forwards.
Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Unknown gender) TGMG
Reply #11 Posted on: March 01, 2011, 04:06:50 PM

Developer
Joined: Jun 2008
Posts: 103

View Profile Email
I like the idea of using a bot to streamline the process, and yes it does take some commitment for someone to actually do it, but not really that much.

This is how it could work:
1) Someone implements function, posts code and relevant information
2) Tags page as "Review"
3) Bot (or user) picks up list of weekly pages and Posts Topic in the forum listing them
5) Community discuss any problems with the functions
6) Enigma developer reviews topic at end of week, adding accepted, tagging buggy functions and editing the page with relevant information.

So the only time investment would be the user adding the accepted functions to svn, tagging of buggy functions and everything else can be done by anyone (person who implemented the function prob).
Moving topics around sounds like much more added time as well as checking each function in the topic for which ones need to be moved.

Plus its very easy for developers who want to add a new function or looking for status on a function.
1) Go to wiki page with all unimplemented functions
2) click function name to either create a new page or view the status of the function

Rather than looking through all the topics in a forum which are all mixed up. Its a very easy way for everyone to see the unimplemented functions at the same time.
Logged
forums.G-creator.org
GMbed 2.0 :: Embed you gm games in websites.
Offline (Male) polygone
Reply #12 Posted on: March 01, 2011, 05:06:46 PM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
OK I'm starting to warm more to the idea of the wiki. Are you going to start it off? Then we can see how it goes.
Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Unknown gender) TGMG
Reply #13 Posted on: March 01, 2011, 05:26:50 PM

Developer
Joined: Jun 2008
Posts: 103

View Profile Email
When i'm sure everyone is happy with this idea then I will start it off. There is a list of functions which I have only half implemented and want to clean up and put on the wiki to test this idea out.

First I need to find a way to generate the list of functions unsupported by enigma by comparing that list gm has with the enigma list. Parse it and convert to a wiki format (so all the the functions link to a page). Then implement some functions and test the process out.
Logged
forums.G-creator.org
GMbed 2.0 :: Embed you gm games in websites.
Offline (Male) polygone
Reply #14 Posted on: March 01, 2011, 05:45:17 PM

Contributor
Location: England
Joined: Mar 2009
Posts: 683

View Profile
Well I'm happy with it and Ism seems so. I guess we should get Josh's opinion. EDIT: Quote Josh "I like the Wiki idea, but we need the attention the forums draw. Perhaps linking to a Wiki."

What about functions that have already been implemented? A list of those should also be populated on the wiki also then people can just document them whenever.
« Last Edit: March 01, 2011, 07:13:06 PM by polygone » Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Pages: [1] 2 3 4
  Print