
Thank You DHH (and others) - FooBarWidget
http://differential.io/blog/thank-you-dhh-and-others
======
delroth
Meteor is so great that your blog post seems to load only 25% of the time on
my 3G connection, freezing for no apparent reason on a useless "We work at
Cintrifuse" page the rest of the time (without any indicator that it's loading
anything - and leaving it untouched for 5min does not help).

Scaling is good, having your website actually work is IMO better.

~~~
naiquevin
> on a useless "We work at Cintrifuse" page the rest of the time

Looks like it's the header and footer joint together waiting for content to
appear in between delivered via websockets.

Never tried Meteor but I don't get the point of using websockets for blog
posts unless it's purely for learning. Does Meteor encourage such use of
websockets? If yes, why? (Genuinely curious)

~~~
joshowens
We are tracking realtime readers in the sidebar and plan to start doing inline
commenting and passage favoriting.

I also think it is cool that I can fix typos realtime while people are
reading.

~~~
joshowens
Google appends a ?_escaped_fragment_= onto the url and the spiderable package
serves up a copy of the article from phantomjs. See
[http://differential.io/blog/thank-you-dhh-and-
others?_escape...](http://differential.io/blog/thank-you-dhh-and-
others?_escaped_fragment_=)

------
matthewmacleod
Meteor is great, in that it's a really interesting look at what the future of
web app development could look like - we've got ubiquitous JS runtimes on
servers and clients, always-available internet connections, that kind of
thing, and we need to be looking and playing with other approaches. And I
think Meteor's is interesting.

But it's not going to 'kill' Rails any more than Rails killed PHP. I've seen
loads of frameworks and indeed developers pop up who have taken the great
ideas that frameworks like Rails had, and incorporated them into PHP projects.
No doubt we'll see the same over time as new frameworks and tools arise
elsewhere. And ultimately what we want is a better, more diverse selection of
tools which are competing with and learning from each other.

Would I build a production app in Meteor? Almost certainly not. I'll probably
have a crack at a prototype sometime soon (last time I tried, it was too
underdeveloped to use) and no doubt I'll learn a bit on the way. But
Differential's site is not an encouraging example - it requires JS, feels
pretty slow and broken in places, and offers nothing that couldn't be executed
as well (or better!) using any other toolset or framework.

~~~
joshowens
What are you finding is broken in places?

~~~
matthewmacleod
So I noticed a few things as I looked around:

\- When I first hit the linked blog post, I saw a blank page for four or five
seconds. Not so bad, because I know what's happening, but jarring.

\- Then I see a footer for five or six more seconds, with no page content.
Again, I know what's happening, but I can see that looking sketchy for people
who aren't developers:
[https://www.dropbox.com/s/d1mezohgixlneeu/Screenshot%202013-...](https://www.dropbox.com/s/d1mezohgixlneeu/Screenshot%202013-11-16%2014.21.19.png)
\- and it's going to be worse on a slower connection.

\- I see that same view on several different pages when I initially navigate
to them.

\- Hitting the home page occasionally freaks the browser out. I don't know
what it's doing, but I get multiple animations of the main banner and some
flickering etc.

I may have been a bit dismissive - sorry about that. I do get that
"dogfooding" a tech stack as it were is pretty important. What Meteor's going
to be good for though is highly-interactive, collaborative apps, and it'll be
really nice to see some demos of that, rather than yet-another-could-be-static
site.

~~~
joshowens
No, I love the insight! Thanks for replying with all this, we will take a look
at these things. We've built 15 production apps and we are still learning
every day.

------
rhgraysonii
This really hits the nail on the head for me. I discovered meteor when I was
just beginning to seriously code web applications, and regardless of the
downsides it has, it was truly, truly fun. The ability to rapidly go from idea
to implementation is extremely fast, ridiculously simple to pick up, and it's
all in a simple to learn language, even for an absolute beginner.

Would i build my production app in meteor right now? For a prototype, yes.
Would I transition from an established web application with a large userbase
to meteor? Almost definitely no, at the current stage. But what we glorify
here in this startup culture is to get an idea out and see if it works, and
Meteor is absolutely amazing for exactly that. The simple deployment, the ease
of use, and the freedom to build the structure as you choose (for better or
for worse) truly opens many, many more doors than it closes at the early
stage.

I'm no fanboy but I'm very excited to see where Meteor heads in the future and
am extremely glad that it continues to gain traction and attention, be it
positive or negative.

------
MatthewPhillips
If you're intrigued by Meteor and real-time apps but are turned off by the
need to live in the Meteor ecosystem and the magicness of it all, I highly
recommend checking out Feathers[1]. Feathers is built on top of Express and
Socket.IO so there is no magic, all Express middleware works, and you can use
whatever client-side framework you prefer, it just gives you the real-time
benefits for free without the commitment you have to make by switching to a
big framework like Meteor. (I'm not affiliated with Feathers, just a fan).

[1][http://feathersjs.com/](http://feathersjs.com/)

~~~
joshowens
Meteor.js is built on top of node, connect, and socket.io... Not really much
magic here either, once you dig into it - just like any framework.

------
Tarang
I really like coding in Meteor. When deciding instead of thinking as to
whether I should use meteor I thought on why I shouldn't.

The main reason to not use it was scaling but It's evident the meteor guys are
working on that for the 1.0 release. (See [https://trello.com/board/meteor-
roadmap/508721606e02bb9d5700...](https://trello.com/board/meteor-
roadmap/508721606e02bb9d570016ae))

Hopefully they do this well but I feel from their work before they will. I've
been using Meteor since it was sub v0.2 and its just improved each iteration.

First it was the license, then authentication, then it was routing, then its
ability to play well with JQuery. Slowly all of the issues with it are
disappearing.

One thing I like is in meteor code is isomorphic. And on the server I'm not in
the callback hell I was having with node. So there are evented fibers that do
all this stuff and the code remains clean! Best of both worlds.

~~~
1qaz2wsx3edc
Growing pains, that's all.

They've really done a lot of work. The jump from 0.6.4 to 0.6.5 was 775
commits. Wow. We're seeing concepts being fleshed out, they'll be refactored
and strengthen in time. The team seems to be fully focused on 1.0.

Scalability is still a big concern, but it's only a problem you can be so
lucky too have.

Meteor still needs to improve code structure, there's no common architectural
pattern yet (just some lose guide lines). In my opinion, it would be a
benefit. Meteor is still in its infancy and a developer is left to their own
devices, rather then common sharable patterns. Rails does this well with the
plethora of use-case strengthened API design, a benefit of it's maturity.
Meteor will get there.

~~~
joshowens
Yes, I remember rails going through this same "growing pains" of leaving a lot
of stuff up to the developers. I look forward to the ride Meteor will provide
and see where it gets.

------
naiquevin
Heads up - On every blog post it seems to be showing the same figure for "x
other readers are here" which is misleading.

~~~
joshowens
Yeah, we implemented it naively in a few hours one night this week, we plan to
go back and do a deeper sidebar listing our urls.

------
jtfairbank
Just a heads up- your headshot flashes white every time a new reader loads or
leaves your page and the XXX readers are here line updates. Its quite
distracting now, since you're on the front page of HN and a lot of people are
going to the article.

~~~
joshowens
Thanks, I hadn't seen that, I will look into it. I know the new Meteor UI
release that is forth coming actually solves the very issue of rerendering too
much of the page when you update one thing.

------
jaredcwhite
The future of the web isn't "everything in JavaScript" \- it's everything in
whatever damn language you like.

The JS runtime is nearly, or is now perhaps, perfectly capable of being what
your own language "compiles" to - for instance, I love Ruby so I'm betting on
Opal (execute REAL client-side Ruby). Others like JS variants such as
CoffeeScript or TypeScript.

So...Rails isn't going to get killed - it's simply going to evolve to support
rich real-time client + server apps written in Ruby, period. That's my take on
it, anyway, and that's what I'm planning on.

------
h2s
I have a vague feeling of excitement about the future of JS development in
general. Whether or not Meteor is going to be the bringer of that bright
future is something I'm not so sure of.

On the topic of constructive criticism, differential.io could really do with
ditching that "We work at Cintrifuse" interstitial before the blog post is
displayed. In the spirit of being constructive, I will simply say that my
experience as a reader would have been vastly better without it.

~~~
joshowens
We are actually lacking a loading screen, so you are just seeing the header
and footer mashing together while the content loads.

~~~
h2s
It's funny, my gut reaction to your explanation is one of technological
conservatism. "This is a problem that shouldn't exist! Don't use JavaScript
for that!", I want to exclaim.

But I remember thinking similar things years ago when Slashdot introduced a
bunch of JavaScript enhancements on top of what had been a very spartan HTML-
based comment UI. The technologically conservative point of view was wrong
then, and I think it'd be equally wrong now.

~~~
joshowens
Yeah,

My mind initially had trouble accepting the changes in how to think about data
and reactivity, but I think it has been worth it in the end. Very much a
"there is no spoon" type of moment.

------
joshowens
Thanks for all the great conversation guys and gals! I didn't post this, but I
am glad it made it to HN for sure!

If you are looking to get into Meteor, check out
[http://yauh.de/articles/376/best-learning-resources-for-
mete...](http://yauh.de/articles/376/best-learning-resources-for-meteorjs) and
be sure to join [http://crater.io](http://crater.io) to keep up on the latest
news.

------
instakill
What do you use for the counter showing how many current users there are? GA
API?

~~~
Tarang
It looks like they're using a publish function (Meteor) to send down the
number of users reactively.

~~~
joshowens
You are correct, we are tracking open DDP connections to the server inside the
node.js backend meteor gives us.

