Show HN: Telescope, an open-source social news app built with Meteor
telesc.pe
telesc.pe
My only concern is what about search engine visibility? If I were to build an app like this with Meteor would Google see the page content?
Meteor does have the spiderable package (http://meteor.com/blog/2012/08/09/search-engine-optimization) which means that URLs such as http://demo.telesc.pe/posts/08d0105f-0a1c-43a1-b11a-5ba8875e... will be indexed by google.
(Actually they won't because we haven't enabled spiderable in this deployment of Telescope, but it would be a one-line change to do so).
Please correct me if I've overlooked something.
You are correct that there's no test suite, unfortunately support for testing is still a way down the priority list for the meteor devs: https://trello.com/board/meteor-roadmap/508721606e02bb9d5700...
I think people have had some success rolling their own testing solutions for meteor projects, but it's all very ad-hoc at the moment, I guess this is the downside of working with a pre-1.0 framework.
Where we are weakest is on tests that are driven by UI scripting. I was really impressed with the system we had for that at Asana and I'd like to do something similar in Meteor. But right now our priorities are opening up the package system and doing a round of server scalability work.
I'd like to see what a fully decomposed meteor application is supposed to look like from an architecture perspective but every time I see an example it looks like this.
Testing frameworks force you to break things up resulting in a better overall design. This is what should be exposed to a nascent community if you don't want serious growing pains later on (look at the struggles the php world is having adopting testing and modular architectures)
I think there are lot's of improvements that could be made to sites like Reddit/HN. But thanks a lot for open sourcing it this will be very helpful to me in learning meteor!
edit: Just noticed you are planning on writing a book. Can't wait!
Also thought I would mention that I have recently gotten more into meteor and related technologies so am going to throw up some links others may find useful:
Here is a "made with meteor" site. Lots have the code: http://madewith.meteor.com
I also went about re writing the "peepcode tunes" app in meteor and then with meteor using the angularJS package. I know lots of people here like AngularJS so maybe you'll be interested. Here they are:
Meteor and angular: https://github.com/Jonovono/Meteor-angular-peepcode-tunes
Just meteor (not done): https://github.com/Jonovono/Meteor-peepcode-tunes
A few nit picks though:
1.The sidebar with the nav bar and youtube iframe should probably be position:fixed.
2. The hovertext for the play/pause button always has the value "Play"; it should toggle to match the state of the button.
Noticed that. I was having trouble getting the youtube video to be how I wanted it. I'll change that.
and true, I had not noticed that.
Thanks for pointing those out!
P.S. I'm a subscriber to your newsletter -- great stuff! Keep it up.
I've been skeptical of Meteor, but this speaks well for it.
Still concerned about the security/data leakage/authentication methodology though.
So while it's possible to send the whole database and let the client filter it, what you really want to do is only send the subset of data that a particular user should have access to.
As long as you do this, I don't see why Meteor would be any less secure than any other environment.
Put another way, Meteor does give you the means to shoot yourself in the foot, but that doesn't mean you should use them.
Although new apps come with the autopublish package turned on (which violates a lot of the security), any real application will have this package turned off.
From meteor's docs @ http://docs.meteor.com/#dataandsecurity:
Data and security
Meteor makes writing distributed client code as simple as talking to a local database. It's a clean, simple, and secure approach that obviates the need to implement individual RPC endpoints, manually cache data on the client to avoid slow roundtrips to the server, and carefully orchestrate invalidation messages to every client as data changes.
So, meteor helps you write RPCs, imo. Just like most frameworks do.
If you are referring to data sent from the client -> server, then yes, everything is an RPC call. But it's a bit disingenuous to say "basically meteor is just an RPC", when meteor does a lot of work to set up (and secure) the RPC calls you'll do most commonly: CRUD operations on the database.[2]
That is to say, calling `posts.insert({title: 'A new post'})` in your client side JS _does_ end up calling a method called `posts/insert`; but that method is wired up for you, including checking the allow/deny rules you've specified and tracking the user who is doing the inserting for you with no plumbing work required on your part.
I wouldn't say that's something most frameworks do.
[1] http://docs.meteor.com/#publishandsubscribe [2] http://docs.meteor.com/#collections
And of course, http://meteor.com/authcast if you haven't seen the 0.5.0 screencast.
Text please.
I will never watch a screencast about programming unless it's Rich Hickey.
Thanks for the Stack Overflow link, I'll take a look!
Aside from that, I don't see the utility of being able to see the stories change order, or comments come in. Especially once you have large numbers of comments and the stories reorder constantly.
I just don't see what is so interesting about Meteor - and I love node.js and JavaScript.
I can't tell if you're trolling or serious.
I've been flipping off people talking about node.js for the last year, and seeing this made me take a step back and go, woa, maybe there is actually something here worth paying attention to.
If you are serious, be more specific in your criticism please. (not restful? large js pages? so what? It's easy to install, templated, pretty, fast. The code seems readable and hackable. That's all the things (except perhaps fast) that's been missing from the sites the node.js people have been showing me for the last year).
This site looks great to me... it doesn't have any tests (as mentioned somewhere else), but hey...
The arguments you stated have more to do with the product of choice than the framework itself. True, real-time changing of things like story order probably doesn't make much sense because it could become terribly confusing when lots of people are using something like telesc.pe. However HN likes to upvote HN clones to the front page because they make for great examples to explore a framework. It's certainly quite a bit more interesting and demonstrative of a frameworks pros and cons than the simple ToDo apps used to showcase most frameworks.
Please try your dismissal again, but with more thought this time.
If you're worried stories would change too fast, that's something that can be tweaked through the algorithm or the UI. In fact I spent a lot of time making sure the UI for new comments didn't disrupt the flow of the page.
Basically, what I'm saying is don't dismiss Telescope just because it doesn't work like what you're used to, and please keep an open mind :)
I have another coming soon that hooks Stripe and Zencoder up.
And next week I will be able to share the link to our company's Holiday special website, built with Meteor.
I can't recommend the framework enough, even in these early stages.
Meteor makes it easy to build such features; sure you could maybe make them happen in other more traditional frameworks, but I can assure you, it would be a _lot_ more code. We wanted to make an easy to understand app in meteor as an example to help people learn their way around the frame work.
We'll be writing more about these features and how meteor made them possible; watch this space!
Congrats, I knew you'd make the front page, Sacha! And so good to know it's holding up, that changes my plans considerably, I'll plod on full steam on top of Telescope and Meteor.
For context, I forked this app for an MVP[1] showing Meteor's own roadmap, up for vote, in HN-clone format, which went live only a week ago[2].
[1] http://www.leakmap.com/ [2] http://news.ycombinator.com/item?id=4815271
Thanks for posting this, awesome to see examples of polished Meteor projects!
Update with link to demo, looks very nice: http://demo.telesc.pe/
Edit: I'm a moron. My comment is about Meteor, not Telescope.
This means it's just a "source available" app but normal copyright applies. I think this can be a bit misleading but nonetheless congratulations!
Do share with us how the application hold up at the end of the day
1. How does the Meteor community look at Coffeescript? 2. Can the backend database be anything other than Mongo?
It's supported by the framework; I've used it on a few projects but now I'm moving away from it (I find the hassles of communicating with non-CS users about bugs etc outweigh the benefits it gives me). That's totally a personal opinion though.