Category: Opinions

The Missing Pieces in Apple’s In-App Payments System

The in-app purchases on iOS have evolved greatly, if not rapidly, over the years since Apple has introduced the option to pay from within iOS apps using their payment system. They’re available everywhere where the App Store is, subscriptions are now available for most apps, webhooks were added, reporting is better and the Apple fee now drops to 15 % after a customer is subscribed for 1 year. All good improvements, but a giant and glaring omission remains, making the user experience worse for customers and lives more difficult for developers. Further still, Apple doesn’t show any inclination to fix the situation and fill in the feature void:

It’s impossible for app developers to search, cancel or refund iOS in-app payments.


Why is this important? 

To provide a better service and user experience for our customers.

Refunds. Sometimes a customer just upgraded short while ago, but accidentally made a double purchase or had different expectations of the functionality. In such cases a customer would contact our support and request a refund. When this happens best we can do is to tell them to contact the App Store support, as we can’t authorise the refund ourselves. This can be a bit difficult to understand for some, as we’re the ones operating Toshl otherwise.

Cancellations API. Our apps are available on multiple platforms. Let’s say a customer previously used the Android app and subscribed through Google Play or used the web app and upgraded via PayPal. Then, the customer buys an iPhone and extends the Toshl Pro subscription using in-app purchase. In this case, we’d automatically cancel the previous subscription on Google Play or PayPal, so only the most recent subscription on iOS would remain going forward.

This isn’t possible in the other direction. If a customer first subscribes using an iOS in-app subscription, then upgrades via PayPal, we’re not able to cancel the existing subscription on iOS. Best we can do is to tell the person to follow these rather convoluted instructions to cancel the previous subscription on iOS.

Unfortunately, this can quickly lead to accidental double payments as the customer forgets to cancel the previous subscription manually. Logically, they’ll contact to our support, requesting a refund where we can again tell them only to request it from Apple’s App Store support, thus creating more ire and a user experience quickly approaching Kafkaesque territory.

Search. Sometimes, we need to look up a specific payment. Either we’re not sure if it was completed successfully, we’re investigating a potential double payment or testing something. There are many reasons why this would be useful and of course goes hand in hand with the ability to refund or cancel subscriptions as mentioned above. This isn’t possible with iOS payments. While some of the data could be checked via APIs, most can’t, there’s no graphic interface to check.

The lack of these crucial components is even more evident when comparing to the other payment methods that we use. All of the functions mentioned above are easily available on Google Play, PayPal and Adyen (our credit card processor).


Why isn’t Apple fixing this?

I can’t be sure, but other than the lack of time and focus on other areas, a few possible reasons come to mind. It could be that Apple is afraid of a loss of control here. But their refund policies with their own support are quite liberal as it is. Potential abuse of the refunds could quickly be algorithmically detected. Other payment providers can seem to make it work well.

Privacy could be a potential concern, but it need not be. We’re not asking for any card details of the customer, addresses and names can be hidden, as Google Play already does. What we need most is the unique ID of the transaction and the ability to search by it and email.

It is possible that the refund ratio of all purchases would go up slightly, but it’s doubtful it would do so significantly. In any case, it’s a better long term business practice to let your customer choose your product because they want it not because the cancellation process is so damn convoluted.


We’ve contacted Apple’s support regarding this, but all we got is a standard non-response:

“I do not have any information on whether this change is in the works. I can advise you that Apple does take your feedback very seriously. Many changes to our program have been implemented by feedback from our developers.”

I’m sure we’re not the only app developers, who face these problems and would greatly appreciate to see these issue sorted. If you agree, please share this article so we can get some improvements to happen.


We love Apple’s products and for the most part they make our lives easier, both on the user as well as the development part. This is why this feels so much more as a black spot on an otherwise great user experience record.


Apple we beseech thee, please help us make user experiences better for both your and our customers.


Posted in Development, Opinions

We support internet neutrality, let’s make sure The European Union does too

We don’t often take public political views at Toshl, but internet neutrality is a very important one, one that deserves our attention. The future free development of the internet depends on it.

The European Parliament will tomorrow (3rd of April) vote on an interesting piece of legislation. It’s a regulation, for all of you who aren’t EU-buffs, that means it’s directly applicable EU legislation. It’s directly applied in all member countries and is hierarchically above the national legislation. It’s entitled Regulation of the European Parliament and of the Council laying down measures concerning the European single market for electronic communications and to achieve a Connected Continent – COM(2013) 627.

We know, quite a mouthful. Because it’s a regulation it will be in force everywhere in the EU. It goes a long way toward establishing a single EU communications market, synchronising spectrum auctions, improving consumer rights for the most part… Simply put, if this goes well, there will be pan-European internet operators (mobile and stationary) and you can forget about the roaming charges completely, since it will be all one market. This means better services and content across The European Union and great opportunities for companies, organisations and individuals to make our lives easier.

BUT! There is a caveat, the proposed regulation also contains some very harmful provisions when dealing with internet neutrality. It doesn’t guarantee internet neutrality, in fact, it establishes the right of communications companies to set up special service agreements, which are poorly defined and limited and could lead into the negation of internet neutrality. In practice, that could mean that content providers (think of any website, internet content, tool, app etc.) could be forced to pay extra for preferred access on the network, smaller latencies etc. This would in turn make it harder for smaller entrants to the field to compete as only large players would be able to afford such fees and skew the playing field. It would lessen competition and we would no longer have a longer playing field. In the longer term it could also have effects on freedom of expression if this results in a tiered internet, where content providers need to pay the telcos for decent access and operators are the ones who choose which services they prefer, instead of consumers.

These kind of things are already starting to happen in the United States, where the FCC decided not to enforce internet neutrality. Just see what’s beginning to happen with Comcast and Netlfix. These are only the first steps. It’s likely to get much worse. It can mean higher prices for consumers, less choice and more difficult entry for new entrants to the market. Disrupting old giants could become much harder for startups.

Slovenia, the home country of the Toshl team, already has internet neutrality enshrined into law. It’s the 203. article of Zakon o elektronskih komunikacijah (ZEKom-1 – Law on electronic communications). In that respect we have one of the most advanced legislations in the world as only The Netherlands and Chile guarantee internet neutrality to this extent.

Let’s ensure we don’t fall to the lowest common denominator and ensure that internet neutrality will become part of EU legislation as well.

Read more about the net neutrality vote on La Quadrature Du Net.

They have also prepared email you can send to Members of Parliament or call them, to insure that net neutrality will become law. The members of ALDE, S&D, Greens and GUE/NGL have also prepared an amendment which includes much better guarantees of internet neutrality and stricter definitions and framing of specialised services that exist on the networks.

Keep in mind these is the first reading in the European parliament, to be followed by approval of Member States in the European Council and another round of voting after, depending on the amendments proposed. There is much to be done if the final text will become something that will be to the true benefit of the European Union, not just partial interest of electronic communications operators. The game is afoot.

Posted in News coverage, Opinions

Microsoft Responds to Our Woes, Publishing on Windows Phone Marketplace Much Improved

In July, I wrote about our experiences with publishing Windows Phone apps on the Marketplace and compared it to walking barefoot on broken glass. Few months leading up to the post we had horrible experiences with publishing Windows Phone apps that broke the camel’s back and I felt I had to share what’s been going on in hopes of improvement. I’m glad to say things have much improved on the Marketplace front since then.

What happened next

The blog post generated quite a lot of interest and a lively debate on Hacker News. It turned out that the post was making the rounds at Microsoft as well, as the next day Joe Belfiore, VP of Windows Phone at Microsoft replied in the comments apologising and promising improvements. It was very refreshing seeing people very high up at Microsoft responding directly to developer concerns. It’s something that Apple is very much unwilling to do, so Microsoft’s approach was truly a breath of fresh air.


In fact the next week I had a call with the team in charge of the Windows Phone Marketplace and we went through the issues that we faced in the past months. They explained some of the background issues and promised improvements soon. Since they were obviously instructed by the management to initiate this meeting to appease us I was a bit sceptical about the actual delivery on these promises.
Luckily, I was soon very pleasantly surprised. Microsoft indeed updated their Windows Phone Dev Center and addressed most of the issues that were causing us problems. Let’s look at our original complaints and whether they were addressed.


Publishing apps worldwide – mostly fixed
With the update, they’ve expanded the developer registration to a lot more countries, including Slovenia and have quickly been adding new ones. Microsoft guys mentioned that they were previously using some of the components from the xBox publishing side, thus bring a lot of legacy issues such as illogically limited country support along. We’re glad that’s fixed now.


Publishing tools – mostly fixed
Uploading is much nicer now, Silverlight components make a lot less appearances making for a much nicer process. I can finally enter data normally in various browsers. The new layout is also much clearer and pleasing to the eyes. Some questionable UX decisions still remain and I’m clueless why the latest statistics I can get for app downloads are a week old, but other than the statistics the Dev Publishing tools are now better or on-par with other app marketplaces.



Publishing time – fixed
This is an area with really big improvements for us. We needed more than a month to get the app up last time due to slow response times and incomprehensible rejections, but lately that time has really improved. We suspect that we might have been especially flagged due to the publicity from the last post so your mileage may vary, but we generally get the app approved by the Marketplace team in about 3 days. It’s a big improvement and much faster than the week or two Apple’s App Store usually takes.


Moving apps to other accounts – ?
To be honest we can’t really update on this one since we haven’t attempted this since the last time. If any of our readers have info on the possibility of moving apps among developer accounts please let us know.


Ridiculous morality standards – probably fixed
After quite long discussions we came to the conclusion that the funny sentences in our apps probably had nothing to do with the rejection. Turns out that they simply lumped all the local-rejection reasons into one policy, thus bundling together a China Bing maps issue with morality standards of Quatar and leaving the developer in the dark about what was actually the issue. They mentioned they fixed that, but I’d be curious to know if anyone got rejected for similar reasons lately and how were the reasons communicated?


In conclusion, many things have been improved and I certainly hope they continue to make lives of developers easier. The update my previous metaphor, publishing on the Windows Phone Marketplace is no longer like walking barefoot on broken glass, but reminds much more of a barefoot stroll on a pebble beach. What we’d like to see now is that beach become more popular with more people. We’d prefer to be flexing our abs on a beach where more than a few percent of the hot girls come to.


Good luck Windows Phone, may your user experiences be smooth!
Posted in Development, Opinions

Why Publishing on the Windows Phone Marketplace is Like Walking Barefoot On Broken Glass

We started developing Toshl for Windows Phone because we liked the platform and saw the potential in it. It’s a beautifully designed OS, even if the experience starts to wear a bit thin after a few weeks and a giant leap for Microsoft. Publishing apps for it though, has turned out to be a very painful experience. From time to time the tale gets so surreal and horrible I sometimes wish Franz Kafka were alive to describe it instead of me.


World outside the few largest markets does not exist

While it’s possible to download applications from the Windows Phone Marketplace in Slovenia and many other countries, it’s impossible for developers to publish them with their own account. You simply cannot register a developer account. We are not even talking about the possibility of accepting payments, it’s impossible to publish free applications as well. Why they would insist on such a limitation is truly baffling.

So Microsoft Slovenia is kind enough to publish all the apps from Slovenian developers under their account. While that was better than nothing, it also meant that we didn’t have the access to publishing our own app or statistics about how the app was doing. Everything could only be done through email with the Microsoft Slovenia employees. What that also meant is that any phone which we wanted to use for development purposes had to be physically taken to Ljubljana, to the local Microsoft HQ to be unlocked. Doable, but highly annoying and time-consuming.

Imagine badgering employees at another company to hurry up with the upload by email each time you need to publish a bug fix, let alone optimise the description of the app.

Impossible to move the app to another account

We kept working on Toshl Finance, got a lot of new users (with little thanks to Windows Phone), established a US corporation and got accepted into 500 Startups. Since we now had a US company we could finally get our own Windows Phone developer account, get the app there and live happily ever after, right? Not so fast, Mr. Naïve.

When making an account Microsoft’s site would not accept any of three credit cards. One credit card was Slovenian, one French and one US all issued by different banks so I’m pretty sure the problem was on their side. Luckily we were at the 500 Startups offices and were just talking to a Microsoft developer evangelist before and he helped us out so we could create the account without the credit card.

Once we got that done, we wanted to move the app from the old account owned by Slovenian Microsoft to our new one. We were building and improving the app for more than a year after all, got a considerable amount of downloads and great ratings on the Marketplace. As there wasn’t any way to do this in the web interface we contacted the support. The Slovenian Microsoft helped, as well as our helpful developer evangelist in the Silicon Valley. Result after weeks of wasted time: CANNOT BE DONE. They don’t have the “technical ability.”

Their answer was that we had to remove the app from the Marketplace and upload it all again. That meant losing all the download statistics, ratings as well as the inability of existing users to update through the Marketplace mechanism. To be fair, we have the same problem with Apple and the App Store and they’re being even greater assholes about it.

It was a tough pill to swallow, but we had to do it to actually have control over our publishing. We said: let’s do it quickly, like pulling of a band-aid. Take it off the Marketplace first, so we can keep the app name and uploading it the same day. What a mistake to make. Lesson learnt: never take off a live app until you have a replacement already up, rename later.

Arbitrary Marketplace certification ridiculous “morality” standards

Beacuse Microsoft (like Apple), manually inspects and certifies each app it takes about a week from the upload to the publishing of the app. Since the app was already present on the Marketplace for a year without a problem we assumed it should be a routine thing and the app will again be available to our users very soon. Wrong again!

It took A MONTH to get the app back on the Marketplace, during which time our users could not download the app, many of them paying users. While dealing with the outfall Microsoft and the Windows Phone certification team kept coming up with stupider and stupider reasons to decline our app.

First we needed to state the privacy policy again (even though it was already explained in the app and our Privacy Policy available on our site). Keep in mind that was all ok for an entire year before and numerous updates. Then they decided that we logged location data without permission. The tracking of the location of the expense was of course completely optional and up to the user, but it was true that it was marked improperly at one place. Again, that was fine for an entire year before then!

Then came the icing on the cake. The third rejection because our app used a Bing map (which isn’t allowed in China), but more importantly, our app was immoral and contained inappropriate material. As such it could not be published in Indonesia, Malaysia, Saudi Arabia, Qatar, Iraq, United Arab Emirates… Keep in mind that Toshl is a personal finance app, it’s not about porn or gambling. Even after contacting their support they refused to elaborate on what was the offensive element.

We do try to put some humour into the apps. For example the Toshl monsters say funny sentences while syncing. We went through them one more time and the absolutely juiciest we could find is “I saw that expense you marked as “other toys.” Naughty.” It shows up randomly during sync and for max. 3 seconds. That was enough to get us banned in all those countries. We had no choice as they wouldn’t explain which exact thing was the violation and our loyal users have been already waiting for more than a month. We also refused to censor ourselves everywhere else due to puritanism of some Microsoft bureaucrats. So we disabled the distribution in those countries and published again. Finally, we got through.
We still had to email all our users, as they couldn’t update automatically from the Marketplace.

Incompetent publishing tools

The publishing platform on is of course built with Microsoft tools. Which means forms made in Silverlight. Which means PAIN. When our Windows Phone developer sends me the .XAP file to publish the app I usually publish from my Mac. I need to switch browsers to publish the app and even then it’s a horrible experience. Why?

Google Chrome: Cannot even open the submit form, keeps loading in perpetuity.
Firefox: The same.
Safari (what I use in the end): Can open the form, but each time I hit space in one of the text fields it jumps to the bottom of the page, making it impossible to edit any text and actually seeing it.

Furthermore the page is confusing and the statistics poor. Microsoft bury Silverlight once and for all!

Low numbers user numbers

The results in new users from publishing on the Windows Phone Marketplace are also very low. Negligible compared to the the App Store or the Android Market. I suppose you could also blame this on us and our promotional skills but we did quite a few things to get Toshl Finance better numbers on the Marketplace, got reviews on a lot of the Windows Phone dedicated sites etc. Quite simply there aren’t a lot of Windows Phone users. In the Toshl Finance ecosystem there’s even a few percent more BlackBerry users and A LOT more Symbian^3 and MeeGo users than Windows Phone.

Promotional bait and switch

We were talking to a Windows Phone developer evangelist a while back about how we could get our app featured in the Marketplace and get more users that way. We do have a 5 star rating in the Marketplace and the users love the app, problem is getting exposure. Don’t believe the 5 star? Check out the app on the Marketplace.

We wanted to get the app on our account first, how quickly that went you already know. They told us that we’d have a lot better chance with more Windows Phone specific features, like live tiles and to try and apply later on. Live tiles are a great idea, we love them and they really make understanding your finances at a glance easy, so we went for it.

Talking to the Windows Phone evangelist today we found out there’s basically no way to get into the Marketplace nomination program currently and that they’re only focusing on promoting the upcoming Windows 8 apps…. Not even on the phone (for which SDK isn’t available), but on the desktop. He also mentioned we should do desktop app as well. Yeah right. After a developer relationship like this, who in their right mind would hop on another “burning platform” of theirs.

Microsoft and the Windows Phone team: Get your act together! If you think you can make your platform matter on mobile while offering such experiences to developers you are sorely mistaken.

Posted in Development, Opinions

Gamification of personal finance, there’s a better way to do it

There’s a lot of talk of gamification in personal finance, but it shouldn’t be about piling on extra layers of unwanted information. It should help us understand existing information better and understand the way our habits need to change. It should keep the user’s best interest in mind. Not the marketer’s.

I was just reading an article by Reuters on the gamification of finance in the United States. It describes some approaches various financial startups are taking to gamify personal finance. It says that “gamification” is an inelegant term for what they’re doing, but I would go further than that. The term isn’t inelegant, but the type of gamification they have in mind is. They describe systems of badges, contests, prizes, competitions etc. a lot of excessive cognitive add-ons to the finances you should be taking care of.

Finance should be more fun, even gamified, and that’s what we’re striving to build with Toshl. But forcing in all the laziest approaches to gamification such as those described above is not the solution. Personal finance needs to be simple to be fun and that also means unburdened by excessive information. When gamification is used in personal finance it should be used to convey more information about the user’s finances and encourage positive financial habits. There are so many ways to convey information in games that makes it simpler to understand, internalize and at the same time, not make it feel like a chore, but something playful and fun. Going for prizes, sweepstakes, coupons most of the time only introduces more cognitive overload, confuses and makes us change our spending patterns in ways that stray from the optimal. An effective personal finance manager should help you realize your true financial needs, not create new ones with false senses of economies.

With Toshl we want to build a fun and simple way to manage your finances. That means that when we decide to gamify the experience it will be truly informative and help you understand the way your personal finances work and change. Most importantly it needs to be possible to opt-out of the gamified portions of the app. A lot of people simply need a simple, yet powerful tool to keep track of and plan their finances. Simply being made aware of where our money is going changes our habits and patterns of spending. Some people want a more playful experience and an easy way to change their spending patterns even more on top of that. That can be truly great and incredibly helpful, but it shouldn’t be forced on anyone and the habit-changing goals of the gamification layer should be clear. Nobody wants FarmVille-type emotional extortion when it comes to a thing as important as managing personal finances.
Gamified finance can be a great learning tool, but it needs to be fun and it needs to be oriented to the long term with the user’s best interest in mind.

We have a lot of ideas on how to make this experience great and help people change their financial behavioral patterns for the better, but in a way that they understand exactly what’s going on. The gamification layer needs to be as informative as playful, otherwise we would be missing the mark. We’re looking forward to all the things we can bring to the table, but first we need to take care of a lot of more basic building blocks to make Toshl a truly effective system to track personal finances. We love the feedback that we’re getting from you, the Toshl community. It helps us to focus and be in touch with people’s needs when it comes to personal finance. Keep it coming! We’d love to hear what you have to say on the topic of gamification in personal finance.

Written by Matic Bitenc

Posted in Opinions