Thank you for the in-depth feedback, you have raised some excellent points.
(I'll post back with a commit diff once done)
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
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
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
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.
On Fri, Jun 12, 2015 at 9:20 AM, David Zentgraf <da...@spinshell.com> wrote:
On Wednesday, June 10, 2015 at 2:49:21 PM UTC+2, Cal Leeming wrote:
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;
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.
You received this message because you are subscribed to a topic in the
Google Groups "Autobahn" group.
To unsubscribe from this topic, visit
To unsubscribe from this group and all its topics, send an email to
To post to this group, send email to autob...@googlegroups.com.
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.