Over the last year we've been working on an all-new JRemote for Android, dubbed JRemote2.
Today, we're finally ready to officially announce its release! Some of you may have already found it on the Play Store and followed its Beta, but now its official!
This thread is about JRemote for Android only. iOS will continue to use the app it currently has, which Bob is maintaining.
Lets get to important things first:
Play Store:
https://play.google.com/store/apps/details?id=com.jriver.jremote2If you sign-up for the beta, you'll receive early updates, but be warned that we may be testing changes in Beta which may not be 100% proven yet. You can always opt-out of the Beta again in the future.
Beta Sign-up:
https://play.google.com/apps/testing/com.jriver.jremote2JRemote2 is available for $9.99 on the Play Store now.
The history of JRemote for Android, or, Why JRemote2?JRemote was created back in 2015 by Lespaul, after he joined JRiver and we acquired JRemote for iOS from him. Unfortunately, he left JRiver before JRemote for Android was ever fully finished, at which point I was asked to salvage it and get it out to you guys. Unfortunately, being thrown nose first into the deep-end of a foreign code-base is not a good situation under the best of circumstances, and I wasn't exactly an experienced Android developer at the time either (and Android in 2015 was also in a much different place then it is today). Eventually we did produce a working JRemote for Android, at least I've been using it almost daily for years now, but it was never what it could've been.
Jump to six months ago, when Jim asked me to look into some of the reported issues in JRemote, my first step was to bring it up to date to the latest Android kit, at which point I already noticed that it hadn't aged well at all. While many of the development concepts used in JRemote were still very similar to what has become the standard today, the implementation was not. JRemote used a dozen or so third-party libraries, many of which had disappeared over the years - often because Google had created something similar for every Android developer out of the box. It didn't take me long to decide that it would be better to start almost from scratch.
JRemote2 is bornJRemote2 was created practically from scratch. The only thing I did re-use is the UI design, for one I think as a starting-point it was solid, and it makes the app feel familiar.
Everything else is new. Not a single line of code was simply copied. JRemote2 is written in Kotlin instead of Java, which has a lot of advantages, including crash-safety and a faster turn-around on new features, and I used all new modern Android development concepts and libraries, based on Android JetPack, a toolkit from Google to make modern apps.
Audio and Video Playback now uses Google's ExoPlayer2, which is far more capable then the default MediaPlayer JRemote used previously, this means we can support lossless FLAC up to 192/32, including gapless playback. And its extensible, which might allow us to add more native formats, and add some core DSP features like Volume Leveling in the future.
One key focus of JRemote2 is to make it reliable over all else, and hopefully we can deliver on that. Features that do get built-in should function reliably, and the app should ideally never crash.
What can you expect?JRemote2 is still in full development, but we are confident that in the majority of cases JRemote2 is a solid replacement for JRemote and/or Gizmo. But be assured that we're not done with it yet, and many additional features are planned over the course of 2020.
Overall we're pretty confident about JRemote2, as it has shown a much better stability and responsiveness than the previous app, and additional features will be worked on over the coming weeks.
Current Features:
- Local Playback of Video and Audio streamed from Media Center
- Native Audio Playback for MP3, M4A AAC, FLAC (Gapless!), OggVorbis
- Remote control Media Center
- Play Doctor
- CloudPlay
- ChromeCast
- TheaterView Remote, known from Gizmo
- SSL support
- Preliminary Metadata Display
While the current feature list may seem short, those are the key foundation features that everything else eventually builds up on.
Coming Soon:
- Image Support
- Improved Landscape and Tablet Layouts
- Full Playlist integration, with edit capabilities
And finally, Planned Features for 2020:
- Volume Leveling
- Streaming Improvements
- Newer audio formats, AAC for lossy, investigate Lossless transcoding (FLAC transcoded streaming?)
- Improved video streaming - more control, higher quality, avoid transcoding if possible
- Streaming Live TV
- Most Importantly: Your Feedback
- .. and things I haven't even thought of, yet, or forgot when writing this list!
FeedbackWe strongly rely on your feedback to make JRemote better. No single person will ever use every aspect of JRemote extensively, and everyone has different priorities of what it should do. So please do let us know!
For the time being, please keep in mind however that its still very much in-development, and this is a first look.
Known Issues / Missing Features- The Search view in the Nav Drawer is not implemented yet
- Playlists cannot be "linked" to Playing Now yet, so you can't reload a playlist.
- Modifying Playlists, other then the Playing Now list itself, is not implemented yet