ThinkMac Softwarehttps://thinkmac.co.uk
We make apps for Macs, iPhones and iPads.Wed, 17 Oct 2018 14:08:38 +0000en-UShourly1Death by Search Rankinghttps://thinkmac.co.uk/apps/death-by-search-ranking/
https://thinkmac.co.uk/apps/death-by-search-ranking/#commentsFri, 20 Jul 2018 22:59:15 +0000http://thinkmac.co.uk/?p=1012For a decade iKana and iKanji touch (yeah it’s been that long!) have generally enjoyed really good search rankings on the App Store. For pretty much any combination of relevant search terms they would show up within the top 10-20 results. For all those years my apps have enjoyed 4-5 star overall ratings and seen regular updates.

Then something went wrong. I’m not entirely sure when exactly, as the effect has been gradual rather than overnight and I have to admit I’d not previously really kept a close eye on my rankings because they’d always been fine and for the past couple of years contract work has been my major focus. But over the last year or so it seems both apps have slid down (and down) the rankings until the point where they’ve become so buried I’ve started to regularly see days with low single digit, or even zero sales. When you’ve been selling apps for a decade and had previously been able to count on one hand the number of days you’ve had zero sales this sets alarm bells ringing very loudly.

It’s hard to overlook the major changes Apple made to the App Store with iOS 11 – search results are now extremely low density. You can barely see two results on a screen at once on a 4.7″ device, so if you’re say 40 or 60 places down your visibility is near zero. But that doesn’t explain my apps amazing fall down the rankings. In fact the most confusing thing is seeing apps which haven’t been updated in years – some of which look like first attempts at programming, with zero reviews, ranking tens of places above mine. What bizarre algorithm sees two apps with the same keyword, and ranks the one with no reviews that hasn’t been updated in 3 years above my 5 star one, updated a week ago? Clearly some other factors are weighting the results, probably ones completely outside my control – but it’s hard to imagine what or how this is helpful for your typical App Store customer or why Apple is doing it.

It seems the best way to to improve your app’s rankings is still to keyword load its name. Although this is tricky now you only have 30 characters to do it. Given this is a practice Apple themselves asks you not to do (although it remains unenforced), it’s ridiculous that the search algorithm still weighs the name above all else. An app with no reviews, not updated in years but called “Hiragana” will rank over my app if I just call it “iKana touch” and have “hiragana” as a keyword instead. In renaming iKana touch to “iKana – Hiragana and Katakana”, it now at least breaks the top 20 for a search of “Hiragana and Katakana”, but still falls behind less up-to-date apps with lower or no ratings.

It would all be that bit less terrible if it were possible to easily play with keywords, app title and so on to see what magic combination would claw you a few spaces up the results. But of course you can’t do that without annoying your users with an endless stream of largely identical ‘bug fixes and improvement’ type updates because Apple deems almost any change to your app listing post review as verboten.

I’m really starting to reach my wit’s end with this now. I’ve never felt especially unfairly treated by Apple, but having my business slowly destroyed by this infuriatingly crap, opaque search algorithm makes me very bitter.

]]>https://thinkmac.co.uk/apps/death-by-search-ranking/feed/1Going Freemiumhttps://thinkmac.co.uk/apps/going-freemium/
https://thinkmac.co.uk/apps/going-freemium/#respondFri, 08 Jun 2018 19:20:48 +0000http://thinkmac.co.uk/?p=1001After much deliberation, I’ve decided to make a big change to the way iKana touch is sold on the App Store with version 2.7. Before I get into that, let me give you some background. Since it first appeared on the App Store, nearly 10(!) years ago, iKana touch has used the paid up front business model. You bought the software, then it was yours to use on all your devices forever.

The App Store didn’t allow us to offer a free trial or to charge for upgrades in the way that has sustained developers like ThinkMac since the dawn of the home computer revolution, but for a good few years that simply didn’t seem to matter. The iPhone was on a near exponential trajectory and sheer size of the expanding market kept a decent amount of revenue coming in. Unfortunately while the market was growing, a parallel force was also at work – the now infamous race to the bottom in App pricing.

Apps backed by venture capital or from major developers with other income sources, or with no real sustainable business model to speak of, have pushed the price people are willing to pay up front to basically zero dollars.

For a good amount of time ThinkMac’s apps managed to escape this trend, as niche markets continued to get away with charging non-zero sums up front for apps. However it’s increasingly apparent that the writing is on the wall for us now too. In fact, to be honest if I relied solely on income from my apps to survive, I’d have been forced to throw in the towel a few years ago. Contracting has helped me keep my bills paid and a glimmer of the indie developer flame alive since 2014.

What brings us to where we are today, is that the main client I’ve been working with over the last few years unexpectedly went out of business at the start of the year, and this has thrown the now dire sales performance of my apps into stark focus. I want my apps to generate me a basic income I can survive on as contract work comes and goes. To do that I’ve had to think long and hard about changing my business model to one fit for the App Store of 2018 and beyond.

Freemium

So freemium, also known as ‘free to play’, refers to any app that is free to download on the App Store but which offers in app purchases (IAPs) to unlock features or content. There are a lot of companies using this business model unethically – deliberately crippling gameplay for example to coax users into paying for speedups and cheats, that themselves are quickly exhausted. That’s not my intention at all.

With iKana touch IAPs will be used to unlock the hiragana and katakana character sets, either individually or all at once. Once you’ve paid to unlock them they will remain that way. There will be one consumable IAP called the Day Pass that lets you effectively trial the app fully unlocked for 24 hours, but everything else will unlock things permanently for you. Before you purchase one of the IAPs you will get a limited subset of kana unlocked to try the app with.

Now you might be wondering what this means if you’ve already purchased iKana touch – will you need to buy these IAPs to gain full access the app again? The simple answer is no, iKana touch will check your purchase receipt from the App Store and automatically enable all the kana sets if you have bought version 2.6 or earlier.

Now there are some downsides of this model that I want to acknowledge – it will no longer be possible to buy a discounted bundle of iKana touch and iKanji touch going forward due to limitations of the App Store. It will also no longer be possible to bulk buy iKana touch for education.

Finally you may wonder why I went for a freemium model and not a subscription. Simply put I don’t think a subscription model is well suited to an app like iKana touch, which has fixed content and no online component. iKana touch is also not an app most people would likely use for more than maybe 6 months, which negates any of the long term benefits of choosing the subscription model in terms of lower fees from Apple etc.

Finally before I thank you for reading all this shop talk, let me say that yes things will be changing for iKanji touch too in the near future. Exactly how will depend in part on the success of iKana touch’s new model.

So yes, thank you for reading this. I hope this makes clear why this change of business model has become unavoidable and allays any fears that it might be a raw deal for previous customers. If you have any thoughts or questions about this please drop me a message.

]]>https://thinkmac.co.uk/apps/going-freemium/feed/0Black Friday Savingshttps://thinkmac.co.uk/apps/black-friday-savings/
https://thinkmac.co.uk/apps/black-friday-savings/#respondFri, 25 Nov 2016 10:14:24 +0000http://thinkmac.co.uk/?p=894Hey folks, use coupon code BLACKFRIDAY to save 20% on any of our Mac apps from the 25th to the 28th of November. This offer is only available on apps bought direct from the ThinkMac Store.

]]>https://thinkmac.co.uk/apps/black-friday-savings/feed/0Coding to keep the lights onhttps://thinkmac.co.uk/apps/coding-to-keep-the-lights-on/
https://thinkmac.co.uk/apps/coding-to-keep-the-lights-on/#respondFri, 11 Nov 2016 16:11:41 +0000http://thinkmac.co.uk/?p=891This has been a really busy year of coding for me so far – not that you’d be able to tell from looking at any of my own apps, which haven’t seen as much activity this year as I’d have liked. With ever declining App Store revenues, I’ve had to start spending a lot of my time doing contract work. The upside is this keeps the lights on and the rent paid, but the downside is obviously fewer updates to my own apps. They’re not forgotten of course, but I feel they’re all generally in a stable and mature enough state that they don’t desperately need monthly updates. Still I don’t wear “last updated in 2015” as a badge of honour, so things are in the works, however slowly they may come to fruition!

Despite the diversionary nature of contract work, I have been rather enjoying it. I’m lucky to have found a really excellent client that I’ve been working with for the last two years on a couple of apps. This year I built them a new app from the ground up and it’s been a great learning experience and a chance to dig into some new technologies and master others. For example this is the first time I’ve really dug deeply into the Facebook Graph API to get things accomplished that are outside the functionality offered by the SDK.

I’m still convinced Swift isn’t quite ready for prime time yet, and it certainly wasn’t when I started this most recent app, so it’s been a great exercise in writing the cleanest, most modern Objective-C code I can. If at some point a migration to Swift is required, it will be a less onerous task as a result. Whether it’s specifying the nullability of method parameters, using dot syntax as extensively as humanly possible, having everything be asynchronous and block based and trying to avoid some of the old design patterns that have fallen out of favour. That said I’ll take singletons to the grave with me! I’ve yet to be convinced that passing around endless model objects, which are only ever instantiated once during the lifespan of an app, is anything other than hair shirted asceticism for the sake of trying to look clever.

After inheriting a big project from another developer when I first started working with this client, I came to really appreciate the importance of good code documentation. Not that the code was bad, it wasn’t, it was just written in a different style to what I was used to and it was almost entirely uncommented, and where it was, often in unhelpful ways. There’s nothing like finding a nice “//TODO: fix this” comment where you’ve no idea what is broken in the first place! As such I took pains to make sure that every method in this new app had Appledoc formatted comments explaining what it was doing and how it should be used. This is incredibly handy with the Quick Help inspector open in XCode, as you can see what any method call is doing just by selecting it. Given the amount of time we spend reading and trying to understand code (even if we’ve written it ourselves), the extra minute or two it takes to document as you go is a drop in the ocean.

Something else I’ve done for the first time in this project was to create my own logging function to use instead of the venerable NSLog. In particular I was keen to log messages both into the console for my own debugging purposes, and into a log file that I could then display within a debug screen in the app and that testers could easily email to me. As the log will only contain things that I am specifically choosing to write to it, that helps cut down on the the inevitable noise you get in the standard console log. In an app that makes extensive use of web API calls it’s really useful to be able to clearly see the chain of events and any error return codes those may have generated. I think I’m going to adopt this strategy in all of my apps going forward because it’s just so much more flexible. It also makes it possible to completely turn off console logging of spurious debug messages in release versions of apps very easily using preprocessor directives.

Anyway I’ll leave it there, but in summary although I’m having to divert attention from my core apps at the moment, what I am working on is helping to make me both a better developer and expanding the technologies I know how to use. When you’re just working on your own projects all the time its very easy to get stuck in a technological rut and frankly it feels pretty good to get out of those once in awhile!

]]>https://thinkmac.co.uk/apps/coding-to-keep-the-lights-on/feed/0iKanji touch’s mascot: Tsutsunehttps://thinkmac.co.uk/commentary/ikanji-touchs-mascot-tsutsune/
https://thinkmac.co.uk/commentary/ikanji-touchs-mascot-tsutsune/#commentsThu, 21 Jan 2016 17:24:09 +0000http://thinkmac.co.uk/?p=816The idea of having a mascot character for an app may seem a little strange at first, especially in the West where mascots are more usually associated with things like sports teams and fast food. But in Japan mascots are ubiquitous; most companies have their own, each prefecture has one, and even buildings like the Tokyo Skytree use them. As an important part of Japan’s modern culture, I felt it was a nice idea to have one in iKanji touch too.

When you think of characters in software you may remember old versions of Microsoft Office with its frequently unhelpful and annoying virtual assistant, Clippy. That was definitely not the direction I wanted to take with iKanji touch. The mascot is something intended to add visual flavour and personality to the app (and hopefully make you smile), but it’s not something that should get in the way or make the app feel jokey or cartoonish.

I had the idea of having a little fox character be the mascot. Foxes are culturally important in Japan and are seen as messengers of the god Inari. I tasked my friend Craig Ede with designing the character and he came back to me with these sketches and the name Tsutsune (pronounced tsu-tsu-neh). A play on the word kitsune (fox in Japanese). You may notice Tsutsune’s spiky hair looks like the katakana character tsu (ツ).

Within the app Tsutsune keeps a watchful eye while you study without distracting. When you’re taking a test you may notice he’s started smiling, a sure indication that you’re doing well. If he’s frowning on the other hand things may not be going quite so well! The only time he pops down from the top bar of the app, is to offer some words of encouragement (or admonishment!) once you’ve completed a test and the score is revealed.

Here are some fun Tsutsune facts:

His hair looks like the character tsu (ツ).

He gets cross if you poke him too much!

He uses “Tsu!” as an exclamation.

He was “born” on March 3rd 2009.

]]>https://thinkmac.co.uk/commentary/ikanji-touchs-mascot-tsutsune/feed/1Christmas Savings!https://thinkmac.co.uk/apps/christmas-savings/
https://thinkmac.co.uk/apps/christmas-savings/#respondThu, 17 Dec 2015 10:47:26 +0000http://thinkmac.co.uk/?p=812This is just a reminder that we’re offering a 10% discount until the 1st of January 2016 on iKana, iKanji and NewsLife when you buy directly from us. Just use coupon code XMAS10. Order securely through our FastSpring store using the payment method of your choice.

This offer isn’t available on the Mac App Store as we want to reward customers who buy direct – you’ll also get faster access to updates and new versions.

]]>https://thinkmac.co.uk/apps/christmas-savings/feed/0The Mac App Store and the future of indie developmenthttps://thinkmac.co.uk/commentary/the-mac-app-store-and-the-future-of-indie-development/
https://thinkmac.co.uk/commentary/the-mac-app-store-and-the-future-of-indie-development/#commentsSun, 13 Dec 2015 17:09:28 +0000http://thinkmac.co.uk/?p=801If you’ve been keeping an eye on the Mac App Store over recent years, you will have noticed a couple of things; how little it has improved since its launch five years ago and secondly how a steady stream of big name developers from Barebones to Panic, have been forced to pull their apps due to its limitations. The most recent refugee being popular design app Sketch.

I was initially very enthusiastic about the Mac App Store (MAS), but as the years have ticked by with literally no improvements, that enthusiasm has waned to be replaced firstly by concern and now increasingly by anger and frustration.

I’ll give the briefest of summaries of the main pain points with the MAS, as you’ve probably heard them all before:

No demos or trials. Apple won’t even let us link to or mention that we offer these from our websites.

No upgrade pricing for existing customers.

No way of handling refunds or addressing support requests left in reviews.

No bundles (even though we have this on iOS!)

The huge 30% cut Apple takes of every sale.

Long delays in getting updates approved by Apple’s review team.

Mandatory stringent sandbox restrictions.

Having just one or two of these problems to deal with wouldn’t be insurmountable, but dealing with all of them, along with many others, just feels like death by a thousand cuts.

Now if you’re not a developer you probably appreciate the convenience and security of the App Store and all these other issues may seem fairly peripheral. You would like things like trials and discounts, if you remember what buying software used to be like, but it’s not the end of the world now that you don’t have them.

Indeed the problems almost all fall into the developer’s lap. We get the blame when Apple screws up and receipt checking fails spectacularly. We get the anonymous 1 star reviews we can’t respond to. We get the angry users who can’t download updates because they’ve been stuck in review for a month on some technicality. We watch our sales dip ever lower with no conventional means of reinvigorating them.

Developers and users ultimately have a symbiotic relationship, one can’t survive without the other. Eventually the pain inflicted on them will also impact on all of us. Either they give up because it’s no fun fighting with the platform owner for survival or they go bankrupt because business conditions have become so hostile. Then that shiny piece of software you invested in stops getting updates, there’s no one there to respond to your emails when something goes wrong. Your data is held hostage in a dead app. It’s on you to have to go through the troublesome task of finding a replacement, migrating your data and learning something new just to get back to where you started. All the time hoping the same fate doesn’t await this new app.

I’ve worked with a lot of Mac developers over the years and I’m sad to say a large number of them are no longer in business, or they’re just barely clinging on if they are.

In some cases like with Microsoft and Adobe or Barebones and Panic, they have enough clout to survive outside the MAS. But for smaller developers, including ThinkMac, the MAS has sucked so much oxygen out of the rest of the world, that it would be suicide to pull out. So we stick around, accruing cuts and counting down the days until we finally succumb to them.

I live in hope that Apple will announce some changes to improve the Mac App Store (and frankly the iOS store too) in 2016, but I have to confess I’m growing more pessimistic about the future of indie development on the Mac. The clock is ticking Apple, the ball is in your court and it’s getting dusty!

]]>https://thinkmac.co.uk/commentary/the-mac-app-store-and-the-future-of-indie-development/feed/1Updates, updates everywhere!https://thinkmac.co.uk/apps/updates-updates-everywhere/
https://thinkmac.co.uk/apps/updates-updates-everywhere/#respondSun, 06 Dec 2015 22:08:07 +0000http://thinkmac.co.uk/?p=786Hard to believe 2015 is nearly over already isn’t it? Lately I’ve been hard at work on a bunch of updates to my various Mac apps. All of which are live for direct download customers. If you use the Mac App Store, so far only the iKana update is live, but the others should get there eventually. In semi-related news, I’ve now migrated the ThinkMac Store over to FastSpring. This should make the process of buying my apps and getting your license file a bit smoother. It also handles the troublesome new VAT legislation problem that had meant I was unable to sell directly to EU customers for much of the year (cheers bureaucrats).

This is actually a biggish update and adds some requested new features like JLPT vocab sets, the ability to set the length of training sessions and increases font sizes in various places to improve legibility. This also squashes some bugs and fixes some text rendering glitches when running on El Capitan.

Good news folks, iKanji touch 2 is now live on the App Store! This is a big release because it finally brings iKanji touch natively to the iPad. The whole interface has been refreshed and refined and there are lots of little tweaks and improvements. The main new feature is a vocabulary browser with flash cards and kanji breakdown*. Just like in its big brother, iKanji for OS X. Another much requested and helpful feature from iKanji on OS X is the ability to search by kanji radical parts. This makes it so much easier to find kanji where you’re not familiar with the reading or meaning, I’m sure it will get a lot of use! Happy studying ^_^

* Vocab testing isn’t quite ready yet but will be coming in an update later this year.

]]>https://thinkmac.co.uk/apps/ikanji-touch-2-is-here/feed/1File that under grumpy 1 star reviewshttps://thinkmac.co.uk/news/file-that-under-grumpy-1-star-reviews/
https://thinkmac.co.uk/news/file-that-under-grumpy-1-star-reviews/#commentsSat, 24 May 2014 14:30:40 +0000http://thinkmac.co.uk/?p=638App Store reviews are infamous as a lousy one-way feedback mechanism to developers. Thankfully the majority of reviews I get are 4 and 5 star, but every now and then someone posts a 1 star bug report or makes accusations I can’t respond to. So for a bit of balance I’d like to address a few here.

I paid for this app in good faith long ago, but since then the developer’s primary concern has been about pushing “updates” that do nothing more than expand IAP, even as long-standing, irritating bugs go unfixed. You have kanji revision cards missing readings that are then tested for, sets of “fully learned” characters which reset for no reason, etc., but fixing these take a back seat to getting you to pay for “Kanji Drawing Practice” and “Kana Chart”. – Disappointed Developer

Well Disappointed Developer, I’m sorry if you’ve had trouble with iKanji touch. The correct place to report problems if you want them acted upon quickly is here. Why you’ve picked the 1.9.1 update to complain about IAPs that were added in version 1.7 I don’t know. You can read the rational behind adding them here.

By your own admission you bought iKanji touch a long time ago, you can’t expect a lifetime of free updates to a piece of software, it’s simply not financial viable. If you’re a developer you should realise that or you’ll go out of business pretty quickly. We’re not all Googles or Apples, funded by venture capitalists or hoping to get bought up by FaceBook before the money runs out. If I don’t earn enough in sales from the App Store in a given month, I can’t pay my rent, it’s not that I’m a greedy mega corp trying to nickel and dime you.

If you’re wondering why fully learnt kanji are reseting back to unlearnt then you’re probably not understanding the way the spaced repetition system works. Look at the help documentation within the app.

Most readings are wrong. For the price the developer could at least proof tested by a native speaker. – Meksonthego

It has been tested by native speakers – out of the thousands of people using iKanji touch you seem to be the only person who thinks it’s a scam with incorrect readings. The original source of the readings are Jim Breen’s WWWJDIC, a highly respected free kanji database and dictionary. For clarity’s sake we only include jouyou readings in iKanji touch – that is the readings Japanese kids learn at school. There are many more of course, you could spend your life learning every one if that’s your thing, but the majority of people just want to know the basics and you can pick up other readings if they’re used even remotely commonly through everyday usage of the language (e.g people’s names, place names, literature etc).

£3 is a ripoff for a kanji only app. No vocab, grammar or listening. – WillTRiker

No £3 is a bargain. I’m sorry your expectation of software value has been so skewed that you think years of work isn’t even worth £3. If you read the app store description you’d also see none of the things you’re claiming are missing were ever indicated to be part of the app. Even the name ‘iKanji touch’ implies it’s primarily an app for learning kanji.

NewsLife never attracts terribly positive reviews on the App Store which makes me sad, but it’s a pet project rather than a real money earner so I don’t let them get to me that much. When I went and created a Google Alert feed myself I found it added without a problem though. User error perhaps?