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"?
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.
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.
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.
After 6 years being co-director and CTO of LaTe App-Developers, I feel it is time to make some changes.
It's not that mobile development is no longer interesting to me, however after doing (too) many small (5-20 person days) iOS projects, I need some new challenges. Project work has been limiting my creativity and enforcing too much regularity in my daily routine. Besides, there's hardly any room to do compelling software architecture work in projects of said size. You're rather constantly working against the time in order to make some profit with those fixed-price projects.
This year I took three months off in order to decide on what to do next and finally, I have made up my mind. As per the end of this year, I'm resigning as co-director and CTO of LaTe. I will still be involved as freelance collaborator though in order to continue supporting our biggest client.
With the regained freedom, I plan to explore some new directions with regards to own apps and services. I need to catch up with what happened in (Embedded)-Linux and I also want to polish my almost rusty Python and Vala skills.
Last but not least, I'm not going to do 40 hours per week any more – instead I want to spend more time with my family.
Every 6 years or so I'm revamping my website. This is the 3rd incarnation now (yes, I started early) featuring a new wordpress theme, a clean layout, and – most important – serious content improvements.
So 2013 is finally over and it's been an energy-sapping year, business-, baby-, and building wise.
Business. The stagnation that was present for pretty much the first half of the year and which forced us to downsize a bit, had been replaced by too many projects all at once in the 2nd half of the year. And while it was welcome since it saved us from closing doors, it prevented working on our private projects, i.e. our apps in the store, but also personal pet projects – let alone anything open source.
Baby. After 7 horrible months between Lara Marie's 5th and 13th month, she finally began sleeping great, often 12 hours without waking up. She's now 2.5 years and everything is good. Still, she's a demanding little one, enjoying being offered a selection of everything instead of deciding on her behalf. I love her.
Building. With a bit of (natural) delay, our new house was finished by November and we did move on 9th of December. We're now 2 months in here and it's feeling mostly great. We had to monitor and decide on a LOT of things during the construction phase, but apart from the usual minor issues, the building quality is good and we enjoy the comfort of having a dedicated room for Lara Marie. Being able to use the living room again after 20:00 is nice :)
I took the liberty to install a dedicated server for the house which is living in a 19" rack in the utility room. I'm going to post about the networking infrastructure soon.
Referring to my last post, I'm still planning on doing the sabbatical, but due to some unforeseeable circumstances with my wife's health, it had to be postponed for a bit. It's going to happen in 2014 though, which is why I'm sure, 2014 is going to be better than 2013.
Salut!
I didn't blog for quite a while, since – as I've mentioned before – these days, Facebook seems to me the more appropriate forum for shorter status messages.
That aside, let me recap how things are these days. Since the birth of Lara Marie, quite a lot in my life has changed. I haven't been contributing to any open source projects nor did I have time to continue my writing of articles and books. This leaves me being quite unsatisfied.
Business-wise, my iOS/Android-company had to struggle a bit in late 2012, since a lot of clients cancelled or postponed their app projects due to the unstable economy in europe. Thankfully we're now being more busy again, however I find myself being pretty annoyed with how our projects are being performed these days. Dealing with customers who try to squeeze more and more features into an app and loading you with change requests while at the same time insisting on the fixed price offer is extremly annoying. Plus the pure nature of many mini-projects we get (typically one or two person weeks) where the communication overhead results in us working twice the amount of time we actually get paid for.
Perhaps we need to be more strict and organize the workflow better. On the other hand, it rather looks like the mobile app market is dominated by so-called "full service design agencies" which then outsource the actual implementation to us, keeping us out of the actual decisions, but paying us only a minimal share of what they get.
In a world of HTML5 and cross-platform-tools ruining the prices, it also seems increasingly difficult to convey the benefits of a highly device-optimized native app.
With 30 years of experience in information technology (heck, I even received a Ph.D ;) – do I really still need to discuss about button placements and whether billing a bunch of additional hours is justified, when all I did was implementing "that trivial feature"?
After five years of iOS development, it might be the time for me to move to something new – or come back to old things. That's why I'm pondering about a combination of a sabbatical and a parental leave in 2014.
Hi folks!
Obviously I don't manage to update this blog more than a few times a year. I must confess that – for smaller status messages – I find Facebook and Twitter working quite well. So if you want to stay in touch a bit more, hop over to my page @ Michael Lauer or follow my Tweets @ DrMickeyLauer.
The biggest tasks this year was getting Lara Marie to sleep well and buying a house, both which we finished successfully. Right now we have a hole in the ground, but it's supposed to be finished by October 2013. I'm going to report about the progress now and then.
FOSS-wise I didn't manage to do anything meaningful more than visiting FOSDEM and the OHSW this year. I tried to catch up with what's happening in FSO, Vala, and OpenEmbedded though. Since I do no longer use OE on a frequent basis, I decided to not run for re-election as OE board member, thus also resigning from being OE e.V. president. I'm quite happy to hand the paperwork over to someone else ;)
With Lara Marie growing older (she's now 18 months), I enjoy being a father more and more. While mommy was #1 in the first year, it becomes apparent that I'm #1 in the 2nd year, helping the little one to form her individuality and her will.
Company-wise 2012 was a bit of a ride as due to the economy some of our biggest clients postponed their app updates and we struggled a bit getting enough contracts to keep the four of us busy. Then again, we worked on our own apps in the free time and I'm happy to announce the next major version of Volksradio / Just Radio, which is going to ship soon.
I wish all of you a merry 2013!
Yours, Mickey!
After having skipped FOSDEM in 2011, I wanted to go this year, especially because of the Golden Delicious stand where we had the OpenPhoenux GTA04 on show. A lot of people came around and were excited that someone picked up where Openmoko had left in 2009. The GTA04 is the true successor of the FreeRunner and I strongly invite all of you to support this movement by buying one. You will not get a more open mobile phone anywhere else.
I know that Brussels is always a bit colder than Frankfurt, so I tend to carry appropriate clothing... what I didn't expect though was that it was frickin' -20 on saturday. I have never been freezing more in my life. Lets cross fingers that I won't come back home with a cold. Especially due to the crazy public transportation situation. The Deutsche Bahn managed to accumulate a one hour delay on my way to Brussels – that's ok, however they managed to crash the engine in Aachen on my way back. So badly that we had to switch to a regional train and switch again in Cologne. Man... *sigh*
On to some good news... another thing I didn't expect was kind of an Openmoko family reunion. It was amazing to find Jan Lübbe, Stefan Schmidt, Daniel Willmann, Harald Welte, and even Rasterman hanging around at FOSDEM. That was just great. I also happened to share my hotelroom with Boudewijn which was unexpected but again very cool.
So despite the freezing, it was a great FOSDEM for me and I'm looking forward to go again next year, perhaps bringing Sabine and Lara Marie as well.
Information Technology has seen a really crazy year. Among all the smaller incidents, the big bangs involved Nokia partnering with Microsoft, abandoning Maemo, HP driving with WebOS against the wall, patent lawsuits everywhere.
What that means for FOSS-lovers is clear... you can't trust any company to continue working on anything. Business demands are what counts in the world of mass markets. If you want longterm support for a platform, your best bet is to build a community around it. But you will also want to work on hardware support otherwise you'll run into the next dead end.
To be honest, right now I don't see much of a future for any mobile Linux-inspired platform other than the mutation called Android. But that's not much of a problem per se. The smartphone market is crazy. To compete in that world, you have to give up on freedom. But is the mass market really what we want? Is it what mobile Linux needs?
I don't think so. There are still huge opportunities for using Linux-based mobile software platforms in niches such as machine2machine communication, home automation, research, teaching, and more. That's where a service-based middleware like FSO comes into the game: for special interests. However, even niche-adoption is hindered without a minimal set of applications. And that is where we still lack: Even special interest people want to use their smartphones to manage contacts, browse the web, send mails, play media, etc. We don't have an integrated software stack with a complete set of UI applications that would cover these needs. Openmoko worked on one, but failed. Nokia worked on multiple ones, but gave up (multiple times). What else do we have?
With HP's recent announcement about releasing WebOS as open source, the game may have changed. If we could use the WebOS application stack on top of the FSO middleware, we may have a real chance to get something great and usable – and complete – soon. I have always liked the WebOS UI. If it's a bit slower than other UIs, who cares as long as it is free?