Chris Hannah

Project


Random Prnt.sc

Okay, so I was bored today, and that led to me building a website. Specifically one that lets you find random images that are hosted on Prnt.sc.

Background Information

Basically, there’s a screenshot utility called Lightshot, and it has the option to upload your images to the web. is a screenshot utility that allows you to quickly customise screenshots, and upload them to the internet. These images can be found on a website called Prnt.sc, and they’re publicly available.

In fact, all you need in order to find an image on Prnt.sc is a 6-digit alphanumeric identifier. Which is easily generated.


This afternoon I was playing around with random combinations, trying to find anything amusing. But I’m a lazy person, so I try to make any manual process easier.

My first idea was to somehow built a simple website that could actually find images from Prnt.sc, and display them inline. However, due to cross-origin resource sharing, it seemed way to complex for a fun afternoon project. So I settled on simply generating random identifiers, and opening a them in new tabs.


The website is now live, and you can view it at chrishannah.me/prntsc. And it comes, as I mention in the footer of the page, “built with minimal style”.

I’m not sure what type of aesthetic this is, but it always reminds me of the purities of the web. I much prefer a website that has well structured HTML, and little to no CSS. I mean, I didn’t even add any styles to links, and it still looks good!

Sometimes I want to just change my blog completely to a static site, with a super basic design. But I’ll leave that to another day.

Text Case 2020.3

Another small update to Text Case is hitting the App Stores.

It comes with a few UI enhancements, notably to help show pointer location when hovering. And also a simple context menu that appears when you right click or long press on any formatted text, where you can choose to either copy or share the result.

Improvements were also made to the performance of the app, and a few miscellaneous bugs were also fixed.


Links:

Text Case 2020.2

Text Case is getting it’s second update of the year (as you can probably tell by the version number), and while it’s not a big one, it contains one fix and support for pointers in iPadOS.

The fix is for the Sentence Case format, which by default capitalises any word that comes after a full stop. However, it didn’t apply this rule after question marks and exclamation marks. This has now been fixed.

Because of the new pointer support in iPadOS, I’ve added a slight hover state for the formats in the main list, and also other parts of the interface. A side benefit of me doing this, is that this also works in the macOS version as well. Simply because that is a Catalyst app. It reminds me that without Catalyst, I probably wouldn’t have made a macOS app for Text Case at all. But now I get to develop essentially for three platforms at once, the iPhone, iPad, and Mac.


Find Text Case:

Text Case 2020.1

It’s time for Text Case to receive its first update for 2020. Only a relatively small one this time, but it brings with it two new formats, and some work under the hood that should go unnoticed.

The new formats are quite straight forward:

Straight Quotes. This does the opposite of the “Smart Quotes” format, and converts all curvy quotation marks to the simple straight versions.

Slug. A bit of a weird one if you’re not already aware of what a slug is, but essentially it’s the more human-readable part of a URL that identifies what the page is. For example, a blog post will have a slug usually based on the title of the article. So this format will strip out all non-alphanumeric characters, and separate each word with a hyphen.

This update also contains a few extra things that shouldn’t be noticed, for example the way the UI is managed, and rounding corners, etc. It looks the same, except it’s done in a much more reliable way.

There is another less-than-tiny update to the UI that you may notice, and that is the gradients at the top of each format in the list view. These are now slightly more prominent.

Links


I’m guessing you would have noticed the 2020.1 version number, this is something I’m adopting from now on with all of my apps. The format will simply be YEAR.INCREMENT, where this is the first update to Text Case in 2020.


The updates to Text Case have been quite small and more incremental updates recently, and that I think is down to the maturity of the app. There’s not that many text transformations that people do regularly enough to need it in an app such as Text Case, and there’s only a limited amount of ways you can interact with the app.

So until there’s an advancement in iOS/iPadOS/macOS I can take advantage of, I would expect the updates to continue being small tweaks, and the occasional new format.

In the mean time I should really be working out what app I’m going to be building next!

Saying Goodbye to a Few Apps

I’ve been talking about this for a few years, but refining my App Store offerings has always been a target of mine. And today I’m taking another bit of action on that.

Which means my list of 8 products on the respective App Stores will go from 8 down to 5, by retiring Pretty Regular Expressions for macOS and iOS, and Tap Gap:

The reasons behind the three of them are slightly different but are essentially due to a lack of focus from myself, and a desire to not have any lingering apps anymore. Especially if I feel like they’re offering a substandard experience.

Pretty Regular Expressions is an app that is arguably still useful, but I haven’t used it myself in quite some time, and it’s fallen way behind its competitors on both platforms. And it’s just in a good state, it hasn’t really been adapted to the new devices over the years, and there’s tons of work needed to bring it back to a good level. There’s still a chance that I’ll revive this in the future, as I plan on working on a fresh app this year, but I can’t make any promises.

And for Tap Gap, this is a really simple game that I made while at university. It’s wasn’t ever a great game, and it was last updated December 2016, so I’m not even sure it works on the new devices. That was an easy decision.

There’s also question marks over my solid colour wallpaper app, SOLID, and my Wikipedia Menu Bar app for Mac, Qwiki. However, these still function correctly and attract new users.

That leaves me with arguably one active product, Text Case, since the macOS app is built with Catalyst, meaning it’s essentially one codebase. And three passive products with the sticker pack, Qwiki, and SOLID.

Text Case 2.5

There’s yet another update to Text Case, and it brings with it three new formats, theme syncing, and an action extension for the macOS version!

New Formats

New Formats

Smart Quotes – This changes any straight single of double quotation marks, into their curly equivalents, all based on your localisation.

Small Caps – ᴛᴜʀɴ ʏᴏᴜʀ ᴛᴇxᴛ ɪɴᴛᴏ sᴏᴍᴇᴛʜɪɴɢ ʟɪᴋᴇ ᴛʜɪs!

Upside Down – Just another fun one, this attempts to flip the characters upside down.

These new formats are available on all versions of Text Case, iOS, iPadOS, and macOS.

Automatic Theme Syncing

Theme Options

Text Case has support for themes, but previously you would have to manually switch between them. With this version, you can select “Automatic” to have the Text Case theme sync with the light/dark mode of your system. This works on both iOS, iPadOS, and macOS!

Format Text Action Extension for macOS

Convert Text Action

On the iOS/iPadOS version of Text Case, there’s an Action Extension that lets you select text anywhere, and then get direct access to the different formats in Text Case. This is now coming to the macOS version, with essentially the same behaviour.

Now you can select a portion of text anywhere in macOS, right-click, and under “Share”, there should be a “Convert Text” action. (If it doesn’t appear, you will have to go to System Preferences, Extensions, Actions, etc enable it.)

That will bring up the Text Case UI, and selecting a format will result in the formatted text being copied to your clipboard!

Links

Text Case on the App Store

Text Case on the Mac App Store

Text Case Website

Text Case for Mac

I’ve been slowly working on this for quite a few months now, but I think it’s finally time to release Text Case for Mac.

With it comes all 32 formats that are currently supported in the iOS app, and the same customisation options (except custom app icons).

To recap all of those:

In fact the macOS version is 2.4.4, and the iOS version is sitting at just 2.4.3. The only differences being some improvements to the Emoji format, where some localisations could cause the format to not work at all (it now defaults to English if it doesn’t support the language). And also some macOS specific changes, which are mainly to remove parts of the app that won’t work such as Siri Shortcuts support, and also fine tuning the macOS experience.

There are things that I’m already planning on adding the Mac version, such as an Extension so you can format text from outside the app, similar to how the Action Extension works in IOS, and also other automation support such as URL schemes. However, I feel that it’s much more beneficial for people to have Text Case for Mac now, rather than waiting even longer to get it into peoples hands. Because just like the iOS app, I really like to adapt the app to users feedback, and I already have a few extra formats (such as small caps) that I plan on adding soon. I also want to see what I can do with the Touch Bar!

Have a look at the Mac version:

Text Case for Mac

Text Case for Mac

Text Case for Mac

Find Text Case on the Mac App Store.

Text Case 2.4

I feel like I post more updates to Text Case here than real blog posts. Oh well, this one I’m blaming Jason Snell. We exchanged a few tweets about Text Case, and he suggested a feature where Text Case could have a list of manually capitalised nouns that would be used when converting text. I immediately saw the benefit of this idea, and started mapping it out in my head.

In just over a day, the update has been developed, and worked its way through Apple’s review process.

It contains what I’m calling the “Custom Dictionary”, and it lets you store words capitalised in a specific way. So that whenever you use Title Case or Sentence Case, these capitalisations have the highest precedence. It’s perfect for brand and product names, and that’s also why I’ve included a few common nouns in the app to start off.

The words themselves are stored in a .json file, which you can find in the Text Case folder in iCloud Drive. This can be edited manually outside Text Case (I would recommend an app called Jayson), and the changes will then be picked up when Text Case is next used.

One more thing, I also added a new dark theme. Previously the dark option had pure black as a main colour, but this is a bit too dark for some people. I’ve renamed that theme to “Black”, and added an option that is a dark grey.

You can find Text Case on the App Store.

Text Case 2.3

It’s time for another update to Text Case! This time it brings another 5 formats, all relating to Markdown.

There’s support for creating Blockquotes, which supports multiple paragraphs (which I personally wanted a lot), Code Blocks, and also ordered and unordered lists. You can also convert any Markdown to HTML!

All of these formats are, of course, available to use via the app, the Action Extension, and also in the Shortcuts app. And with these new additions, Text Case now has 32 different formats! Including four variants of Title Case.

You can find Text Case on the App Store.

Text Case 2.2

There’s a new update to Text Case for me to tell everyone about!

It’s not exactly a huge update with tons of new features, but it’s one I think will make the use of Text Case much more efficient. I talked about the way Text Case is evolving recently here on the blog, but essentially the main new “feature” is the new Shortcuts action.

In Text Case 2.2, you’ll have just the one action in Shortcuts, and that will be able to have an input parameter for the text you wish to format, an option to select the specific format, and then it will have the formatted text as an output. Previously each format had its own action, which meant it was always a bit messy. And, of course, Shortcut actions didn’t have parameter support before, so it always relied upon the clipboard.

However, now you have access to one magical action that has all the functionality of Text Case. It can slot directly into any Shortcut, and then get out of your way.

I didn’t just stop there with the update. I also added a few extra new formats. You now have the option to remove all whitespace, or just trim the leading/whitespace with the new formats “Strip Whitespace” and “Trim Whitespace”. And there’s another fun one called “Shuffled” which will randomise the order of any text that is passed as an input.

You can download Text Case on the App Store, and you can find out more information on all the functionality in Text Case on the website.