Jump to content
Banner by ~ Ice Princess Silky

Play music while browsing Pony.fm (between pages)?


ProjectRKA

Recommended Posts

If you've been on soundcloud lately you might have noticed that they've updated their website. You might also have noticed you can go to another track without the current track you're listening to stops, and that they have a soundwave icon at the top of the page, so you can go back to the current song you're listening to... how about adding this feature on pony.fm as well ?

  • Brohoof 3
Link to comment
Share on other sites

Some people are complaining quite vocally about the "new" SoundCloud, but I can't help but agree that it feels incredibly smooth, at least as far as the core focus of the site - listening to music - is concerned. Being able to browse around freely without interrupting what's playing is quite awesome.

 

Thing is, it is only possible for SoundCloud to have this feature due to the way that the new version of the site is architected as a so-called "single-page application". That means that after the initial page load, your browser never grabs another page from the servers; instead, it asks the servers for the information it needs to, say, display a track, and then modifies the page you are looking at with the information it received. In other words, it functions a lot more like a desktop program than a traditional website with many pages.

 

Implementing the ability to listen to songs like that while browsing Pony.fm would require fundamentally rewriting the entire front-end from top to bottom to function as a single-page application, and that will require a significant investment of time to put together while accounting for browser quirks, memory issues, and so on (not to mention that I need to really brush up on my JavaScript to pull it off at all). I absolutely intend to do that someday to create a fluid experience, but it is a greater priority at this time to establish the core features and backend of the site. Once that's in a relatively stable form, I plan to look into rewriting the front-end as an SPA.

  • Brohoof 4
Link to comment
Share on other sites

Another possible alternative that does not involve rewriting the front end would be to offer Browser Extensions for the major browsers. Its a possibility. 

  • Brohoof 2
Link to comment
Share on other sites

in other words, there might be another pony.fm beta to troubleshoot this idea later on? :P

 

Most likely, yep.

 

 

Another possible alternative that does not involve rewriting the front end would be to offer Browser Extensions for the major browsers. Its a possibility. 

 

It is indeed. I'll consider that. However, considering that there is no technical restriction preventing it all from being done without extensions, I'd rather avoid making a deliberate attempt to abstract playback from the page you're on until I can do it properly.

Link to comment
Share on other sites

  • 4 weeks later...

This might not be a big thing, but i personally liked this. 

 

So, you know how when you're using soundcloud and you can listen to music, while still browsing the site? like check your profile, check people you're following, all that jazz. I think it would be helpful to have it in this. You could be listening to your song while searching for others.

 

If you know what i mean, you'll get what I'm trying to say. If not, sorry. I'm bad at wording things

 

TL;DR - Have the music running in the 'backround' of the site, so you can still browse around the site.

 

 

Link to comment
Share on other sites

This was already suggested, and as Feld0 has stated before, this feature is not for version one. It will require a thorough rewrite of all front end code.

Oh, alright. I forgot to search to see if someone already suggested it o.e

Link to comment
Share on other sites

This might not be a big thing, but i personally liked this. 

 

So, you know how when you're using soundcloud and you can listen to music, while still browsing the site? like check your profile, check people you're following, all that jazz. I think it would be helpful to have it in this. You could be listening to your song while searching for others.

 

If you know what i mean, you'll get what I'm trying to say. If not, sorry. I'm bad at wording things

 

TL;DR - Have the music running in the 'backround' of the site, so you can still browse around the site.

 

Merged the duplicate threads. This is slated for an eventual rewrite of the Pony.fm front-end, but is not going to happen in the foreseeable future. It is a much, much bigger "feature" to implement than it appears.

Link to comment
Share on other sites

  • 1 month later...

Yeah I would like that too. Maybe a little player thingy at the bottom of the page or something.

As long as you can minimize it, because I hate when things I dont use is on the screen. It's in the way..

Edited by Jokuc
Link to comment
Share on other sites

Unfortunately, it is technically impossible with the current way the site is. Since the site has been developed to be more of a "site" than an "app" - each time you navigate to a page it results in a page load. We could make it kinda work with how things are, but there would be a pause every time you navigate to a different page as the song would have to be reloaded and started over (even from cache, it will be a noticeable gap in playback).

 

The plan is to turn pony.fm into more of a webapp at some point. The way things are currently serve a purpose and hopefully there will be a good amount of people using it in its current state; but things will change soon where this will be a feature that is possible.

  • Brohoof 1
Link to comment
Share on other sites

  • 2 weeks later...

It would be nice to be able to continue browsing through the site while playing a song, which doesn't appear to be possible at the moment, so far as I can tell.

 

I don't think this would take too much work (depending on how the back end of the site is structured) with AJAX.

  • Brohoof 1
Link to comment
Share on other sites

The coding wouldn't really be that complicated, but it's not entirely necessary, so I guess it's just something people like to not write extra for their pages.
But to get that to work, it would sorta have to play in a separate page/applet to work, because a page-load is going to open up an entirely new script. 

Link to comment
Share on other sites

The coding wouldn't really be that complicated, but it's not entirely necessary, so I guess it's just something people like to not write extra for their pages.

But to get that to work, it would sorta have to play in a separate page/applet to work, because a page-load is going to open up an entirely new script. 

 

Not necessarily. Using AJAX calls to build the page content instead of reloading the entire page would allow for this feature. I don't think it would be too difficult to do, but it would require some restructuring on the back end.

.

Link to comment
Share on other sites

Not necessarily. Using AJAX calls to build the page content instead of reloading the entire page would allow for this feature. I don't think it would be too difficult to do, but it would require some restructuring on the back end.

.

Ajax is just multiple markups.  But technically, that would mean not a "refresh/reload" since it doesn't technically reload a page using the Ajax way around things.  So while yes you "could", I don't know why it matters a whole lot.

The only thing I am truly disliking is that it is Javascript, when more webpages are going to C#+PHP or ASP.net

BUT, you could technically write a way around that with ASP too, just like Ajax.  I'm going to look into this.

Link to comment
Share on other sites

Ajax is just multiple markups.  But technically, that would mean not a "refresh/reload" since it doesn't technically reload a page using the Ajax way around things.  So while yes you "could", I don't know why it matters a whole lot.

The only thing I am truly disliking is that it is Javascript, when more webpages are going to C#+PHP or ASP.net

BUT, you could technically write a way around that with ASP too, just like Ajax.  I'm going to look into this.

 

C#, PHP, and ASP are all server side technologies, and are not intended to replace JavaScript, which is generally used on the client side of things for presentation related tasks. Nearly every site with any complexity uses JavaScript on the front end. Short of using frames (horrible, evil things that they are, not even valid HTML any more), I can't think of any way other than AJAX to do what we're discussing. Anything on the server side of things would still require a page refresh.

Link to comment
Share on other sites

(edited)

C#, PHP, and ASP are all server side technologies, and are not intended to replace JavaScript, which is generally used on the client side of things for presentation related tasks. Nearly every site with any complexity uses JavaScript on the front end. Short of using frames (horrible, evil things that they are, not even valid HTML any more), I can't think of any way other than AJAX to do what we're discussing. Anything on the server side of things would still require a page refresh.

The reason I say C# over Javascript, is that it's a totally different thing.  C# Is a programming language, while javascript is a scripting language (restricted to browser interaction).  That's why I suggest sticking to the more powerful language.

There is an alternative though, you could place javascript to run in front of your C# and keep that Ajax method.  That would keep the stronger core, while keeping a simplified front.

 

EDIT: Also, the reason for C#, this would be used for any larger sites because they would be using .net framework.  So that's why I think they would logically use C# (C family in general) over javascript so they can maintain databases.

Edited by Rainbow Dashey
Link to comment
Share on other sites

The reason I say C# over Javascript, is that it's a totally different thing.  C# Is a programming language, while javascript is a scripting language (restricted to browser interaction).  That's why I suggest sticking to the more powerful language.

There is an alternative though, you could place javascript to run in front of your C# and keep that Ajax method.  That would keep the stronger core, while keeping a simplified front.

 

I wasn't suggesting doing anything with JavaScript on the back end, just that the back end would need to be restructured to allow for interaction with the AJAX-powered front end. Pony.fm appears to use PHP, incidentally.

  • Brohoof 1
Link to comment
Share on other sites

I wasn't suggesting doing anything with JavaScript on the back end, just that the back end would need to be restructured to allow for interaction with the AJAX-powered front end. Pony.fm appears to use PHP, incidentally.

Yes, that makes sense to me, and honestly, you wouldn't even have to rewrite the whole front either for javascript, just the aspects that maintain audio and some of the gui facets.

Link to comment
Share on other sites

Please note that I have merged this with the previous threads that suggested this feature. It's a popular request.

 

 

It would be nice to be able to continue browsing through the site while playing a song, which doesn't appear to be possible at the moment, so far as I can tell.

I don't think this would take too much work (depending on how the back end of the site is structured) with AJAX.

 

The coding wouldn't really be that complicated, but it's not entirely necessary, so I guess it's just something people like to not write extra for their pages.
But to get that to work, it would sorta have to play in a separate page/applet to work, because a page-load is going to open up an entirely new script. 

 

The idea is an excellent one, and it is on the to-do list. However, implementing it is much more convoluted than it sounds. Adding API endpoints for AJAX calls to the backend is honestly the easy part, and is already well underway. The real issue is that Pony.fm's front-end is currently designed to be almost entirely generated server-side. The entire front-end practically needs to be rewritten to generate "pages" client-side so that page reloads can be avoided. A webapp built this way, such as the "new" SoundCloud, is known as a single-page application (SPA).

 

The original vision for Pony.fm was something a little more akin to a ponified Bandcamp than the social network-esque experience it evolved into, which is why the site wasn't built as an SPA in the first place. User feedback has shown, however, that this is the way people want the site to be, so we are working to do everything it takes to turn Pony.fm into an SPA. As for when it will be ready, I'm afraid I can't provide any estimates or launch windows, as a lot of development resources are currently going into preparing the other Poniverse projects for BronyCon.

 

 

Here are the thoughts that Nelson and I have previously posted on the subject:

 

Some people are complaining quite vocally about the "new" SoundCloud, but I can't help but agree that it feels incredibly smooth, at least as far as the core focus of the site - listening to music - is concerned. Being able to browse around freely without interrupting what's playing is quite awesome.

 

Thing is, it is only possible for SoundCloud to have this feature due to the way that the new version of the site is architected as a so-called "single-page application". That means that after the initial page load, your browser never grabs another page from the servers; instead, it asks the servers for the information it needs to, say, display a track, and then modifies the page you are looking at with the information it received. In other words, it functions a lot more like a desktop program than a traditional website with many pages.

 

Implementing the ability to listen to songs like that while browsing Pony.fm would require fundamentally rewriting the entire front-end from top to bottom to function as a single-page application, and that will require a significant investment of time to put together while accounting for browser quirks, memory issues, and so on (not to mention that I need to really brush up on my JavaScript to pull it off at all). I absolutely intend to do that someday to create a fluid experience, but it is a greater priority at this time to establish the core features and backend of the site. Once that's in a relatively stable form, I plan to look into rewriting the front-end as an SPA.

 

 

Unfortunately, it is technically impossible with the current way the site is. Since the site has been developed to be more of a "site" than an "app" - each time you navigate to a page it results in a page load. We could make it kinda work with how things are, but there would be a pause every time you navigate to a different page as the song would have to be reloaded and started over (even from cache, it will be a noticeable gap in playback).

 

The plan is to turn pony.fm into more of a webapp at some point. The way things are currently serve a purpose and hopefully there will be a good amount of people using it in its current state; but things will change soon where this will be a feature that is possible.

Link to comment
Share on other sites

Please note that I have merged this with the previous threads that suggested this feature. It's a popular request.

 

Ah, sorry about that. When I submitted this feedback via the Pony.fm form, I missed the bit about it creating a post on the forum here; otherwise I would have checked for previous, similar suggestions. Glad to hear it's in the works. Thanks for the response :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Join the herd!

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...