Excited for the technical write-up as well. I've been building an app in Angular myself and I absolutely love it. Coupled with a REST-ish API library, it's a breeze in terms of testing and separation of concerns. After using Angular, I can't stand the circus of "server renders HTML that includes JS that has server return JSON that's handled by JS that has server render this other thing..."
How is the last part any different? The server still renders HTML with a JS block requesting your view data (via JSON) and then the JS code (using Angular) renders it.
The difference is that your application server doesn't render HTML; there is no view that produces HTML and sends it as the HTTP response. It's just flat HTML, served up by a generic web server.
This means, among other things, you don't need server-side URL routing or templates. (You need routing for the REST layer, but that can usually be dynamically generated.)
It's just a much stricter separation: the client deals with view logic and HTML and all that, the server deals with pure business logic behind defined interfaces and data formats.
Nice blog post, looking forward to more details about how you leveraged AngularJS. Though I think the service isn't for me, I'd value more the reviews of a million people over the Internet than those of my friends. Just because we're friends it doesn't mean we have the same tastes for movies.
My co-founder Glen who did all the UI work for it is going to write a much more detailed post when the dust settles after launch.
I find it interesting that you prefer the broader "aggregate of the internet" ratings, rather than ratings based on your friends. The longer we run the site, the more we find it's a bit polarising. Some people like the average of the internet, some people like what's essentially a systematic word of mouth setup.
Right, in fact I think both inputs are valuable. Having a nice way to share this info within my social network sounds good. When I like a movie or a TV series I usually post about it on Facebook to share with my friends, but that quickly gets lost in the noise of the timeline, among memes and stuff.
Not sure if it's just me, but when touching the menu controller on the top left, the dom slide over to reveal... nothing. Also, general weirdness using the gear button to change selection between all/enqueues only/ratings only/reviews only. Selecting something other than all does nothing and doesn't persist.
I'm on Android 2.3.3. My Touch 4g slide. Stock browser.
Quick feature request. I have no interest in the second rating scale about how much I would enjoy a film if I watched it again, the vast majority of films I watch I never watch a second time and have little interest in doing so. Please let me rate films without smileys.
This is solving a genuine problem, and it's well executed, but there's no way I'm going to sit there manually rating enough films for the recommendations to be useful.
Have you considered:
a) scrobbling a la Last.fm or
b) turning the collection of user preferences into a game or a quiz of some kind?
I'm curious if your team had experience with "traditional" frameworks such as Rails, Django, etc., and decided to use Angular.js because of certain advantages? It appears that this can be easily done with Rails or Django.
A front end technology like Angular doesn't have anything to do with backend technologies like Rails or Django. Angular is similar to other front-end framworks like: Backbone, Spine, Ember, JavascriptMVC, etc...
We actually use Rails in the back end, but AngularJS makes your life far _far_ better when dealing with the front end. I think they work perfectly together.
Just out of curiosity, where did you scrape the film descriptions from? I'm doing a movie data-mining project at the moment and having trouble getting consistent data from sources.
> we require you to discontinue all use of IMDB in association with this script, and transfer imdbapi.com and imdbapi.net to IMDb, within 3 business days.
can you email your phone details to help@goodfil.ms and we'll see what we can do. Glen has an iPhone, I have an android, so that's been our testing to date.
There is only Opera Mini on iOS, that's not the same beast. But they can download the official Opera Mobile Emulator for a desktop OS: http://www.opera.com/developer/tools/mobile/
There's no Opera Mobile for iOS, it's called Opera Mini, and it's a different beast. Opera Mobile is a proper browser, but Opera Mini is a thin client and uses a web browser running on a server as a proxy - which introduces a number of limitations.
I'm on the Opera Developer Relations team (and a goodfil.ms user) and would be happy to help test in Opera or investigate any Opera-specific issues. Feel free to drop me a mail at danield@ etc.