This is the problem. Things like PMS and PHT are available to multiple platforms at the same time because of this, because they all use C or C++ or whatever programming language it is and all these platforms accept it. The other devices are a totally different story.
Android runs on Java. So you cannot take C code and just paste it into a Java compiler, it has to be rewritten from scratch. The Roku uses it's own programming language called BrightScript. Again, totally different programming language. The Samsung app has it's own (and they are switching to a different one in the future). I think the PS and XBox apps use similar code so they run almost parallel to each other. The WebApp is JavaScript and HTML and a bunch of other Web related languages mashed together. Apple, I have no idea.
So, I hope you can see the problem now and why parity is so hard.
I agree with MovieFan on this one. Code is Code but when you have to use different programming languages and sometimes scripting (not really a language per say) it muddles the waters. You really can't have one guy writing say Music Libraries features and have that person's code work on every client. It's just not doable unless you want this person to spend half a year leaning the different technologies he/she will need to work on the different platforms. That's just not doable. Plus you have to understand even if the basic Plex API calls are the same then you have vastly different mechanisms used to display on different clients. XBox One will be vasty different then Roku vs Web.
So you really want a team that knows all the technologies needed to work on one client. You want that person to be an "expert" on that client.
Now as far as feature parity. Some things won't be able to be done on certain clients. Simple example is that right now you can't direct play MKV on xBox One. That makes parts of the code for xBox One different than Roku for example. So in reality you can't have feature parity unless you are talking "basic features".
Now if you are saying all clients should support Movies, TV Shows, Pictures and Music then of course we want this parity among clients. But does anyone honestly think Plex itself does not want this also? Does anyone think this isn't a main goal of any client? I'd highly doubt it. But besides "basics" it's not always going to be easy to for example have all clients support cloud libraries. The client just may not be rich enough to support that type of feature.
So I'd ask this a different way. Would you prefer if Plex just didn't announce or give us Plex Pass versions of clients in progress such as xBox One that doesn't support all features? If you were a Roku users and knew it had additional features but the client was held back because the PS4 hadn't caught up yet, how would you feel about that? Because that's the reality of what your asking.
Now what I would suggest is to have a big ass chart of all the clients and the features including line items for things were there are differences between clients (IE MKV direct play). This way if you for example were a Roku3 user but considering a PS4 or xBox One you could quickly look at the chart to see the current status of features. You could quickly find out it doesn't yet support search or have music. Or could find that a certain client maxes out at 12mbit in direct play.
With the above chart I honestly believe a lot more people would be satisfied or not complaining about "missing features" since they could quickly see/check the status of the client before any purchase. The users expectation would be more in line when trying/testing the clients since they know what to expect upfront. This would reduce a lot of frustration IMHO. This is also more of a PR/marketing thing then a development issue in my mind.
Carlo