

Goodfilms Goes Mobile - johnb
http://goodfil.ms/blog/posts/2012/09/09/goodfilms-goes-mobile/

======
tdavis
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..."

~~~
nahname
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.

~~~
tdavis
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.

------
facorreia
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.

~~~
johnb
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.

~~~
facorreia
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.

------
sghael
Also looking forward to the technical writeup.

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.

------
drcongo
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.

------
mcgwiz
"We've launched a mobile site built entirely in AngularJS - thoughts?"

My only thought is title-bait. This is a usability article, with _almost_
nothing to do with AngularJS. But hey, I guess it worked.

------
atroche
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?

Good luck!

------
wernah
Great work guys :)

------
vph
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.

~~~
taude
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...

------
tomaisthorpe
I'd check your post date ;)

~~~
tagawa
Nothing wrong with the post date, considering where he lives (Australia).

------
elktea
I couldn't get it to load the mobile version with my Windows Phone 7.

~~~
johnb
Sorry - we haven't tested on a windows phone, so didn't include it in our user
agent matching.

~~~
MatthewPhillips
I implore you to use feature detection instead of UA sniffing.

~~~
tagawa
Same here - no luck with Opera Mobile. As the previous commenter said, please
please pleeeeease don't UA sniff.

------
reitoei
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.

~~~
zalew
try TMDB <http://www.themoviedb.org/>

~~~
reitoei
Yeah, have been using that. It's a bit hit and miss. A lot of the descriptions
are just one-liners: <http://help.themoviedb.org/kb/api/movie-info>

There is also imdbapi.com which is awesome when it works, but it tends to die
a lot.

~~~
ceslami
imbdapi got shut down: <http://www.imdbapi.com/>

~~~
reitoei
> 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.

Wow.

------
the1
doesn't work on opera mobile

~~~
johnb
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.

~~~
moondowner
There's Opera Mobile for iOS and Android guys ;)

<http://www.opera.com/mobile/download/>

~~~
tbassetto
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/>

------
mekwall
Is that a date in the url? If so, its in the future ;)

~~~
sebastianmck
Time zones.

------
jamos
Those animations on my 4s are tight as Glen. Nice!

