Chris Hannah Chris Hannah

Chris Hannah

Downloading Files With iCab Mobile

Downloading files from the web on iOS has always been a prickly issue, but Michael Rockwell, writer at Initial Charge, has come up with a rather simple solution:

One aspect of the iOS-first lifestyle that has been a bit of an issue, for many users, is dealing with files. Apple has done a lot to try and fix that with the Files app in iOS 11, but it isn’t fool-proof. One common pain-point for me has been trying to download MP3 files that exist behind a paywall. Luckily, a few must-have iOS apps are available to smooth out the rough edges.

I subscribe to Wrestling Observer to gain access to their premium podcast content — because I’m a nerd who likes pro wrestling. I prefer to listen to these shows in Overcast so I can use the app’s Smart Speed feature and play it back at about 1.2x, but Overcast doesn’t have support for password protected RSS feeds. I’m holding out hope that this will be added in the future, but until then, I’ve been using iCab Mobile to download the audio files, which I can then upload to Overcast’s servers with my Premium subscription. And of course, Workflow is there to facility the process.

Michael seems to always have nifty solutions to things on iOS, so it’s worth reading the full article, and maybe even subscribing to the blog in your RSS reader of choice.

Possibly Moving From Ghost

I’m starting to seriously consider moving my blog over from Ghost. It’s a really minimal and easy to use platform, except I know of no apps that support publishing to it.

There is a “native” app for Mac, but it’s pretty much just a web view. And I really cant be bothered working out the API to make some custom publishing workflows.

In Search of the Perfect Writing Font

Here’s something interesting – The guys over at iA (devleopers of the iA Writer app), have made their own font. Prevously the apps used a font called Nitti, which kind of became part of the iA brand, but they took it upon themselves to develop a more writing focussed option.

Hell just froze over. After seven years of offering no font options to write, iA Writer now comes with a choice. Next to the monospace Nitti you will now find a brand new duospace font. Duospace?

[…]

For an app that was designed as the digital equivalent of a typewriter, a monospace font is not a far fetch. But, if font choice were just a matter of style, there are better and less expensive ways to impress than leasing a high end monospaced typeface that many take for a silly Courier.

There was clearly a lot of investigastion that went into it, and I’m a fan of the results!

Read the full article on the iA Blog, and download iA Writer for iOS and macOS.

 

SOLID v1.1 Released!

SOLID v1.1 is now available to download (for free) from the App Store!

Updates including:

  • Standard colours (like true black for the iPhone X)
  • Ability to save custom colours
  • Quickly view hex/rgb representations
  • Different light/dark/black app themes
  • Automatically generated colour names!

SOLID on the App Store

SOLID v1.1 Update

Some good improvements to SOLID!

In v1.0, the app was a simple single view that allowed you to manipulate sliders to generate a single colour wallpaper image.

In v1.1, you will be able to save the colours, and also get access to a couple standard colours, for example an absolute black for the iPhone X.

This also means that there has to be a list of the saved colours, and that allows for more detail to be shown about each colour.

I’ve integrated the WaddaColor Swift library, which automatically generates a name for a given colour. That single addition, gives everything a bit more character.

But also just for the helpfulness, I added in the HEX and RGB representation!

I’ll be packing this all up now, and shipping it off to the App Store for review!

Use Regular Expressions to Return to 140 Character Tweets

As we all know, Twitter is now changing the character limit of a tweet to 280 characters, from the original 140. I’m sure they have reasons, and I’m not here to argue against any of them.

However, if you find yourself wanting to go back to the “old Twitter”, where tweets were short, and we had to abbreviate things when we couldn’t fit all of it in. There is a way to achieve this.

The method is by simply hiding any tweets that do not meet your length preference. The most popular twitter clients for iOS and macOS (Tweetbot, and Twitterrific), have some form of muting feature, which also allow advanced muting with regular expressions.

Some people make use of this to mute certain hashtags, overuse of hashtags or @mentions, and some really advanced things. But for the purpose of checking a tweet length, you just need to see how many characters there are.

And that’s simply:

[\s\S]{MIN_LENGTH, MAX_LENGTH}

You use [\s\S] to match any character, and then use the lengths afterwards to specify a minimum and/or maximum length.

Just to explain it in a bit more detail, the square brackets are a way to define a collection of character matching rules. And the curly braces are sequence quantifiers, that can match minimum, exact, or maximum length of a match.

And then there’s the s and \S.

The \s is used to match a whitespace character, so spaces, tabs, new lines, etc. And the \S is used to match the opposite, all non-whitespace characters, So if you put them together, then you’re going to match every possible character. Which in a scenario like this, is all you need.

The Patterns

So now I’ve explained the scenario, and solution in a bit of detail, I’ll get to the actual regular expression patterns.

In this case, we simply want to hide all tweets that do not fit the old standard of 140 characters in a tweet.

However, we aren’t setting rules, but instead writing patterns to match tweets that will be hidden, we will need to inverse the logic.

Seeing as we only have one parameter – the maximum length we want to see, it will be very easy. Because now we need to say, if a tweet matches these conditions, hide it.

The conditions will be of course, that it is over the limit we set. In this example I will use the old 140 character limit, but you could set your own custom preference using this same method.

If we take that logic and apply it to the simple pattern I mentioned earlier, we can simplify it even further. As we’re not checking a maximum length, that’s irrelevant. We just want to hide anything over a certain amount.

Which leaves us with:

[\s\S]{MIN_LENGTH,}

You still need the comma in there though, as otherwise it will only match if it is the exact same length as the number entered.

Now the last part, the actual number.

Remember, this is not the length that we want to see, but instead the opposite. So if you want to see all tweets that are 140 characters or less, you need to check for anything 141 characters or over. (The same logic also applies to other limits).

So that makes it:

[\s\S]{141,}

Simple!

Using The Patterns in Tweetbot/Twitterrific

So we have the regular expression created, now we just need to make use of it in a twitter client.

Tweetbot is the slightly easier option, as you just need to navigate to Mute filters, and then add a keyword filter. Where you’ll have to type your pattern in, which will enable a regular expression switch, which you will have to tap.

In Twitterrific, it’s somewhat more confusing, but only initially. In this app, the mute feature is called Muffles. And you add a new muffle, to mute tweets just like Tweetbot. However when you navigate to the Muffles section, it doesn’t mention regular expressions, which lead me to initially thought they weren’t supported.

However, you can use them in Twitterrific, it just takes one extra parameter, a pattern title. You specify a RegEx Muffle in the following format:

Title :: Pattern

P.S. I know there is more formatting available, but it’s not relevant here.

So for Twitterrific, you might want to use something like this:

Classic Twitter :: [\s\S]{141,}

And that is it. Now you can hide away from the future, and pretend these long tweets just don’t exist.

Apps Mentioned:

The facts about Apple’s tax payments

I did not expect to see this post in my RSS reader!

Apple have written an official response to all the news regarding their tax payments, with a few statements on some recent business restructuring, and quite a few various facts about it all.

Apple believes every company has a responsibility to pay its taxes, and as the largest taxpayer in the world, Apple pays every dollar it owes in every country around the world. We’re proud of the economic contributions we make to the countries and communities where we do business.

Read the full post on Apple Newsroom.

Syria Joins Paris Climate Accord, Leaving Only U.S. Opposed

Lisa Friedman, writing for The New York Times:

Syria announced during United Nations climate talks on Tuesday that it would sign the Paris agreement on climate change. The move, which comes on the heels of Nicaragua signing the accord last month, will leave the United States as the only country that has rejected the global pact.

The Paris agreement, struck in 2015 under former President Barack Obama, calls on nearly 200 countries to voluntarily curb greenhouse gas emissions. At the time, only Nicaragua and Syria did not join, for very different reasons.

You seriously couldn’t make this stuff up.

Read the full post.

World of Warcraft at BlizzCon 2017

It happens every year, and as usual there’s some great news for World of Warcraft fans.

As WoW expansions usually come out every two years, this year is just to announce the expansion, and usually that’s it. One logo, maybe small description, and a year wait.

Except this year, in the opening ceremony, they showed three videos. One about a new feature, and then for the expansion there was a feature video, and even a cinematic trailer!

World of Warcraft: Classic

With the original version of WoW being one of the best gaming experiences for nearly all WoW players. Blizzard have announced that they’re working on a classic server mode for the game. So you will be able to play the original game, before any expansions!

I’m really looking forward to this!

Here’s their video announcement:

World of Warcraft: Battle for Azeroth

Okay, I won’t go too deep into the expansion here. Because so much has been announced, and there’s going to be so much more.

All I will say is if you want to know everything about it, check out the website.

But you also need to watch the features overview, and the cinematic trailer!


I don’t want to spoil anything here, because it is really impressive. Although I’m also looking forward to play the classic version just as much.

Qwiki is now 1/3 off!

My app Qwiki is now 1/3 off!

Purely because it hasn’t received so much attention recently (except the most recent minor update of course).

Therefore this discount will last until I release version 1.4. Which means a totally flexible timescale, anywhere between a few weeks and maybe even a couple of months if it’s a huge update!

💸⏳

Check out: