
"Getting started with Ember.Js is easy." - No it isn't - floydpink
http://discuss.emberjs.com/t/getting-started-with-ember-js-is-easy-no-it-isn-t/559
======
joshstrange
Trek is making a huge mistake IMHO.

As a developer I can think of nothing more helpful than to get a "steam-of-
consciousness" excerpt from our users. This is something no analytics package
can tell you, if you want to make your "product" easy to use then this is the
exact feedback you need. Delverworld was outlining the various pitfalls of
getting started with ember.js and a core contributor shrugs it off because he
didn't like the guys attitude?

No one likes having their shortcomings pointed out but it would have made much
more sense for Trek to admit that getting started could be made easier and
that the Ember.js team would look into ways to make it easier. Ignoring the
issue like he is "above it" is pretty fucking pretentious if you ask me.

~~~
trek
I have admitted that, publicly, very often, in other topics on
discuss.emberjs.com, on websites, on twitter, on videos, and elsewhere. It's
no secret I'd like to improve the documentation for Ember.js and I'm already
well aware of the places that people are facing difficulty right now.

There's work, if people spent a moment reading the top topics in the forum, on
a getting started guide with a direct call for feedback
[http://discuss.emberjs.com/t/todomvc-based-getting-
started-g...](http://discuss.emberjs.com/t/todomvc-based-getting-started-
guide/433)

I've been extremely vocal in soliciting actionable feedback on that. I'd like
to help!

Discourse isn't for making places like hackernews, where a playful, sometimes
discouraging culture of dickitude is acceptable and encouraged. The goal of
Discourse (a "Civilized Discourse Construction Kit") and our use of it is to
create a place where civil discussion can take place to improve Ember.js as a
framework.

Delvarworld's tone strayed into territory I don't think remains civil because
of his use of sarcasm:

"are you serious?"

"oh god this is going to be fun, isn't it?"

"by the awful grace of god"

"3 more results linking to the first dead article! FANTASTIC!"

And so I signaled that I empathize with his frustrations (because I do) but I
can't participate in that discussion because it violates community norms I'd
like to uphold. If he'd like to rephrase his topic, I'd be glad to help.

Ego and pretension have nothing to do with it. Contributing to OSS is
something I make a personal decision to do with my time. I wish I had an
infinite amount of time, but I don't. Most people associate me with Ember.js,
but I'm very active elsewhere. Did you know I regularly run through all the
TodoMVC examples looking for bugs
<https://twitter.com/trek/status/313015370728501248> ? Most people don't,
because it's just something I quietly do. Less quietly now, I suppose.

In addition to working on OSS, I'd love to maybe find a nice boy to date
(<https://github.com/trek/lonely_coder>), see my friends, visit my aging,
ailing parents more often, maybe catch a moving once in a while, or eat a meal
I'd don't grab on the go running from one obligation to another.

Like most OSS contributors, this isn't my job. It doesn't pay my bills or put
food in my belly. I do it because I'd like to improve the tools I work with
and share those improvements with the larger tech community. In the finite
time I can offer, I have to make decisions about where to expend energy. I
choose to do that in places where I can have the most impact. I don't feel
that I can be helpful when people approach with sarcasm. Rather than remaining
silent, I let people know I'm happy to engage when we trend towards civility.

~~~
bphogan
You got feedback from a frustrated user, and I'm sure you didn't just dismiss
it internally, so why did you dismiss it externally?

Listen, I'd love to be able to write what I want, teach what I want, and do
what I want without getting sarcastic reviews. But unfortunately people get
frustrated and that's how they respond. "Oh, a tmux book? Who needs that?"

"You suck" is very, very different from "the thing you built sucks."

Customer service 101: Go punch a punching bag, have a cry, have a scream, have
a drink, whatever. then reply with

"Thank you for your detailed feedback. It's most welcome. We've already
started taking appropriate steps to build better guides and tutorials. We'll
roll your feedback into those. We're always working on improving Ember's
documentation and every bit of feedback helps."

And then go do those things you want to do for a while.

No disrespect, but this guy gave some pretty valuable feedback that I love to
get when I'm working on a book. He told you exactly where the holes are, and
those are so easy to miss when you're too close to the subject matter.

~~~
trek
In any other venue, I would 100% agree and would not have responded this way.
Delvarworld's tone is totally mild and in keeping with typical internet
culture.

But Discourse's goal is to raise the bar. Significantly. They blog rather
eloquently about it [http://blog.discourse.org/2013/03/the-universal-rules-of-
civ...](http://blog.discourse.org/2013/03/the-universal-rules-of-civilized-
discourse/)

And new topic posters are asked to keep that high standard in mind when
posting. I'm sure his sarcasm was meant lightly, but it still deviates from
the high quality of discussion I'd like to have, and rather than simply ignore
a discussion where I was specifically invited, I opted to publicly explain why
I wouldn't be participating.

What I failed to do, and this shows my failing to keep that high bar, is
explain what we could change to make the discussion civil.

~~~
tomku
I can't help but feel that you're doing an excellent job of proving that a
single short, civil post can do more damage to the community than any amount
of slight sarcasm. If "absolute civility at all costs" is the basis for
Discourse, I'd much rather try to have high quality discussions elsewhere.

Edit: The link you provided has "responding to a post’s tone instead of its
actual content" as part of a list of things to avoid.

~~~
trek
Which is why I opted to say "I'm sorry, I cannot respond".

~~~
jaggederest
Can't you see that that, in itself, is a response?

To not respond would be to _not post at all_.

Edit: After reading the FAQ you linked elsewhere, your response is explicitly
tone-based and unhelpful. I believe that violates the polite discourse rule
more than anything the original poster said.

~~~
trek
As the saying goes: "You can't not communicate."

Not responding is also communication. So I responded.

Privately, to the poster, with a long explanation of the kind of conversation
on this topic I'd love to share, and publicly explaining why I wasn't going to
chime in after having been asked to.

Most people are assuming my only response to him is the one they can see.
They're mistaken.

~~~
anigbrowl
I'm sorry to be blunt, but You're Doing It Wrong. You are not the arbiter of
how to have a good conversation, but the nominal go-to person for Ember.js
documentation. From a cold reading (ie not being an Ember.js user and not
knowing any of the participants in the discussion), my reading of
Delvarworld's commentary is that s/he worked to soften the blow of his/her
criticisms by couching them in gentle humor, and describing systematically the
thought process and frustration encoutnered in trying to get to grips with
this tool. A lot of people would have just said 'this sucks/is stupid' or
something worse.

Slapping the poster down in public without any attempt at a substantive
response, and then sending a long private explanation of how you should be
communicated is a major dick move.* You are arbitrarily setting yourself up as
a superior being and deflecting wholly valid criticism by making such public
pronouncements. Following up with a private message is not much better,
because it prevents the recipient from having the issue out with you without
breaking the implicit confidentiality of email.

* Since you referred upthread to 'dickitide' I am presuming the term 'dick move' is not going to be offensive to you.

Your role as a community member is not to lecture other people in how they may
address you (within reason, there's no reason you should have to tolerate
outright abuse), but to exemplify the standards you wish to propagate. If you
use community standards as a shield to deflect substantive criticisms of your
work, voluntary or not, then you are undermining those very standards by using
them for exclusionary purposes. The fact that you are in a distinct minority
in this discussion and are defending your position by arguing that dickitude
is the norm and you are the exception ought to serve as a red flag for you.

My advice is to apologize to the original poster (ie Delvarworld) for your
dismissive reaction and then engage with that poster's substantive criticisms.
If you truly feel unable to engage with someone who is engaged in the mildest
kind of personal expression, then perhaps being in a liaison position is not
for you.

In the meantime, I urge you to revisit the Discourse blog article you linked
to (where you cited the 'don't be a dick' principle) and keep reading to (at
least) the section titled 'Be reasonable, even when you disagree,' which
includes a plea to avoid 'responding to a post’s tone instead of its actual
content.'

------
wycats
I totally agree that our getting started story could be much better. In fact,
it's our primary focus as we move towards 1.0.

Specifically:

* We're actively working on a Getting Started Guide with live examples that walks the user through building a new application from scratch.

* We're continuing to improve our guides to talk through areas that might be confusing for new developers, like the naming conventions[1] we use in Ember

* Ember 1.0 will feature the return of the Starter Kit[2], which directly addresses the concerns by the OP. We removed it temporarily to bring it up to date with the most recent idioms, but it will be coming back very soon[2]. This was a hard decision that sucked, but leaving around an out of date starter kit seemed worse than removing it.

I take this concern very seriously, and hope that people will continue to give
us a look as we improve the experience for new users.

[1] <http://emberjs.com/guides/concepts/naming-conventions/> [2]
<https://github.com/emberjs/starter-kit>

~~~
adamnemecek
Another thing that would really help Ember's popularity are screencasts,
something like egghead.io, where you'd show off some more advanced stuff. I
know that they'd probably be a lot of work to make and to keep up to date, but
they are pretty invaluable for getting users up to speed. And the time spent
doing these is an investment, you guys would spend less time answering
questions and you'd probably have more committers which also saves time
(maybe).

Edit: Now that I think about it, aren't DHH's Rails screencasts considered one
of the reasons why Rails got as popular as it did?

~~~
rxcfc
There are a few Ember screencasts: <https://peepcode.com/products/emberjs>
<http://railscasts.com/episodes/408-ember-part-1>
<http://railscasts.com/episodes/410-ember-part-2>

Unfortunately, both cost money at the moment but I've heard they're worth it.

~~~
adamnemecek
Thanks, I'm aware of those. Nevertheless, three paid screencasts by third
parties aimed mostly at beginners are not the same as a long-term effort made
by the Ember team to make these videos and keep them up to date. IIRC, the
Rails team was putting out like a video every month or so. This might be one
of the things that made people aware of Rails since even non-Rails devs were
aware of these videos and eventually, some of them were tempted to check out
what the commotion was all about and eventually switched. If you show people
how much one can do with Ember in say 10 minutes, more people will be
interested in the framework.

Edit: Now that I'm rereading my post, it sounds really entitled and arrogant
when it was not supposed to. It's more like "if I were on the Ember team,
here's what I'd try to do".

~~~
rxcfc
Agreed, more screencasts would be wonderful. Unfortunately, we haven't had
time for this yet. It's something we'd love to do if/when time permits.

------
_ak
> The tone of this topic is not in line with the civil level of discourse I'd
> like to maintain here, so I cannot respond.

This sounds like the euphemistic version of "I don't like your attitude, so
fuck off." Not exactly the answer I would want to get as a new user who is
stumbling over terrible and inconsistent documentation and error messages.

~~~
rxcfc
I agree that Trek's response here is not very helpful. However he has spent
countless hours working on Ember's documentation and the fact that it's where
it is now is due to his dedication. There's clearly more work to be done and
we're all very well aware of that. We've been working on a getting started
tutorial but it's been slow going since all of us on the Core Team are very
busy with our day jobs. We hope to get something out for everyone as soon as
possible.

~~~
joshstrange
That may very well be true but it doesn't change the fact that his response
was very negative (much more so than the OP's) and for no good reason. The OP
did not say "Trek sucks, his attempt at documentation is laughable" in fact I
would venture a guess that the OP had no idea who Trek was prior to his
posting. This was not an attack against Trek or the work he has done but
rather a frustrated programmer explaining his predicament and asking for help
and Trek told him he wasn't worth his time. If that's not pouring gas on the
fire I don't know what is. If I were the OP I would completely abandoned
trying to learn Ember.js after a comment like that, talk about kicking a man
when he is already down.

------
clebio
This is all spot on. And despite the somewhat humorous, but not at all rude
tone, this guy did some real leg-work to type this up. Documenting something
in that much detail takes a lot of time (he went so far as to find the missing
dependencies, and copied in the error messages at each step). Duck-debugging
often works because you have to get specific, and logging issues is the same.

I've had this same experience with Node.js (<http://nodejs.org/>), whose
homepage links to API Docs (not at all introductory or even linear). Granted,
they don't say 'easy', but good documentation is still nice to have. Compare
to Django documentation, which is expansive.

And I understand that these various frameworks are for seasoned developers who
don't need HTML closing tags explained to them. But there are so many
platforms and tools out there, and they so often take you from 'toy' to
'enterprise-scale' in this sparsely documented way.

~~~
slantyyz
>> this guy did some real leg-work to type this up

This is important to note. The guy obviously _wants_ to use Ember. To me
that's a signal that if you help the guy out or address his complaints, that
he might actually become a huge cheerleader for Ember.

I am guessing that for every guy who takes the time to complain, there are
probably ten more people who just visit some library's site, try the demo and
cruise the docs, and if it doesn't work, say "this isn't worth more of my
time, next."

That this guy stuck around and detailed what needed work really does say
something.

------
patrickaljord
Had a similar experience, then tried AngularJS. Couldn't be happier :)
<http://angularjs.org>

~~~
VeejayRampay
I'm getting the feeling that Angular has now become the Haskell of client-side
frameworks.

i.e. the one you'll see shamelessly plugged under every single discussion
about any other client-side framework as if it is some work of genius, even
though lots of users tend to agree that it's just yet another take on the
subject that some like better and some don't, with some very lacking and
outdated documentation and a much stronger and opinionated take on things that
is simply not everyone's cup of tea.

With all due respect to the fantastic project that is Angular, I just wish
people would stop flashing it everywhere like it's going to solve world hunger
and programmer distress or something...

~~~
nacs
I don't think the parent post was suggesting anything of the sort. Instead of
claiming to solve world hunger, it looks like AngularJS makes it possible to
actually get started if you're new to this kind of framework.

I haven't tried Ember nor Angular yet (Ember because of a lack of
documentation and Angular because I basically didn't hear much about it till
today) but at this point, I'd use Angular simply because their website
actually looks like it has a quickstart/tutorial that works.

~~~
modarts
I think he was making a greater point about how often Angular tends to pop up
whenever this topic arises (which i've noticed a lot to my annoyance)

------
davidroetzel
It really is not easy. I really want to like Ember, I really do. But I also
gave up after being unable to wrap my head around it.

I read the official documentation, which is well written, but does not cover
the big picture needed to tie everything together.

I watched the peepcode screencast, which is great, even if for me the pace
could have been a bit faster. After that I was convinced I wanted to give
Ember a shot.

I failed very early on, wanting to accomplish two things that I guess should
be very common. But neither one is documented anywhere. And while I found a
few answers on SO, those usually used functions that were either not
documented at all or where the documented said they were meant for something
else entirely.

The first thing was integration with server side authentication. The
foundation was a pretty standard rails app that handled authentication. I
wanted access to the current_user from the Ember App.

The second thing was loading a few models together with the initial page in
order to save additional calls to the server. I do not even know where to look
for documentation on how to accomplish this.

It probably does not help that Ember Data is a seperate project. Ember without
Ember Data is no way near as useful as the combination of both.

Again, I really want to like Ember. I love Yehuda's work on other projects and
some Ember features like data binding look awesome.

But trying to use Ember to write a new app from scratch that deviates slightly
from basic CRUD gives me a headache.

~~~
benburton
I've been trying to put together a basic demo project that seems to do most of
the things you're asking about: <https://github.com/benburton/trakio>

Hopefully it can be of use!

------
mootothemax
This is pretty much why I didn't end up using Ember in a new project. After
getting the same errors and figuring out the same solutions, I figured I had
better things to do with my time.

It's a real shame, but just like developing web apps, you need to make sure
users have a good first experience, otherwise they'll run away.

~~~
charlietran
Did you find a suitable alternative to Ember?

~~~
mootothemax
_Did you find a suitable alternative to Ember?_

I went with Amber in the end. I can't remember if it was more or less painful
initially, but at that point I had spite in my fingers.

Not sure if there's also a lesson in that for startups: will you get lucky
with some users just because they've had a bad experience immediately prior to
checking you out?

~~~
mark_l_watson
Please talk a bit more about Amber. Easy to work with back end REST services?
Easy to deploy?

~~~
mootothemax
_Please talk a bit more about Amber. Easy to work with back end REST services?
Easy to deploy?_

I used it to build a very basic Jabber/XMPP client in a little over a day,
integrating with an existing system.

That's the only project I've used it in so far, and I'm still very much a
beginner user.

All I can say is that it solved a problem with the minimum of fuss and inside
quite a strict time budget, so I'm very happy with it.

------
retube
Hmm. I wonder what this emberjs is? I'll just click the home page link and
find out. Oh. That just gives me the discussion board, which i'm already on. A
bit more looking, a bit more hovering, and.... there isn't one. Close tab.

~~~
bhauer
This seems like a variant of PBSALTPH, a silly initialism I coined when I
found myself ranting about product blogs that don't link to product home pages
[1].

Generally speaking, any subdomain or isolated "region" of a product web site
should always provide a prominent link back to the product's home page. A good
option is to use the product's logo as that link. Using the logo to link to
anything other than the product home page is a crime against the gods of user
experience.

[1] <http://tiamat.tsotech.com/pbsaltph>

~~~
joshstrange
Could not agree more, there was a post on HN about this recently[1] and I also
found this[2] one when searching for the first.

[1] <https://news.ycombinator.com/item?id=5267330> [2]
<https://news.ycombinator.com/item?id=4034972>

------
trolley
Trek doesn't like this guy's tone, therefore he "can't" respond?

~~~
nsxwolf
The guy didn't sound "uncivil" to me, he just sounded frustrated. If what he
reported is accurate, the frustration seems totally understandable.

~~~
Filligree
It's definitely understandable.

I spent about two weeks forcing my way to a functional Ember application,
because the framework seemed to have promise.

In the process I needed to bother the developers on IRC, read a nontrivial
fraction of the Ember JS code, and implement missing Ember functionality from
scratch (KVO-compliant dictionaries).

Ember doesn't work unless you get everything right, and doesn't provide much
in the way of diagnostics, so it was one of the harshest learning curves I've
ever run into. They really need to work on their tutorials.

It works really well _now_ , though. :X

------
pkorzeniewski
I'm always put off by the "look what can be done in just several lines!" code
examples on frameworks front pages, they don't represent anything about the
framework and usually the simpler the example, the more complex the framework
is because everything is "magic" - try to do something differently and you end
up hacking the framework internals.

~~~
moe
It's especially offending when, as in this case, the bragging code-snippet
omits half of the code that is needed to actually run the demo.

Ember is far from the only project guilty of this.

If you want to brag to me then make sure I can copy/paste your example to a
file and _it will run_. I'll take a honest 50-liner over a dysfunct 10-liner
any day.

------
neya
In my personal opinion, I'd like to present a fair comparison with another
similar framework called KnockoutJS.

I challenge anyone on Hackernews to show me better documentation than this
one:

<http://learn.knockoutjs.com>

Notice how things are explained so well as if they were explained to a child,
this is how you should document, IMO.

Also, RP Neimeyer, the creator (EDIT: Committer) of this framework, has
dedicated a significant portion of his life to helping out new comers to the
framework, by having a separate website (<http://knockmeout.net>) (apart from
the one above) to train and help people understand KnockoutJS. This is the
kind of effort every developer should put in, IMO, if they want people to get
off the ground with their framework.

~~~
quarterto
RP Niemeyer did not create Knockout. That was Steve Sanderson. Niemeyer has
make but 9 commits to the Knockout codebase¹.

Knockout's tutorials are great. However, the rest of the documentation takes
the form of other, slightly less helpful tutorials. The only API documentation
is reading the code.

¹
[https://github.com/SteveSanderson/knockout/commits?author=rn...](https://github.com/SteveSanderson/knockout/commits?author=rniemeyer)

~~~
neya
Oh sorry, I didn't know that! But I see only him answering SO questions and
writing blog posts 99% of the time, hence the assumption..

------
FuzzyDunlop
I think the OP in that thread wrote a pretty amazing post, in all honesty.

Unlike your typical "it doesn't work" or "this sucks", the frustrated
individual still takes care to detail, step by step, exactly what felt wrong
or what was missing. In doing so, they demonstrate exactly why it's so
frustrating.

There's feedback not only on the quality of the documentation, but the
_experience_ of getting an Ember app up and running. While improving the
former would make life a bit simpler, the setup seemingly being so involved -
requiring you to manually resolve missing dependencies - still diminishes the
initial experience.

All of this makes it surprising that someone would totally dismiss it in such
an unceremonious manner, and for reasons that are totally at conflict with
what doubles up as a support forum. Is that discussion board there as a
flagship Discourse site, or for support?

------
laureny
Regardless of the technical difference between Angular and Ember, I have to
say that the Angular documentation is one of the best I have ever read for a
software library.

I'm not just talking about how it's written (it's English, it's technical, the
bar is pretty low) but how they structured it to address exactly what the OP
is complaining about: each code listing is shown in a multi-tab pages showing
1) the .html files 2) the .js files and 3) the .css files.

The only thing that could make it even better would be a direct link to a
jsfidle (externally or internally hosted) so I can try and tweak all these
examples without having to write my own, but it's already excellent as it is.

I hope more libraries follow this documentation model.

------
kaolinite
Agree with this - I was planning to use Ember on a new project but quickly
fell through holes in the documentation and had to give up and return to plain
Backbone.

------
patejam
Not a very good way to handle potential users. It is quite the turn off while
deciding between different JS frameworks to have someone representing the
codebase refusing to respond to a user's troubles.

------
Hovertruck
This was my experience when I tried to use Ember as well. Very frustrating.

------
Fando
What an obvious oversight. It is unbelievable that the developers would allow
for a 'getting started' guide with such a poor first impression to exist. I
have had a similar experience with jquery. As someone who has been using
mootools before jquery I was completely furious with the lack of proper
documentation and ambiguity in it. I hated learning jquery. Thank god mootools
exists. Confusing, incomplete or ambiguous documentation is the absolute worst
obstacle to a positive learning experience. I've not tried Ember, but if the
experience is as the author describes, then I shall stick to angularjs. And
what a tragic reaction to the criticism from the ember developer. It seems
fitting that their documentation would be crappy. I'm sure that ember is a
wonderful project and took a lot of hard work to create, but please fix the
first experience - is important otherwise all that hard work goes to waste.
Good luck.

------
saintx
It's a revealing commentary on the nature of the project and its developer
community that this entire conversation seems to be about one dude. Suddenly,
the "ember.js" brand collapses and becomes subsumed by the "trek" brand.

All other factors aside, it doesn't sound like the sort of healthy, active
project that I like to use.

------
regularfry
This sounds... familiar.

Precisely this sort of experience with Ember led me to write a Getting Started
tutorial:
[https://github.com/regularfry/website/blob/master/source/gui...](https://github.com/regularfry/website/blob/master/source/guides/getting-
started/your-first-ember-app.md)

------
mgrassotti
Since my old stackoverflow answer was referenced in this topic , i've updated
it to include a MVP QuickStart Guide. Hopefully this helps delvarworld and
others get started with ember. Feedback welcome :-)
[http://stackoverflow.com/questions/14204674/how-to-
architect...](http://stackoverflow.com/questions/14204674/how-to-architect-an-
ember-js-application/14205734#14205734)

------
electic
People rave about node.js and kock ruby. People rave about ember and knock
backbone. But when it comes to building apps, the tried and true approaches
are the best I've found. There is plenty of documentation online and that
really helps when you are starting out.

When I gave ember a whirl, the lack of documentation, forums, or just anyone
using it -- outside a core group -- was very disturbing.

~~~
pekk
Erm, backbone is not exactly trivial for fresh newbies to learn...

~~~
slantyyz
That might be true, but the documentation is fairly comprehensive and well
done. The docs were indispensable for me when learning how to use it.

------
ehutch79
If the new user 'try this out' tutorial is busted, and the core team knows
this. why is ember being pushed so hard?

recently there were many articles on HN itself about how great ember is. if
it's so great, why is it people get frustrated with the most simple tutorial?

Why was the response 'i refuse to respond' instead of 'this is a known issue,
we're working on it as fast as we can'?

------
gcao
With my due respect to guys behind Ember, I don't understand why Ember gets so
much attention. It has been in works for 4~5 years now but has not reached its
1.0 status. I've seen many complaints about its learning curve, documentation
etc. However, when people talk about Javascript web frameworks to learn, it is
often brought up as a candidate. Maybe someone can tell me why people think it
will be a serious contender in this fast moving area.

------
ErikRogneby
trek: "I definitely feel your frustration. The tone of this topic is not in
line with the civil level of discourse I'd like to maintain here, so I cannot
respond."

Wow, could that response be any more passive aggressive?

~~~
re_todd
Good point, and very thin-skinned. On the other hand, isn't this how many
developers think and act? At least trek is being honest about it.

~~~
ErikRogneby
many or most? I think of most developers as folks who are asked questions "is
it possible to do X?" and can't help answering "yes, but..." of course it's
possible. And would equally be embarrassed when their code doesn't live up to
marketing spin.

I also think any developer worth their salt is going to respond sheepish and
apologetic when their code neither adheres to convention of the collective
hacker zeitgeist or is documented sufficiently for someone reasonable to get
it up and running quickly.

Maybe we need a new acronym: SNAP! "Sensitive new age programmer"

------
pixelhandler
I would like to say " __nothing is easy __"; a mentor taught me that long ago.
Also, when I read on the Ember home page that Ember is for building ambitious
web applications, right a way I though I better read all the docs, the source
code, and the tests to get to know what Ember does.

Since _nothing is easy_ I would say that the Ember community is totally aware
of that and very helpful. I was very impressed by the guides and the api docs.
Reading the Ember source and especially the tests has helped me to begin to
understand how Ember works.

For me getting started with Ember was not about completing a TODO app or just
watching a tutorial video and then pounding out some code. But instead has
been about studying existing applications like the Discourse application or
the Travis app. I recently say I sweet Emberpress app much like the iOS app
"Letterpress" and was amazed at how well the code just makes sense.

Getting started with Ember takes ambition and IMHO is well worth the
investment.

------
tibbon
About nine months ago, I tried Ember. I'm not a huge javascript guy, but I'm
pretty good in Rails and have written a handful of javascript things. But
anyway, I just couldn't get the stuff to work. All the tutorials,
walkthroughs, getting started guides, git repos.... just tons of cryptic
errors, strange behavior and terrible documentation. It seemed cool. I really
wanted to like it.

But- I essentially got "the documentation is in the code" as an answer.

I don't know why Javascript programmers can't be bothered to return
_meaningful_ errors that actually hint at fixing the problem, especially when
they are super common errors that everyone hits (such as the Handlebars
version thing that was mentioned here).

------
gosukiwi
With all the time and frustration needed to learn Ember just do it with
Backbone

~~~
modarts
This was pretty much my pathway to developing my current app on Backbone. I
think Backbone hits the sweet spot in terms of abstraction needed to structure
an application in a maintainable way (and plays pretty nicely with require.js,
which buys you a much better ability to break your app apart)

------
zaius
I've had a lot of trouble with learning ember while dealing with all the
breaking changes as it's moved towards 1.0. The ember core team have said
they're updating docs, and trying to get outdated tutorials marked as such,
but until that time it's still a bit of a minefield.

So, if you'd like to chat about ember with other people learning, and not just
have a channel full of unanswered questions (i.e. #emberjs), come join me on
freenode at #emberjs-chat

------
ef4
I'm going to offer some unsolicited advice. The constructive way to deal with
a project that you find interesting but undocumented or otherwise unpolished
is to _attack_. Attack the bugs one by one as you hit them. Go straight to the
source and read, read, read.

Ain't nobody got time for that?

Ah, but grasshopper, it seems hugely difficult to you _because you lack
practice_. If you get in the habit of attacking code like this, you will get
faster and faster at it. And then the next time a project comes along that's
cool, bleeding-edge, and undocumented, you'll just pick it up and be working
in no time.

Reading is the secret weapon that turns a mediocre programmer into a great
programmer. You need to read a lot of other people's source code. And a
situation like the one in this post is ideal: you have a specific problem
you're trying to solve, and you have access to all the relevant source code.

If you really don't have time because you need to ship yesterday, then why are
you trying to use pre-1.0 software? Go use something boring and proven.

~~~
polshaw
Why not put that effort into learning JS instead of fixing someone else's JS
framework?

~~~
ef4
Your question implies that frameworks are only for people who don't know
Javascript. You might want to reconsider that.

------
mark_l_watson
I have some sympathy for the author of this comment. I have probably spent 25
hours trying to spin up on Ember.js in the last few weeks, concentrating both
on Ember.js itself, and how to work with REST back ends written in Node.js and
in Clojure (I have a few simple examples of this in public github repos).
Yesterday I struggled getting simple auth working.

I am taking it a bit on faith that this work will pay off, even though my
usual development "use cases" are fairly simple web apps where I just use a
little AJAX (often pjax). I am assuming that if I master Ember.js then I will
build more complex stuff.

I like Ember.js and Node.js - a light weight development kit. A few years ago
I was doing GWT/SmartGWT for a customer: produces nice interactive web apps
but development feels like running through mud.

------
ryan_f
Isn't all of this just blown out of proportion? Why not focus on how to help
improve ember.js than one person's response? Even if that person contributes
to the documentation and to the project. Get over it already.

~~~
kanja
It's incredibly out of proportion - but people really want to use ember
(because it promises all these great things!) and they're frustrated by the
docs (because they're not really good for first time users) so this is kind of
a flash point.

------
gbadman
For those who are finding it difficult to get a hello world up and running,
see: <http://plnkr.co/edit/gist:5206526?p=preview>

------
undoware
I think that a lot of the kurfuffle viz. trek's response is a forum cultural
shear. Trek's site is on Discourse, which has its own stricter rules of
engagement that supercede those of the broader FOSS community. The rules on
Discourse are moreover reasonable and well-advertised, even if you (or I) find
them a touch stilted. It is trek's right and freedom to maintain whatever
culture he sees fit on his site.

------
nkozyra
As an addendum, I tried Ember out and found it to be fairly easy. Is it plug
and play, so to speak? No. Will it work in about 5 minutes, assuming you're
well-versed in client- and server-side Javascript? It should.

"Easy" in this case means for the intended audience. Turning on a computer is
"easy," but not if you tasked someone who'd just traveled from 1800 to do it.

------
delambo
Trek must have been a perl monk, back in the day.

------
jcolemorr11
Died laughing when I saw this title because it's exactly what I thought about
Ember. For speed of development I kept flirting with Ember because of the
"positives" I've heard. The oddities of its ecosystem and the rather
disgruntled/angered contributors backlash towards negative feedback has really
cast a negative shadow on it.

------
Vekz
Beyond Ember.js this is a highly constructive approach to any API Library you
are developing. Developers tend to disregard User Experience when building out
tools for other developers. Put yourself in a first time users perspective
like this and try to relate to that stream of consciousness.

------
robotmay
Does anyone know of a JS framework which plays nicely with Server Sent Events
or WebSockets? I've tried pretty much everything so far, and it's always a
colossal hack to implement, as none of them seem to have been built with
anything other than CRUD in mind.

~~~
kaoD
SocketStream which is built around RPC (at least it was like that on 0.3 which
I tried) and Derby.js which is build around model-view binding.

I used both a long time ago, not sure if they're still maintained.

~~~
robotmay
Ah I quite like those two, but I was hoping for some client-side ones as most
of my projects are in Ruby :)

I should try a project on Node again at some point, it has been quite a while.

~~~
kaoD
It seems to me that this isn't feasible in pure client side because the server
would have to agree on some kind of protocol.

Server-side is mandatory here. Unfortunately I cannot recommend any since I
don't do Ruby :(

Maybe you don't need a framework but just a JSON-RPC[1] library.

[1] <http://en.wikipedia.org/wiki/JSON-RPC>

~~~
robotmay
I'm really just looking for a model system that allows simple updates of
objects in its identity map with data from an arbitrary source. Backbone is
the closest I've found to supporting this with the least effort. I'd rather
like to use Server Sent Events, as there's decent support in a variety of
languages and it's pretty simple; it's just that no current frameworks seem to
have been built with those sorts of technologies in mind.

I've largely resigned myself to having to hack support into anything I try.

------
ebryn
FYI, Rob Conery just posted a great post that addresses the exact issues the
OP had: <http://wekeroad.com/2013/03/20/ember-baby-steps>

------
dysoco
Well damn, that's what you get for choosing something new and Bleeding Edge.

People expect a lot of documentations, tutorials, good community and comercial
support for something that was released a couple months ago...

~~~
modarts
The problem is the fact that the marketing copy on the site + the messaging by
the contributors would lead one to assume that Ember is pretty well polished,
stable and ready to build big things on top of -today-.

------
readme
This is a good example of a bad attitude.

This person was someone who had the skills to plow through the frustrations
and could have made a contribution by writing that missing tutorial, but
instead chose to gripe.

------
melc
From personal experience in order to get started just checking out the
documentation(i had started with the old documentation now called guides)
should be fine. Some googling around might be needed but should not take much
time. Generally i agree that it is a bit hard to get used to the framework,
but if one has the ability to look in the console and figure out errors,
should not really have any problems getting started with emberjs. Also just
grabbing code from the first page, i don't think is a really good idea. Does
this technique work with other popular frameworks like <http://nodejs.org/>
<http://jquery.com/> .... ?

------
scottcanoni
Bad move Trek.

------
doki_pen
A decent screencast:

[http://toranbillups.com/blog/archive/2013/03/02/emberjs-
rc1-...](http://toranbillups.com/blog/archive/2013/03/02/emberjs-
rc1-introduction-screencast/)

------
thwest
Shoutout to everyone on freenode's #emberjs that has helped me work through
these troubles.

------
desireco42
Thank you for writing this. That is all I am going to say.

------
mhinze
I'm so numb to this kind of pain...

------
rxcfc
_Moved to the correct thread per @kbenson's response_

~~~
kbenson
You responded in the wrong order. The important point is that Ember is trying
to improve, and values the feedback, right?

Defending another team member that you didn't think represented himself well
should be secondary. He's a grown man, and can defend himself if needed
(especially from the fallout of his own words). Addressing this first just
gives me the impression that Ember is focusing on, and learning the wrong
lesson, from this problem.

~~~
rxcfc
You're right, this should have specifically been in response to the post that
was expressing frustration with Trek.

------
jam_tmrw
Love ember!!!

------
seivan
The only truth I've seen is on the first page of <http://batmanjs.org>

It is _THAT_ easy :)

------
VMG
The all caps headline is a little too much for my taste.

~~~
DanWaterworth
... says the one with the all caps user name.

It's not quite the same, I know. I saw your comment and had to respond.

~~~
VMG
I'd change it to lowercase if I knew how

------
nkozyra
Well the "it's easy" is the selling point, no? I suppose the "ease" of using
it depends on one's aptitude. 8-)

------
__herson__
Well, programming is not always easy.

I felt that kind of frustation when I tried for the first time almost every
library/programming language that I'd worked with, either with java, backbone,
coldfusion, rails...

Trying and researching things is always part of the process, we can't run away
from that.

~~~
mootothemax
_Trying and researching things is always part of the process, we can't run
away from that._

You're right: there will always be a learning curve, whatever is being learnt.

I think the problem with Ember is that it makes the opposite claims, and fails
to deliver, only because the documentation is lacking.

~~~
__herson__
Yes, I meant that when I start to learn thing like java and rails, everybody
said that these product were easier than "x", but I didn't find them that way.

