Spaces in App Names Just Bit Me
One of the necessary dA 5Star's features is to launch at login. While users can add it to login items in System Preferences, automatic launch-at-login with opt-out would be much more convenient and discoverable.
To do that with a macOS App Store app, Tim Schröder wrote a great tutorial on this topic.
The idea is to use SMLoginItemSetEnabled
with a bundled helper app. The helper app can be launched at login, the helper can in turn launch your main app.
So I followed the instructions. But I just couldn't get it to work. After a few hours I gave in: I downloaded the example Xcode project. It works! So there must be something wrong with my setup.
After a few more hours of comparing the differences between the sample app and my app, I finally discovered what the issue is. At this point you already guessed from this post's title. Yes that's because I named my helper dA 5Star Helper
, and it contains spaces. I renamed to simply Launcher
and it solved the mystery.
Ouch.
I’m still not sure how I feel about the FaceTime Attention Correction in iOS 13. Is it creepy? Probably not. But how far it can go until it’s creepy? Not too much.
Accessibility is for Everyone
In this episode of @ParallelPods, @shelly interviewed Sarah Herrlinger of Apple. It’s all great, but this clip in particular reminds me how accessibility is for *everyone*. https://t.co/zi4dqYhWtEhttps://t.co/tEVgtU6ARe pic.twitter.com/rie01d8eJQ
— Casey Liss (@caseyliss) June 12, 2019
Exactly the reaction I had when hearing the iPadOS mouse support feature could be turned on in Accessibility. It’s for everyone, so everyone can turn on.
This also infers that the desire to use a mouse on iPadOS is just like any other need like to use Voice Control. It can't be more normal.
Those who skipped adopting storyboards and autolayout for whatever reason, well you no longer have to look back.
One thing will inevitably happen: CoreData DSL in Swift.
Focused Language Evolutions in Acceleration
It was in either 2010 or 2011, I started following Go, I was attracted to its simplicity, its focus. Not long after, I re-wrote my website in Go from Python, just because of my love.
It was also Go that kick started my interest in the evolution of a language. I started reading all the Go blog posts, watching many Go talks.
This is not by accident. Before that time, the language landscape had actually been relatively quiet. Then Go (2009), Rust (2010), Dart (2011), Swift (2014) appeared in public. Not only they are modern, but they also made language development mainstream again.
Go initially focused on concurrency in a large code base, Rust system programming, Dart first a replacement of Javascript, now the Flutter language, Swift the Apple client applications. Because of their focus and the active evolutions, they are bringing us into a new era of software engineering.
More importantly, the evolutions are accelerating.
2017, Go started the Go 2 evolution process.
2018, Swift for TensorFlow was announced, bringing Dynamic Member Lookup [SE-0195], Dynamic Callable [SE-0216], Static Callable [SE-0253]. Differentiation [SE-XXXX], Dynamic Property Iterations [SE-XXXX].
2019, Dart "UI as Code" happened in 2.3.
2019 WWDC, SwiftUI surprised and excited the Apple developer community, marking the end of the NeXT era. It’s bringing Property Wrappers [SE-0258] and Domain Specific Language [SE-XXXX].
It has never been a greater time for programming languages.
∞ iTunes: An Error Occurred
Allen Pike's perfect farewell to iTunes, by presenting his collected error messages. My favorite is this one:
I just realized that when my daughter grows up, she won’t know what 🔑 is…
That feeling when you hear that a blind international traveller praised the app you are working on is very accessible ᕕ(ᐛ)ᕗ
I Grew Up Watching TVs and Movies with Always-on Closed Captioning
Jason Kottke brought up the closed captioning topic today:
A few months ago I noticed that several friends (who speak English and aren’t deaf) routinely watch TV and movies with closed captions and subtitles on. I asked about this on Twitter and the resulting thread was fascinating. Turns out many of you watch TV this way for all kinds of different reasons — to follow complex dialog in foreign or otherwise difficult accents, some folks better retain information while reading, keeping the sound down so as not to wake sleeping children in tight living spaces, and lots of people who aren’t deaf find listening difficult for many reasons (some have trouble listening to dialogue when there’s any sort of non-ambient noise in the background).
When I came to U.S. and started watching TVs and movies, as a non-native speak I was very frustrated that there are no closed captioning. I also didn't know there is the option to turn it on. I wouldn't even think that TV technology actually supports separate closed-captioning data.
You see, I grew up in China. All TVs and movies have always-on closed captioning baked into the stream. There is no option to turn it off.
You ask why that's the case in China?
First, there are many varieties of spoken Chinese with many dialects underneath. Most of TVs and movies are spoken in mandarin. Especially in earlier years, many of the population don't or have difficulties to understand it. But for written Chinese, they are the same, mostly. So closed captioning is understood by more people.
Second, more importantly, homophones. Even though there are tens of thousands of Chinese characters, there are only 1327 pronunciations. That means there are just so many homophones. For common phrases, it not a big problem and we can narrow down further from surrounding context. But for things like names, it's just not possible to know what are the Chinese characters they are speaking. So we rely on close captioning.
Of course, there is also the accessibility reason for people who have hearing loss. But it doesn't explain why closed captioning is the default and there is no option to turn off.