Turning inner space into outer space

May 19, 2024

Why do we put wallpaper on our desktops?

Have a look at the top of your real-life desk. You might see some papers scattered or in piles. There might be a folder. There might be a portable hard drive.

The equivalent on your Mac is the desktop. Most people have at least a few icons representing files and folders on it, and maybe one for a hard drive. Macs even allow you to put your files in the equivalent of stacks.

Let’s get back to your real-life desk. Supposing you were tired of how it looks. Maybe it’s just your basic brown wood.

So you go down to the wallpaper store, find something you like, and glue it down on the desk. Right?

I don’t think so. So why do we ruin the computer desktop metaphor by using the term “wallpaper”?

There was a time when wallpaper on a Mac was known as a “desktop picture.” That made more sense. You were putting a picture on top of your desk. It would be rare to do something like that in real life, but at least it jived with some kind of reality.

Wallpaper goes on walls. Your desktop is not a wall.

But it looks like Apple, which did so much to popularize the graphical interface, has given up.

If you go to Settings in macOS 13 Ventura, and type in “desktop picture,” you’re taken to a section called Wallpaper.

One of the top results of a search in Ecosia for “desktop picture” is “Customize the wallpaper on your Mac”.

If you want to download a Lord of the Rings desktop picture for your Mac, you’ll have to browse one of the many wallpaper websites.

It’s a case where Windows won. Despite using the desktop metaphor like macOS, they have always insisted on using the term “wallpaper”.

I can see why Apple caved. They were probably tired of wasting time supporting new users who couldn’t figure out that desktop picture was the same as wallpaper.

How about we compromise and call it “tablecloth”?

May 12, 2024

You can judge a Mac app by how it helps you

What makes an app a good Mac citizen? For many of us, it could be summed up in this statement on the CotEditor website:

“CotEditor is exactly made for macOS. It looks and behaves just as macOS applications should.”

A big test is the Help menu. Apps made by Apple generally set the standard with “Name-of-app Help”, which opens an in-app browser with instructions on how to use the app.

I was surprised to discover that CotEditor does this, too. I was expecting to have to search for documentation on their website, because this is the norm with other code editors.

Most of them are cross-platform so it’s to be expected. If the help is on their website, they only have to do it once for all the platforms they support.

That doesn’t explain Nova, though. Despite calling itself “The native Mac code editor that's fast and amazing,” the help menu takes you to their website, where you can search through articles. I’m pretty sure this could have been implemented with an in-app browser.

Besides CotEditor, here are some other Mac apps that pass the test of in-app help: iA Writer, Tot, ImageOptim, Photoshop, Affinity Photo, BBEdit, Moom, and Scrivener.

Here are some otherwise great Mac apps that fall short by not offering in-app help: Bear, Little Snitch, NetNewsWire, Reeder, and SnippetsLab.

The worst are the ones that have a help menu with “Name-of-app Help”, but when you click on it you get a window saying, “Help isn’t available for Name-of-app Help.” Why have a help menu at all?

I have a habit tracker called Streaks that has no help menu, likely because it’s an iOS port. It’s not great, but seems a little more respectful of my time.

In-app help is so hit-and-miss that I often don’t think to look there. But I’m going to be doing it more often. And I will be silently judging the apps that don’t have it.

April 9, 2024

How to include HTML files on web pages the good, old-fashioned way

Server-side includes have been around for as long as I can remember — and that goes back to the days of dial-up. After all these years, I finally feel good about using them.

Let me explain.

First of all, SSIs are an easy way to include one html page in another html page. So, for example, if you have a navigation bar that’s the same on all pages, you can create it once in a separate html file, then include it on all the other html pages.

Here’s what the include code looks like:

<!--#include virtual="/nav.html" -->

That way, if you have to make a change to the navigation, you only have to do it in one place, instead of laboriously going through every page copying and pasting.

But there was always a catch, and I never liked it. You had to change the file extensions of all your pages to shtml. I guess the “s” stands for “server-side”.

Anyway, it’s annoying and looks weird.

So what changed for me at long last? I learned about commands in the htaccess file!

You can add lines to htaccess that make html and htm files act like shtml files.

AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
AddHandler server-parsed .html .htm

Before you do that, though, make sure it’s OK with your hosting service. As far as I can tell, the worst that could happen is that it simply wouldn’t work. But you never know. In my case, the service provided the instructions so I knew it was OK.

While I appreciate all the YouTubers patiently showing how to do includes with JavaScript, I can’t help but feel that something coming straight from the server is going to be a faster, more seamless experience for visitors.

April 8, 2024

Your Mac's Preview app is free, fast and more powerful than you might think

Here’s a little thing you can do that, as far as I can tell, is unique to Photoshop: size and crop at the same time.

You go to the the crop tool and specify the size you want the image to be. You then make a box for what part of the image you want. Hit enter and you’re done. It’s the right size and the right shape.

I tried doing this in several other photo-editing apps, but couldn’t figure out a way to do it. You can crop. You can size. But you can’t do both at once.

So if that’s the way it’s going to be, why not see if you can do it with a free app that comes with your Mac?

That’s where Preview comes in.

I have a web app where all the pictures are 100 pixels wide by 200 pixels high. The images I use are grabbed from the internet and vary greatly in shape and size.

The first thing I do is crop so that the space above and below the image looks about right. I find that it’s easier to get the height right and play with the width later.

After that, I change the size to 200 pixels high by whatever for the width.

Lastly, I adjust the width to 100 pixels, and hit Command-K.

Yes, it takes three steps in Preview compared with one in Photoshop, but there are advantages.

Preview starts up a lot faster. In the time it takes to wait for Photoshop to start up, I can have the job done in Preview.

Preview, of course, is free. I have Photoshop on my home computer as a perk of a job I recently moved on from. I have a feeling that will end soon, and I will have to pay if I want to keep it.

Preview is worth exploring. It started off as a way to look at PDFs but can now do a lot more. For basic photo editing, it’s certainly worth looking at.

Macworld has a two-part series here and here on the “superpowers” of Preview. It’s dated 2015, but mentions removing the background, which, I’m pretty sure, was just recently added — a feature, by the way, that I find quite handy.

Apple’s user guide is comprehensive.

Hacker News has a surprisingly long thread about the pros and cons of Preview.

I was curious to know about the history of Preview, but there is precious little to be found. Going by memory, it started off as a way to open and view PDFs, but I’m not sure that explains why it’s called Preview.

There is a thread on Quora that may be enlightening. The gist of it is that, back in the days of desktop publishing, the app was used to preview a document to see what it would look like on paper.

Wikipedia has a skimpy entry for Preview with a small section on history. Apparently, it dates back to 1989 and the NeXTSTEP operating system.

ChatGPT, on the other hand, says it was introduced in 2001 with Mac OS X. That would make sense if Preview was brought along when Apple made the switch to OS X, which was based on NeXTSTEP.

That Hacker News thread refers to Preview as “the Mac app people forget about.” Why download stuff when there’s a free app on your Mac that does a lot more than you might think?

March 29, 2024

What if we did social media IRL?

Have you ever seen someone on social media chastise you for spending too much time on the computer? Go outside, they say. Hang out with friends.

Setting the irony aside, this does conjure an image. What if you did hang out with friends, but you were so conditioned by social media that it wound up being an IRL template?

Here’s what it might look like.

Imagine a group of, say, a dozen people sitting in a circle in your living room. These people would be in that circle because they “follow” each other.

They come and go as they please. Some are there all there all the time. Some might be there for a few minutes.

The purpose of this group is to be social so some talking is expected or it won’t work.

Someone holds up a picture of a deer in their back yard. A few give a thumbs up because they like the picture. Others couldn’t care less about deer and don’t react. Some are distracted and don’t notice the picture.

Now things get rolling, and people have lots to say.

Person 1 says something. It’s interesting but before you can react . . .

Person 2 ignores what person 1 said, and says something unconnected. That’s also interesting.

Person 3 and person 4 bring up two other topics at the same time. It’s getting hard to keep up. You ignore what person 4 said because there is only so much you can take in.

Lots of people are saying lots of interesting stuff, but it’s all unrelated. You start thinking about the witty thing that person 5 said, but before you can fully digest it, person 6 has said something profound that deserves some thought.

After awhile, it’s apparent that there are two types of people in the circle. There are the few who talk over each other, hoping to get everyone’s attention. They’re usually nice about it, but sometimes they’ll say something outrageous just to make you look.

The other type of people are those listening for an entertaining tidbit here and there in the din.

Finally someone says something that makes sense. Get on the computer, they say. Social media is better organized. You don’t have to have people in your house.

And off you go.

March 28, 2024

Join the independent web for fun, not profit

I’ve been making personal websites from scratch since the days of dial-up.

Two of those sites are still going. Newsonaut started up in 2010. Thriftmac — a collection of hundreds of links to free Mac apps — has been going since 2006.

The IndieWeb movement started in 2011 — maybe I'm part of it and didn’t know it. But I’m not so sure.

IndieWeb, from what I can gather, refers to creating your own website with your own design so that you are in control — as opposed to a corporation like Facebook that may not have your best interests at heart.

That makes sense to me, but I would more likely be part of a maker web movement if such a thing existed. I make and maintain websites because I enjoy it. Just like other people love to knit, for example. The joy is making something, not in what you can get out of it.

Joan Westerberg wrote a fine article: The creator economy trap: why building on someone else's platform is a dead end. She makes great points about why you should have your own website and use it as the basis for a platform.

But she also says it’s hard. If you’re trying to make money on the internet, then absolutely it’s hard. It’s hard regardless of how you do it. I tried it for a few years and quit after I realized I was making way too little for the effort required.

Now I’m back to doing it for fun.

You can do it for fun, too. Play around with a bit of HTML and CSS on your computer. You don’t need a domain name. You don’t have to publish. Just see what you can do. If you keep at it and find you’re still having fun, then think about publishing. Going live will cost you, but think of it like other pastimes — they all cost something. If you’re having fun, though, it’s worth it.

The idea of an independent web has been around since at least 2001, which, according to Tantek Celik was “perhaps the heyday of independent web”.

From what I can tell, supporters are mainly a bunch of tech nerds like me who enjoy doing web stuff. They should just admit it. What they really want is for other people to join in the fun.

March 25, 2024

Use Apple's Calendar app as a timetable

If you need a timetable to keep yourself on track with daily routines, look no further than the Calendar app that comes with your Mac, iPhone and iPad.

I’ve configured Calendar to outline how I want to spend my time Monday to Friday from 9 a.m. to noon.

Step 1: Create a new calendar. As you probably know, you can have multiple calendars within Calendar. Call this one “timetable” or “morning routine” or whatever works for you.

Step 2: When creating an event, look for “Add Alert, Repeat, or Travel Time”. Click on this option, then tap on the button next to “repeat” and choose “custom”. I chose a frequency of weekly, every 1 week, on Monday, Tuesday, Wednesday, Thursday and Friday.

For example, I have a block from 9 a.m. to 10 a.m., Monday to Friday, where I work on writing for newsonaut. I’m doing it right now!

Step 3: Deal with alerts. Your Calendar app is likely synced across your Mac, your iPhone and maybe an iPad. That means all these apps will now want to alert you about the events you’ve set up in your timetable. I just want my timetable for reference, so I turned off the alerts for that calendar on all three of my devices. On the iPhone or iPad, go to the Calendar app and find the list of calendars. Tap the “Info” icon next to the timetable calendar and turn off “Event Alerts”. On your Mac, right click on the timetable calendar and choose “Get Info”. From there you can check “Ignore Alerts.”

Step 4: Deal with the Up Next widget. I don’t need timetable events cluttering Up Next, so I stopped those as well. On your iPhone or iPad, go to the widget, then press and hold so you have the edit option. You’ll see an option for “Calendars” that defaults to mirror all calendars. If you turn this off, a new option will appear where you can turn off individual calendars. On your Mac, open up the widgets and press the “Edit Widgets” button. Then tap the Calendar widget and look for the “calendars” option.

Step 5: Optionally, you can hide the timetable calendar. I turned it off on my iPad and iPhone, because I only want to see it on my Mac.

January 7, 2024

When you're in control, tracking is a good thing

There are tracker apps aplenty, but be sure sure to look at the fine print before you download them. Some of them siphon off your personal data and do god knows what with it.

Here are three that sync across Mac, iPad and iPhone. They have beautiful interfaces, a reasonable one-time price and respect your privacy. Find them all in your local app store.

Streaks — a habit tracker

You can set up pretty much any habit you can think of and decide how often you want to do it — or avoid it.

The only data collected — crash data — is not linked to you.

Fleur — an expense tracker

Keeping on top of all your personal expenses and incomes gives a great of feeling of control over your life. This app makes it a pleasure.

It’s a little more intrusive but the data is not linked to you — purchases, diagnostics and usage.

Book Tracker — yes, it tracks your books

Reading is one of the habits in my habit tracker. And now that I’m in the habit, I’m having fun getting my reading life organized.

It collects no data at all.

December 10, 2023

Sorry, I didn't know I was helping the trackers

I had trackers on my site and didn’t know until Safari told me it was blocking them.

In the privacy section of Safari settings, there are options to prevent cross-site tracking and hide IP address from trackers. When you visit a site, you can click to see how many trackers Safari blocked. Another click shows the domains of the trackers.

On this site, I found there was a tracker coming from Cloudflare. Turns out that Cloudflare hosts CDNs — content delivery networks — for a lot of the little extras developers like to add to their sites. In this case, it was Font Awesome.

I use Font Awesome because it’s an easy way to add icons. There aren’t many of them on newsonaut, but, still, that’s my habit.

I can’t say I blame Cloudflare for throwing in a tracker. If they’re going to host Font Awesome, they might as well get something out of it. And it looks like they have a use for that tracked data.

I got around their tracking by downloading Font Awesome, uploading it to my shared server and linking to it from there. Cloudflare has been deleted and will no longer attempt to track my visitors.

I checked my other sites, and discovered they too had trackers. Cloudflare not only had its tracker hitching a ride with Font Awesome, but also with Foundation — a framework for styling with CSS.

And there were more! An embedded video from YouTube came along with trackers. An embedded map from Flourish had trackers. Now that I know how widespread this practice is, I’m surprised Google Fonts doesn’t do the same thing.

Anyway, they’re all gone now. Uploading and linking to stuff from my server is less convenient, but — darn it! — I feel a lot better knowing that I’m not helping corporations invade your privacy.

November 25, 2023

Default apps 2023

Inspired by Chris Coyier, who was inspired by

I'm struck by two things — how all-in I am with Apple apps, and how generic the names are for most of their apps.

Mail client: Mail

Mail server: Apple

Notes: Bear

To-Do: n/a

Photo shooting: iPhone SE

Photo editing: Photoshop

Calendar: Calendar

Cloud file storage: iCloud

RSS: Reeder

Contacts: Contacts

Browser: desktop Firefox, mobile Safari

Chat: Messages

Bookmarks: Firefox

Read it later: n/a

Word processing: Word

Spreadsheets: Excel, Numbers and Google Sheets

Presentations: Keynote

Shopping lists: pen and paper

Meal planning: Mela

Budgeting and personal finance: Numbers spreadsheet based on template

News: Reeder

Music: Triode, Poolsuite FM

Password management: Bitwarden

Code editor: VS Code

VPN: GlobalProtect

Special mentions: iA Writer for writing, Tot for temporary notes, Transmit for FTP, ImageOptim for photo compression, SnippetsLab for code snippets.