This article it is about a suggestion I want to make to you: I want to create a well documented brand new platform-independent ReportCore framework and you build apps that leverage it to use and sell. Read on for how I plan to make this app store legal.
I sent out the following email to people on the MyAppSales Google group.
I have begun working on a full on rewrite of MyAppSales.
You probably have moved on to some professional reporting service in the meantime, picked up AppViz or maybe went with the other open source mobile app out there.
The problem I have with these services is that however professional they are, they don’t answer the really important questions that I have:
- What’s the price elasticity of my apps? How did it change over time?
- Or asked differently: at what price tier do I make the most profit?
- For apps where I have a revenue sharing model: how much have we earned so far? What is everyones share of the revenue?
- For a specific app: If I make an app free, will the IAPs make me a larger total profit?
The “other solutions” show pretty charts and maybe convert the local currencies into a single one. But I know from my experience that you tend to lose interest in the details if the overnumber of “sales for yesterday” doesn’t ever really change.
Since last month (March 6th to be exact) Apple offers not only Daily and Weekly sales data via their Autoingest.java interface, they also added Monthly and Yearly reports. On my old account I have sales reports dating back until when I got started with my own apps, 2009.
I rewrote this java app in Objective-C a while ago and yesterday I updated it with the new reports: Report Downloading Update
Up until now we had to be scraping the Apple website which is a fragile process, especially with all the AJAX going on. Now the time is finally ripe to ditch this process and use DTITCReportDownloader.
Last but not least I have learned many things on my way as an iOS and Mac developer in the past 4 years. Much of the code in the current Open Source MyAppSales version makes me feel sick.
A New Hope
These reasons prompted me to start working on a brand new reporting and analysis app which – because I own this name – I am still calling MyAppSales.
Though the philosophy will be dramatically different from the predecessor: I would like to give it another go with Apple.
Apple originally rejected MyAppSales because of the scraping of the ITC site. Instead of this I want to position MyAppSales 2 as an analysis tool with no downloading capability. Instead you would have some mechanism that downloads all available reports via the DTITCReportDownloader mechanism, either on a script running on your server, or as a Mac Status Bar app. The downloaded reports would be put in a central place that you own, for example Dropbox, WebDAV or an FTP server.
These reports would then be synched via “the cloud” and each client would have its own database where it imports the reports into. By having MyAppSales 2 an official app we can send it native push notifications whenever daily reports are available. So the downloading experience would not differ much from what it is now with the added benefit that it is not something that would have to happen manually whenever you open the app.
Instead there would be a ReportCore that has a CoreData database of all sales by report and would keep track of which files have already been imported. This is where the analyzing would be working with, but you keep the txt.gz of the report files as long as you like. This is the ultimate backup of sales data because it is completely independent from what app you chose to use in the future. If you want to move elsewhere you just import this folder of reports and you’re golden.
Why I am Mailing You?
I need your help. This reaches 301 members which are currently signed up on the MyAppSales mailing list.
At this stage I have the beginnings of some unit tests and the report parser. The next step is to develop the platform-independent ReportCore and based on this I see one or more iOS and or Mac apps. We also need a downloader and for that we need to implement our own Mac Dropbox framework.
I am uncertain if I would prefer to run this new project on my own GitLab server or have everything on GitHub. I would probably want to leverage some of my commercial components but I don’t like to having to add their binary builds to GitHub.
I think I want to have you as a partner. I see myself as being providing the ReportCore and partners would implement analysis apps based on and compatible with this component. An app similar to the original MyAppSales would be a definite possibility. This is something that ReportCore should enable with very little code, all leveraging CoreData, NSFetchedResultsController, GCD and be taking care of the syncing automatically for you.
I imagine that you would have a Dropbox linking dialog in your own app and once you have linked it, then ReportCore would start going about importing the reports found there and informing you about its progress. Then it is up to you to give the users the kinds of analysis or revenue splitting tools that you think are useful.
I also know from experience that I am not really good with UI design. But I think I have become really good with API design and building components. So in other words I am good in packaging something developers need for enabling functionality in their own apps.
So my plan is this: I (and a small team) would be working on ReportCore and provide the synching mechanism via Dropbox (and other cloud-based file synching systems) and a notification mechanism (e.g. APN). And you would be building apps on top of that.
I don’t believe that there has to be only a single choice for a mobile report viewer. By encapsulating the difficult part and sharing this with many app developers I hope to enable a new eco-system of apps that are all compatible with each other.
For example there could be a simple app where you chose an app, a report type, a date range and then it would graph the two price elasticity charts that Michael Jurewitz hat in his Cingleton presentation. That’s it! A highly specialized tool for a single purpose. No need to bother with setup, downloading etc. Only link with the Dropbox folder where the reports can be found and the user is done with setup.
Another app would help you calculate revenue shares and mail out statements to your app partners. Same process: a quick setup via a view controller, boom, the app would know the share percentage and build statements from any report type you like.
Another app would maybe not use sales reports at all, instead it would focus on providing statistics on the Newsstand or Opt-In reports that are also available for people who have certain kinds of apps on the store. Same process, but instead of sales reports you would ask ReportCore for the other kinds of reports.
So what do you think?
I know that developers are a niche market and you probably won’t get rich from marketing a multi-facetted sales report app that everybody expects to be getting at $1. But provided that you don’t have to worry about the synching of sales data, don’t you think that certain scenarios would be well worth $10 or more for a extremely focussed niche analysis app? Like the pricing elasticity app I described above? Certainly developers would be willing to pay much more for apps that enable them to discover the pricing sweet spot.
Of course I need to get some form of sponsoring, one-off licensing or share in profits for financing the ongoing development of ReportCore. But we can tailor this totally to your capabilities and interests.
I am looking to find if the above can spark any sort of interest or response from you. If yes, then we should talk about at what level you would want to collaborate:
- Developing Co-Development of ReportCore
- Working with me on adapting some parts of Dropbox API for a iOS/Mac framework to be used on both
- Providing generic reporting apps on iOS or Mac
- Providing focussed niche apps on iOS or Mac
- or just interested in seeing what modern, well documented code looks like
Whatever your interest I am positive that we can find some common ground.