First off, if you like dubstep (or are just interested to see how my music player works), here's a playlist I made with some of my favorite tracks:
http://surfpldev.rushfivedesigns.com/#/playlists/-JRRp53y3LH--5bJ1QaC
Just click the "play this playlist" blue button and come back to read my blog
What is this site?
In a nutshell, it's a site that allows you to "submit" songs from Youtube and have them indexed by genre. It also allows you to add any songs to a playlist and save them for later playing. I'm not really there yet, but if I do decide to go on with this project, I'm planning on producing content (probably recruit people) to do blog posts, reviews, etc. I chose Youtube because, clearly, it's the largest datastore of media out there. Also, I'm not looking to create a site where you're literally sharing music files (legal issues of course).
Why am I making this?
I'm an avid fan of EDM music. I simply wanted to create a way for my friends and I to share music. It started off as a simple idea, but has since grown into a semi-ambitious project to make something that could be of use to the rest of the community. As of now, when I share music with a group, it's usually by posting a youtube link onto a facebook group. So I thought, why not build something instead that enables better sharing and more features?
Another (seemingly random) reason: There was this one day. I got home from work and decided to wash the dishes, as I really hate to see them piling up. I felt like listening to some good ol Usher. None of the newer crap, but the older real R&B stuff. So I turned on Pandora, opened the Usher station, and got to work. I was pretty disappointed at the song selection. It was only about 1 in every 4-5 songs that I can say I enjoyed or was looking to hear. So I said "fuck this shit", I'll build this site in a way where you can create custom playlists from anything on youtube, with the ability to create them as "private" so only you can view them.
May sound a bit useless at first, but an example of where this came in handy for me:
I have a 2.5 year old daughter that loves to watch toddler/baby youtube videos. Many of these channels have playlists with great videos on them, except the problem is, for every 1-2 minute video you watch, there will be an ad in between. Not that it's really such a great annoyance, but I usually turn on some videos for her when I'm trying to get something done. Having to constantly go back and skip the ad every few minutes really messes with my get-work-done mentality.
So a big advantage to the way I've implemented playlists is simply this: no ads.
Now, when I have to wash a mountain of dishes (takes like 40 minutes lol), I can turn on a playlist I've made and listen to the whole thing without listening to annoying ads (whether on youtube or pandora). I can turn on a playlist of goofy toddler cartoons without having to run back and constantly skip the ads for my kid.
Features
I'm just going to quickly go through all the different things I've implemented so far and list the key things:
Trending Articles (click to see)
Here, I compile news articles from several popular EDM blogs and sites and have them listed with the newest on top.
Tracks (click to see)
This is the page that lists all songs that are submitted. Submitting a track is simple. You login, click "submit a track", and it just provides a way to search anything on youtube. Simply select a song, fill in the details (I tried to auto-complete the artist and title fields but it's not perfect. It just parses for a "-" character and separates them), and submits them. You can view songs that are featured (posted by staff), or user-submitted (posted by anyone else). Every song posted can be filtered by genre.
Playlists (click to see)
Very similar to tracks. All playlists saved by anyone (requires login) will appear here. Unlike tracks, there is no distinction between a featured or user-submitted playlist. Creating a playlist is simple: You play some songs and can easily queue to the playlist. This is all shown in the music player that is at the bottom of the page. If you like what you have in the current playlist, just hit "save playlist" and you're done!
Channelsurf (click to see)
Still experimenting with this a bit, but I think it's pretty much there. On this page, I've made a HUGE list of a ton of EDM youtube channels that you can browse. The list shows what genres the channels are generally known for. It will only show the 25 most recent uploads for a channel.
Dashboard
If you have an account setup (everything is facebook login based), you can go to your dashboard and view all the songs/playlists you've posted, and also anything you've added to your favorites. This is also where you'll access all your private tracks and playlists.
Why the whole public vs private thing?
As you know, Youtube is mainly for videos, not music. My project aims to make it easier to find new great tracks, but at the same time, it's really just utilizing Youtube at the core. This means that it's also possible to "submit" any random youtube video you want and add them to playlists, etc.
So, say you wanted to create a playlist of random videos that clearly don't fall within the category of music (thus, not belonging to this site). You could still choose to submit them privately so you can check them out later. It'll just not show up on the public space and bother anyone.
Is this just for EDM?
No. Although, primarily I was aiming for it to be a place people could go to to find EDM music, news, content. Although EDM is what I mainly listen to, I still to various other genres. You can submit tracks under a huge category of different genres (although, clearly, EDM sits as the focus).
Is this legal?
The BIG unknown for me. One of two main reasons I may not be trying to push this out on a bigger-scale. I've made a small copyright page detailing my thoughts on this, but really, I'm no lawyer. I have no idea if this is legal or not. My "logic" here (might be extremely flawed), was that because the site doesn't really host any songs or even the album art (retrieved via google search), it would be okay. If anyone has deeper knowledge on this subject, I'd be very interested to hear about it
Just some technical stuff for webdevs
I had been making some static, boring sites every once in a while for family/friends. Nothing too crazy. This is my first foray into real dynamic-programming on the web, and it's really just all javascript. It uses:
- html/css
- javascript (angularJs, jquery)
- youtube api and google search api
- a nosql backend
I'm doing some IT work and have some free time. I've been using that time to work on this for months now, with hopes that maybe some day I can do some web dev work. The code is REALLY ugly and any real programmer would laugh at how I mixed angular and jquery, but hey, for me it's okay at the moment. Just learning things slowly on my own so it'll take some time!
To conclude
Any and all thoughts and input will be taken seriously. It'd also be helpful to know if this is something that you would use (why or why not, as well). Also, I'm not very good at testing code, but I've tried throughout this whole process. However, there will probably be bugs here and there. If you find something unusual or something that needs to be fixed, I'm all ears!
Thanks everyone for your time!