Thank you for the in-depth feedback, you have raised some excellent points.
(I'll post back with a commit diff once done)
On Fri, Jun 12, 2015 at 9:20 AM, David Zentgraf <
da...@spinshell.com> wrote:
> Hi Cal,
>
> As a critical review of your critical review, I would concur with others
> that it's also lacking a bit. I certainly appreciate criticism as much as
> the next guy, especially since I'm in the middle of building a product with
> Crossbar. However, your critique lacks heft for its conclusion to be taken
> too seriously. I understand you set a short time limit for this survey,
> however that fact also doesn't help the cause.
Admittedly, the time limit has reduced the overall quality.
>
> You do not cite any specific test setup for your performance test, nor
> whether the high CPU usage is a result of Autobahn or other factors. The
> entire paragraph lacks substance and validity. Further, it's about example
> code, not production code.
The high CPU was in relation to browser usage with Autobahn JS, which
anyone can reproduce using the demo page in their browser. However I
only tested with Chrome, so I will try a few other browsers and update
the article to reflect this.
>
> You criticise the "Getting started" docs for "I don't see any documentation
> on what each attribute does". I do believe all options are documented
> somewhere, though not necessarily all within the Getting started page. Are
> you saying you have not found any documentation for the configuration
> anywhere, or that you simply didn't dig deep enough?
On first inspection, many of the class attributes/methods were
undocumented, however I will update the article to give some examples
of this.
>
> Many links to specific code are 404. I don't know if this changed within the
> last day or what. Inline code samples would make for a stronger case.
Apologies, the article was originally written 6 months ago and the
crossbar demo URLs seem to have changed. I also accidentally linked to
the master branch, rather than the release branch, which didn't help,
although this wouldn't have helped in this case as the entire original
repo was moved to "crossbarexamples".
I also did not include my reasoning behind why I felt the demo code
was of poor quality, and will update the article to reflect this.
>
> As others have noted, your critique of the spec is very vague. More in-depth
> examples of what "over engineered" means or samples of how a similar
> protocol might be implemented in a leaner fashion would help your case.
This is a good point. So far I am yet to find any other system which
offers, at least what I would consider, a clean approach. As such it
is difficult to give direct comparisons on how the project as a whole
could be done better, as there isn't much else to compare it to (any
suggestions?)
However I should have provided a better explanation as to why I felt
it was over-engineered, and will update to reflect.
>
> I do think there are valid criticisms of some code quality samples; though
> they do not point towards any concrete problems with how the code behaves in
> production.
> In the context of a severely resource constrained open source project, most
> of your criticism seems to focus on minor aspects which are sort of
> expected. I suppose if resource constrains, documentation issues and polish
> are a deal breaker for you in deciding about a technology, this is certainly
> fair criticism. However, using this as grounds for declaring the entire
> project "unviable" is a bit thin.
I'll update with some examples of clean code by unrelated libraries in
their respective language, with similar team/contributor sizes.
Side note - (imho) it doesn't matter if you have 1 person or 100
people, clean code is within the reach of every project. Having
limited contributors/resources is absolutely no reason to sacrifice
clean code, although this is a wider picture debate that deserves a
whole article for itself. It's also a topic that has historically
divided people, everyone has different emotions towards code, some see
it as a business tool, others see it as an art form, some are a mix.
>
> If anything, you would need to specify your requirements and goals and the
> context in which the project is unviable *for you*. I can certainly see why
> a corporate entity or such would not choose Crossbar/Autobahn at the moment.
> Your review could be much more valid if you'd establish some initial
> parameters for your review.
Fair point, I will update to reflect.
>
> Best,
> Dav
>
>
>
> On Wednesday, June 10, 2015 at 2:49:21 PM UTC+2, Cal Leeming wrote:
>>
>> Hello,
>>
>> I have drafted a code review of Autobahn and Crossbar, and would welcome
>> any feedback/corrections prior to being published.
>>
>> This review was initially done in Dec 2014, but has been updated to
>> reflect recent changes;
>>
>>
https://github.com/foxx/foxx.github.io/blob/master/_posts/draft-2014-12-30-crossbar-io-code-review.draft.markdown
>>
>> As stated in the article, I have a lot of respect for what you guys are
>> trying to achieve, and it's only fair I give you the opportunity to address
>> some of these concerns prior to publishing.
>>
>> Cal
>
>
https://groups.google.com/d/msgid/autobahnws/42c40edd-ab42-43a3-b732-297423aa574e%40googlegroups.com.