This app was mentioned in 3 comments, with an average of 1.33 upvotes
They are working very closely with active developers and there are some positive changes already. I build this android app as a hobby and honestly the data is very close to what you see on the PIDs. I use it to time my rides all the time with a good success rate. The most critical hole had been predictions with empty times. Anything that you would see on the PIDs with no time was removed from the API because the train had been holding for too long. This is no longer the case. However, the API sorts the predictions by arrival time and places empty-time predictions at the end, even if that train is really coming before one of the other two.
What features of this do you like? I develop an Android Metrorail app as a hobby. I don't have a lot of time for it, so the feature set is quite limited. However, I feel that it meets my needs better than any other app out there, because I rarely want anything other than arrival times.
Check it out, it's free and ad-free, and I'm open to feature requests.
https://play.google.com/store/apps/details?id=com.singleslash.metronow
If you'd like to see where I'm coming from, here's my 1.0. Some material, but not enough. Goodbye listview dividers!
https://play.google.com/store/apps/details?id=com.singleslash.metronow