tag:robotlegs.tenderapp.com,2009-10-18:/discussions/robotlegs-2/8-robotlegs-20-how-to-get-involvedRobotlegs: Discussion 2012-08-27T10:37:11Ztag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-10T09:00:21Z2011-06-11T23:26:19ZRobotlegs 2.0 - how to get involved<div><p>You may have heard whispers of Robotlegs 2. Exciting eh?</p>
<p>The timeframe for betas is likely to be autumn. We're getting
together for 5 days of solid Robotlegs 2 time at the end of this
month - out of which some priorities will flow.</p>
<p>Some people have mentioned that they're surprised by the lack of
a laundry list of feature requests and so on for them to add to -
so this post will hopefully make it clear how you can contribute
your ideas and how we're using community feedback to inform this
process.</p>
<h2>1. We're using 1000 real incidents of confusion and
frustration</h2>
<p>We have about 1000 threads on the forum and most of those are in
the <em>problems</em> and <em>questions</em> sections.</p>
<p>Chances are, if something really confused you, or you couldn't
figure out how to get something done, or you really wanted some
extra functionality, you've already let us know.</p>
<p>We've re-read <em>every</em> thread in the forum, marking up
those that are particularly relevant to RL 2, and we're also doing
some textual-analysis on the forum to pull out any patterns that
our human brains might have discounted.</p>
<p>We've also taken account of the answers and discussions - not
just the actual solutions people arrived at but the way they
arrived at them and how easy or difficult it was to explain that to
the original poster.</p>
<p>So - if you've ever posted a question or contributed to a
solution or participated in a discussion - you're already
contributing to Robotlegs 2 and we have huge appreciation for this
rich resource!</p>
<h2>2. Please fill out our Robotlegs 1.x experience survey</h2>
<p>Rather than ask you to list out possible future features, we're
gathering information about what the Robotlegs 1.x ride has been
like for you so far.</p>
<p>If you haven't done this already - please fill out our Robotlegs
1.x experience survey here:</p>
<p><a href=
"http://twtpoll.com/xo5sfn">http://twtpoll.com/xo5sfn</a></p>
<h2>3. Got a wish? Get it on github!</h2>
<p>If you have an idea for a feature or utility in Robotlegs, the
best thing you can do is have a bash at implementing the
functionality you want in the current version - it's fine if your
implementation is kind of hacky, thought it needs to have test
coverage.</p>
<p>Here are the guidelines:</p>
<ul>
<li>It needs to have a great <em><strong>Read Me</strong></em> that
describes features and usage. (Check out <a href=
"https://github.com/secoif/robotlegs-utilities-UndoableCommand">https://github.com/secoif/robotlegs-utilities-UndoableCommand</a>
for a textbook example of how to do it well!)</li>
<li>To be useful, your code should have great test coverage - any
major test suite is fine - eg asunit or FlexUnit.</li>
<li>Tests without implementation code are fine. We can take into
account what would be needed in order to make them pass when we're
shaping Robotlegs 2.</li>
<li>Implementation code without tests is pretty much useless. By
all means write a spike if that's how you work, but we need to use
the tests as the implementation in Robotlegs 2 will be different
but the tests will still be relevant.</li>
</ul>
<p>If you're not confident at actually creating tests, you can
start with just the test descriptions. Each test should only verify
one thing. A good test name looks like:</p>
<pre>
<code>after_executing_a_command_it_is_the_top_item_in_history</code>
</pre>
<p>If you're able to write tests, please share your code on github,
and comment in this thread with a link to the repository.</p>
<p>If you only get as far as a <em><strong>Read Me</strong></em> -
please add it as a comment on this post for now.</p>
<h2>4. Want to be on the earliest betas?</h2>
<p>Follow Robotlegs on github: <a href=
"https://github.com/robotlegs">https://github.com/robotlegs</a></p>
<p>Patches and 'can I build X with this' testers will be welcomed
with open arms once we get going.</p>
<h2>5. I have all these ideas that I want to give you - can't I
just list them?</h2>
<p>The best way to make sure your idea is fleshed out enough that
we understand <em>exactly</em> what you want or need is to follow
the instructions in 3.</p>
<p>This will also allow you to check the ideas that have already
been submitted and see whether they match with yours.</p>
<p>If your idea is a close match but slightly different from
something already submitted then you can copy-paste-edit that
submission as a starting point.</p>
<h2>6. Wait, this sounds like Robotlegs 2 is gonna be stuffed with
features and all ... big</h2>
<p>Don't fret - our number one priority is to not break what's
working about Robotlegs 1 - that it's a simple, clean, light
framework which is easy to wrap your head around even if you've
never used a framework before.</p>
<p>That's not changing - if anything we want to make that aspect
stronger.</p>
<p>Nobody could have anticipated how popular Robotlegs would become
- so the originators didn't think "we'd better include tons of
easy-access hooks for the dozens of extensions people are going to
make for our amazing framework!" ... so the weakness we've seen in
version 1 is that while in theory Robotlegs 1 is really, really
extendable, actually implementing utilities and extensions isn't
completely straightforward.</p>
<p>So - Robotlegs 2 will remain a lean framework, and there will
still be a strong prescription for the standard implementation
(that's something that our survey shows you really value) but it'll
be easier to extend and will include some enhancements that we are
sure you'll really appreciate.</p>
<p>Excitedly,</p>
<p>Stray, Shaun, Joel, Till and Robert</p></div>Straytag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-11T22:52:31Z2011-06-11T22:52:32ZRobotlegs 2.0 - how to get involved<div><p>sadly the survey link does not work - just says "Thank you!"</p></div>edzistag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-11T23:26:34Z2011-06-11T23:26:34ZRobotlegs 2.0 - how to get involved<div><p>There was an "r/" too much in the URL, the correct one is</p>
<p><a href=
"http://twtpoll.com/xo5sfn">http://twtpoll.com/xo5sfn</a></p>
<p>@Stray: I've also changed the link in your original message</p></div>Till Schneidereittag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-12T08:35:15Z2011-06-12T08:35:15ZRobotlegs 2.0 - how to get involved<div><p>@edzis - Sorry about that! I guess I didn't check it thoroughly
enough.</p>
<p>@till - thanks - much appreciated - must remember to click my
own links in future!</p></div>Straytag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-12T18:27:46Z2011-06-12T18:27:47ZRobotlegs 2.0 - how to get involved<div><p>Just want to say I am very happy about the news and look forward
to see what kind of tricks you have up your sleves. If you improve
something that is already awesome, what do you got ;-)</p></div>Thomas Troelsentag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-20T01:33:46Z2011-06-20T01:33:46ZRobotlegs 2.0 - how to get involved<div><p>Yeah! {RL}<sup>2</sup></p>
<p>I want help with the ASDocs ^_^</p></div>gz.franciscotag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-22T01:57:26Z2011-06-22T01:57:26ZRobotlegs 2.0 - how to get involved<div><p>FWIW, I think RL 1.0 is perfect. Occasionally I want other
things than what i get out of RL, but to date, every feature
request has turned out to be, very clearly, an extension and not
core.</p></div>squeedeetag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-22T18:31:28Z2011-06-22T18:31:28ZRobotlegs 2.0 - how to get involved<div><p>Wow what a stinking lie.</p>
<p>Sorry. I do have one major gripe with RL1.0, an It's an amazing
person who fixes it. It's really hard to extend :D I can't imagine
any performant way of solving extensibility issues tho, it's a
language problem, not a framework problem.</p>
<p>Not sure if I need to spell out what I mean, I think the core
team are aware, that when you want to add to an interface, such as
adding a commandMap.someOtherMappingMethod, this means you don't
want a ICommandMap interface on the Context, but a
IMyExtendedCommandMap, which means you now need an
MyExtendedContext. If someone else has written an extension to
Context that you quite like, you now have to work out how to order
them, or you just merge them. Either way, version control and
patching becomes extremely problematic.</p></div>squeedeetag:robotlegs.tenderapp.com,2009-10-18:Comment/78037422011-06-22T18:41:19Z2011-06-22T18:41:19ZRobotlegs 2.0 - how to get involved<div><p>That's our main priority in RL2 - extensibility.</p>
<p>Like I said above - nobody ever imagined RL would become so
popular that you'd have the problem of wanting use multiple
utilities at the same time... it's a great problem to have
though!</p>
<p>FWIW - there is no reason why the context needs to have a
reference to a util generally, so in most cases you can just add a
util through a boot strap command (or plain old object or package
level function that you pass the injector to) - as the injector
will hold the reference. But yes - this is the main pain point and
will be the focus of a lot of energy!</p></div>Stray