Shop OBEX P1 Docs P2 Docs Learn Events
What does the perfect OBEX look like? — Parallax Forums

What does the perfect OBEX look like?

Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
edited 2011-10-14 12:49 in General Discussion
Just trolling for some input.. Can't really comment further..

If someone re-created OBEX from the ground up, what features would you be looking for?

My list:
  • Login (with email password recovery).
  • Expanded comments section. Perhaps even message-board style for each object.
  • Multiple picture upload and video link.
  • Voting system (5 stars).
  • A toggle for Parallax Gold Standard.
  • A pull down for license selection at upload.

OBC

Comments

  • mindrobotsmindrobots Posts: 6,506
    edited 2011-10-13 07:57
    A version tree of some sort. So you could see the starting object which was forked and begat a new object which was forked and begets a newer object but they all trace back to some beginning object.

    I like the date, author, language indicators in the current OBEX. These should be searchable too.

    A pestering "Do you accept the terms of this objects xxxxxxx license?" type dialog box. At least the honest and conscientious folks will consider the various license terms and honor them.
  • John AbshierJohn Abshier Posts: 1,116
    edited 2011-10-13 08:11
    I would like to be able to select an object in the Prop Tool and have the Prop Tool check my version to see if it is the latest in the Obex.

    John Abshier
  • jazzedjazzed Posts: 11,803
    edited 2011-10-13 08:15
    • Easy button (easy/hard classification).
    • Sort by downloads.
    • Sort by Author.
    • Require ratings from members.
    • Down-loaders should be members.
    • Allow different licenses for sure.
    Maybe more.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-10-13 08:41
    The perfect OBEX looks like this:

    Oh, wait. Before we can adopt something like that, we need a Spin compiler that can deal with subdirectories in its OBJ section. Grrr!
    jazzed wrote:
    Down-loaders should be members.

    Totally unnecessary.
    jazzed wrote:
    Allow different licenses for sure.

    Discussed and discarded.

    -Phil
  • Heater.Heater. Posts: 21,230
    edited 2011-10-13 08:49
  • jazzedjazzed Posts: 11,803
    edited 2011-10-13 09:01
    Discussed and discarded.
    So this new OBEX is hosted by OBC for Parallax? Maybe we've both assumed too much.
  • mindrobotsmindrobots Posts: 6,506
    edited 2011-10-13 10:30
    OBC = Old Bit Collector
    OBC = OBject Collector
    OBC = OBject Collection

    ...it was just a matter of time
  • LeonLeon Posts: 7,620
    edited 2011-10-13 10:51
    The new Microchip Embedded Code Source has some nice features:

    http://www.embeddedcodesource.com/
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-10-13 11:35
    The Microchip site does have some nice features. It's new, though, so it will be interesting to see how well it scales. I think that's where the OBEX fell apart: it just didn't scale well after a certain number of objects was uploaded and is creaking under the weight. The Microchip CodeSource may well suffer the same fate.

    For the OBEX to be successful, I think the contributions need to be vetted by Parallax, the way CPAN contributions are reviewed before posting, rather than the free-for-all we have now. This entails staff time dedicated to the task, and Parallax will have to get used to the additional overhead that entails. At the very least, the contributors themselves need to be vetted. This would help to eliminate some of the chaff and duplication that the current OBEX suffers from.

    -Phil
  • WBA ConsultingWBA Consulting Posts: 2,935
    edited 2011-10-13 11:37
    That depends, what do you want for the final result? An OBEX (object exchange) or CODEX (Code Exchange)?

    For a true OBEX, here are my desires:
    1. Detailed, searchable criteria (creator, date, category, etc)
    2. Contains documentation on use.
    3. Contains a full fledged, commented demo program.
    4. Can be rated (5 star system)
    5. Is ranked by difficulty for utilization (newbie, experienced, Spin guru, etc)
    6. Sortable by license or the ability to omit license types in search results
    7. Links to object derivatives or modifications
    8. Links to relevant threads, objects, products
    9. References to any pertinent sections in the Propeller manual, PE Kit book, etc, etc
    10. Can be classified as "Gold Standard" if it meets 1-9 above
    For a Code Exchange site, most would be the same, but code snippets that are not full objects could also be posted for easy use. These code snippets would only be full MIT and will also contain:
    1. Searchable criteria (creator, date, category, etc)
    2. Contains an explanation
    3. Can be rated (5 star system)
    4. Is ranked by difficulty for utilization
    5. Links to relevant threads, objects, or products
  • potatoheadpotatohead Posts: 10,261
    edited 2011-10-13 11:37
    I would love integrated discussion and revision control for objects. One could follow something from initial design to current version and understand how that all came to be. Right now, following the forum kind of gets that done, but only if one invests time following everything... It's not always obvious that a given object entry is a revision, or new / refactored. It should be obvious.

    +1 for this:
    I would like to be able to select an object in the Prop Tool and have the Prop Tool check my version to see if it is the latest in the Obex.

    Frankly, on the next serious pass for this stuff, and I'm thinking Prop II / Parallax Semiconductor here, I would put that functionality on the REALLY SHORT list.

    Re: Licenses. MIT isn't viable in all cases. That's reality. Not everybody is going to release MIT, not everybody is going to want to maintain their own copies of things, not everybody will be content to go browsing around for version history, etc... Better to make a platform of it, so that the works are as accessible as possible, then let the users sort it from there. Given such a structure, it will always be possible to link to and or highlight a given sub-set, say MIT, GPL, BSD, CC, Custom, etc...

    Right now, the scale is small, but even with that in play there is code out there not in the OBEX for licensing reasons, where the authors want credit, or some other terms.

    On the next pass, when things get bigger, things like libraries and such will become a much more significant factor, as will commercial development. The license issue needs to be managed so that people can see their options quickly, make choices, and do what it takes to use the code as appropriate for their needs.

    Given my comments above, I can imagine somebody licensing a GUI tool kit, for example. They use this thing, and query for latest version, or are wondering if a bug they've encountered was noted. They use the IDE to query, see there is a new version, then go right there, read the release notes, discussion, and optionally update their local repository and carry on. We deffo need this kind of thing to be relevant.

    Seconded WPA's comment on snippets vs code exchange above.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-10-13 11:43
    Version control needs to be built into the compiler, the way it is with Perl modules. That way, an object user's code can specify a minimum, maximum, or range of versions for an object for compilation to be successful. That also entails a VER section for Spin objects, where the version can be specified explicitly, with a uniform version numbering system -- rather than just mentioning a version in the object's code comments.

    -Phil
  • potatoheadpotatohead Posts: 10,261
    edited 2011-10-13 11:51
    While that's a different topic, I do strongly second that.

    I've worked on complex data sets (CAD) in both version control and non-version control environments. There is one very interesting dynamic I've seen play out over 15 years.

    Where the version control is integrated, not bolted on, but really integrated so that it is a fundamental part of the interaction experience, new users will struggle some, then progress very quickly. They reach a point where it's not possible to even consider working WITHOUT that functionality.

    Where it's not integrated like that, it gets bolted on, and it usually gets that way after a HUGE mess is made. The norms never solidify, and users struggle, sometimes NEVER reaching a point where they can't imagine working without it being there.

    Over time, the initial cost of dealing with revision control was minor league compared to the costs of sorting data out later on, or bolting it on to a system never really designed for it in the first place.

    IMHO, this means some IDE where there ISN'T File, Save As. It would simply be Import or Export. Once Exported, the data isn't part of the repository AT ALL. Once Imported, it is part of the repository, referenced by name or other meta info only, where the user really doesn't have to even be aware of the actual file paths. That's Integrated. Doing that will pay off big.

    Not doing it simply means educating people on how to use one of the many great repository / source management tools out there. That pays off very nicely too.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-10-13 12:24
    potatohead wrote:
    Once Imported, it is part of the repository, referenced by name or other meta info only, where the user really doesn't have to even be aware of the actual file paths.
    That's kind of the way it works in Perl, except that there's a one-to-one correspondence between the name of a module and its file path. For example, the module Win32::SerialPort is stored on my computer at c:\perl\site\lib\Win32\SerialPort.pm, where the implicit PATH variable includes c:\perl\lib and c:\perl\site\lib. This kind of organization is necessary to keep the library from becoming one monolithic mess the way it is now. The OBEX should be organized along the same lines: by category, subcategory, sub-subcategory, etc. And the categorization needs to be centrally enforced by Parallax staff or whoever "owns" a particular category or subcategory, not left to each individual contributor to decide.

    -Phil
  • Invent-O-DocInvent-O-Doc Posts: 768
    edited 2011-10-14 12:49
    I like forum threads associated with posted objects
Sign In or Register to comment.