PowerAMP for Android appeared seemingly out of nowhere one day as a leaked beta and immediately captured attention of thousands of Android users who were impressed by its initial features, good looks, and overall polish. Fast forward to today - PowerAMP is one of the best selling Android apps in the Market with a 4.6-4.8-star rating, even at ~$4.99, which is considered pretty pricey for an app.
We sat down with Max Petrov, PowerAMP's sole developer, to discuss Android development, PowerAMP, the Market, and everything related. The interview, carried out by me (Artem), is below (with minor formatting and grammatical edits approved by Maxim; also, this was not a translation - Max spoke English).
Note: If you ever have issues or suggestions for PowerAMP, you can find a lot of information at the PowerAMP forums.
Android Police: Hi Max, thank you for dedicating some time out of your very busy schedule to chat with Android Police. Can you introduce yourself?
Maxim Petrov: Hi, my name is Maxim Petrov, and I'm the (only) developer of PowerAMP. Glad we finally found time to do the interview, my schedule has been really tight from the day I started developing for Android. I'm 30 and I live in Moscow Region, Russia.
Android Police: OK, great. What do you do for a living and what is your background? Tell us a little more about yourself.
Maxim Petrov: Sure, I'm a professional software developer, started doing it for money around my 20s. I had some experience prior to moving to Android, and actually it's quite a wide range of software I worked on, starting from Web programming and ending with networked cloud search engines. But nothing like mobile phones applications, ha. Still, I got a fluency in various programming languages and techs, so it helped.
I have programmed in (obviously) Java, C#, various web focused languages, Ruby and also very low level C, assembler (though ARM platform was new for me and I got to learn a lot about low level optimizations for it). I think I started developing something in Java around 2004.
Android Police: What made you jump into Android all of a sudden? Why not iOS or other mobile platforms?
Maxim Petrov: I've never intended to do any mobile startup, but I got an Android phone first (Nexus One), not iPhone, so I started to look into this platform first. The lack of Google's own music app was obvious.
I think if it was iPhone, not Nexus One, I could go developing for iOS instead. Though, you know, there are a lot more really good apps that already exist for iOS (and existed a year ago), all niches are filled, Apple is pretty restrictive (I don't think PowerAMP iPhone version would have ever been accepted in the Appstore).
You can jump into Android quickly - just download the SDK, install adb driver, and you can develop - for your phone, for your friends (first beta testers), it's much easier to start on Android, but I can only compare to what I've read about iOS development as I haven't developed anything for iPhone.
Android Police: What were your initial impressions of Android development?
Maxim Petrov: Android developing (and actually, any software developing) is not about knowing the language - languages are just tools, so adding a tool to a toolbox is usually not a problem (I moved to Android/Java/C dev right from Ruby - and these are completely different languages).
Given experience with any other languages, you can move to Android pretty quickly, at least start prototyping something, though, you need to fight the initial quirks (like SDK installation, lack of good documentation, android SDK/Eclipse and framework bugs, and the Android core devs' "you can't do that, please don't do that").
Android development infrastructure is very immature, while Android end user can never notice the immaturity of the platform (as actually, it's not so immature on end user side), the development side of things is really lacking in many areas.
For example, documentation is lacking, often conflicts with real state of things and it's just not enough. Though, this is balanced by the fact that Android is open source - you can just go check the source, and the source is the best documentation, but you need to get used (I am) to this approach.
For example, Honeycomb sources are not published yet, and this immediately raised questions, like how do they activate that menu button in bottom status bar?
Android Police: Can you explain the "you can't do that, please don't do that" bit from above?
Maxim Petrov: The Android UI has a lot of functionality which is not exposed (at least officially) in any APIs or exposed partially. Lock screen functionality, for example. A lot of apps have ability to customize (actually, replace) the Android lock screen, but you need to go beyond official APIs to make it work properly, to handle all differences between devices, etc.
Of course, core android developers will suggest not to do that (in Google groups, for example), but it seems like either you do it or you loose (as competing apps have it).
Android Police: How long did it take to get to that first version that leaked seemingly out of nowhere and impressed us so much at the time? What about first release to the market?
Maxim Petrov: Started Spring 2010 and it took 6 month to get to build 68 - the first leaked beta. Maybe the first couple of month it wasn't the full time job, but as soon as I saw that I can do it and it works, I started to put more and more time.
You can easily double or triple this time to get real work hours put into that initial build, though of course, I spent a lot of time on learning new things and experimenting with various approaches.
For example, the neon equalizer code which is used currently in PowerAMP is the 5th iteration (and I dropped 6th as it was slower).
As I remember, it took about a month to get from first available beta to market published version. I would have gone earlier, but it looked like community couldn't live without scrobbling, album art downloading, etc.
Android Police: This is where the interesting part begins :-]. What were you feeling when you pushed that Submit button and published the app into the Market? What were your expectations and hopes? Have your dreams ended up coming true? Have you ever thought your app would be one of the most popular paid Android apps?
Maxim Petrov: PowerAMP's popularity surprised me, even before publishing on market (from betas). My expectations were like x10 times lower initially. But first betas showed that my app is something that is needed despite a lot of other music apps (Winamp popped up around that time), and this killed any hope for some vacancy after the release :).
The community demanded and I couldn't drop development and continued, so first PowerAMP releases got a lot of new functionality. But you can't add without limits, now I'm carefully filtering what's going into PowerAMP and what is not, it's quite hard to balance between adding new features and the simplicity of UI, use, or even final apk size.
PowerAMP is the #1 paid app for many regions, for some it's in first 3-5. I never expected my app to reach this level but I'm happy with this fact :). But I know that mobile market (not just Android market, but in general) changes very quickly, especially lately. You need to run as fast as you can to just stay in your place.
Android Police: Can you share some download stats? How much are you making a day/month on average since the release of the paid version?
Maxim Petrov: Sure.
PowerAMP Trial (Market link)
- 3,133,312 total
- 1,169,260 active installs (37%)
Full Version (Market link)
- 204,130 total
- 181,237 active installs (88%)
The trial was published on the 1st of November and full version - 9th of November 2010, so the stats are from these dates. Interestingly, the stats don't match the charts exactly - there are lots of complaints about that in Google's Android Developers forum.
Left: free app; right: the unlocker
Android Police: Doing some quick math and being pessimistic (counting only active installs), that's ($904k) * 70% = $633k in only about 5 months, which amounts to about $127k per month to your pocket on average.
Android Police: Why do you use different publishers for the free app and the paid unlocker in the Market? Why is the unlocker's price listed in Hong Kong dollars?
Maxim Petrov: I had a US-based publisher at first, which took 20-10% (I negotiated the reduction). Now i have own incorporated company to avoid intermediates.
Google accepts a very limited number of countries to send funds directly via bank transfers. Russia is not in this list, but Hong Kong is. Basically, you can't sell on the Market directly from Russia. Google advertises you can, but this will work only up to $5k monthly. If you go over this limit, lack of documentation from Google makes your business illegal in Russia.
Android Police: How did you promote PowerAMP?
Maxim Petrov: The first versions promoted themselves, magically. There was a small experiment with promotion on version change like a month ago, but promotion and advertising (except for the self promotion, i.e. when apps promotes itself) is what is lacking now.
I'm planning to spend some time on this soon though. It's just I need to take time from development if i need to do anything else, and right now I'm focused on development (and I have few hundred emails each day as well, i.e. support also takes its time).
Financial things, accounting is outsourced - the rest I do myself.
I'm thinking about outsourcing support as well, it's just like 95% of support requests falls into well organized categories, which can be quickly processed. Smart email filtering is the key. I try to answer everything requiring answer within 24 hours.
Android Police: Who does your design? PowerAMP has a stunning UI (in my opinion) - that's what drew me to the app in the first place.
Maxim Petrov: I'm pretty fluent with Photoshop and current PowerAMP skins are completely designed by me.
PowerAMP supports skinning and already has 4 skins that come built-in. It will definitely extend its theming support - actually, support for downloadable skin packs is already implemented. I'm in doubts if I should put it into 1.x branch or wait for 2.0.
There was a "tradition" in 9x that music players have somewhat distinct look (Winamp and various similar Windows players), though iTunes and Foobar2000 don't follow that. I decided to give PowerAMP a distinct look, thus I agree, not everybody accepts this. There will be definitely "plain android" skin for PowerAMP.
I would add more skins to PowerAMP, but its apk is already 3MB (which doubles on devices) thus I'm limited by this factor. Downloadable skins will generally remove this limitation. I hope with the downloadable skin packs community will also add own skins (I will provide all required resources and how-tos).
By the way, 2.0 will be a free update to 1.x, not a separate app (just a bigger update).
Android Police: Will there be a Honeycomb-optimized version of PowerAMP?
Maxim Petrov: The audio engine, library and other non-visual parts almost perfectly work there already. There will be tabled-optimized skins. I planned this for v2.0 (beta planned for end of Spring 2011), but as I have the skin engine ready already, I'm thinking about adding it to PowerAMP a bit earlier.
And now for some questions from our readers.
Android Police: Any cool features we can look forward to in the near future?
Maxim Petrov: Yes, true gapless playback, crossfade (and other fade transitions) - these are the major changes coming in next version (1.4) soon.
The complete TODO list is (or actually, was) quite large - it's updated in "Real-time" on my PowerAMP forum.
Android Police: Can people download early pre-release builds?
Maxim Petrov: There are pre-release builds published on the PowerAMP forum, usually available a week before release.
Android Police: Are you planning in-app purchasing of the license key?
Maxim Petrov: No, it generally won't work well for PowerAMP. Though I'm planning to simplify the unlocker purchase process a bit. PowerAMP already has a lot of users which purchased the unlocker. Any manipulation with the unlocker (unpublishing) will cause issues for them.
Also in-app purchases have no visible statistics as paid apps have.
I would use in-app purchase for any new app though. I would have used it for PowerAMP, but it wasn't available at that time, of course.
Android Police: Have you ever thought of releasing an ad-supported version of your app?
Maxim Petrov: I did, but it's very-very hard to guess if it will be better than selling the paid version. I would say, it may be more appropriate for somewhat bigger businesses to use this model, but not for the startup without any other funding.
Android Police: When can we have a playlist backup?
Maxim Petrov: This is planned for v2.0. v2.0 will recognize some playlist formats (e.g. m3u) and will be able to export into them.
Android Police: Do you have any plans to integrate with cloud storage or remote service in any way? The new Amazon Cloud, remote mounts, Dropbox, Subsonic, Shoutcast, etc?
Maxim Petrov: Unfortunately, afaik Amazon doesn't provide access (APIs) to their music cloud for 3rd-party developers.
PowerAMP can play remote (cifs) mounts directly if they are mounted properly (mounted as folder on external storage, not in root).
There are plans to integrate with Audiogalaxy streaming (and probably, with other streaming providers like this), but I'm not sure when this will be implemented.
Shoutcast support is planned, but it's not a priority. My point is that streaming requires constant Wi-Fi/3G connection, and this eats battery too fast to make it a really usable application. But something like Amazon Music Cloud (with files cached locally) is really a neat idea, I wish Amazon opened their APIs to 3rd-party devs.
Android Police: Can you make a simple exit button that stops the app from running in the background?
Maxim Petrov: PowerAMP doesn't run in the background when music is paused, thus the "exit" button has no point.
PowerAMP has a "stop" action (long press on the Play/Pause button) - this stops the audio processing pipeline (which still doesn't run when it's paused).
This is how Android apps are implemented - there is no single app actually, an app consists of many components - activities, services, broadcast listeners, etc. Each of them has its own life cycle, and PowerAMP components follows APIs and recommendations strictly here, though this behavior can be also overridden via PowerAMP's advanced settings.
Android Police: Will there be an option to download and view lyrics?
Maxim Petrov: PowerAMP is currently able to show embedded lyrics (from ID3 tags), the last v1.3 will show them over album art area (can be hidden). There is also support for 3rd party lyrics apps - they can "push" lyrics into PowerAMP's album art area. I hope support for PowerAMP will appear in such apps overtime.
As for adding licensed lyrics support into PowerAMP itself - it costs and costs a lot. I'm thinking about this, but currently the costs proposed by licensed lyrics providers are too high.
Android Police: Are you considering allowing or using actual playlist files that don't have a chance of being lost like sqlite dbs?
Maxim Petrov: Sqlite db is required if you don't want to open your playlists with thousands of songs for minutes. However, as I mentioned above, PowerAMP v2.0 will be able to export/import playlists into common playlist formats (though, of course, database will be still used internally).
Android Police: Do you have any tips for making successful apps? What were some of the pitfalls starting developers might run into?
Maxim Petrov: Try to create a really high quality app and listen to your audience. Try to test your app on as many devices as possible, as the main pitfall is when it doesn't work, often it's because a vendor failed to test its next update, etc (like the recent Samsung Galaxy S 2.2.1 update which broke application settings if the app is reinstalled).
Android Police: Alright, let's move on to something less serious. What are your favorite Android apps and/or games?
Maxim Petrov: OK, I'm not the person who plays games on a smartphone, but Angry Birds is perfect, of course. As for apps, there are just too many: Launcher Pro, Power Control Plus, RealCalc, OS Monitor, CatLog, ES File Manager, Yandex Maps - I use these all the time.
Android Police: Here's an important one - do you have about tree fiddy (this was a highly requested question)?
Maxim Petrov: Yes, this is what Google pays me for each paid version of PowerAMP. $3.49 to be exact - where's my cent, Google? :)
Android Police: Is there anything else you’d like to mention as part of this interview?
Maxim Petrov: Thank you, Artem, for the interview, and thanks for running Android Police, it's a very nice site.
I'd like to thank Max for his time, both for developing my favorite audio player and for spending hours chatting with me during this interview. I hope we were able to answer some of the questions you had for Max and provided an insight into the world of one of Android's most successful developers.
If you haven't tried PowerAMP yet, you can download it using the links below.
Till next time!