Idea/Proposal: Create a Part Update Schedule

Idea/Proposal: Create a Part Update Schedule
This is something I've been thinking about for some time, and now that there's a new Part Update looming and excitement in the air, it's been on my mind even more.

It would be REALLY nice if there was some kind of release schedule for the Part Updates. I can think of a couple good reasons for this: Firstly, users would know when to expect new releases. Instead of just checking in periodically to see if there's been a new update, they'd have solid date(s) for when to look for them. Additionally, I do think this would actually improve some of the throughput from the PT. By introducing deadlines, you create a period of "crunch time" where part creators work faster/harder than they normally would in order to get the most possible parts released.

Consider the recent stickied post "Parts for Urgent Review" and the response that has gotten and the increase in parts that'll now be available for the next update. That thread essentially created a crunch time by saying, "A part release is coming VERY SOON, so you'd better ready your parts." And what happened? People started working much faster and harder than usual in order to get as many parts as possible into the next update. Now imagine that happened everytime there was a release. Would that be such a bad thing?

Personally, I think a 2-updates-per-year schedule is probably ideal, although I do think a strong case could be made for 3 updates as well (I think 4 may be a bit excessive and demanding, but maybe I'm wrong). Last year saw 3 updates spread evenly apart, and so far this year, we've had one update with presumably one more to be released before/around the end of the year.

So, how would this work? Let's say a 2 UPY schedule was agreed upon. Furthermore, it was agreed upon that the updates would be released at the ends (30th or 31st) of June and Decemember. Now, there would likely end up being several deadlines involved.

For example, for the June release, you might have:
June 15th - Deadline for Part Certification.
June 27th - Deadline for Part Review.
June 30th - Update is Officially Released.

So part makers and reviewers would have until the 15th to get their parts certified for the next update, the admin would then have approximately two weeks to review as many parts as he/she can for the update. Then, those who prepare the release (is this also the Admin?), would have a couple days to make any last preperations needed, get everything in line, and publish the release. Obviously, these dates may need to be adjusted, but I think you get a sense of the general process involved.

Would the LSC and/or Steering Commitee (I can never keep track of what each of these does), in conjunction with the Parts Admin, consider the possibility of formalizing a release schedule (and then ensure that it is adhered to)?
I'm theJude! So that's what you call me. You know, that or, uh, his Judeness, or uh, Juder, or el Juderino if you're not into the whole brevity thing.
Re: Idea/Proposal: Create a Part Update Schedule
I'm opposed to this for the simple fact that everybody who works on this website is a volunteer who does this on their spare time. Real life can and should take priority. Holding them to any type of schedule but open the door for even more complaints.

Yes, I would like more updates but I guess I've learned patience over the years.
Re: Idea/Proposal: Create a Part Update Schedule
Totally against this for the reasons Orion outlined.

We have a hard enough time getting the committee votes arranged on schedule.

Re: Idea/Proposal: Create a Part Update Schedule
Orion Pobursky Wrote:I'm opposed to this for the simple fact that everybody who works on this website is a volunteer who does this on their spare time. Real life can and should take priority. Holding them to any type of schedule but open the door for even more complaints.

I think you missed my point (or perhaps I came across the wrong way). Obviously, I recognise that this is all purely volunteer, and I'm always thankful for the work people here do. I'm not proposing we force people to do things they don't want to. If people don't care about their part being released in the next update, that's fine.

However, sometimes people just need/want a gentle nudge in order to get them going on something. "I've been meaning to get back to that part to finish it up, but just haven't felt motivated to do so." For these people, having a release schedule just might be the motivation they need to get going again.

This isn't about "forcing" anyone to do anything. If people want to ignore the deadlines and work at their own pace, that's perfectly fine. Rather, this is about providing motivation for those who need/want it.

Orion Pobursky Wrote:Yes, I would like more updates but I guess I've learned patience over the years.

This was never about more updates, either. If it was, I probably would have suggested something ridiculous like "An update every month." I don't care if the release schedule ended up being "Once every five years." All I'm asking for is a little regularity and a timeline so I know when to check in for new parts.
I'm theJude! So that's what you call me. You know, that or, uh, his Judeness, or uh, Juder, or el Juderino if you're not into the whole brevity thing.
Re: Idea/Proposal: Create a Part Update Schedule
I see your point and I'm wasn't trying to be rude or confrontational. Any feedback is appreciated. Smile However, right now the Parts Updates are a one man show (Chris Dee) so he gets to set the rules. I also fear that less reasonable people than yourself won't realized that a posted schedule has some flex to it and flood the forums with complaints. I'm a pretty laid back person but I can only handle so many demanding and rude message before I start a flame war Wink
Re: Idea/Proposal: Create a Part Update Schedule
No worries, I know I can sometimes come off as demanding and/or a jerk (and to be fair, sometimes I tend to be demanding/a jerk Wink ). However, in my first post I was trying to be nice and formal. So when I got slapped with a couple "stop being an impatient, demanding jerk" replies, I kind of went on the defensive. Like you, I'm normally a pretty laid back person, but when pushed hard enough, I'll bite back as well. Unfortunately, I do sometimes allow the stress of work/real life will to affect how I post in places like these. I realize this is neither nice nor fair, but it still happens sometimes (as I said, sometimes I can be a demanding jerk).

Back on topic:
I suppose this question is aimed at Chris Dee, then: Just how much work is involved in preparing and releasing a new update? I'm honestly just curious, because I have no idea about what goes on/needs to be done during this process. I'm much more likely to have sympathy for your woes if I know what those woes are.
I'm theJude! So that's what you call me. You know, that or, uh, his Judeness, or uh, Juder, or el Juderino if you're not into the whole brevity thing.
Re: Idea/Proposal: Create a Part Update Schedule
Oh and just to prove that I'm not guiltless, here's my first post as an AFOL. I managed to piss off the Parts Admin at the time Steve Bliss.
Re: Idea/Proposal: Create a Part Update Schedule
I wouldn't be against a script that periodically takes parts that have been certified + admin approved and generates a new "Official Release" to be downloaded and generates a page such as this. It's basically (as far as I understand) what happens anyway.

Here's how I see it:
Automation is good. Periodic automation is fine. Asking volunteers to do work for free by yesterday is bad.

As a counterargument to the above posts, I would like to mention the OpenBSD project which I love and hold dearly. Its developer base is quite similar to here. IIRC: 80ish developers with accounts, 15ish active, and everything is done for free by volunteers (except for the lead guy who has dedicated his life to it).

It has had a six month release cycle as long as it has existed and it works quite well for it. One good thing about the regular release cycle is that each time they produce CDs, T-Shirts, and Posters that are sold to pay for hardware/electricity bills and some to support the main dude (doesn't really apply here). By no means are any of the developers forced to complete their work by a certain day, however they are encouraged to test the system to hopefully catch any bugs that may have slipped through the peer-review system.

Most if not all of the active developers personally run -current, the evolving development version, like those of us who keep Unofficial/ up to date, so it's not a big deal to have your patch (or in this case part) need to wait till the next "official release" (which, as far as I can tell, to the developers has a largely superficial meaning, except the joy of being reminded of how much they've collectively achieved).

You may be wondering why I bring this up. During "release time" the main dude (HERE: PT-Admin) encourages developers to pause efforts on adding new functionality (HERE: authoring new parts). Instead, developers focus on testing (HERE: reviewing/certifying). Even more applicably, durring this time, there is a general aire of "I want my patch (HERE: part) to be in the next release because blah blah blah," which is quite healthy for the community.

As a personal example of how this applies to LDraw, yesterday I was working on a model that used a 59443 and couldn't find it. I downloaded the latest unofficial parts, and the PT was already two steps ahead of me. I thought it a shame to need to inline the part in each model just to be OMR compliant since this part had shown up quite often in recent sets, therefore I thought it should be important to be in the next release. (I hadn't noticed that it was already admin certified.) If I were a parts author (which I intend to become pending an increase in available time) I would want to make sure to get this part included in the next release so that I wouldn't need to submit the model to the OMR with the part inlined, and knowing that the next "official release" would be generated in 4 days would encourage me to review it. I would certainly not feel "forced" to do anything, but knowing that, in order to not need to inline the part, I would need to get it certified/approved soon.

This could be accomplished by the PT admin just saying, "Hey everybody, I'll take all parts certified/approved by the 31st and put them in the next update." However I believe this is the wrong approach because part of me would want to "just get it approved in time" instead of the rest of me wanting to make sure it's done properly no matter how long it takes.

A better approach would be, "Sure, the update will be generated in 8 days, but also again X months after that (or whatever interval should be decided)" instead of "After the 31st, nobody knows how long it'll be." So it would not be such a big deal to miss the next update, because I know I can take the time I need to do things properly and have it in the next regularly scheduled update, and I have a guarantee that I won't get the part certified and still need to keep it inlined it for the next nine months for the model to be able to be viewed properly by those without the latest unofficial parts.

This is said by someone who has written code for OpenBSD but not submitted parts to the PT (yet), so take the above all with a large grain of salt as my view is definitely skewed by personal observation/experience outside of LDraw. I do not pretend to know the right solution (or even if the current solution is perfect already), I'm just giving my perspective.

EDIT: I forgot to mention that each OpenBSD release always has some general theme (both literally in terms of the art released and figuratively in terms of what the developers have generally focused their efforts on). For example, recently there has been an effort to improve multithreading capability/efficiency and handling of large memory/storage capacity, much as we have recently focused on patterned parts. This "Hello. I'm trying to create minifig patterns." has lead to many patterned parts for the next release, much how it often happens in OpenBSD where the community sometimes picks up on an individual's personal project.

TL;DR - I humbly believe releases should be {mostly/entirely} automated and should happen on some fixed interval, requiring no extra work and imposing no deadlines on volunteers, but providing a regular milestone inspiring some parts to be prioritized if authors so choose as has been proven effective in the LDraw community here and here and throughout its history (as far as I can tell).
Re: Idea/Proposal: Create a Part Update Schedule
My opinion as well is against Jude's proposal. Here are my reasons:

The schedule itself will help users simply nothing. Why?
Because they will not know which parts will be in it. During the review process
it can always happen that in the last minute a severe error in a part is discovered etc.,
so relying on that some parts will appear at some given point of time is simply impossible.
So that date not really makes sense for anyone. It would, if it would be clear which parts
would be contained in it, but then all this will become deadlined like a software company,
rushing out incomplete software at the deadline.

As already said, fixating a date would only make sense while at the same time fixating the set
of parts to work on for that release. And that would take all the freedom out of this project.
This project lives from the energy that people put into it voluntarily, and this implies some oddities,
especially: you never know when will be the next release. HOWEVER: please read on:

I myself am frustrated about the low rate of 1 release per year. I think we should simply
change this and create smaller releases, containing fewer parts, twice a year.
At best, this release could be automated in the way described by Jean-Philippe:
simply release all currently Admin-Certified parts at that point of time.
I always wondered why so much manual work is required for a release to be done by Chris.
Shouldn't we save him some time and automate that? If a part is Admin-certified,
it should be fine to go IMHO, no more manual work done. Maybe we should put some energy
into making this possible for Chris.

Let me add a last note: Jude, seeing your original post
, I understand that you are in need of some parts.
But what I do not understand is how you decided to solve that problem:
I see a posting with an urgent request, and now this deadline suggestion.
This reminds me of the typical manager guy in a software company,
not wanting to fiddle with the details, but instead putting pressure on the engineers.
That's an Antipattern which I had the non-pleasure to observe several times already.
Why don't you gather some parts reviewing expertise and then become a parts author
yourself to help us reduce the amount of work to be done? This would have been my
natural reaction to your initial problem.
Re: Idea/Proposal: Create a Part Update Schedule
Ths Parts Update process is automated to the extent that it makes sense to do so.

However there are some manual steps involved :
- Header errors slip through review so the release candidates are checked programmatically and fixed manually.
- Dependency checking cannot be fully automated. I don't want to release Certifed subparts/primitives unless they are in use (i.e the parent part is Certified). The dependency checking is particularly important for "fixed" parts.
- Creating the Windows install file cannot be done on the Linux server, so there is a manual ftp step to build this on my Windows system.

As usual this boils down to quality versus speed. I prefer to take the time to check the quality of the Parts Update, which mitigates against future corrective actions and impact upon the user community, rather than release an update with errors that then need fixing. It would not be appropriate to automatically release Certfied Parts into the official library.

I agree that two releases a year is inadequate, and my personal target for 2011 was three (as was the case in 2009 and 2010). Unfortunately due to pressure of other work, I failed in this aim, but as has become traditional, an end-of-year update (2011-02) will be issued within the next few days. I am not able to commit to fixed release dates, because my availability to work on this volunteer project is constrained by other demands on my time - not least my paying job.

I suggested here that I was open to discussion on how the Review community could be extended.
Chris (LDraw Parts Library Admin)
Re: Idea/Proposal: Create a Part Update Schedule
Well then, I suppose my above post is superfluous and irrelevant.

Thank you very much for the time and energy you devote to the project, may it live long and prosper.

I also wish to do my part to help evolve the parts library. (I wish to be granted permissions on the PT, I emailed you with user account details.)
« Next Oldest | Next Newest »

Forum Jump:

Users browsing this thread: 1 Guest(s)