Subscribe to rss feed

CSTART/Mach 30 Joint Venture for Web Based Engineering Project Management | Software projects | Forum

 
You must be logged in to post user permissions login Login register Register


Register? | Lost Your Password?

Search Forums:


searchicon 






Minimum search word length is 3 characters – Maximum search word length is 84 characters
Wildcard Usage:
*  matches any number of characters    %  matches exactly one character

topic

CSTART/Mach 30 Joint Venture for Web Based Engineering Project Management

print
small tagNo Tags
UserPost

12:04 pm
July 1, 2010


J. Simmons

Dayton, OH, USA

Member

posts 46

offline
link
print
1
0
ratedowngrey
rateupgrey

Post edited 9:08 am – July 5, 2010 by J. Simmons


The other day, Luke proposed starting work on the project management web app (among other things) and I replied that Mach 30 was alos interested in working on this kind of project (see here).  Per that thread, here is a summary of the work done at Mach 30 on such a beast.

Before I get into our results, I think it would help to review some background material about how Mach 30 is approaching open design/hardware projects.  Our main focus this year is on infrastructure, which includes business and legal things such as submitting our IRS 1023 to finish becoming a 501c3 and working on how to do open space projects while not running afoul of ITAR, as well as projects to support mass adoption of open design as a technique for developing hardware such as expanding the number of open hardware licenses and developing a free (speech and beer) web based engineering project management tool (we like to call it the sourceforge of hardware).  This latter set of activities is intended to both immediately support our needs (clearly Mach 30 has similar needs to host hardware projects online to CSTART) and to lower the barrier for other groups and individuals to adopt an open approach to hardware in the hope that as more people develop any kind of hardware openly, it will promote the general philosophy of open design and help all of us working in that way.

With that in mind, here is the specific work we have done to develop requirements for a sourceforge for hardware (what we are calling the Open Design Engine, or ODE).  We started by looking at three use cases:

  1. Hardware only projects (for example, a simple rocket or high altitude balloon may not have any custom code running on the vehicle)
  2. Simple hardware plus software projects (next stage of rocket or balloon may have embedded arduino to collect data)
  3. Larger scale projects that need full engineering process (things of the scale of large senior design projects and beyond, will likely require sub-projects); see this podcast for a lengthy discussion about what this might entail

As we discussed these use cases, we developed an early set of requirements:

 

  • Host Projects and sub-projects
  • Projects include storage for:
  • Documents such as Bill of Materials, instructions, reports, etc (probably stored in wiki-like system that includes multiple formatting filters to give content creators control over level of complexity of input vs necessary control)
  • Revision Control System to store source code for embedded systems or stand alone software projects (should eb accessible directly through RCS interfaces and through web pages)
  • File storage for part models and final part drawings (still version controlled, but maybe not in the same space as the source code)
  • Users should be able to configure features used in the project
  • Project "home page" should be wiki-like as well to let project owners "sell" their projects, including posting rich media (videos, pics, etc)
  • Other project features should support following all or part of the workflow below:
  • get/make requirements (to understand what you are going to build)
  • setup 1 or more teams/sub-projects (small scale still just 5-10 people all one team, big scale several sub-project teams)
  • create tasks that link to derived requirements to establish traceability, in multi-team scenarios, tasks should be associated with the appropriate teams/sub-projects; in single team scenario, all tasks should get associated to the main team/project
  • when there are multiple teams, usually need a PCT (team of teams)
  • loop through below, each iteration move into more detail (lofi analysis, hifi analysis, cad parts, prototype, build, fly)
  • do work (each iteration = more detail: lo-fi analysis, hi-fi analysis, produce cad parts, prototype, build, fly/test) <–if we're generalizing
  • document (examples: procedures, BoM, drawings, parts, analyses docs, graphs, reports, meeting minutes, presentations, Requirements docs, etc)
  • review/test
  • update design
  • approve – triggers next iteration
  • Projects need workspace to discuss design and development issues (especially for hardware) that includes linking files to comments and the main post to store the evolution of a design decision
  • Issue tracking should include way to directly request (and advertise) help with specific tasks/sub-tasks of the project 
  •  

    Some other ideas that came up but were not quite as fleshed out included:

    • Modular system functions to allow project managers to select features they need based on project complexity
    • Project assistance Bounty System – mash up of craigslist, sourceforge, rent-a-coder, and a solution archive. The ideas is to have a website where "customers" can post discrete analysis, report writing, peer review, hardware build, component design requests, etc. – see http://mach30.org/blogs/jrs/2009-10-22-ispcs-2009-day-1-mission-and-methods for details. This is an attempt to discretize hardware development like wiki has discretized encyclopedia writing, enabling users to hop into a project to answer a specific need.
    • Have a fans page so supporters can show their interest
    • donation drive module
    • Auto-share buttons for social network sites from project pages (to share on reddit, twitter, etc)
    • Bug/Issue tracking (duh) – should be tied to the bounty system if used?; taggable, with tags auto added for type of issue and project hierarchy (this project + parent project tags) 
    • Find a way to keep binary files (like drawings) from entering conflicted states (one option, per rpulkrabek's comment below is to allow users to mark files as in use or checked out to indicate that other users should not work on those files)

    In the hope of not quite starting from scratch on this (and following up on links from this thread), we started looking for existing projects that might make a good foundation for ODE.  So far, we have liked redmine the best (I know it is RoR and Luke mentioned working in php/symphony, but I still think this bears looking into, as redmine looks to be a great foundation for these features).  Here are the minutes from our last meeting about ODE where we worked on mapping these features to redmine.  They are a little thin in places, so here is a better summary:

     

    The basic idea is to get a v0.0 (no coding just leverage features built in to redmine) going quickly so we can kick the tires so to speak on redmine and demo concept to open hardware folks we know to get feedback.  Assuming redmine survives the trial by fire of demos and comments, we see four key features to address in upcoming releases of opendesignengine.
    1. Enhancements to project and site level homepages to make them more landing pages (hey look how cool this project is) and less dashboards (last commit was yesterday and there are 20 bugs to resolve).  This will likely be an evolving goal, but we would like to see the basic idea addressed in first public release of opendesignengine.  Part of this may be needing to add support for hosting video and audio.
    2. Discretizing volunteer opportunities to make it easier for people to find and contribnute to projects.  This has taken on the shape of many things in our discussions (craigslist for issues, stack overflow, etc).  The idea is to recreate for hardware projects one of the key features of  wikipedia (the ease of contribution) so that hardware projects can get good community participation.  Clearly no easy task, but we would like to make this the defining feature addition for the first public release of opendesignengine.  I think the plan would be to start doing concept discussions on this feature once the v0.0 site is up and running.
    3. Adding systems engineering work flows.  This is a later version feature.  After the first public release, we want to look at adding features to support good systems engineering without becoming burdensome (aka – add just enough).
    4. From what I have seen, the redmine wiki is pretty barebones, so the other priority is to get it up to par (maybe by borrowing other code?) so it can be used as the primary document processing tool for hosted projects.  This will also probably include both more formatting control/syntax and adding support for document templates (bills of materials, meeting minutes, requirements docs, etc).

    That pretty much summarizes our work to date.  Sorry the post turned out so long, but it does cover several months of work.  Feedback is welcome and encouraged.

     

    Founder Mach 30, Inc. and Friend of CSTART

    2:18 am
    July 2, 2010


    Luke Maurits

    Adelaide, Australia

    Admin

    posts 1483

    offline
    link
    print
    2
    0
    ratedowngrey
    rateupgrey

    Thanks, J., for a nice long and detailed post.

    To be perfectly honest, I am a little torn on the issue of to what extent CSTART and Mach 30 should collaborate on this.  On the one hand, it's obviously very true that whatever system CSTART ends up using will probably be largely "purpose-agnostic", i.e. it will work just as well for collaboratively designing cars and houses as for rockets and spacecraft.  In light of this, a truly general purpose application seems like a sensible thing to do, and something that is likely to attract a decent community to help build it.  It's also a great opportunity for CSTART and Mach 30 to cement their friendship by cooperating on a project that is of great use to both parties.

    On the other hand, the combination of my unfamiliarity with RoR (or even Ruby) and the fact that such a complete and general-purpose application, developed cooperatively, would necessarily involve a lot more planning and design work up front, makes me worry that it will be quite a while before anything potentially usable is ready, and I had rather hoped to make rapid progress on the web app front because OHKLA is starting to progress at a nice pace and we could really use more of a system – also, if we're to introduce balloon and CubeSat projects soon, it would be nice to have something to start using with those.

    One possible resolution between these tensions would be for us to agree to work on the general purpose application and for CSTART to eventually adopt this, but to throw together something relatively simple and ad-hoc in the interim.  The experience with our ad-hoc system could then also be thrown into the mix with the feedback on the Redmine-based version of the bigger system.  The biggest problem I can think of with this is that transferring data from one app to the other later down the road might be something of a pain.

    On a fairly unrelated note, I appreciated the link to some Open Hardware Licenses.  I wasn't previously aware of any of these.  CSTARTers, maybe this is something we should work into our Social Contract?

    Main CLLARE workgroups: Mission Planning, Navigation and Guidance. I do maths, physics, C, Python and Java.

    9:37 pm
    July 2, 2010


    Luke Maurits

    Adelaide, Australia

    Admin

    posts 1483

    offline
    link
    print
    3
    0
    ratedowngrey
    rateupgrey

    I feel like perhaps I should clarify a little what I had in mind for my ad-hoc solution.

    Basically what I am most interested in right now is being able to replace the mix of forum-consensus and public-poll that we used to choose the OHKLA propellants with the system we have long talked about, where people vote on how well different solutions meet certain criteria, and on the relative importance of those critiera, and options are then ranked numerically.

    Essentially, someone would log into the platform and see a list of all our projects.  Clicking on a project brings up subprojects or project domains until the user has drilled down to the level of a single coherrent task (like "design a hybrid rocket engine") at which point they see a list of design tasks (propellant choice, nozzle material, etc.).  Clicking on a design task brings you to a page dedicated to that design task.  There's a link to the relevant page in our Wiki, a link to a relevant thread in our forum (or a link that will let you start a thread if there isn't one already), and then the interface for voting on how well different solutions meet different criteria.  Further down the road we could replace the links into our existing wiki and forums with our own more-appropriate implementations, but for getting a voting framework together ASAP we may as well leverage what we already have.

    As for the issue of how design tasks and solutions get into the system, I feel like it would work well if we had a few people who were responsible for adding issues (sub-project admins, or the like), but let anybody add solutions (with admins having the ability to remove inappropriate submissions).  I am not sure how well this part of the system meshes with the ideas of the "hardware sourceforge" tool that Mach 30 has in mind?

    Main CLLARE workgroups: Mission Planning, Navigation and Guidance. I do maths, physics, C, Python and Java.

    11:11 pm
    July 2, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    4
    0
    ratedowngrey
    rateupgrey

    Post edited 11:47 pm – July 3, 2010 by J. Simmons


    Luke,

    First, just wanted to apologize for the delay in replying to your earlier post (I have been down most of the day with a migraine…).  Second, I want to thank you for your candor in both of your replies.  I think this is all good stuff to discuss.  I also wanted to say that the massive brain dump in my first post was only meant to give folks the full background of the work done to date at Mach 30, and not intended to say "we have the one right answer, let's go code some RoR," so please do not take the inclusion of redmine as a final solution from Mach 30's point of view.  It is just the best fit we have found to the project with what we had seen as the items needing to be addressed.

    Speaking of items needing to be addressed, if it is alright, I would like to take a half step back from the details of our posts and pull out the "values" that I believe may be represented by the stated "positions" (this is a common part of the Mach 30 consensus process, and is how I often work with people to resolve difficult decisions; I am not sure how well this will work over a forum, or if I am overstepping my bounds by applying Mach 30 processes in the CSTART forums, so please excuse any pits I may be about to fall into).  Here are the broad values that I hear/read in the above posts, and the positions that I am drawing them from:

    • Need something that works better than what "we" have now (CSTART has the wiki+forums+polls+version control system?, Mach 30 has its forums+phone bridge) <= see most of Luke's 2nd post, and the beginning of my post where I just comment that we need a system
    • Getting something sooner would be better than later [was: Need to have something in place ASAP] <= I believe this comes out in both of Luke's post (both in terms of specifically calling for something very soon and in stating concerns about using tools he is unfamiliar with), and is really what motivates Mach 30's interest in building upon an existing system (redmine) and starting with a version 0.0 release that is made up entirely of existing features of that system
    • It would be better if we can share the work and the rewards of developing this system both between CSTART and Mach 30 and with the larger community <= Mach 30 is specifically looking to share this with anyone that is interested and would love to work together with CSTART, and Luke expressed a desire to work together if possible both in this thread and in the previous thread that started this conversation
    • Beyond having something ASAP, should aim to "release early, and release often" <= this is really what motivated the proto-road map at the bottom of my first post
    • A key feature is the ability to manage "engineering decisions" <= Luke very eloquently described part of this feature in his 2nd post, and it is also roadmap item #3 from the Mach 30 discussions
    • Need to be able to actually write the code for the solution <= this is my attempt to summarize Luke's concerns about redmine being RoR (after all you can't code well the first day you are using a new tool chain), and I want to completely agree with that concern, we selected redmine as a possible foundation based on its features not its tool chain, as we were going to have to look for coding help no matter what we chose, so the specific tool chain was not something we were selecting for at the time

    I am pretty sure I am missing one or two things (it can take a little while to tease this kind of stuff out of a conversation), but I think this is a decent first stab.  If I am close on capturing these values (and please, please let me know if I am missing something or overstated something), then I think we are pretty close in terms of what we want to accomplish (which is the biggest hurdle to overcome).  Then I think the work would turn to looking at the differences in positions (for instance using redmine as a foundation) and looking for alternate solutions that better cover the values above (for instance perhaps looking for a php coded tool similar to redmine or looking for RoR coders that are excited about CSTART/Mach 30 and are looking for a way to get involved or something else entirely).

    If this process looks like something that everyone is willing to try, I honestly think we could work through this decision process in a matter of days (though again, I usually do this real time, so it may be a bit bumpy over forums).  Let me know what you think.

    ——-

    PS – Luke, you should check out the Architecture Decision Plugin (more details here) for redmine (not as a reason to go with redmine, but as a possible structure for the kind of engineering decisions you were talking about in your second post, I think you will find its features very interesting).

    Founder Mach 30, Inc. and Friend of CSTART

    8:01 am
    July 3, 2010


    Luke Maurits

    Adelaide, Australia

    Admin

    posts 1483

    offline
    link
    print
    5
    0
    ratedowngrey
    rateupgrey

    Hi J,

    No problem on the delayed response at all, hope you're feeling better.

    That was a really great post, and the Mach 30 Consensus Policy actually looks really great, after a preliminary skim.  Mach 30 continues to impress me with both the extent and the quality of the organisational foundation that has been laid so far!  I, for one, am perfectly happy to proceed along the lines of that policy to forge an agreement on this – but I encourage other CSTARTers to speak up too if they are interested.  Things have once again quietened down a bit here, which I am hoping is a temporary thing correlated with the approaching 4th of July festivities for those in the US, and even though I've been trying to act a little more unilaterally of late to keep progress on projects moving, I feel less comfortable doing this with decisions that relate to how CSTART interacts with other groups.  I also feel like Rizwan, as our defacto webmaster and sysadmin, is most definitely a stakeholder in this decision with regards to the details of how the system operates (programming languages, databases, etc).

    I am in broad agreement with all of the values you outlined above, which you did a great job identifying.  Certainly CSTART requires a little more infrastructure for "engineering decisions" than it currently has, or at least I feel this is the case, and certainly I feel like our two groups should cooperate on developing that infrastructure to the extent that it benefits us both – this approach is sensible from both the perspectives of rational self interest and fostering a good sense of community and cooperation with kindred spirit organisations.  It is possible I have overstated the need for something ASAP, at least from CSTART's end – I would certainly like to see something ASAP, but it's possible that (i) much of the increased momentum behind OHKLA that I've preceived of late, motivating the push for getting a system in place quickly, is illusory and/or inevitably going to be short lived; (ii) the negative consequences of letting this momentum subside while carefully planning a web app are outweighed by the long term benefits of getting a really great web app built; or both (i) and (ii).  Regardless of how much careful planning we do before beginning development, I do feel that "release early and release often" is a great goal to keep in mind.  I certainly don't advocate the "Cowboy Coding" paradigm, but I do feel that "something good enough tomorrow" is often better than "something perfect next week"

    With regards to the PHP vs RoR issue: I understand that Mach 30 is not trying to push RoR as a necessary solution, and I understand the very good reasoning behind using Redmine as a spring-board for something greater.  I have nothing against RoR, and am certainly not super-attached to Symfony.  When I first made my post about beginning work on the web app I wasn't anticipating this collaborative opportunity (not to complain about it!) and decided to use Symfony simply because I've worked with it before on moderately complex applications and felt I could knock together something that would meet our immediate needs for more organisation in the space of a week or so, and thought this could be helpful.  If Mach 30 has even one Ruby-familiar programmer interested in this project then we're already "tied" on the issue of programming language from the perspective of utilising existing skills.  Brmj, if you're following this, do you know any PHP or Ruby?

    With regard to supporting the making of "engineering decisions", I am acutely aware that the Task Tree model CSTART currently has in place is neither perfect nor complete in its scope.  The process for deciding how the tree is structured in the first place is not exactly clear, the process for revising decisions after they are made is not clear, and the entire thing doesn't at all support the "actually designing" stuff phase of engineering – even if we decide in a principled and collaborative way that, say, the OHKLA engine should burn PE and N2O, use a 7 port grain geometry,have a combustion chamber made of steel, and an exhaust nozzle made of graphite, we're then in the position of having to actually design such an engine – this big cluster of discrete decisions does not, by itself, uniquely specify an actual physical design, and having a process in place to see those designs made is an important missing chunk of the puzzle.  The overall engineering workflow is certainly something I think we could stand to spend some time planning before we beginning writing all but the most basic code.  One of our newer members, Joe, has expressed some interest in, or at least knowledge of, some higher level engineering processes (something called the V-model in particular), and may want to contribute to this (no pressure, Joe, of course!  But if you do want to chip in on this, please don't hesitate).

    That's everything relevant that I can think just now.  In closing I just want to emphasise that I'm very excited about CSTART and Mach 30 collaborating on something like this.  A really nicely done app along these lines will be a benefit not only for our two groups but, corny as it sounds, for the whole world, especially if the burgeoning open hardware community siezes upon it.

    Main CLLARE workgroups: Mission Planning, Navigation and Guidance. I do maths, physics, C, Python and Java.

    12:21 am
    July 4, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    6
    0
    ratedowngrey
    rateupgrey

    Luke,

    Thanks for understanding, and yes I am doing much better today.  I am also very excited about working together on this project, and very happy to hear you are, too.

    In terms of moving forward, here is what I propose.  First, I made a quick edit to the values above to (I hope) more accurately capture the degree of urgency based on the feedback in your last post.  Let me know if it is a better summary.  

    Second, I think it is critical that we get the other major stakeholders involved in the conversation, so we should look at moderating how much further we go forward without them (I am particularly interested in hearing from other CSTART folks as my earlier posts represent the loose consensus of the technical folks at Mach 30 and I want to make sure that those voices do not dominate the conversation).  As we get a chance to hear from new stakeholders, we could likely find additional values.  If that happens we can just add to the list.

    Third, once we get the other stakeholders in the conversation (and capture any additional values), I think we go over the requirements and solutions again from the view point of the values (so for instance, what kinds of features are we really looking for when we say "Need something that works better than what we have now", or which of those features do we really want in the first release and what can wait until later when we aim for "release early, release often").  My hope is to integrate CSART and Mach 30 ideas into a joint proposed solution and early road map (similar to what Mach 30 was working on at the end of our process, but now balancing our combined needs and abilities).  This is the part that I hope to see take a matter of days (assuming we continue to be closely aligned on values).

    Some tangent points to comment on.  First, in terms of Mach 30 RoR programmers, most of the Mach 30 Board members are non-programmers, so I don't immediately have someone in mind who would be interested in contributing time on an RoR project.  However, what I can do is put out a message to the members of our site and send some emails to people I know who know RoR and might be interested in this.  I'll let you know what comes of that.

    Second, incorporating "engineering decisions"/life-cycles is definitely going to be one of the challenging requirements to work through.  There are several models of systems engineering processes, including the V-model.  I personally believe that we will be building a better system if we can build something that lets users work the way they want in terms of life-cycles/decision processes, by focusing on capturing the way they are working, not enforcing a particular way on them.  In some ways, that may be easier (we don't have to model every detail of any one process), but in others I expect it will be harder (what exactly do we capture in the database and how do we display it if we are not working in a single model?  do we have to support lots of specific models or is there a way to capture "events" and let users arrange them in the order that fits their way of working?)   This is the place that we left off at Mach 30, with our decision being get something up that is somewhat process agnostic for the time being and explore how the tool behaves in its own right before making decisions about process management.  We are hoping that part of the reason we felt stuck was there were things to learn about implementing process management by using the earlier versions of the tool.  We may also get some nice feedback along these lines once we have something to show people.

    Finally, corny or not,  it is my very real hope that this can and will benefit the whole world.  So here's to a great start.

    Founder Mach 30, Inc. and Friend of CSTART

    12:48 am
    July 4, 2010


    Luke Maurits

    Adelaide, Australia

    Admin

    posts 1483

    offline
    link
    print
    7
    0
    ratedowngrey
    rateupgrey

    Hi J,

    Glad to hear you are also excited about this project and also about the wide-ranging applicability of the final product and its benefits.

    I agree that getting other stakeholders tracking this thread before progressing much further is a wise course of action.  I got an email today from antinode, one of our more active membes, apologising for his lack of forum presence lately and expressing his intent to make posts on most of the big organisational issues which have been discussed lately before Monday.  Since he has previously expressed an interested in working on our web-app in the past, I assume he will be interested in this discussion and expect he'll show up here before too much longer.  As an aside, it's possible he knows Ruby, I haven't asked.  I will send an email today to the other CSTART directors letting them know about this and asking them to check in as soon as they can.  I expect Rizwan at the very least will be interested, and hopefully some of the others will show up too.  In the same way that you want to ensure that the opinions of Mach 30 technical folks do not dominate this conversation as a whole, I want to make sure that my individual opinions do not dominate the CSTART side of things.

    Once everyone is here, coming up with some requirements as a first step seems entirely sensible.

    My expectation is that the engineering deicisions/life-cycles part of the project is going to be the most challenging.  Remaining process agnostic would be ideal in the sense of letting us start sooner and also giving different groups to implement their own processes – e.g. just because the software platform is process-agnostic does not mean, say, it couldn't be an internal policy at CSTART to use process X on our installation of the platform.  This seems to keep every possible kind of project manager happy – those who like to play things by ear and not focus on big-picture processes can do so, while those who want to rigidly impose a single process from day 1 can also do so; and those in the latter camp are free to choose their process of choice rather than having the preference of the platform developers thrust upon them.  I agree, though, that it could get difficult – this is only to be expected of an approach which can fill a wide number of roles equally easy.

    I guess this is all there is to say until some other people turn up.  Hopefully this won't take long.

    Main CLLARE workgroups: Mission Planning, Navigation and Guidance. I do maths, physics, C, Python and Java.

    5:15 am
    July 4, 2010


    Rizwan

    Admin

    posts 170

    offline
    link
    print
    8
    0
    ratedowngrey
    rateupgrey

    Firstly, its pretty great to see collaborative work under discussion, looks like the "C" part of CSTART is being taken care of.

     

    From what I understand, we will need to develop this in a two fold system. A self hosted solution and SaaS solution

    The self hosted solution would be the project sub system which any one can deploy on their servers and use it internally.

    The SaaS solution could be offered to users who do not have the infrastructure to deploy a self hosted version. This would be similar to sourceforge but for hardware.

    To put it in more simple terms it should be like wordpress.org (self hosted) and wordpress.com (SaaS)

     

    In my understanding we (CSTART and Mach30) require the self hosted solution urgently. So we should start work on that first and from there we can move to offer a SaaS solution if we feel so.

    Also for the server architecture my opinion is we should go with the LAMP stack, considering it is widely used and also for the ease of deployment, and most importantly it lowers the entry barrier significantly.

     

    And if we are planning to work on this together, we should come to a consensus on the following as well:

    1) The license we will be using

    2) The code repo we plan on using

    3) The name of the project, keeping in mind the future possibility of SaaS solution

     

    11:56 pm
    July 4, 2010


    rpulkrabek

    Member

    posts 348

    offline
    link
    print
    9
    0
    ratedowngrey
    rateupgrey

    I am not an application developer, so I have to apologize that I will not be able to help much in this area. What I can do, though, is give features that I would like to see. 

    Am I correct in thinking that this will be some sort of open-source PDM system? I would like to point out that we once had a discussion on the project life cycle. Take a look here.

    As for a feature, I would like it if we could have a way for one person to "check-out" a certain file to let others know it is currently being worked on, to avoid the same file being worked on by two people at the same time, resulting in two different files.

    I'm looking forward to see what can be done :)

    9:36 am
    July 5, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    10
    0
    ratedowngrey
    rateupgrey

    Rizwan and rpulkrabek, thanks for the comments.  Rpulkrakbek, I have added your feature to the "unfinished" list above since this is a first pass at discussing it (note, I have tried to expand its scope to capture the underlying value and noted your thoughts on a solution that could cover that need).  Also, thanks for the link back to the earlier discussion on project management at CSTART.  It is important that we take full advantage of the work that has already been done as we move forward.

    Rizwan, first, I just want to say I think your comment regarding wordpress.com/.org succinctly and perfectly sums up the idea we have been talking about in terms of the larger scope of this project.  Thanks for that wonderful insight.  In terms of .com or .org first, I need a little more time to reflect on the question before I will have useful comments (I think there are some underlying values in this question that have not been brought to the surface yet that will help clarify the path forward, and I need a little more time to tease them out of the dialog).

    I also think that the widespread availability of LAMP is a compelling issue, and that it brings up another important value to balance:

    • the choice of programming language (and other elements of the software stack) impacts the ability of users to self-host, and all other things being equal, the barrier to self-hosting should be as low as possible <= clearly nudges decisions in the direction of LAMP per rizwan's comments above; should be balanced with other values that affect language choice (such as availability of developers in our two groups, and leveraging existing projects)

    Finally, I think Rizwan's three questions are all very important items to discuss.  Here is my feedback concerning them:

    1. License: To date, Mach 30 has been a more BSD/MIT kind of organization, because we are very interested in creating as few barriers as possible to corporate adoption of our solutions.  That being said, in terms of this project, choosing a different license is in no ways a deal breaker.  One last thought on licensing, if we do decide to extend an existing solution, we should keep in mind that we may simply have to accept the license of that solution.
    2. Code repo: Given that this project will need to be able to handle source code (for control systems, engineering analyses codes, and embedded software, etc), I would actually propose that we move to self-host the code (and design decisions, forums, documentation, etc) within a copy of the system.  Obviously there is some boot-strapping to get through first, but I am a strong proponent of "eating one's own dog food", so I would love to see us have to actually use the tool to host the project.
    3. Name: Yup, the name is important.  Mach 30 has had a small discussion on this and came up with one possible name:  Open Design Engine (.com, .net, and .org currently registered).  The idea for the name came out of two separate ideas.  One, at Mach 30, we have preferred the term open design to open hardware or open source hardware (I personally think it better captures the essence of what is open in openly licensed hardware, namely the design of that hardware).  And two, like source forge plays on the idea of forging code, this is suposed to evoke the antique name for a machine that performs a given function, namely engine (like the cotton gin is short for for the cotton engine).  Finally, it just happens to have the abbreviation ODE, which is kind of funny given how often ordinary differential equations show up in engineering.  However, given all of that, we are still completely open to other names.  Clearly that work was done before we started discussing this as a joint project, and it is important that the name works for both CSTART and Mach 30.

    I think that is all I have for now.

    Founder Mach 30, Inc. and Friend of CSTART

    11:37 pm
    July 5, 2010


    rpulkrabek

    Member

    posts 348

    offline
    link
    print
    11
    0
    ratedowngrey
    rateupgrey

    Thanks for adding the feature. I will have more in the future, I'm sure. Would it be better to have the feature requests in a wiki somewhere so that I could just add to it?

    As for the name, I like it Open Design Engine. Very clever. The ODE reference is also a nice touch.

    1:38 pm
    July 7, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    12
    0
    ratedowngrey
    rateupgrey

    Moving the discussion concerning requirements/features and their underlying values to the wiki is a good idea.  Unless anyone has a problem with it, I'll go back and review the CSTART process for project posting in the wiki and start to move the specific ideas/features/requirements/values over to the wiki.

    And thanks for the compliment on the name.  Any other comments on that last round of material (especially the name, as I imagine that will be apart of the wiki page's title once selected)?

    Founder Mach 30, Inc. and Friend of CSTART

    9:37 pm
    July 11, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    13
    0
    ratedowngrey
    rateupgrey

    OK, I have taken a stab at capturing the material from this thread over in the CSTART wiki.  For the time being, I have created the page using the name ODE, however, I am completely comfortable with continuing the name discussion.  I just needed to call it something to give the page a title.  You can find the page here (note I have not linked to it from the homepage yet, as that seemed premature).

    Am I correct in assuming that the CSTART process is to continue discussing the involved decisions over here in the forums, and let users add documentation (either new feature ideas, summaries of decisions from forums, etc) to the wiki as we move forward?  If so, I would like to propose that we start with discussing the early roadmap/driving features and then move to the question of should we extend an existing system, and if so which.  My thought is that the question of whether or not existing systems will work as a foundation for this project depends greatly on where we are going feature wise (especially early on).  And, the question of extending an existing system may move us toward answers to the other questions based on the system we extend (if any).

    Feedback is welcome and encouraged.

    Founder Mach 30, Inc. and Friend of CSTART

    7:10 pm
    July 13, 2010


    antinode

    Member

    posts 64

    offline
    link
    print
    14
    0
    ratedowngrey
    rateupgrey

    This concept has been under discussion for a while now, in IRC and in multiple threads including the one rpulkrabek mentioned that includes a thought out general project lifecycle that could be applied to such a project management system that went ignored, this thread (the "Missions" section in the chart), and a couple other random threads. I've personally put more into this including testing out various open and closed source project management web apps (including Redmine, which I was disappointed with), and created a rough design mockup that takes into account most of the ideas proposed in this thread. The best existing and most complete solution is the Drupal based Open Atrium which supports the needed features or would support existing Drupal modules that could fill any remaining needed features. This is also what Open Space Movement is basing their very similar web app on last time I checked.

     

    I'd be against the "Open Design Engine" name. If the "Open" is in reference to what is being designed, you're assuming the users would always be hosting their projects in an open manner, and if it's not, generally open source apps do not declare their openness in the app name. You're also assuming it will be used for "Design" work, when it could very well be used to manage any type of project. "Engine" I'm on the fence about it because while it does convey images of a mechanical engine, which may or may not be a good thing, it could also lead to confusion. On a related but unnecessary note, I've personally been calling this project Spacecamp, a play on words of the very popular Basecamp hosted project management web app… and well, Space Camp. This could never be a working name of course due to trademarks. I don't have another usable name to propose at this time.

    4:38 am
    July 14, 2010


    rpulkrabek

    Member

    posts 348

    offline
    link
    print
    15
    0
    ratedowngrey
    rateupgrey

    Post edited 4:38 am – July 14, 2010 by rpulkrabek


    antinode said:

    I'd be against the "Open Design Engine" name.


     

    What if we had a vote/poll to decide this? We could handle it the same way we handled the CSTART motto; first we give submissions to reddit, the highest upvotes make it to the poll and then we have a final vote for the winner.

     

    4:42 am
    July 14, 2010


    rpulkrabek

    Member

    posts 348

    offline
    link
    print
    16
    0
    ratedowngrey
    rateupgrey

    Post edited 4:42 am – July 14, 2010 by rpulkrabek


    J. Simmons said:

    Am I correct in assuming that the CSTART process is to continue discussing the involved decisions over here in the forums, and let users add documentation (either new feature ideas, summaries of decisions from forums, etc) to the wiki as we move forward?  If so, I would like to propose that we start with discussing the early roadmap/driving features and then move to the question of should we extend an existing system, and if so which.  


     

    This is my understanding as well. I also think the proposal is fitting.

     

    7:22 pm
    July 15, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    17
    0
    ratedowngrey
    rateupgrey

    Just wanted to check in real quick.  I looked over the Open Atrium site and I have some thoughts, questions, and maybe ideas but school has been crazy this week, so I won't have time to organize and post them until the weekend.  Sorry for the delay in replying.

    Founder Mach 30, Inc. and Friend of CSTART

    4:48 am
    July 16, 2010


    rpulkrabek

    Member

    posts 348

    offline
    link
    print
    18
    0
    ratedowngrey
    rateupgrey
    I made some additions to the wiki page. These are some features that I, personally, would like to see in an application. Take them as you will, and not necessarily as mandatory items, as they are only my opinions.
    • A method to inform others, and possibly restrict others, that a certain item is currently being worked on, to avoid different design changes happening at the same time.
    • A history or RSS feed of the most recently modified items.
    • Document number generation. Possibly a running number to uniquely identify each document or part and possibly associate this number to the document. If this method is used, it's suggested that the number is also associated to a more readable description ex: ID=12345678rev01; Description=OHKLA COMBUSTION CHAMBER. Another thing to consider is variants and the numbers for that.
    • Thumbnails next to each item to quickly view what each file is (useful for CAD models).
    • A BOM tree to visualize the structure. Also, a method to see where a part is used in other assemblies.
    • A page/site to see all available attributes, such as, ID, Description, Creater, Modifier, creation date, modified date, etc.

    11:31 pm
    July 19, 2010


    J. Simmons

    Dayton, OH, USA

    Member

    posts 46

    offline
    link
    print
    19
    0
    ratedowngrey
    rateupgrey

    So, there's been a lot to digest since my last substantial post.  In particular, I want to address antinode's post and to thank rpulkrabek for both the list of additional features (I think all of those sound like good ideas, and that deciding to implement them is really a question of prioritizing and defining them) and for the comments about process.

    Antinode, first I just wanted to say that I appreciate how long CSTART has been discussing building a system like this.  If your experience at CSTART is anything like mine at Mach 30, there seems to always be something keeping this project from really getting off the ground.  But, having a good online tool to share design and development work is simply essential to engineering new systems in an open way, so we just keep trying to get it started.  I hope that by working jointly (including taking what I hope to be a relatively small amount of time to develop a common design specification) both Mach 30 and CSTART can finally get an engineering project management tool up and running.

    I would also like to reiterate, I am not committed to redmine.  Even after "deciding" on redmine at Mach 30, we were really just interested in getting it installed on a public server so we could see what it is like and then really decide whether to stay with redmine or try something else.  As for Open Atrium, as a Drupal user (mach30.org runs on Drupal), I find Open Atrium intriguing but when I look at its site, I don't quite get it.  I'd like to hear more about what you think makes it a good candidate for the foundation system.   Specifically, which of its features do you see as essential for this tool and which features do you think we would need to add right away to make it a good first draft at a project management system?  Which of those additional features are covered by existing modules that you would want to use, and what are they?

    All of those questions reminds me about some more thoughts I have been considering for how to move forward.  Much like rpulkrabek's ideas above, I imagine that the first few rounds of features that folks come up with will be things that more than one person will want to see implemented, and that the real questions will be what order to implement features in, and what exactly do the features look like.  So, we could develop the initial list of features for the first few beta releases by soliciting feature requests until a prescribed date (say 1 week from the start of the request window), during which time people can ask questions about the features and work on defining them more clearly.  Then, let people vote on what features to implement first until a new prescribed date (a little like a reddit of feature requests), where all other things being equal, higher voted features get implemented in earlier releases (that is as long as there are no legal or technical issues that might alter the order).  Once a workable system starts to emerge, we should look at how well this process worked and then decide if we should keep it in whole or in part.  Anyone have any thoughts on that process?

    Of course, I would then propose we go back to my previous comment on process and use the first set of core features as a guide to evaluating tools like Open Atrium (along with the values listed wiki page) in order to decide which (if any) project to use as a foundation for the tool.

    One more thing, about the proposed name.  First, just to clarify, the name Open Design Engine came about when we were focused on the software as a service version of the tool.  Like sourceforge, it was our intent to limit the free hosting to open projects, specifically openly licensed hardware projects (though I agree the tool could be used to manage other types of projects, I do not believe those other types of project represent primary uses).  Since Mach 30 has been using the term "open design" in our literature to describe openly licensed hardware projects, we thought it could be appropriate in the site's name (other terms I have seen include "open source hardware" and "open hardware" – I must confess, I prefer "open design" to the other two, because I think it more clearly parallels "open source software" as the part of the software that is open is the source code and the part of the hardware that is open is the design, but I digress).  And then, the last bit ("engine") was half for the clever pun (ODE) and half to evoke a sense of timelessness in engineering the way sourceforge does by referencing a forge in their name.  

    All of that is only meant to clarify the history of the name.  Taking a step back, and thinking about what I personally value in a name, I would like to see something that has a ring to it, and has a tie back to old engineering just because I have always thought that sourceforge was a cool name.  I would also prefer that the name be engineering domain neutral so we can invite as many different users to host projects on the software as a service version as possible.  I believe that the more people there are building openly licensed hardware projects of any kind, the faster openly licensed hardware will be accepted in the mainstream, and in turn the faster open space projects will be accepted in the main stream (which is good for community building and fundraising).  Any name that did those things (to greater or lesser degrees) would be one I could support.

    That is probably enough for now.  Let me know what you all think.

    Founder Mach 30, Inc. and Friend of CSTART

    4:14 am
    July 29, 2010


    Rizwan

    Admin

    posts 170

    offline
    link
    print
    20
    0
    ratedowngrey
    rateupgrey

    Moving forward with this, I think we should start developing some rough sketches/wireframes.

    Secondly, I am in favour developing something from scratch, since it will help us better achieve our vision.

     

    As for the licence, I would say GPL, but at the same time I would be okay with whatever the community decides.

    For the name, I think we should have larger pool of name suggestions and I think we can get those from the folks at the programming reddit. It would also hopefully get us some interested members.

    small tagNo Tags

    About the CSTART – Collaborative Space Travel and Research Team Forum

    Forum Timezone: UTC -6

    Most Users Ever Online: 59

    Currently Online:
    11 Guests

    Currently Browsing this Topic:
    1 Guest

    Forum Stats:

    Groups: 4
    Forums: 36
    Topics: 512
    Posts: 3809

    Membership:

    There are 1133 Members

    There are 2 Admins

    Top Posters:

    Rocket-To-The-Moon – 685
    brmj – 402
    rpulkrabek – 348
    DenisG – 69
    antinode – 64
    J. Simmons – 46

    Recent New Members: jmwright, uhwuggawuh, seikialice88, bishvabis, alijayadv, harris

    Administrators: Luke Maurits (1483 Posts), Rizwan (170 Posts)



     
    share save 120 16