Hello, and welcome aboard!
Thanks for making this happen, guys. I'm very glad to see such an
experienced Erlang/web guy stepping in.
Some comments on the future direction of CB, below:
First of all, I think taking something of a "marketing" approach to
development is not a bad idea. Not in the sense of selling, but of
thinking about where Chicago Boss shines and why people are interested
and will be attracted to it. Focus on that. For instance, CB and
Erlang kick ass for web socket type things, and also make good
backends for REST-style Javascript heavy web apps, where they're going
to suffer less from not having a zillion libraries like, say, Rails or
PHP. For just putting some dynamic content up... well.... Erlang is
not going to easily compete with, say, PHP.
In terms of development, I think something that is critical is nailing
the code down with a test suite that makes it easy to make changes and
see if they break things. This makes it possible for more people to
do more work with ChicagoBoss, without fear.
Another specific thing that I hope you have time for soon is to
reintegrate my forks of ChicagoBoss, boss_db, and mochicow. There
aren't too many outstanding changes and I'd be happy to work with you
to get them integrated.
More comments below:
On Fri, Mar 7, 2014 at 3:19 AM, Jesse Gumm <
gu...@sigma-star.com> wrote:
> Thanks for the kind intro, Evan! (and the BracketPal plug!)
>
> I'm happy to be here!
>
> While my knowledge with ChicagoBoss is still very basic, I do have a
> few things I'd like to do from the get-go: goals that I have set for the
> future of ChicagoBoss:
> 1) SimpleBridge 2.0, which is still in alpha, supports a websocket
> abstraction layer over Yaws, Cowboy, and all other Erlang web servers,
> even if those servers don't natively support Websockets (Inets,
> Mochiweb prior to a few months ago, Webmachine). Further, it
> simplifies the configuration and API thus allowing us to do away any
> server-specific code currently in CB (such as initializing
> cowboy/mochiweb). This is something that I had been planning on adding
> to SimpleBridge, and with Evan regularly prodding me to finally do it,
> it's mostly done. My goal will be to replace the cowboy-specific
> websocket support in CB with SimpleBridge websocket bridge, allowing CB
> to run websockets on any webserver.
To me this looks "nice to have", but, using the project I'm involved
with as an example, we've already picked Cowboy, are happy with it,
and don't foresee changing. It's actively developed, the developer is
friendly and available, and the code is good. My guess would be that
most CB users or potential CB users are in a similar situation. I
suppose something like this might pick up a few Yaws users, but to me
one of the big promises of CB is that it's capable of picking up
non-Erlang users, and there are tons more of those than people using
Yaws.
> SimpleBridge 2.0 Alpha Branch:
https://github.com/nitrogen/simple_bridge/tree/ws
>
> 2) Rework ChicagoBoss.org to actually run on ChicagoBoss, including
> live examples with the full code samples for each demo. Personally, I
> tend to learn much faster from demos with code - and seeing the
> underlying code for each component in the MVC for a page would be, I
> think, highly illuminating, and provide excellent context for new and
> veteran users alike.
> Providing byte-sized examples (see what I did there?) makes for easy
> digestion of new material, so long as the code is short enough and
> commented well enough to be reasoned through. CB's powerful backend
> functionality can definitely provide some interesting examples, such
> as (oh, I don't know) viewing emails sent to the a demo email like
> "
exa...@chicagoboss.org" in realtime with comet/websockets,
> demonstrating BossMQ. Miscellaneous examples like that would help
> illuminate just how much can be done with so little code when using
> CB/Erlang. They then serve as both a learning tool and as effective
> propaganda.
> Being able to say "The homepage for our framework actually runs our
> framework, and here are some cool things you can see it do" helps lend
> it more credibility, in my opinion.
Excellent! This is a great idea.
> N) I do have a freak long-term idea of trying to get ChicagoBoss
> optionally supporting the Nitrogen rendering, wiring, and postback
> engine. Maybe this is a Frankenstein monster of an idea that should be
> shot on sight, but I want to do it anyway "because science" (and
> because writing HTML and Javascript with Erlang strings sucks).
I don't know this well enough to comment. I'd value "opinionated"
over "trying to support a lot of choices" though. Ruby on Rails got a
lot of mileage out of that.
> Ultimately, my main goal here is to help accelerate us toward a
> stable 1.0 release and to make CB as approachable as possible.
> Erlang is incredibly well suited for web development (preaching to the
> choir here, I'm sure), and I want to do everything I can to make it more
> appealing to new developers and businesses alike.
Part of what I meant with the 'marketing' commentary above is that CB
can get out and preach to the non-choir by showing that Erlang is good
at web stuff.
> For now, though, I'm learning the ropes, and taking in as much as I
> can as quickly as I can, so bear with me as I learn and possibly ask
> noob questions.
>
> I'm idling in #chicagoboss, my username is "chops". Feel free to ping
> me. I use IRCCloud, so I'm always connected, and (usually) get mobile
> notifications if you ping me directly.
Cool, thanks!
> So anyways, it's nice to meet you all, and I look forward to working
> with you to make CB the best it can be. And take solace in knowing
> that if do something stupid, I'm in Chicago frequently enough that Evan
> can easily find me and punch me in the face.
I wonder if, once you see some of the compiler magic, the animosity
won't run in the other direction? :-)
Once again, very glad to have you on board!
--
David N. Welton
http://www.welton.it/davidw/
http://www.dedasys.com/