Mostly just because Angular just feels the best to me out of all the frameworks I've tried. I've built a few trivial apps in Backbone and Knockout and some more complex stuff with Ember, and Angular just works the way my mind works more than they do. I always feel like I know where everything needs to go (with Ember I constantly felt like I was doing it wrong) and the thick templating layer makes sense to me.
I'll have to disagree with you, I think that's a useful answer :)
It's good to hear these things even if it's just anecdotal and unquantifiable. I've only really worked with Ember and I feel the way you do. It's always interesting information from someone with experience in multiple frameworks (especially when they're all so young and we're all a bit lost as to which one to build our next project on).
Actually it is helpful, the money quote in your answer is: "Angular just works the way my mind works". You "marry" (or stay) a framework (after trying other options) because it makes sense to you, overall that's the way it should be.
I like it's clean and simple layout. Really nice work.
A little feedback: When someone is on video page, you have this icon http://d.pr/i/eOEE to increase video size. It looks more like an "index of categories" icon. I'd change that.
Also the left vertical bar to restore default layout, you are showing once video is full size is not apparent enough. I'll experiment some other colors or maybe a small "plus" like I did here http://typezebra.com.
Thanks, that's actually one of the parts of the site that I'm still unhappy with, glad it's not just me. I'm currently trying to work out a more user friendly way to handle that--I'll try out your suggestions. Thanks!
My first guesses were to click the whitespace around the video (since it doesn't take up all the window, just most of it), to press the escape key, and to press the back button. None of those did anything (except back, but that took me to the homepage instead of the video view), so they're what I'd use as starting points.
Hi there, just wanted to let you know I changed the way toggling the sidebar works and I'd appreciate any feedback you have time to give? http://toogl.es/#/view/oFR4L6GegXA is an example link.
Hi again, just wanted to let you know I changed the way toggling the sidebar works like you mentioned and I'd appreciate any feedback you have time to give? http://toogl.es/#/view/oFR4L6GegXA is an example link.
Nice. It's far more noticeable now. Perhaps you can change the icon to a smaller one when the video is full screen, just to indicate to user he is going to make screen smaller after clicking it.
good job. adding recommendations would provide continuity. rating preview is a good feature; i've always wondered why youtube does not provide it by default.
Thanks. I was thinking of adding recommended videos as a tab (alongside an "Info" tab) when viewing a video, so you don't see it by default but you can click the tab to see them if you'd like. Does that implementation sound good to you?
Really cool stuff.
I think about using it instead of the usual one.
One thing though : when switching from video to video (by clicking links at the end), the rest of the webpage doesn't update (at least on my computer).
Yeah, that's because the player is just a plain old iframe embed. I'm planning on adding related videos to the sidebar (as a hidden-by-default tab) which will hopefully help.
This is pretty cool! Not only is Angular my fav. js framework, but there are no comments underneath the videos. Sometimes while watching a video on YouTube I'll catch a glimpse of the user comments by accident and I'll feel dirty for the rest of the day. Bravo, sir.
Side note: I would really like to see an infographic on the average number of comments it takes for a thread on YouTube to degenerate into nothing but name calling and racial slurs. Maybe separated by category, and adjusted for number of views.
Pretty awesome! The one big feature I'm missing is comments (Not visible by default, but maybe they could appear from a button at the bottom of the description?) Also, it'd be nice if the time links worked (Some videos have times in the description that help you navigate, especially on full album uploads).
I'm probably not going to integrate comments, but note that you can click the name of the video you're viewing to go to the YouTube page for it if you really want to see comments for it.
Would you mind linking to a video with a time in the description if you have one handy that I can use for testing?
missing comments could very easily be seen as a bonus feature. The youtube comments are pretty much the lowest form of human intellect, mostly racist, sexisit or any other ist coupled with lol's and "work at home" spam. I am happy not to see another youtube comment in my life ever again.
I know this currently isn't discoverable and I'm working on that (and it's also funky because it's on every user page, not just your own, but I'm trying to avoid logins), but feel free to try it out and let me know if it does what you're after.
Do you have anything on https://www.youtube.com/my_subscriptions (i.e., new subscription videos)? It just displays the "new" ones, not all of them, due to a limitation in the YouTube gdata API.
I don't see anything there (under favorites or subscriptions), but I didn't expect to, either, since I was never asked to log in.
It would be very nice, though, to be able to add videos from my subscriptions to my watch later list, and then watch that playlist while being able to reorder/remove videos.
That worked for me, although it also didn't include all the subscriptions. Could that be a bug on your end, or are some channels somehow private and not others?
What I'd really like is a quick way to dismiss some of the videos from my subscriptions that I don't want to watch. That way I can come back again later and see only the ones left. I realize this is really just a 'watch later' playlist, but I'd prefer to remove things (permanently) from my main subscription interface.
This actually doesn't use Node (or any server side code) at all--it's 100% client side. It queries the YouTube gdata API using JSONP.
I'm a little surprised at how fast it is though--I think it's mostly due to the fact that YouTube returns API requests really really quickly and Angular does a good job of reacting quickly, plus I'm not using jQuery or anything besides Angular that could slow things down.
Not sure what you mean? Why would it consume a lot of bandwidth? Videos and images are streamed directly from YouTube and all of the API interaction happens client side so it doesn't go through my server at all.
I prefer Angular over Ember/Backbone/Knockout just because it makes more sense to me and I like the templating layer, but there weren't any YouTube-specific advantages or anything if that's what you mean.
Perhaps part of the difference is that the PS3 is actually fairly underpowered by today's standards for general purpose computing (CPU intensive stuff, unless specifically made with their architecture in mind.)
This is a decent enough youtube front end, but I'm not seeing what the framework does for you? The whole app is very trivial, using he gdata api is simple javascript and the layout is again very simple. bootstrap and a few hours of javascript would accomplish the same thing? If it had used isotope js maybe to sort/filter the videos, or mayve vegas js for some interesting eye candy, but what's the big deal here?
Client side routing, infinite pager, auto-updating search results as filters/sorts are changed, good client side templating with on the fly updates, etc., are all made a lot easier by Angular.
If you're worried about page size then note that I'm not using jQuery or anything besides Angular and Angular is only like 76KB. If I removed Angular and put in jQuery and a few plugins then I'd be at roughly that same number, and I'd need more custom code to go with it. So why not use Angular?
Or, if you're just wondering why this is worthy of the HN frontpage, then I can't answer that. :)
I wasn't wondering why this was front page on hn, I've long again tried not to second guess what appeals to the masses. Just look at your own product's trending for that. Who'd have thought that Maru's first snow encounter would be youtube worthy!
I don't mind page size either, everything I've ever written has started out including jquery. Anyone that argues that jquery is too big doesn't have a clue what they are talking about (CDN's/Cache etc)
Having written dozens of web apps that use mustache, I totally get why you like client side templates (json+mustache is completely awesome), bootstrap is awesome.
My point was that with bootstrap, json, gdata, mustache etc the features you mention are all straightforward, no Angular required. Nothing wrong with AngularJS. No disrespect intended. I was just saying that I could have put that together with the technologies I mentioned very easily and quickly with all those features.
I liked it though, I wasn't trying to put down what you've done.
> I liked it though, I wasn't trying to put down what you've done.
Thanks! No worries!
> My point was that with bootstrap, json, gdata, mustache etc the features you mention are all straightforward, no Angular required.
Sure, but I could just as easily turn that around and say with angular, all these features are fairly straightforward, no jquery or bootstrap or mustache requred, right? Why is one better than the other? Or if they're not, why bring it up (serious question)?
Do you really lack this much tact? Why not build up your own YouTube frontend without any framework / library -- post it here, and then we can chide you for all the time you spent re-inventing numerous wheels?
107 comments
[ 83.4 ms ] story [ 3652 ms ] threadIf you like it, there's a Chrome extension to redirect YouTube video pages to Toogles here: https://chrome.google.com/webstore/detail/toogles/kljfdbkcac...
Why did you choose Angular over competing frameworks? I'm researching which JS framework I should invest my time in.
Sorry, I know that's not a very helpful answer.
It's good to hear these things even if it's just anecdotal and unquantifiable. I've only really worked with Ember and I feel the way you do. It's always interesting information from someone with experience in multiple frameworks (especially when they're all so young and we're all a bit lost as to which one to build our next project on).
Nice webapp by the way!
http://docs.angularjs.org/tutorial/
I am currently using this youtube extension for a more minimalistic version of youtube
https://chrome.google.com/webstore/detail/youtube-options-fo...
There is a full version here, with some tweaks that the sandobx version can't do
https://spoi.com/software/yto/
A little feedback: When someone is on video page, you have this icon http://d.pr/i/eOEE to increase video size. It looks more like an "index of categories" icon. I'd change that.
Also the left vertical bar to restore default layout, you are showing once video is full size is not apparent enough. I'll experiment some other colors or maybe a small "plus" like I did here http://typezebra.com.
One thing though : when switching from video to video (by clicking links at the end), the rest of the webpage doesn't update (at least on my computer).
I know this currently isn't discoverable and I'm working on that, but feel free to try it out and let me know if it does what you're after.
Would you mind linking to a video with a time in the description if you have one handy that I can use for testing?
(listening to Solar Fields (and I bought this!): http://toogl.es/#/view/c_KuGgpqbes )
I know this currently isn't discoverable and I'm working on that (and it's also funky because it's on every user page, not just your own, but I'm trying to avoid logins), but feel free to try it out and let me know if it does what you're after.
EDIT: Found it! http://toogl.es/#/user/E8OXL41NDk4aZkvxSbJolg/subscriptions but there's nothing there
Do you have anything on https://www.youtube.com/my_subscriptions (i.e., new subscription videos)? It just displays the "new" ones, not all of them, due to a limitation in the YouTube gdata API.
It would be very nice, though, to be able to add videos from my subscriptions to my watch later list, and then watch that playlist while being able to reorder/remove videos.
What I'd really like is a quick way to dismiss some of the videos from my subscriptions that I don't want to watch. That way I can come back again later and see only the ones left. I realize this is really just a 'watch later' playlist, but I'd prefer to remove things (permanently) from my main subscription interface.
Great work so far though!
I'm a little surprised at how fast it is though--I think it's mostly due to the fact that YouTube returns API requests really really quickly and Angular does a good job of reacting quickly, plus I'm not using jQuery or anything besides Angular that could slow things down.
I did earlier a similar project in django that converts youtube music into mp3.
I will give angular a try in my next version
Thanks
Also I had totally forgotten about https://gdata.youtube.com/demo/index.html - thanks for the reminder!
Nice work/code
Did you find any advantages to using AngularJS, or was it just coincidence/familiarity?
I prefer Angular over Ember/Backbone/Knockout just because it makes more sense to me and I like the templating layer, but there weren't any YouTube-specific advantages or anything if that's what you mean.
If you're worried about page size then note that I'm not using jQuery or anything besides Angular and Angular is only like 76KB. If I removed Angular and put in jQuery and a few plugins then I'd be at roughly that same number, and I'd need more custom code to go with it. So why not use Angular?
Or, if you're just wondering why this is worthy of the HN frontpage, then I can't answer that. :)
I don't mind page size either, everything I've ever written has started out including jquery. Anyone that argues that jquery is too big doesn't have a clue what they are talking about (CDN's/Cache etc)
Having written dozens of web apps that use mustache, I totally get why you like client side templates (json+mustache is completely awesome), bootstrap is awesome.
My point was that with bootstrap, json, gdata, mustache etc the features you mention are all straightforward, no Angular required. Nothing wrong with AngularJS. No disrespect intended. I was just saying that I could have put that together with the technologies I mentioned very easily and quickly with all those features.
I liked it though, I wasn't trying to put down what you've done.
Thanks! No worries!
> My point was that with bootstrap, json, gdata, mustache etc the features you mention are all straightforward, no Angular required.
Sure, but I could just as easily turn that around and say with angular, all these features are fairly straightforward, no jquery or bootstrap or mustache requred, right? Why is one better than the other? Or if they're not, why bring it up (serious question)?
- can't add to playlists
- can't subscribe
- can't browse through a channel's playlists