mac

Today, January 24, 2024, marks the 40th anniversary of the Mac.
Here are a couple of random, personal memories because, well, why not?

1992(?) – Our first Mac – Macintosh Classic

I was around 6 or 7 when my dad brought home our first Mac – our first computer, for that matter: a glorious Macintosh Classic.

We mostly played games on it, and of course my dad, being a journalist, did his work on it, too.

1997 – An upgrade – the Performa 5320 CD

In 1997, we got quite an upgrade – the Performa 5320CD. Bigger, faster, and in color. This is where our gaming really took off. Tomb Raider II, Settlers II, Future Cop, Realmz, Reckless Drivin’, Myst, Imperialism… our first real foray into programming as well, with HyperCard. It was more my brother at this point, but I caught on soon enough.

It was also the high-time of Mac print magazines. All those demos and software trials. I remember thinking removing “Demo” or “Trial” from an application’s title would make it the full version. Oh, the naiveté.

My mom did a lot of work on that Mac, too, doing the layout for a local archaeological magazine in Quark XPress.

[Update] Some Saturdays, my dad would take me with him to the office, filled with Macs and the smell of newspaper and cigarettes (I can still smell that today in my mind). While he worked, I’d roam around, look at all the Macs they had (I remember towers, but no specific model), and he’d turn one of them on for me so I could get on the internet. I used to go into chat rooms and talk to complete strangers. It fascinated me.

I also distinctly remember using ResEdit to “localize” English software into German, going over all the menu items. Why? Beats homework… : P

At some point, we even upgraded its memory (to 40 MB, up from 8), and almost bricked the entire thing then and there. But it buffed out, luckily.
When my cousin and I tried to do that with a Macintosh LC (I believe… it was one of those flat ones), we totally bricked it. I’ll never forget the look on his face, and the sheer horror I felt.

[Update] Speaking of my cousin, there was this one New Year’s eve where he and I almost completely ignored the count-down to the new year because we were so caught up in Titanic: Adventure out of Time, trying to get the perfect ending.

[Update] My brother really got into Imperialism, which never interested me much at first (too much management, too little action, probably). But it grew on me. So much so that when we were about to leave for a winter vacation to go skiing, I really didn’t want to, because I wanted to play Imperialism some more. As a compromise, I took the guidebook with me and would imagine what I’d build and do once we came back home. Alas, once we did come back home, I had lost interest in the game. I guess I built it up in my mind so much that the actual game couldn’t live up to it anymore.

[Update] Riven is a very atmospheric game. You can really get lost in the fantasy of it all. My brother and I used to play it with the lights off in the evenings, which intensified the situation. The most shocking part for me was when it was all quiet, our parents asleep already, and we’d progress to a certain point in the game where a CD change was required, and out of the blue, the Performa’s CD tray would open up with a loud creek without so much as a little heads-up. That used to scare the crap out of me.

[Update 2] We had our grandparents over for Christmas – or was it a birthday? – and had just upgraded to Mac OS 8, where you could record your own alert sounds (instead of Sosumi, for example). Well, we had our grandma say “Blödsinn” (“Nonsense”) for a custom alert to demonstrate this with pride to everyone around. So we pressed record and signaled our grandma she could start talking, but it took her about 3 seconds to come up with something to say. Keep in mind, in those days, preemptive multitasking wasn’t really a thing. So every time the alert played, the Mac would “freeze” for 3 seconds, then we’d hear “Blödsinn”, and then the Mac would “unfreeze”. I don’t know why we didn’t re-record it right away; perhaps we didn’t think that far ahead. But we’d always have 4 seconds to contemplate what went wrong when the alert played.

[Update 3] Mac OS 9 came with Voice log-in. I can’t count (well, actually, I can’t remember) the number of times I re-recorded my voice for that in hopes to make it work, but it never would. I’d record it in the morning, it would kind of work during the day (I used to log out and back in to make sure it works, and I just loved to talk to the Mac), but come the next morning, it wouldn’t work anymore. It was Mac OS’ “Eat up Martha” phase, I guess.

2000 – iMac G3 (Slot Loading)

I really wanted an iMac. I had pictures of it pinned all over my bedroom and all over my bed. I let my parents know I wanted one, too. Every single day. And then, on Christmas in the year 2000, we got one, and it was the best thing ever.

We hooked it up to the internet, too, until my dad kind of lost it when he saw that first phone bill. Yikes.
I remember playing Caesar III on that Mac, and not wanting to go to relatives for the 26th of December because I just wanted to keep on playing.

I played Deus Ex at 5fps on this, too, and loved every frame I got.

This was the first Mac I bought memory for with my own money. My mom went with me to the Apple retailer (I was too scared to go alone) and didn’t quite know what more memory would accomplish. She knew, once we got it installed.

I got into REALbasic for a while and wanted to develop my own Football (soccer) manager game. The first thing I implemented was a cheat, so I could give myself a lot of money. I didn’t get far on that.

When Xcode came around, I pretty much switched to that and Objective-C right away. I got Aaron Hillegass’ book “Cocoa Programming for Mac OS X”. That was my bible for a year, going over all the tutorials and code and examples. This is where it all started.

I loved the hockey puck mouse, by the way (I know, unpopular opinion). I wish I still had it, but it broke at some point and stupid past me got rid of it.

[Update] Over most summers, we used to go to our house in Burgenland, where we “retired” the old Macs to (the Classic, the Performa, and at some point we also had a Macintosh Plus, but I can’t remember where we got that from. My brother would know). My cousins would join us in playing old classic games like Space Station Pheta, Stunt Copter, Super Maze Wars, and such. At some point, that wasn’t enough anymore, and we decided we’d bring our iMacs with us from Vienna. Things really kicked into gear then, and we never saw the outside of that house anymore. We played through Diablo 2 multiple times, grinding bosses, played Warcraft 3 all day and night, explored Tomb Raider II and III …

[Update] Like I said, we did get internet with the iMac. But it used to be sooooo slow, I used to keep downloads running over night so they’d be finished when I woke up. My dad, however, did not like the idea of having the computer running all night, so he’d often turn it off once I went to bed. Imagine my surprise when I had to restart the download again and wait for hours and hours for a game demo to finish downloading…

[Update 4] Oh, yeah, I just remembered Virtual PC. Riiight, ’cause that worked so well </scarcasm>… . So much time wasted trying to get FIFA running.

2005 – PowerMac G5

I remember my dad buying me this Mac for my birthday. We went to the retailer, and the sales person asked me “What makes you want this Mac?”. “The graphics power”, I said. “Oh, you’re doing 3D design?”, he asked with enthusiasm. “I play games”. He turned away at that point, with the slightest hint of disappointment and almost disgust in his eyes. But he made the sale. And I gamed my heart out (you can see World of Warcraft running in the photo above).

I wrote GimmeSomeTune on that PowerMac, and started to work on flickery, as well as some other minor apps.

[Update] I bought a graphics card upgrade for this PowerMac. The ATI X800XT. And I bought it twice off eBay. Because the first one wasn’t flashed for the Mac. Yay. Another moment where I thought I’d bricked an expensive Mac. I also expanded its storage with SATA HD drives.

2007 – My first portable Mac – MacBook Pro Mid/Late 2007

I had to make the switch to Intel at some point, and this was it. This was the first Mac I bought myself.

I do remember loving the keyboard. It was kind of… squishy.
See that IR sensor at the front for Front Row? I bought an Apple remote (IR) to use it with this Mac.

2009 – My next portable Mac – MacBook Pro Mid-2009

I discovered a local retailer that would give you money for your old Mac, and discount it off the new one. So pretty soon after that first Intel MacBook Pro, I got this 2009 model, with Mac OS X Leopard 10.5. You can tell, by the background image : D .
I upgraded its hard drive to an ADATA 256 GB SSD (they were still kind of new back then), and it just blew my mind.

Opening all apps in the Utilities folder on the newly installed ADATA 256GB SSD. Wow.

2012 – Retina Goodness – MacBook Pro 15″, Retina, Mid-2012

This one came with flash storage right away, so there was no need to upgrade.
I remember trading in my previous MacBook Pro (see above) to get a discount on this new one.
To this day, I use this one to debug stuff on older versions of macOS, and I even play games on it when I stream. Such a trusty Mac.

Many an app was written on this.

2017 – Back to the desktop Mac – iMac 27″

That 20″ Apple Cinema Display I’d been using with my 15″ MacBook Pro just didn’t cut it for me anymore, so in 2017, I bought the 27″ iMac, beefed-up to the brim. I did not regret it.

2018 – A mobile addition – MacBook Pro Touch Bar 2018

I was on the road a lot back then for client work, so I had to get a mobile Mac.

Another very good Mac. Although I kept doing most of my work on my iMac.

2021 – Apple silicon – MacBook Pro M1 Max

I sold both the iMac and the MacBook Pro 2018 and got myself a MacBook Pro M1 Max (again, beefed up).
It’s been my daily driver ever since and I couldn’t be happier with it.

I’ve always been a very happy Mac owner. So many great memories are tied to every one of these devices (except for that first Intel Mac, which, again, I totally forgot about owning).

When the M1 developer kit came out, it came with a little packet that said “The future of Mac is yours to write”. I think about that a lot.

Macs I wish I owned

I always adored the Macintosh Color Classic.

Image credit: Wikipedia

The iMac G4 was just an awesome machine and design, and my brother had one. I always envied him for it. He still plays games on it, too.

This design is due for a revival. Remember the commercials? I dream of them! (not really, but they were soooo good!)

[Update] Honorable mention: my girlfriend’s green iMac M3. It’s glorious. Having used Windows all her life, she’s still getting used to it, but she’s getting there.

Happy 40th, Mac. Way to go. And thank you for the good times.

Read more

Transloader – an app that lets you start downloads on your Macs, remotely from your iPhones, iPads, and other Macs – is now available in version 3.1.1 for both macOS and iOS.

v3.1.1 is a maintenance update which includes minor improvements and fixes.
– Now remembers previously selected Macs in Transloader and its Share extension
– The “local” Mac is now included in the Add Download dialogs
– Improved imagery for Macs and iOS devices
– Improved behavior of Transloader’s popover (when used as a menu bar app)
– Improved positioning of Transloader’s popover if the menu bar item is currently being truncated by macOS

– Fixes a bug where sometimes clearing all data from Transloader’s iCloud would fail
– Fixes a bug where copying preferences over from another Mac would confuse Transloader into thinking it is that other Mac
– Reduces the frequency of the appearance of rating requests from 6 to 9 months (if there’s been an update in between)

Links

Transloader Website
Transloader on the Mac App Store ($9.99 / € 9.99)
Transloader for Mac on Setapp
Transloader on the iOS App Store (free)
Transloader Usage Tips
Eternal Storms Software Productivity Bundle (includes Transloader, Yoink and ScreenFloat at ~25% off)

Enjoy 🤗

Read more

icon most likely not final

ScreenFloat 2 has officially entered “production”.
Apart from a bit of prototyping of various new features over the last couple of months and years, not a lot has happened in regards to ScreenFloat. But I feel now is the time to finally get it done.

ScreenFloat lets you keep visual references to anything you see on your screen floating above other windows using screenshots. It’s also a screenshot organizer.

Disclaimer: Estimated Time of Arrival, Pricing

I don’t do ETAs for my own products.
I’m a solo developer, I have multiple apps that need maintenance and updates, there are just too many moving parts for me to be able to estimate basically anything. And while that may be a serious lack of managerial skill: I accept that flaw and ignore it 🤷‍♂️.

Regarding pricing, I don’t know what ScreenFloat 2 will cost yet. But I am resolved on its upgrade path: existing customers of ScreenFloat 1 will receive ScreenFloat 2 for free.

About this Journal

I thought it would be fun to chronicle my progress, struggles, successes, failures, struggles, failures, break-throughs, failures, and random stuff while developing ScreenFloat 2. That’s all.

Fundamental Decisions

Before I can start coding, there are a few decisions I have to make in order to be clear on where I want to go and what I want to achieve.

Decision 1 – Build on ScreenFloat 1’s code base, or start from scratch?

I began work on ScreenFloat 1 on March 11th, 2010.
Memory is still managed manually (for you youngster coders out there: google retain / release to know what I’m talking about).
Objective-C’s @property wasn’t even available yet back then.
It’s ancient!
In addition, it was one of my first apps, so ScreenFloat 1’s code is all over the place. And while I don’t think code has to be “pretty”, I do think it has to be readable and understandable; ScreenFloat 1 is neither.
So yes, I’ll definitely be starting ScreenFloat 2 from scratch.
Which my next decision factored into…

Decision 2 – Objective-C, or Swift?

Swift, of course. I love Objective-C (it’s got me this far), but I think by now it’s clear that the future is written in Swift. That’s not to say that if there wasn’t Swift, I wouldn’t love to continue working in Objective-C. However, with more and more frameworks being Swift only (for example, Widgets), I need to move on as well.
While this decision is of no consequence to users of the final product – a feature in an app should work no matter what language was used to program it -, it is quite consequential to me.
I began learning Swift earlier this year – my freeware developer tool BackLog is a first result of that – and I’ll continue to learn. For me, the easiest way to do that is “on the job”: to actually work on something I’m going to ship. Two birds with one stone.
Will that increase development time? Possibly.
Is it worth it? I believe so.

Decision 3 – Keep old storage model, or migrate to Core Data?

ScreenFloat 1’s “storage model” was two plist files (one for the shots library and associated metadata, and one for categories the user created in the Shots Browser) and a folder full of image files.
It worked ok, but I’d like something more sophisticated, robust and scalable.
That sounds like Core Data to me.
It’s not a new framework to me (thankfully – it is a lot to learn). I’ve been using it for a couple of internal tools, and for apps I’m maintaining for third parties.

As a side note, I do want to keep the “folder full of image files”. It makes them accessible in Finder, instead of being stored somewhere on disk in an opaque Core Data storage file.

Decision 4 – Core Data with CloudKit, or Core Data with custom iCloud/CloudKit sync?

I recently took to twitter to see what other developers thought about Core Data with built-in iCloud sync. The consensus was pretty much to stay away: it can be slow, very opaque as to what it’s doing, and thus difficult to debug.

Synchronisation is difficult to debug as it is, so I don’t want to make it any harder than it has to be.
Over the years, I’ve gained quite a bit of experience when it comes to syncing with iCloud / CloudKit (I manually sync with iCloud using CloudKit in Yoink for iPad and iPhone and Transloader), so I’m confident I’ll be able to write my own custom CloudKit sync solution for ScreenFloat 2.

Decision 5 – macOS, sure, but what about iOS/iPadOS?

ScreenFloat 2 will be available for Mac, as well as iOS/iPadOS.
So some code (most notably storage and sync) has to be able to run on all those platforms – something to consider going forward.

As with all my other apps, ScreenFloat 2 for Mac and ScreenFloat 2 for iOS will be developed for and tailored to each respective platform mostly separately, and so they will also be sold separately.

That’s it for this time.
Thank you for joining me. Feedback, input and questions are welcome: mail me, tweet me.
Take care! 🤗

Read more

Yoink for Mac, the drag-and-drop improving utility, is now available in version 3.6.8.

What’s New?

There’s now a preference for having Yoink dynamically provide JPEG and/or PNG data for TIFF, HEIF and/or WebP image files you drag out of it.

I’ve also fixed a couple of bug fixes and made some quality-of-life improvements, like having a dedicated “Pinned Copies” sub-menu in Yoink’s contextual menu’s Clipboard History.

Where to get Yoink

Website (+ free, 30-day demo)
Mac App Store
Setapp

As always, it’s a free update for existing customers of the app.

It requires macOS Sierra 10.12 or newer and runs natively on Apple Silicon and Intel Macs.
Yoink is available in English, German, French, Italian, Simplified Chinese, Japanese, Korean and Portuguese.

Enjoy 🤗

Read more