Playing with a new iOS app

Playing with new quick notes app called Funnel. Pointed by Agam on his blog.

The power of such apps is to quickly get to a writing place. The problem with such apps is that they need a prominent place on your homescreen.

My homescreen has been locked to the current set of apps since a very long time. The second page is flexible. But I don’t see how the first page would be. I’m not sure what the fate of this app will be either.

I mean, I literally have the free version of Drafts sitting on the second page and I rarely use it. Maybe I should just use the back tap feature of iOS to do quick thoughts capture?

Adventures in NOT buying things

pexels-photo-2942361.jpeg

I’ve been thinking about external storage for the last few days, for our iOS devices. When we bought my wife’s iPhone XS Max, we made the mistake of going for the 64 GB option. Pretty soon, tired of a filled-to-the-brim phone, she opted for Apple’s 50GB iCloud solution, priced at $1/mo, to both backup her photos and to shut up Apple’s continuous prompts about a full iCloud.

This solution has been serving her well. Somehow, her photo storage needs have landed at about a 100 GB, which sits well between her phone and the cloud.

But more and more, I’ve been thinking that I want to get rid of the dollar a month charge. For that, the obvious way would be to have daily backups and cleanup, but the question becomes, “to what?”

Dropbox seems like an obvious choice. So does OneDrive. But there’s something irksome about cloud storage. It feels like a gambit – these cloud providers want more of your money, and getting us hooked on Dropbox’s initial awesomeness and then baiting-and-switching to the shitty version of the company they’ve become leaves just an odd taste in my mouth.

So I started thinking of some sort of hardware solution. Many companies have come and gone (see pogoplug), but there’s a product from a few years ago that instantly popped into my mind – the SanDisk iXpand flash drive. This is a little widget that connects to your iPhone through a lighting connector and sucks out all your photos. Compared to when I first saw it, the pricing seems affordable now – 256 GB sets you back $60. The device is actually pretty neat because the other end is a USB-A port, so you can plug it into your computer when it’s time to backup your backups.

But then I started thinking – maybe 256 GB is enough, but the lightning port certainly is not. What if I move to Android one day? Or Apple dumps this port for a USB-C in the future? That’s what freezes me – the what-ifs. Instead of living (and spending) in the now, I worry that my choices might be proven wrong in the future.

So I started looking for wireless storage devices, the kind that can connect through wifi and an app, and work with a majority of devices. First hit – LaCie FUEL 1TB – for $136 on Amazon. Holy crabapples! Twice the price and 4x the storage? Ridiculous! The second result? WD 4TB My Passport Wireless Pro for $190. Oof. I need to do more research! What if I opt for the 4 TB and just around the corner (on the second page of the search results) is a 12 TB one for just a bit more? Storage is a strange world.

These external storage options aren’t without their issues though – sometimes their apps haven’t been updated in a few years, meaning they don’t support new features or even new iOS versions. Most of the apps I looked at (WD My Cloud Home being one) don’t seem to support background uploading. Google Photos and Dropbox can upload your photos to the cloud when charging, but WD has trouble uploading to the HDD sitting next to your phone. Cool.

So, once again, I’m frozen. I know the iXpand is not the best solution. The market has moved on, there is more storage available for a better price, and the future-proofing aspect of using wireless just makes sense.

But there’s one more weird thing at the back of my mind – why fix something that isn’t broken? If my wife’s current storage needs are met at $12/year, then why spend upwards of a hundred dollars to solve it in a worse way (if background uploads don’t work). If I just tell myself that I’m paying $1/month for “external storage”, I’m a much happier person. Aren’t I?

Do you, dear reader, use any external wireless mobile storage? Which one? Are you happy with it? What quirks does it have?

Refreshing my RSS feeds list

Welp, I’ve done it this time. I was fiddling with some settings in my current feed reader of choice – Fiery Feeds – and I hit a sync button that’s meant to download everything from iCloud and rebuild the database. Turns out, iCloud is, as usual, not good at actually saving important data. Part of this is my fault. I have had some 14,000 unread items in there, and about 900 feeds. Sync would often time out and almost never complete.

So I lost all my feeds. As I stared at it dumbly, waiting for the feeds to come back, a calm came over me. This is what inbox zero feels like. When, after multiple forced syncs later, nothing happened, I was relieved.

I thought about it. The last OPML export I have is from December of 2019. I’ve added maybe 20 feeds since then, which are now lost. If I import the OPML, I’ll get back my starred items and general state, but I’ll not get back the calm.

So, I’ve decided to do an overhaul of my feeds. I know a lot of sites I’ve subscribed to either don’t exist any more, or haven’t updated in a while. So it’s time to shed the load.

Working through this large an OPML file is a chore. First, I tried to do it manually. Too much work. Then I tried to find tools to help. I found a six year old github repo to find dead feeds. It found a few, but mostly got it wrong. Instead, I’ve imported the OPML to my Firefox LiveMarks extension. It’s not the perfect solution, but at least I’m able to go through the list faster and cull it satisfactorily.

Other than the feeds that are dead, I’m also striving to shed some weight. At some point, I subbed to some GTD and Productivity feeds. Deleted those. It’s no longer my area of interest. Older still are feeds related to Network Engineering. It’s what my MS is in, but it’s no longer my main area of concern. So I’ve removed those. I’m also removing webcomics that haven’t been updated since mid-2019. There are quite a few of those. Frankly, it’s fine if the authors want to take a break. I, too, don’t update my blog often. But there are other ways for me to discover their content. Tapas and Instagram are doing a good job, so I’m going to lean on those for my comic needs. This doesn’t mean all webcomics are going away from my feeds. On the contrary, I’m keeping most of them, specially long-running stories that I follow keenly, like Gaia comic, and Slack Wyrm. But others are out.

At some point I also subscribed to a lot of programming related blogs. Those are nice navel-gazing, but ultimately worthless to me. I’m not a programmer, I’m a scripter. I’m not into deep programming concepts even on the languages that are my bread, butter, and jam – python and JavaScript. So for me to sub to serious computer scientists and programmers was a mistake then, and is a mistake now. It’s not that I won’t glean something off them, just that I don’t need to, right now.

This is tough work, but it’ll be worth it in the end. Recently, I found out that a friend has a very strict gate on who she follows on Instagram. She has a roster of 99 people and whenever she has to follow someone new, she forces herself to remove one person from the list. I’ve never, ever removed a feed from my list. This is the same list I’ve been carrying around since my first RSS feed reader – Fever – and some items are even carried forward from Google Reader. I’ve always thought that at best, the feeds that die are not much extra weight than some processing cycles, and at worst, the items I don’t read get deleted at the end of my 15 days, one month, two months, 90 days limit. That moving limit is part of the cause of all this trouble I’m in.

But the largest forcing function is my feed reader. Fiery Feeds is an awesome piece of software and Lukas Burgstaller is an exceptional dev, and a highly responsive support person. But I made a conscious choice at one point to move away from all server-side RSS feed services and use Fiery Feeds’ native, on-device accounts. I’m paying for the app because I love and want to support it, so I might as well use the biggest feature Lukas has introduced. But this on-device, synced-via-iCloud system has its drawbacks, and this means that I can’t be an ignorant buffoon about my feeds any more. I have to shed, cull, strip, whatever you want to call it.

One very interesting thing I’ve done over time is to use kill-the-newsletter.com to the best of its abilities. I do not like newsletters, but there’s a LOT of content that’s going to email newsletters exclusively nowadays, and that sucks. Kill The Newsletter converts these emails to RSS feed items. It’s not a perfect solution, specially since it’s a bit of a blackbox, but it works just fine for now and it’s FOSS, so I’m happy. So, these are a guilty pleasure I’m not getting rid of. We’ll see how this decision pans out. Maybe I’ll have to figure out a way to merge all newsletters into one RSS feed. Or use a dedicated app to read newsletters on my iPhone. There are a few of those out there now.

All in all, this is an exercise in refreshing and rethinking what I consume online. Hopefully, it’ll lead to a better feed reading experience for me.

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