... entertainment software built to purpose using minimalist principles ...

April 29th, 2016 : EwePlay 1.0.3

EwePlay with Android Jelly Bean

EwePlay 1.0.3 is now available after many hours of testing and tweaking. There were two main issues that have been softened by this release: battery usage and Jelly Bean compatibility (Android 4.1.x).

The reason this is 1.0.3 has to do with me wanting to keep some level of consistency. Android apps provide two version attributes, one as a whole number and the other as an arbitrary line of text. The whole number version of this release is 3 and so I decided to make the text version match.

Battery Usage Improved

Battery Usage: Media server

Initially EwePlay used what's known as a Content Provider to load and play your music. This is theoretically the safer method because it gives the operating system a chance to vet your request and potentially block unsafe content. You'd notice this showing up in your battery usage as something like Media server.

I misinterpreted the results in early testing to indicate that EwePlay itself was not using much battery at all. If you can see the screenshot, it was only using 2% whereas the Media server was at 52%! Of course, it turns out that EwePlay was merely passing the buck and this process required much more CPU and burned the battery faster than desirable.

Now EwePlay loads music directly from your internal memory or SD card. I've seen this give a magnitude better battery life in my daily usage. EwePlay still falls back on the Content Provider if the file permissions prevent direct loading, which has been known to happen on my Jelly Bean device ...

Better Jelly Bean Compatibility

If your phone is a couple years old, say from 2013, then there's a high probability that your version of Android goes under the moniker Jelly Bean 1. I purchased a Samsung Rugby Pro to test Ice Cream Sandwich and, thankfully, it happened to have the older and more used Jelly Bean. I quickly found that songs did not transition smoothly when the screen was off and I despaired at having released without finding the bug!

I spent several hours over the course of days to track this down to aggressive sleep behavior in this series of Android. When you turn off the screen then Android gets ready to sleep and so after a song in EwePlay ended, the next song didn't always start immediately afterwards. In many cases the song wouldn't start for several minutes! Yet this problem could not be reproduced reliably when the device was plugged in, on WiFi, or connected to a debugger and I ended up tracking it to the wrong bug 2.

Finally I discovered the true source of the symptoms and solved it by having EwePlay request what's known as a WakeLock whenever the screen is turned off or you switch to a different app while music is still playing. The moment EwePlay finishes playing the last song in the queue, it will release this request and the device is allowed to go to sleep.

Gibdon Moon Productions at Subway in April 2016

1.0.3 Bug Fixes


  1. Wikipedia entry on Android versioning
  2. MediaPlayer "crash" (deadlocks the calling thread) when resetting or releasing an unused MediaPlayer

EwePlay Logo (sheep wearing headphones)March 31st, 2016 : EwePlay

I'm proudly pleased as punch to announce the release of
EwePlay for Android on Google Play!

Music Player for Android

This is the best Android music player for your MP3 collection. EwePlay is all about listening. Every decision I've made whether it was part of the original design or not, was to fulfill this particular purpose. It started with the simple premise: I have a bunch of great music and I want to listen to it. There is no hidden agenda to sell subscriptions, peddle marketing, spam you, or to hit you up for reviews and ratings.

You pay once to own a copy of EwePlay to listen to your music. End of story. Wild concept, right?

I've had the idea for years along with a multitude of others that I did nothing to bring about. This is the first official product of Gibdon Moon Productions. The fundamental purpose of my company is to produce products with identity. I can't stress the 'P' word enough: produce, product, productions. We build and we complete and we give purpose not only to what has been done but who is doing it. I have no doubt that that tickles something deep within you.

But this is about EwePlay so let us return to that.

I originally conceived of EwePlay circa 2003. I remember this because of where I was sitting in eNom's offices within the Unigard complex in Bellevue. I believe it was called "Mood Play", which morphed into "MooPlay" and then somehow into "EwePlay". I had a RIO Sport MP3 player, fought to use Windows Media Player and slaved away on a collection of slippery files.

I have never been able to fathom why music playback stayed in the dark ages, limping with the ghost of WinAmp.

Even as new players and software have come out, they have done little to make listening to music better. Apple's iPod Shuffle was a brilliant little device when it began. Pandora I had high hopes for. And all the subscription-to-collection services like Rhapsody and Spotify have only ever given you access to a slice of music based on the whipping whims of publishers' rights. The aim of all of these is to sell music, which is why they've never been great for listening.

Nothing will ever come close to your personal collection of music; not for you anyway.

EwePlay Cassette

I am often in a particular mood that directly influences what music I want to listen to. From there I either know what songs to play or I just want something, anything to start playing. We've always had ratings on music players: it's called pick and skip. When you pick a song you rate it up and when you skip it you rate it down. EwePlay uses these metrics to give song points. These points are then stored in the MOOD RING you have selected.

It's important to note that the mood is not a genre or an album or a playlist. It is an inexplicable feeling you get and there may be a surprising potpourri of selections that it fits. EwePlay makes no attempt to verbalize your mood, since it's so difficult to describe even by the person to themselves. Hence the MOOD RING is symbolic only; it has 8 settings represented by colors and moon phases. Your "Blue Mood Ring" would probably contain different song scores from mine, even if we shared the same collection.

Alright, so you've got song points that will be different depending on the selected MOOD RING. Now comes the other half of the magic: weighted shuffle. EwePlay's shuffle is not entirely random, it is biased towards songs with more points and takes it one step further by adding the number of days since last played. Thus if a song has +10 and it hasn't been played in a week, the internal weight of that song is 17. Only songs with a positive weight will be automatically played.

Got all that? Probably not, but it's worth mulling over. I sure have!

The end result is that EwePlay's shuffle does a better job of playing songs you haven't heard and/or like better. It improves over time based on your habits, as the scores get more distinct. You will eventually hear all of your collection. And this is all nearly invisible to the end user: it simply happens as part of enabling SHUFFLE ALL.

Now if you know what you want to listen to, EwePlay strives to make it quick to locate music and queue it. Tapping a song doesn't interrupt the one currently playing, rather it appends it to the play queue. Holding the PLAY button does a fast-scroll which moves 10% through the current list every second, getting you nearer to the song you want without wearing out your thumb. Tap the marquee of the current song to scroll to its position in the list. Long press a song and EwePlay will show you related items. Or tap the LIST button to cycle through different ways of showing your collection. And if you have shuffle enabled then every item added causes the queue to reshuffle.

On top of all of this is a user interface with a fixed layout. Nothing in EwePlay shifts around; all of the elements remain in place and are never covered up or slide around like greased up silverware. This is important when you can't spare focus for the UI and need controls to be where you expect.

Release Party

Thanks for your feedback, support, and assistance. You know who you are!

-- Neil C. Obremski, President of Gibdon Moon Productions