Ad

Our DNA is written in Swift
Jump

MyAppSales 1.0.11 – Review Forwarding and Fixes

Always towards the middle of the month I seem to accumulate so many fixes and tweaks from my user base so that it I feel pressed to formally release a new version. For 1.0.11 I fixed several minor things and as a bonus I added the possibility of forwarding all reviews for one app via in-app-email.

Changes:

  • FIXED: Users with multiple vendor IDs would get an error message because of the extra vendor selection screen in iTunes Connect. Now always the highest vendor ID is used.
  • FIXED: Users who enabled passcode protection would never get any reviews being downloaded.
  • ADDED: In-App-Purchases have a alphanumeric trasaction code. This is now changed from IA1 to 101 so that it can be saved to the database. There is no reflection of IAPs in the UI yet. Previously such lines would have gotten ignored.
  • FIXED: Added agent string so that app icons can be be retrieved. This fixes Apple’s recent change requiring an “iTunes” agent string.
  • FIXED: Even if the language code for a store was the same as the chosen target language reviews would still be tried to be translated.
  • FIXED: Users who updated from earlier versions have a service type “HomeDir”. The previous workaroudn was to remove the account and create a new ITC account in Settings. This is no longer necessary and done automatically.
  • FIXED: Deselect report row if chart has no row.
  • CHANGED: Shortened Back Button to “Apps” on review screen.
  • ADDED: You can now forward all reviews for an app via In-App-Email.
  • FIXED: Removed gray shadow of app subtext on app tab which would cause blurry look.

So if you have translated reviews behind one app, you notice the new forward button in the upper right-hand corner…

Review Export 1

You can now e-mail the developer (or yourself) all the reviews as an invaluable source of inspiration to improve your app! In-App-Email also supports landscape view by the way.

Review Export 2

Version 1.0.11 is tagged in the Subversion Repository. You can either update your source from there or opt to update from trunk where development is continuing. Tagged versions are always a stable milestone while in the trunk I make no such warranty.

Note: if you checkout a project from any repository you have to set the project root to be the repo you set up to establish the link. I noticed quite a few users always doing exports when it is so much easier to only push “SCM – Update Entire Project” to get the latest version. So please go into the project settings and make the connection.

Screen shot 2009-11-09 at 21.20.51

Why I won't purchase an iPhone Business for $100000 today

We’ve been reading about it on Twitter for the past 2 days, now even TUAW picked up the story of an iPhone Developer who wishes to sell his entire business for $100000. Leaving out of our consideration that probably nobody has this much money around anyway it’s still an interesting impulse to start thinking of how much your own iPhone business would actually sell at…. should you ever WANT TO sell it.

With the seemingly limited journalistic means of TUAW all the author came up with was some general quotes and rants. I dug a bit deeper and think it’s interesting to write down what I found in neutrally evaluating this offer. TUAW repeats the seller’s offer on how he will support you, hand over everything, yadi yadi yadi.

But we all are children of numbers and algorithms. So I think we deserve a little bit deeper analysis. This I will attempt in this article.

Read more

Detect Roaming

hhyyy9 asks:

It’s possible to detect when device goes on roaming or out of home network and turn on / turn off the data connection?

Well, yes and no. Yes to the part of the question about detecting. No to changing a system setting.

You have no direct access at all to roaming or home network information. Probably via a private framework but Apple does not approve of apps using those. Though you could infer the currently used data network from the IP address range you get from the currently active cellular connection. Each provider will have certain IP ranges and if you collect these ranges then you could build up a database to detect such network switching.

Also wheres the point? There already IS a setting that allows you to disable data roaming.

general network

The fact remains that you still cannot mess with the data system setting, but only work within your app.

But this would not be an worthy Dr. Touch post if I didn’t share some cool knowledge, this time how you can get all the current IP addresses of your device. Something like “IPCONFIG /ALL” on Windows or “IFCONFIG” on Unix.

Read more

Magic Mouse has landed

After waiting 10 days – the Apple Store website claimed “ready in 4 days” – my order has arrived. Yesterday I got slightly nervous when I tried tracking the package and found the number was shipped to Manila one month ago. But there was another shipment with a different reference number below it, showing that the package has left Prague and was on it’s way to Vienna.

This morning I found two packages on my desk and so I recorded a quick unboxing ceremony in my lunch break. Thankfully I had a colleague hold my iPhone 3GS, he’s done a good job capturing my emotions. 😉

After you free the Magic Mouse from it’s Snow White glass coffin you might also feel tempted to kiss it to life. But instead it comes to life if you turn it on and seek with the bluetooth assistant. It gets recodnized as a regular mouse, no gestures yet. Then you need to look for software updates and download the mouse-related update. After a reboot the mouse settings panel changes to something similar to what we are used to from the glass trackpad of the Unibody MacBooks.

Read more

State of the Art in Cracking Apps

With the number of apps on the app store soon reaching the big 100.000 it is only logical that piracy continues to flourish. At the beginning of this year a tool named Crackulous promised to make it easy for everyone to become a pirate, claiming to be the solution to a flawed app store. At the time of this writing Crackulous version 0.9 is public and the next version 1.0 is being “in development” for more than half a year.

Piracy is a thorn in the side of all small time iPhone developers who can hope to make around $10 per app per day. Those hard working coders now face the likelyhood of  loosing half of their revenue to pirates making it continuously easier to get the apps for free. According to latest numbers of Pinch app to 60% of apps in use are in fact cracked copies.

There are several things that you can do being such a developer who sees a at least a portion of his potential income being stolen.

  • cease to protect and consider pirated apps as additional advertisements
  • pay hundreds of dollars to a professional protection service
  • do some research and collect together methods to detect cracks and modify your app’s behavior if you find it is cracked
  • join the AntiCrack community to gain access to our repository and put this into your apps, mix and match, use what you like
  • or the fatalistic option is too cease making iPhone apps alltogether

I encourage everyone to do a bit of his own research to understand the techniques that are out there and maybe develop a couple of your own. But for everybody who still wants to try to do at least something we made AntiCrack.

Read more

Alternating Tableview Cell Backgrounds

Wanner asks:

“How can I make my cells alternate colors across multiple sections if the sections don’t always have the same number of rows?”

A nice effect that you sometimes see in table views like the app store app is when you alternate the tableview cell backgrounds between light and dark shades of a color.

Read more

I predict: No Mac Tablet before Summer 2010

In his recent article The Apple Tablet OS & User Experience Mike Rundle speculated on several scenarios regarding which OS and UI to expect from any coming Mac Tablet. It’s an interesting read. Now there are a couple of things that are absent from public discussion which I am trying to shed some light on.

iPhoneOS is actually a branch of MacOS which is basically an open source OS based on BSD plus many Apple-specific additions like the proprietary Window manager. This was said multiple times by Apple employees in passing. Apple is working very actively to reintegrate “learnings” and also iphone custom code they needed to specially create for handling multi-touch back into the MacOS version that’s to come after Snow Leopard. Touch is only one thing, another thing thats still missing from CoreOS is the advanced power saving techniques that make the iPhone work a whole day. An absolutely essential thing if you don’t wont to recharge your tablet every 3 hours.

Then there is the matter of chips. The mobile parts all rely on ARM and even the chip company that was acquired by Apple probably will license ARM cpu designs and build them. Intel seems to just not cut it in terms of battery endurance versus processing power. Intel begs to differ, but Apple seems to have set it’s sights on using ARM as the main platform for all their mobile devices. The current MacOS can only be built for Intel, support for PowerPC has been discontinued for 10.6.

I think what’s happening right now inside Apple is this: They are trying to achieve what Microsoft has abandoned eons ago: a unified CoreOS which can be built for a variety of cpus. One possible reason besides the platform’s age might be to free up manpower to work on ARM being the second possible build platform for CoreOS. Apple might also drive a dual strategy and choose whatever chip platform has the most endurance for the needed performance at the time of manufacture. With a unified OS they could switch CPUs at a whim and thus can get better prices for their CPUs.

This will be also the platform to power the iPad. Apple will not compromise on the technology just to make it compatible with current generation binaries. Though most likely in a future version of XCode you will just have to change the build platform so that you can rebuild your iphone app for the ipad. And in some circumstances you’ll have to rearrange the UI elements and resize static images where used. So I guess a month in lead time should be sufficient for most app developers to get a couple of their apps rebuilt.

It will still be Objective-C though…

The most important question is which strategy would make Apple more money: an open OS for which anyone can write and sell apps. Or the iphone strategy where they make 30% on each sale. Clearly the latter has proven to be an enormous boon for Apple. So why should they change it? It is very likely that iTunes for Macs will get a Mac app store at the same time that a iPad section opens on it because both will you will be able to purchase CoreOS apps (Apple hopes also to sell much more games this way) via iTunes.

Actually I don’t think we will see the iPad shipping at the beginning of 2010 as some sites predict. It might be technically “done” already, but the OS is still missing. If Apple continues their recent pattern then we can expect Mac OS X v10.7 “COREpard” in Summer 2010. That will be the time when we will see the iPhone 4G being released as well as the iPad.

In any case we developers can look forward with anticipation of added profits from additional platforms and being able to sell almost identical content several times: for iPhone, iPod, iPad and Mac.

MyAppSales 1.0.10 – Multi-Account & Push Notifications

Exactly a month and 2 days have passed since the latest update and you guessed correctly: this is a major one. It brings two technologies into MyAppSales that I was kind of afraid to try because I was fearing the technical difficulties and the work that was necessary to make them work. But now that they are in, I’m glad I did.

Changes:

  • ADDED: Smart Multi-Account capability. You can now add multiple ITC accounts and the reports will be downloaded. Note that the UI is still the same, so reports will appear individually, always showing all apps. This will be addressed in a future version.
  • FIXED: The Passcode Lock also appears if the app resigns active status.
  • FIXED: Some financial reports from January 2009 or before would cause a crash because Apple was using full country names previously, some with strange abbreviations.
  • ADDED: When a new report is downloaded my server is anonymously pinged and saves the availability time. The first time a new report is encountered a push notification is sent out.
  • ADDED: Different types of accounts are now supported. To begin with you can setup multiple ITC accounts and one Notifications account.
  • ADDED: Notifications via the 3rd party app Notifications can now be subscribed or deleted via adding and removing of the account in settings.
  • ADDED: The myappsales:// URL scheme is now supported to open MyAppSales to a specific report screen. This is used by the push notifications to open up the daily reports page where you can see the new report appear.

If you are upgrading from a previous version then it will appear as if MyAppSales is downloading all reports again. It does not really duplicate the reports and you can just let it run. But you may also quit the app via the home button after the first such download. This is necessary to establish the smart app groupings. MyAppSales figures out which apps belong to which group (aka account) and will use this fingerprint in the future to intelligently establish which account a report belongs to and if it is a duplicate. This approach also allows to detect from which account manually imported reports are coming and sets up the app to get reports from totally different sources in the future. One such service will be allowing you to share sales data on specific apps with selected users.

Multi-Account Type SelectionI have to use a 3rd party app to do the push because only Apple approved apps can do push notifications. But I can piggyback on their service to make the experience identical as if MyAppSales had notifications itself. The only differences are that you have to set up a Notifications account and that MyAppSales cannot directly deal with notifications while its open. So if you are the first to see a report and you get the notification just click “Cancel”.

It is recommended that you make a local copy of the database via the built-in webserver. There should be no problems in updating, but in some rare cases manual changes might be necessary. And it never hurts to have a backup.

Version 1.0.10 is tagged in the Subversion Repository. You can either updated your source from there or opt to update from trunk where development is continuing. Tagged versions are always a stable milestone while in the trunk I make no such warranty.

Daylight Savings Time … there's an app for that (NOW)!

When I researched locales for LuckyWheel and time zones for MyAppSales I discovered that Apple had outfitted my iPhone with a complete database of all timezones worldwide as well as methods that would return the next DST switching time. Back then I thought “that would be a cool feature” and found it strange that there is nothing like this in the regular iPhone UI to actually access this data.

Do you know the feeling that you have an app stuck in your head that wants to get out? You’ll know what I am talking about if you have an idea that frequently comes into your mind because you have not acted on it. There are three ways to deal with such ideas:

  • look up your local locale and down enough alcoholic beverages to destroy those few synapses that kept bothering you.
  • use a notepad (or notepod) to jot down the idea and draw some sketches off the pictures that float around in your head. To the idea this will feel like validation and it will stop vying for your attention.
  • or if it can be done in a day, build the app!

I just had finished my work on the H1N1 Swineflu Defender app contract, so I had a couple of days of my spare time to spare for a quick app like that. And strangely enough this way just the perfect time right before the next DST switches for Europe and the USA to also capitalize on DST being a hot topic this time of year as everybody is searching on Wikipedia or Google for when the switch will actually occur.

Read more

Useful Push Notification for Developers

A couple of days ago I put in a feature into MyAppSales so that my server gets pinged anonymously if a user sees a new report. Actually all downloaded reports are reported by date, type and region, but I am keeping track of the first report for a specific key. Turns out the reports really DO get available simultaneously around the globe. That’s fair.

Now what good is this information? Well, if you are like me you are still excited to see the previous day’s sales figures as soon as they become available. But with Apple sometimes being very slow in processing it could mean that you have to try the download serveral times until finally it is there.

Notifications AppEnter Push! You can get the new report availability notification in three ways:

  • Tell me an e-mail to send it to
  • Via the iPhone app Notifications. Tell me your token.
  • By following @myappsales on Twitter.

What else could be pushed to be useful to you? Anything relevant to iTunes Connect?

Even though MyAppSales was banned forever from the app store with the help of Notifications it still get’s push. And it works fabulously well for three days straight.

Even if you don’t use MyAppSales you could still benefit from knowing when your new daily report is available and download it via AppViz or any other downloader of your choice.

One idea are availability notifications. You would notify a server when you submit an app to apple. Then you would get a notification when Apple tests the app online. Finally you get a notification as soon as the app appears on the app store.

I want to hear your needs. Maybe there can be an app for that … or a service … or a notification.