Automatic app updates out, this method in.

Automatic app updates are a bad idea. Apple should recognize this by now. In case you, dear reader, aren’t convinced of that, here are some simple reasons why automatic app updates are just no good –

  1. Software is buggy – how many times have you heard that “we shouldn’t get the dot zero version of that software”? It’s almost a maxim in the enterprise world – unless you deeply trust it to not break your current setup, don’t get that update. So why should we be so cavalier about software updates for our personal devices? We shouldn’t let developers decide the de facto time when we get an update.
  2. It’s a vehicle for disruption – and not the good kind. App updates are great if they’re well thought out, streamlined, and work. But more often than not, they introduce changes which wouldn’t sit well with you and your workflow. How many of us regret updating to some version of iOS that slowed down our devices to hell and there was no recourse? Why do we trust third party developers more than we trust Apple in this instance? If I don’t know exactly what is going to change in the update, why should I update it? Which leads me to the next point…
  3. Automatic app updates are evil – Yes, they’re evil. How many times has Facebook slipped in something nasty and you didn’t even know it till you got the update? There are two types of nasty Facebook has slipped into your devices over time – the first is when they change the user agreement. So often, we would go to the website and Facebook would make us check a box and hit Accept before letting us burst out our Likes and jealousy. We’ve all brushed past those to chat with our friends. The same applies to app updates. You open the app to answer the call of a notification and an annoying pop up tells you to just say YES before you can do what you came here to do. What option do you have other than to stab that yes button? The second nasty is the more insidious version – Facebook has been able to slip in all kinds of dirty code, tracking features, and nasty experiments into our apps simply by adopting frameworks that let them remotely update our apps, and by using vague release notes that just said “making some improvements”, even when they were shipping major changes to your Facebook and Instagram experiences. This must stop, and the easiest way to make them stop (even though we’re too far gone now thanks to their remote app update frameworks), is to stop automatic app updates.
  4. It’s bad for security – This goes against everything you’ve ever heard. “Automatically updating software is great! It keeps things secure!” Until, it doesn’t. Software is eating up our life and yet, pretty much all of us are rather careless about the security of our apps and services. For most technophobes, automatic app updates are both a boon, and an excuse to hide behind. “Hey, I keep my apps updated, but I still got hacked!” Well, did you consider 2FA? Did you try to understand whether you’re using insecure communication over insecure networks? Did your app have the requisite features to protect your privacy, like data encryption? Are you using the same password for fifty services? We would all be more knowledgeable about all those questions if we bothered to understand what goes on in the making of our apps, the design decisions taken by the devs, and the shortcuts they take to ship sooner. Which leads to the next point –
  5. It’s a surprise! – it feels great to open an app the first time in the day and notice that something has changed overnight, but more than once, I’ve been bitten by apps that changed their business models, removed features, and made decisions that affect me, without so much as bothering to explain that a change is coming. This attitude is a right that a developer feels about a piece of code that they’ve written, but it’s a piece of code that I licensed from them and is running on my machine. They should not be able to decide how that code changes for me. By removing automatic updates, we’re forcing developers to explain why we should be getting this new update, rather than letting them get away with “we removed bugs!” or the boilerplate crap big tech companies throw at us.

Until things change and developers become better documentation writers, and tech companies stop lying about the code they’re sneaking into our machines, I have one suggestion –

Don’t do automatic app updates. Do expiration-based ones instead.

Right now, automatic app updates are an all or nothing deal. You either trust Apple and third party devs completely, or your don’t. I fall in the latter category and I couldn’t be happier! I know that I’m gonna get exactly what I paid for an app (especially if it’s free), and it’s going to work exactly as I expect it to for a long time to come.

Well, almost. Apps often have massive API changes, or security updates that are absolutely essential. The only way for devs to push those through is to expire the version of app currently installed on your devices, and force you to update (when you open the app the next time, at the crucial moment when you actually need the app). I’ve seen a lot of important updates like this, like when my banks update their APIs, or my insurance firm tells me to get the update else I won’t get continued service, or my grocer decides that I can’t get to my weekly ‘one dollar off’ coupons until I get the latest and greatest app update they’ve pushed out.

OK, that last one is silly. Apps like my grocer and my insurance app should always work. If I’m in front of a cop who’s asking for my insurance info, it would suck if I have to tell her that I have to update my darn app before I can show it to her. Also, why the heck does my grocer need to update the app once a month? Haven’t they heard of APIs?

Situations like those cause me to propose the solution I’m presenting, though, it’s obvious that it should be taken with a pinch of salt, since it’s not the perfect solution.

Here’s what we should do –

Apps shouldn’t get auto-updated. Instead, this should be a deliberate process. We need to be able to approve everything that goes into our devices. Yet, some apps are essentials, and though I don’t open my insurance app every day, when I open it, I expect it to work instead of showing me a banner to update the app before I can continue. So those essential apps should have two options – either I let them auto update completely, or I let them update only when the app is marked as ‘expired’ by the developer. The benefit of the latter approach is that devs should have a legitimate reason, such as changing their API drastically, that should drive app updates. Does this put more strain on Apple’s app approval process? Yes. Let’s make them earn that 30% they take from the devs, and the hundreds of dollars of Apple tax they collect from us.

I’m not interested in the smaller updates. I’m interested in keeping my apps available when I need them. So if I can skip the small ones and only get the big, breaking news updates, I’ll be a happy camper.

But this may not suit everyone. Some people don’t care about how and what changes are coming to their devices, but that’s what got us into this mess before with Apple and the battery issue which Apple effectively cheated and lied to us about, and Facebook and every privacy scandal they’ve been able to walk away from.

I believe that if you want to remain that kind of person, you have the full right. So I would love to see all of these options incorporated into the next iOS, or the one after that. The future is customization and personalized feature sets for everyone. It’s more expensive due to that, but that’s just where we’re headed. Hopefully, we’ll get to enjoy some good software on the way.

Good luck competing with Goodreads

Every once in a while, I come across a book management and listing tool. This is a broad category – it covers lists of the books you’ve read/want to read, your book notes, a social network inbuilt, and perhaps even the ability to buy books through them. Sometimes this is in the format of an app, and sometimes it’s a web service. Never mind that I actively seek these out (hey, everyone should have a past time), I always come out exasperated.

Why? Well, do you really want to build your entire book library all over again? I’m on the low-end of a prolific reader spectrum, and I’ve got about 260 books in my lists; that’s over a hundred books I’ve marked as read, and over one fifty that I want to. Most people have a lot more books than that in their lists, and almost all of them just hope in the back of their heads that Amazon doesn’t ever decide to kill Goodreads. Amazon has already been cozying up Kindle and Goodreads – you can post your Kindle reads, reviews, and notes directly to Goodreads through the Kindle apps. What’s to say that in a few years time they don’t decide that they’re done collecting our data through Goodreads and can shut the service down?

Oh, but don’t worry, you can export all your Goodreads data!

Really? Thanks! What do I do with it once I’ve exported it?

Uhhhhh…

See, this is the problem. This is why I keep looking for alternatives. But every time I come across one, I immediately realize the blind spot they aren’t addressing. If you’re an app/service, what you need to jump-start your platform is data. The ‘elegant’ way of doing this is to ‘ask’ the user for it. I put that in quotes because it’s more mandatory than just a small ‘ask’. If I come to a service, spend some time poking around, and realize I need to input all of my books all over again, that’s an immediate turn off. Services like Goodreads aren’t like conferences, where you can slap on a name tag and wander around till you find someone interesting to talk to. They’re more like parties, where if you don’t know anyone, you’ll just end up bored and.

So, this is what I ask of you if you’re making a service to compete with Goodreads – ask the user to export their data in an ugly .csv format and import the entire file to your service. Then you’ve got the entire library the user has curated on your rival service since the dawn of time without lifting a finger. You don’t even have to have this as the front and center of your UX. Get your user onboarded, get them talking, and then somewhere along the way, gently tell them you’ve got this amazing import feature that’ll help them quickly ramp up. If they care about books, they’ll do it. Those are the serious users of your platform anyways.

But nowhere have I seen this happen. I’ve recently come across a few apps – Litsy (by LibraryThing), Reading List (which seems to allow CSV imports, but needs them to be in its own format, instead of the Goodreads format; you’re this close folks!), BookBuddy (again, imports only its own data, god knows why) and some web services which I’ve already forgotten about, none of which seem to understand this basic concept of stealing from the enemy.

But what am I saying? I wrote all the way back in 2012 about how useless exporting data from Internet behemoths is. Nothing has changed in the last seven years. Till today, companies and apps come and go, without realizing that using prior data is a jump-start, not poisoned fruit.

Indie services actually get this. If you install the Goodreads plugin on Calibre, it lets you quickly import your data so your library is complete. Similarly, if you use the WordPress Book List plugin, there’s a way to import your Goodreads data. Because people who care about data, understand reuse of data. That tells me that if you’re not reusing my data, you’re not building a platform for me.

So good luck competing with Goodreads. Unless you can get my data from them and reuse it, you’re just shooting yourself in the foot.

The Decreasing Value of Physical Goods

Today, most of us are spending so much time online and on our smart devices that I feel that the value of physical items in our lives has decreased a lot. A few days ago, a friend took me to a store in the 29th street mall. It was a toy store that opened just for the holidays and on that day, everything in the store was 50% off. Needless to say, most of the store was empty, toys and funny calendars having been bought by people taking advantage of the sale. I bought a nice glass chess set on the cheap and then had a chat with the store owner. Apparently, this was a seasonal store that was closing today. She told me that about eleven hundred such stores open across the country during the holiday season and this one was closing that day. Everything that was left today was going back to the factories. I looked around the store for a while. Most of the good stuff that I’d seen in the shop a few days ago was already gone, but a lot of really interesting games and toys were still there.

Continue reading

A New Age of Windows Apps

Windows, for it’s spread across the world and it’s presence on every other computer you see, has for the past few years, suffered from a terrible lack of apps and widgets. While the rest of the world grew sudden mobile roots, Windows remained largely grounded on laptops and desktops. This meant that the apps that were making waves in the iOS and Android world were ported to OS X and Linux, but Windows was largely ignored.

With the coming of Google Chrome, making small widgets and apps became fairly easy. It was now not a matter of learning a complex platform dependent language like C# or a platform independent but newer languages like Ruby or Python. It was all about HTML, JavaScript and some CSS thrown together. Google Chrome handled the rest. Continue reading

Feedafever for ~Free

I’ve been reading Chris Anderson’s “Free” and while I pay for the occasional service or app, my endeavor is to get as much as I can, for free.

Fever, an RSS reader that’s clever, quick and time-saving, is a recent purchase that I’m finding to be just amazing. What’s more amazing is that the product is worth $30 but I found someone who didn’t need it any more so he sold me his activation key for much lower… Continue reading

Feedafever for ~Free

I’ve been reading Chris Anderson’s “Free” and while I pay for the occasional service or app, my endeavor is to get as much as I can, for free.

Fever, an RSS reader that’s clever, quick and time-saving, is a recent purchase that I’m finding to be just amazing. What’s more amazing is that the product is worth $30 but I found someone who didn’t need it any more so he sold me his activation key for much lower…

Anyways, the look and feel of Fever is great and despite the really small app ecosystem, I’m really enjoying the app. The only problem? I’m a fan of RSS and follow just about any blog or feed that I find on the Internet. That’s kind of why I needed Fever – it has features such as sorting the feeds based on their relative “hotness” and presenting it in a very coherent format. But all those feeds being polled so many times were causing a bit of a problem – too much storage and too much bandwidth.

Continue reading