22 Mar 2015
This is a post about the state of Sid-, Mod, or PokeyPlayer on iOS.
Coming from the background of the C64 and AMIGA demo scenes, I always thought that every platform needs a way to play back the musical artwork created by those great musicians in the 80s and 90s on machines like the Commodore C64, the AMIGA, and the ATARI XL.
Fast forward to the iPhone: Being excited about the new platform, me and another guy from the good ole' AMIGA days started working on SidPlayer in 2008, shortly after Apple opened the developer program for european developers. After some months of work, we had the first version ready for the Apple review, standing on the shoulder of the great libsidplay and the HVSC. Due to libsidplay being GPL, we had to open source the whole iOS app. To our surprise, _this_ hasn't been a problem with the Apple review.
SidPlayer for iOS was available for some months, then we developed adaptations for AMIGA .mod files (ModPlayer) and Atari XL pokey sound files (PokeyPlayer). In the meantime, iOS development went from being a hobby to our profession (we formed the LaTe App-Developers GbR), which unfortunately had great impact on our pet projects. Being busy with paid projects, we could not find enough time to do serious updates to the players.
The original plan in 2008 was to create an app that has additional value around the core asset of a high quality retro computing player, such as a retro-museum-in-a-box (giving background information about those classic computing machines) and a community that shares playlists (important given the amount of songs), comments, statistics, and ratings. Alas, due to our time constraints during the lifetime of the apps, we could only do small updates in order to fix bugs with newer operating system versions. There was not enough time to add features, do an iPad adaptation, nor to unify the three distinct player apps. In the meantime, other apps came along that also could play some of those tunes, although we weren't (and still aren't) very excited about their user interfaces and sound quality.
The final nail for the coffin came in 2013, when - much to our surprise - out of the blue (not even due to reviewing an update), we received a letter from Apple where they claimed that our player apps would violate the review guidelines, in particular the dreaded sections 2.7 / 2.8, which read "2.7: Apps that download code in any way or form will be rejected." and "2.8: Apps that install or launch other executable code will be rejected". Although we went past this guideline for several years, this turned into a showstopper - some weeks later, Apple removed our apps from the store.
Unfortunately, those sections really apply - at least for the Sid- and PokeyPlayer. Both players rely on emulating parts of the CPU and custom chip infrastructure of the C64 / Atari XL (hence run "executable" code, albeit for a foreign processor architecture) and said code gets downloaded from the internet (we didn't want to ship the actual music files with the app for licensing reasons). ModPlayer actually was an exception, since the .mod format does not contain code, but is a descriptive format, however back then I did not have the energy to argue with Apple on that, hence ModPlayer has been removed without a valid reason.
In the meantime, my priorities have shifted a bit and we had to shutdown our iOS company LaTe AppDevelopers for a number of reasons. Still I have great motivation to work on the original goal for those players. Due to the improved hard- and software of the iOS platform, these days we could add some major improvements to the playing routines, such as using recent filter distortion improvements in libsidplay2, audio post-processing with reverb and chorus, etc.
The chance of the existing apps coming back into the store is - thanks to Apple - zero. It wouldn't be a pleasant experience anyways, since the code base is very old and rather unmaintainable (remember, it was our first app for a new platform, and neither one of us had any Mac OS X experience to rely on).
Basically, three question come to my mind now:
1. Would there be enough interest in a player that fulfills the original goal or is the competition on the store "good enough"?
2. Will it be possible to get past Apple's review, if we ship the App with all the sound (code) files, thus not downloading any code?
3. How can I fund working on this app? To honor all the countless hours the original authors put into creating the music and the big community working on preserving the files, I want this app to be free for everyone.
As you may have guessed, I do not have any concrete answers (let alone a timeframe), but just some ideas and the track record of having created one of the most popular set of C64/AMIGA/Atari XL music player apps. So I wanted to use this opportunity to gather some feedback. If you have any comments, feel free to send them to me. If you even want to collaborate on such a project, I'm all ears. If there's sufficient interest, we can create some project infrastructure, i.e. mailing list.
Der Beitrag RFC: Future of SidPlayer, ModPlayer, PokeyPlayer for iOS erschien zuerst auf Vanille.de.
22 Mar 2015 9:11pm GMT
23 Feb 2015
Thanks to the fabulous wayback machine, I have imported my blog from between 1999 and 2006. It's not properly formatted and most of the images are missing, but it's somewhat interesting to read the things my younger self wrote about 15 years ago.
23 Feb 2015 2:11pm GMT
26 Jan 2015
I have pondered a long time whether to learn web programming for my customers' services app, so that they can access their user & device statistics, crash logs, manage service messages, push messages, etc.
I now have decided not to pursue this path. Web technology is a mess, even more than mobile technology. It's lacking a clear separation of layers and although many frameworks nowadays are using MVC or similar patterns, I feel I have to do too many things at once (web service, html templating, css design, java script for interactive stuff, etc.) to really make a professional web app.
I'm going to make a mobile client instead, using the technologies I already have mastered and in which I'm productive. Yes, I still want to learn something new, that's why I'm working with a NoSQL database now for the first time.
Of course the downside is my customers can no longer use their web browsers to manage all that, but since they have their iPhones and iPads always around anyways, I'm sure they can cope with that.
26 Jan 2015 4:01pm GMT