Category: Development

Between Scylla and Charybdis: Why We’re Switching the Locations Feature Back to Foursquare

We’re switching the expense locations provider to Foursquare! Back to Foursquare, as it was before April. Don’t let the exclamation mark of the first sentence fool you, it is not one of excitement, rather of frustrated dread.

When making Toshl v2 a few years ago, we thought it would be a cool feature to add the location of the expense or income. Cooler still, with the help of a 3rd party service, we could even show and save the name and info of the exact venue, not just the coordinates.

For this to happen, we chose Foursquare. We used their apps, knew they had a pretty good database of crowdsourced venues and at the time, offered the venues API for free, even for commercial use. Through the years of use and user feedback, we discovered that the coverage could be somewhat patchy in certain countries, but worked well overall. Hell, it was free, save for the attribution and data about which places were the most frequented.

Then earlier this year, a Foursquare representative sent us an email, saying that they’ve changed the terms and now want to charge us the 750 $ (US) per month for location API access. We’re not against paying in principle, they do provide a useful service, but a bait and switch with going from 0 to 750 $ a month was a bit harsh. Especially for a feature that doesn’t represent the core of our service, but is rather a nice add-on for most people.

Therefore we resisted and checked out other providers. Google Places API was an obvious choice. While the quality of location data also varied a bit, the database of venues was very large and we knew Google was definitively committed to keep improving it substantially in the future.

So we added the switch of location providers on our to-do list, updated the backend systems, optimised how the results were fetched and displayed, changed the location provider logos in the apps and launched the new location system with Google’s results on 18th of April 2018.

While Google’s Places API was not free in theory, there was a cap beyond which they started charging. Essentially this made the service free for us, as we didn’t surpass those rather generous caps.

Then on May 3rd, the bomb hit. Google announced they were raising their API prices. By A LOT. You can imagine how happy we were.

We weren’t the only ones:

Insane, shocking, outrageous: Developers react to changes in Google Maps API

There was a 3-month transition period after June 3rd during which they offered some transitional credits to existing customers, but after this, our monthly bill would go from 0 to about 3000 $. Wonderful.

We had a few calls with Google representatives to see if something could be worked out, or if we had misunderstood something, but all we got was a “that’s unfortunate” and a $300 credit for other Google Cloud services.

We obviously looked at other location data providers like HERE, TomTom, Mapbox and others, but very few offer worldwide coverage and even when they do, it can be pretty patchy and imprecise.

Perhaps that’s also because during the last decade Google offered these location services below cost, thus stifling stronger competition that might have otherwise developed.

 

So long story short, the locations of your expenses and incomes in Toshl apps will again be provided by Foursquare. We apologise for any inconvenience that might have caused, as the locations on both platforms don’t always match completely. As you can probably tell from above, our choices were somewhat limited. We hope the location function will work well, consistently and hopefully without further pricing shocks in the future.

 

 

Posted in Announcements, Development

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

Toshl Finance 2.0 is here

Today we launched Toshl 2.0 for iOS and the web app. It’s a major upgrade, in fact a rethink and rebuild of what we have been offering so far.

all

There are so many new features and improvements that it would be hard to list them all here. Most of them come from the feedback you, the users of Toshl have been giving us throughout this time, coupled with our vision of how we can help people improve their personal finances.

Among the features we’ve added are multiple financial accounts, adding of photos, locations, reminders, paid markers to expenses and incomes. We’re proud of our new data visualisations on Monthly overview, River flow, Budgets, Locations to name just a few. Budgets can now adjust automatically to your monthly incomes, the time periods for budgets can be completely customised and they play much nicer with other graphs.

We’ve introduced a much better structured system for categories, tags and accounts. We now suggest most of the categories and tags you’d ever need so you don’t have think up your own system if you don’t want to. But all of these are still fully customisable if that’s what rocks your boat.

Filtering by account, category, tags and locations is available across the web app and by accounts across the iOS app. Months and time spans in general are much simpler to navigate and offer more options than before.

Such major changes take some getting used to. We realise some of you will be unhappy with the changes, but we kindly ask you to give this new version a chance. Explore a bit, see what’s new and how some of the new things work.

In the following days we will be publishing a lot of tutorials to help with this task and explain all the functionality. Your feedback and questions will be crucial to help us improve the functionality as well as the discovery of it going forward.

We haven’t forgotten about our dear Android, Windows Phone and BlackBerry 10 (Android port) users. Sadly it was impossible to launch all the apps at once. We are continuing to build these apps and they will soon be making the transition to 2.0 functions and design as well. It’s difficult to say exactly when they will be available, but we plan to release them in the first half of 2016.

Such large changes can be troublesome and difficult to coordinate. Some transitional problems thus remain at the moment. Sync with the v1 apps does not yet travel in both directions, reset, delete account functions are unavailable and payment methods for Toshl Pro need to be greatly expanded. In some cases the migration of tags and budgets from v1 can be somewhat problematic as well. We will resolve these issues in the upcoming days.

If you encounter any problems or have questions about the new apps, please don’t hesitate to contact us at support@toshl.com and we will do our utmost to help.

We are thrilled to have the new apps finally released. This is a new solid foundation we can build on and bring on improvements at much greater speed and quality than before. We can’t wait to see how the things we’ve built can help improve your lives and make personal finances a bit less scary and dare we say, fun?

 

Toshl_2.0_monster_0000_1

Try the web app

Download the iOS app

Posted in Announcements, Development

Quick update on the 2.0

We’ve been making constant improvements to the web app Beta as well as the general back end of the Toshl ecosystem and the mobile apps. Thank you to everyone that’s helping us with Beta testing. With your help we’ve discovered and fixed a bunch of bugs, as well as made some usability improvements.

The web app is now also translated into: English, Slovenian, French, Spanish, Portuguese (Brazil), Russian and German. The latter two are not 100 % yet, but will be soon. Chinese, both simplified and traditional are on the way. If you speak any of these languages, please switch to it in the Settings and please let us know if you encounter a strange translation.

The iOS app is progressing well and is in internal testing, but we want to make sure we’ve covered everything before adding more test users.

We still need to do a bit more on the Toshl Pro payments side, fix some minor quirks, get all the tutorials ready, translations into the mobile apps… All in all it’s going well and the final release is not far off.

We’ve made the Beta web app more accessible. If you sign up now, you should get the invitation automatically in a few minutes.

Keep in mind that the Beta is meant for tablet and desktop screen sizes and above, mobile phones will be served by the native apps. Sync is also just one way with the beta at the moment. V1 -> Beta. That means that what you add in the current mobile apps will show up on the Beta, but not vice-versa.

Android and Windows Phone apps are also in the making, coming a bit later this year. Thank you for your patience.

 

Toshl_2.0_monster_0012_13

Posted in Announcements, Development

The Road to 2.0: Compatibility and Sync

With the new Toshl, we have rebuilt from the ground up. We’ve learnt a lot along the way and used this knowledge when constructing the next version of Toshl. This new modern architecture will enable us to do some really nice things in v2 as well as enable us to scale a lot better in the future.

Since the changes are quite radical, both in the user facing features as well as on the back end, we needed to pay a lot of attention to compatibility. To enable everything to work seamlessly together we brought parts of the old sync system to the new one, so people with either generation of the Toshl apps can continue to sync their devices just as they have before.
 

sync compatibility

 

Web App, iOS v2

You get the new app right away and can use and sync categories, accounts and all the new stuff. Everyone’s web app will be upgraded to v2, no matter which phone app they use.
 

Android, Windows Phone, BlackBerry (BB10 Android port), iOS v1.x, older Toshl apps

Android and Windows Phone users will get the v2 of Toshl a bit later. We would love to do them all at once, but sadly it’s impossible for us to do so at this point. But don’t worry, you will still be able to use the sync as you did before, as well as use the brand new v2 Web App.
 
Here’s how it will work:
 
–     You sync your app normally just as you have before. If you don’t use the Web App, you won’t notice any changes.
 
–     The expenses that you added in the 1.x app will show up with category “unsorted” and the default financial account in the web app, since the 1.x apps only use tags. You can assign a category later in the web app if you want.
 
Example:
 
Added on Android Toshl v1.7
40 €
Tags: food, groceries
 
Shows up on Web App v2
40 €
Category: unsorted
Tags: food, groceries
Account: [the default one, most likely Cash]
 
 
–     The expenses that you added on the web app or the v2 iOS app will have the category and account displayed as a tag in the 1.x apps, but will remain as you entered it on the web app.
 
Example:
 
Added on Web App v2
30 €
Category: Home & Utilities
Tags: internet
Account: Bank of Lilliput
2 photos
 
Shows up on Android Toshl v1.7
30 €
Tags: Home & Utilities, internet, Bank of Lilliput
 
 
–     Your budgets will continue to sync normally. Only budget types that were supported in 1.x will sync to 1.x mobile devices. That means budgets for all expenses and specific tags. Budgets for categories will not be synced.
 
 
We’re sorry we can’t update all the apps at once, it doesn’t mean that we love some of the mobile platforms any less. It’s just a lot more complicated and time consuming to develop them all at once with such a major leap. The combination we chose is quite simply a good mix of a relatively large market share and simpler testing due to less device fragmentation on iOS.
 
We hope to develop the Toshl apps more in step once we return to our regular cycle of smaller and more frequent updates. We don’t have a date planned yet for Android and Windows Phone, but they will be coming. We’ll let you know once we can share more.
 
If you have any further questions regarding the compatibility, let us know and we’ll try to fill in the additional information.
Posted in Announcements, Development