Let’s say you have two targets: iOS and watchOS. Talking SwiftUI, would you prefer to reuse views and litter your code with #if os(), or duplicate your views? I was tempted to use separate files but worried it would introduce a long term burden for code maintenance.
I have upgraded to an iPhone 16 Pro. I wouldn’t say I like the trend of increasingly aggressive HDR, and noise reduction. Latter leads to hiding imperfections in human faces, almost like a beauty filter. I have owned a digital camera since I was a kid. I have pictures in my photos library that are shot on film, then my Sony DCR-TRV60E video camera, and lastly, Konica Minolta DiMAGE Z20. After that, I switched to an iPhone.…
This is the last time I’m ordering an iPhone case online. What is the point of plastic-free packaging when your tiny item comes wrapped in a giant plastic envelope? Apple could ship them together with the iPhone to reduce the amount of packaging.
Ordered.
I’m ordering 16 Pro. Upgrading from 13 mini. I will miss the size but I know that I will utilise photo and video cameras. I’m so tired of babysitting my battery.
The most underappreciated change in the new console is the complete lack of the legacy USB Type-A ports. It also applies to PS5 Slim. I’m just glad to see the trend where more manufacturers completely drop USB Type-A ports.
I checked the front and back. Two ports in front now Type-C. In addition, there’s the extra port on the back, which is also Type-C. We all know the feeling of trying to guess a direction and plugging in a USB cable, getting it wrong every time.…
Casino is on the watchlist now. Due to the latest Gruber post. Watched Beetlejuice (1988) last night. It’s good, except for aged whimsical special effects.
I am looking forward to playing this game, and if you missed it, I would recommend it, for people who like old Lukas Arts quests: Full Throttle and others. I have great memories of completing the remastered version of Monkey Island 2 on my original iPad. When I wanted to start playing and deep dive into the world of pirates and silly adventures I was presented with the choice.
There’s one aspect of modern gaming which doesn’t sit right with me—it’s difficult choices.…
Lately, I started to notice that I miss more meetings than usual. I don’t think I was getting notified for any events, including those which have multiple alerts. The problem is, somehow, my Apple Watch Calendar settings show “Upcoming events: Off”.
That’s the first problem, but there’s more. Calendar events created on the Apple Watch itself do not contain default alerts. I double-checked Settings → Calendar → Default Alert Times in iOS.…
I am working on an app update for Pinbook which will bring iCloud sync between iPhone and Apple Watch. I never used CloudKit and CKSyncEngine in the past. After I finished refactoring my app to allow sync I had a problem running unit tests. Here’s what I learned.
The Simulator needs to be signed in to the iCloud account. I used a separate Apple ID which I use on all my test devices.…
A note for myself as I keep researching this topic every couple of years. If your app uses CloudKit encryption, it does not count as something you need to declare in the App Store Connect.
Your app uses encryption limited to that within the Apple operating system
No documentation is required in App Store Connect.
– Apple
– Stack Overflow confirmation
App Store Connect questions Does your app implement any encryption algorithms that are proprietary or not accepted as standards by international standard bodies (IEEE, IETF, ITU, etc.…
Address by Volodymyr Zelenskyy on the Independence Day of Ukraine via president of Ukraine website, and YouTube.
In yesterday’s episode of Ukraine: The Latest podcast, from New Zealand correspondent, there’s a conversation between Russian civilian and Ukrainian soldier sheltering in a bunker in Sudzha, Kursk region in Russia. Ukrainian asks Russian their opinion about the war. Russian says he is not interested in politics—a common response.
We have to care about politics because it makes a difference.…
Safari is still underdog, iTunes Store is still underdog, macOS 8 times smaller than Windows, iMessage is only used in the USA at all. There’s room to growth. Did I mention how few people use Pages over Word, Preview over Acrobat, Figma over Sketch. And you people worry about DMA.
Now rewatching Alien and enjoyed many references to the original. If you want to appreciate all of them, watch the original before you watch Romulus. The film felt emotionally real and the crew acted like real people.
When I upgraded my iPhone I went through a mostly-automated process pairing my Apple Watch to the new iPhone. It includes the watch backing up, erasing itself and then restoring from the backup. My app Pinbook stores files only on Apple Watch. After the restore process had finished, I opened Pinbook and realised that all my files were gone.
Apple support article:
Here’s what your Apple Watch backup includes…
When debugging the Smart Stack widget and running my Apple Watch project in Xcode 10.4 I started to see AppIntents.PerformIntentError.intentNotFound error. I’ve found that there’s at least one person with a solution on Apple Developer forum.
Quick fix The forum solution requires changing the iPhone app target configuration.
This change generates an AppName-Info.plist file with the following content.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>INIntentsRestrictedWhileLocked</key> <array> <string>ConfigurationAppIntent</string> </array> <key>INIntentsSupported</key> <array> <string>ConfigurationAppIntent</string> </array> </dict> </plist> I also needed to check the intent Swift file under the iPhone app target, otherwise, it won’t build or crash during launch (I don’t remember exactly).…
Finally, I have came around to shipping a solution for monitoring file system events using higher-level API. The main advantage is potentially to be able to ship to iOS and other Apple platforms. I couldn’t do it myself without the help from mighty the internet.
Well-documented example code for writing a wrapper around DispatchSource for monitoring changes in a single file → https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift
A nice article which describes how to cancel DispatchSource connection → https://agostini.…
Finished reading: Make Something Wonderful, Steve Jobs in his own words by Steve Jobs 📚
“Don’t be a career. The enemy of most dreams and intuitions, and one of the most dangerous and stifling concepts ever invented by humans, is the “Career.” A career is a concept for how one is supposed to progress through stages during the training for and practicing of your working life.
There are some big problems here.…
I had difficulties making menu bar commands respond to a user interface state when an app running in multiple windows or tabs. In short, I have used .controlActiveState environment with some workarounds. More details in the previous post. The workaround is not useful when I tested my application with multiple window tabs running. I even had to disable the window tabs altogether. I am happy to share that I found a solution which works with windows and tabs.…
Not long time ago I began journey transitioning from traditional imperative programming to functional way. Advantage of the functional programming is less code and less mutable states. It involved refactoring, and because I have limited time, I thought that adding unit tests will help me in maintaining my projects. I will write about my journey and lessons I learned as it helps me and hopefully will help you, dear reader.…
I’ve been trying to fix the “Hide Toolbar” command in my SwiftUI macOS project. Hide Toolbar is one of my favourite keyboard shortcuts and I use it regularly to use screen space more effectively. Naturally, I want this macOS feature to work in my app. The keyboard shortcut didn’t work in my project. If you facing the same issue, check these two tips.
First, assign id to the toolbar view modifier and every child item.…
Example of iOS alert not following the HIG. Traditionally in OS X, later iOS and macOS, the cancel button is on the left and the okay button is on the right.…
Default SwiftUI on the Mac project includes the default Help command. But there’s a little problem. It also adds the default help menu. I recommend implementing the menu or at least removing it from your app. Otherwise, it gives the impression of an unfinished app.
Luckily it is just a few lines of code and you can link to your website.
struct HelpMenu: View { var body: some View { Group { Link("Your App Website", destination: URL( string: "[www.…
I’ve come full circle and now I’m back to the MX Vertical, it’s for the first time I am buying the same mouse twice. MX Vertical charges over USB-C, supports Mac through open Bluetooth protocol, just like the Magic Mouse, and it offers unmatched comfort, thanks to its big size and vertical design. Unfortunately, it has a manufacturing flaw.
In the past years, I’ve been using Logitech MX Vertical until its main button started to click twice.…
Before the iPhone era, I was intrigued and was actively writing plain text notes in Notational Velocity. There’s something about using a Mac as a natural extension of your thoughts. When iPhone came along my most used third-party app was first Evernote and then Drafts, I still use Drafts, but only as a scratchpad for things I am about to post somewhere. Then Obsidian appeared out of nowhere along with other similar apps like Craft, and Ulysses.…
I use a limited data plan with a weekly allowance. I developed a habit of checking the Settings app and keeping track of the usage, switching off the worst offenders.
I reset statistics on June 28th (Friday). I used all my data through the following weekend. On Monday morning I received a text that I have no data left. Today on Wednesday I checked the stats and found higher than expected numbers.…
The only way to find the volumetric size of Nespresso cups, is by taking a picture in my office.
25 ml / 0.85 fl o
40 ml / 1.35 fl o
110 ml / 3.75 fl o
The size of Nespresso coffee cups pictured above. Here you go internet, you are welcome.
Very much enjoying Taylor Swift’s THE ERAS TOUR (Disney+). I am halfway through and purchased The Reputation album already. She is a one-of-a-kind artist and an absolute multi-dimensional talent.
In light of DMA developments, I hear that Apple not following “the spirit” of the law and doesn’t allow competition in the App Store marketplace. According to the regulators, being the sole distributor of the entire market, Apple doesn’t allow competition.
As an indie developer, I couldn’t care less about outside App Store distribution. And as a full-time contractor for a big company, I don’t see how adding additional distribution channels outside of the App Store, will help my team deliver better user experience.…
Latest ATP interview about Swift 6: Holly Borla & Ben Cohen. Questions and comments are excellent. Want to relisten.
John expressed his failed experiences adopting structured concurrency in one of his Mac apps.
One of the guests: What APIs are you using?
John: macOS APIs.
Marco: You are screwed.…
There is a general election here in the UK on July 4th. I would like to stress three crucial points which can lead our democracies into a successful future.
Recommend and implemented by Estonia plan increasing 3.0% GDP towards defence (UK petition). Plan 0.25% of GDP to military aid for Ukraine for the next four years (president.gov.ua, PDF). Ukrainian integration into NATO and EU. Parties are ordered in my priority list.…
My first experience picking up a refurbished iPhone 13 mini from Amazon UK. There’s no central “Amazon” refurbished hub, and any phone you get is a surprise because Amazon works with multiple partners. Some of them had original cables, and some of them had non-original cables. Battery health was not 100% and was below 90%, with micro scratches on the screen. The price for the 512 GB model was a lesser jump than what you usually get when buying a new iPhone.…
Watched Get Out last night. I like clever horror films. My partner liked it too.
iOS keyboard bug. Combination of a long password and home button leads to invisible keyboard. Appears consistently after every reboot. First noticed in iOS 16, appears still in 17.5 FB11901083
Quick update, upgraded SE 2nd generation to iPhone 13 mini. This is the first selfie I made. I like the size so much. Battery life is not great, but compared to my iPhone SE it is plenty. I am still in a habit of conserving battery life. This’s been a difficult week, can’t wait until next weekend.
Getting a repetitive error in the Xcode 15.3 console every time my Mac project launches.
List with selection: SelectionManagerBox tried to update multiple times per frame.
My custom type:
struct Folder: Codable, Identifiable, Hashable, CustomDebugStringConvertible { var subfolders: [Folder]? let id: String // ... } @MainActor final class Store: ObservableObject { @Published var folders: [Folder] = [] // ... } // Usage (shortened) HierarchyList(data: store.folders, children: \.subfolders, selection: $store.…
Apple has started including Ultra Wideband chips in iPhone 11. There were zero iOS features at that time, except, AirDrop interface improvements. Last year Apple shipped a major improvement to AirDrop which relies on UWB. Today I watched Star Wars day-inspired YouTube ad which demonstrates how people can find each other using iPhone 15. The marketing is focused on the iPhone 15. But thanks to long-term planning and software execution it is likely to work on all your friend’s devices.…
Charles documentation and some blog posts advise to use Help → SSL Proxying → Install Charles Root Certificate in iOS Simulators command. But this stopped working for me in recent years. However, I have found a workaround. Instead of the install command, I press “Save Charles Root Certificate…” into my Mac and then drag the .pem file into the Simulator.
Then go through the checklist.
The Simulator has a certificate installed at Settings → General → About → Certificate Trust Settings.…
Watched the Civil War two days ago, it was a thrilling emotional ride. A film about war photography. We watched it at Curzon in Victoria (London). The screen (screen 5) was not huge it had nice seats and the sound was separated. The screen didn’t feel small. It worked great in the cinema because the picture took the entire canvas.
A bit earlier this week we also watched Oscar winner 20 Days in Mariupol at home. Be warned it has footage of dead babies killed by Russian invaders. Picture quality is not good for obvious reasons, but you shouldn’t worry about these things while watching real war footage unfolding.
I listen to every episode of Ukraine: The Latest since August last year. I would like to share yesterday’s episode – it has an interview with Lt Col Куриленко. This is the first time I heard him and both questions and answers are insightful and valuable. Listen to Russia sucks top naval commander (Overcast). Also available as an article.…
I’m introducing my kids to Patapon remasters. Sadly Patapon and Loco Roco developers were laid off in April 2021. I had great memories playing both on the original PSP. If you worked on any of these amazing games, thank you. Japan Studio, you are legends.
Word of caution on Sonoma 14.3.1 using the save command on PDF form using new AI features in Apple Preview erases my edits. Ironically just closing a window works as expected and content is not lost. I reproduced this bug on 2 Macs already.
I realised that custom or overcomplicated user interfaces irritate me even more over longer periods. I have little energy when doing repetitive tasks daily on my iPhone and Mac, I don’t enjoy interacting with one-of-a-kind interfaces.
Had a long and frustrating experience using my iPhone. The keyboard was especially slow. I knew something was odd and was blaming old hardware instead of realising it was a dream.
I can’t be 100% sure but I think I just lost my 2FA after doing iCloud Keychain import from 1Password. I had the same password in both places but 2FA existed only in iCloud Keychain. Lessons learned — only import passwords into an empty keychain.
This week there’s an interesting interview with Mark Zuckerberg defending the Meta Quest. I welcome the competition. Android was a tremendous factor in pushing Apple to make the iPhone better. I am convinced that investment behind the Apple Silicone is partially possible due to competition from Google and Samsung. Apple’s custom processors are a big win for iPhone consumers. I am hopeful that Meta products will push Apple to work harder.
From my podcast feed, two close friends recorded a podcast while wearing Apple Vision Pro headsets. Listen to The Talk Show with Adam Lisagor. If you are optimistic and excited about Apple Vision Pro, you will enjoy this episode. In short, the episode reassured me once more that Apple made the right choice by shipping this device in 2024. John mentioned that he was eager for more people to get the headset so they could experience what he experienced. And they talk about powerful feelings and excitement almost reaching the level of the original iPhone debute.
Yesterday I had an issue using The Telegraph website, subdomain pages didn’t recognise active login sessions and hid parts of the content offering me to sign in. iOS Safari lacks some of the great Mac features. For instance, it doesn’t allow cache management per domain basis, it only has the option to remove all cache at once. After I nuked all the caches it fixed my issue but something unexpected happened.…
Finished listening to the latest ATP. It calmed me down on the visionOS productivity angle. At launch. Everything still may change, but so far this looks like a luxury AV entertainment device in the realm of HomePod and Apple TV. Not bad because I love these Apple hobbies.
There’s a strong Sci-Fi vibe I am getting from the media and press. It feels like we just made the next step into the future.
Casey Neistat (11 minutes video).
“Simple Tricks and Nonsense” from John Gruber.
Case’s video feels like Back to The Future part 2 and John goes even further and dreams about one day being able to control a computer with the power of our minds. We, as the human race, just got closer to this possibility.…
I wasn’t fortunate enough to experience Macintosh Classic, but I think I would like it very much. I do spend an awful amount of time listening and reading to people who are nostalgic about the old era. Please do read the Spatial Computing peace yesterday published on John’s Siracusa blog. John doesn’t publish often but when he does, it is valuable and I would even say, timeless.
Besides some healthy Apple Vision Pro scepticism and curiosity, there are two points in John’s article I would like to focus on.…
I still remember the day I got my first Mac in 2007, it was half funded by me selling my desktop PC, and the other half was from my dad. I’m very grateful he trusted me with my expensive choice. I was not a math person naturally, idea of writing code for the sake of writing didn’t excite me. Once I started to learn how to use a Mac, I noticed the amount of detail, polish and craft which went into creating OS X (read like “ten”), it blew my mind.…
Okay, it is unlikely anyone will read this blog, and it is even less likely you will read it on 26 January 2024. But if you do, you are likely to know about yesterday’s changes from EU lawmakers. These changes flooded my NetNewsWire feed and made me want to drink heavily last night. The reaction from the indie dev community is, to be blunt, not fruitful. There’s two things to unwrap here, first my disappointment with the third-party dev community public reaction, and second my own opinion on how these changes should be seen — not as a decease symptom but rather ripples on a pond.…
We finally got weight specs for Apple Vision Pro.
Vision Pro: 600–650 grams (depending on light seal and headband)
Meta Quest Pro: 722 grams
Meta Quest 3: 515 grams
PlayStation VR2: 560 grams
Via John Gruber.
The 600-650 range includes an external battery. The battery doesn’t hang on your head, so it should not affect the experience using the headset. I also suspect that the battery is a compromise.…
Yesterday Jeff Johnson published an article – Beware of App Store app bundles which describes a painful journey using App Store bundles as a workaround for offering upgrade pricing. This’s just one example of the App Store lacking basic features which should’ve been available on day one.
Yours truly been struggling as well, and using TestFlight as a free trial workaround for Apple Watch app.
It’s 2024 and I think there are three massive things the App Store can still give us, these three signs will make a business of indie developers healthier and stronger.…
Is Apple going to demand a 30% cut on future macOS releases?
It’s not going to happen because the Mac is a PC device, and iPhone, iPad and Apple Vision Pro are post-PC devices. Like Nintendo Switch for example. It does less, but what it does it does best.
And here’s a nice explanation why by John Gruber.
Image source.…
Update.
Apple posted some impressively detailed guidelines. New API is US only and they take 12% / 27% commissions. Apple is not happy with this outcome. I’m curious how popular this API is going to be.
It is time we get upgrade pricing, version control, and free trials through StoreKit and MAS. My #1 wish for this year.
I love the small size, intrigued by the rotational camera. I like humbleness, minimalism and whimsical design. My pinkie finger was hurting while I watched the video, (30 minutes). They say it’s not iPhone replacement but I want it to be.
4 May 2024 update.
Listening to the first impressions my conclusion this product doesn’t deliver on its promises and likely will never be able to.
Experience creating an Instagram account in 2024. I waited 5-10 minutes on this onboarding step which was building friend recommendations for me based on my Facebook social graph. It never stopped, had to kill the app. Luckily app recovered and I was presented with a next step.
Created a new Instagram account for myself, using Facebook ID. I need it to keep in touch with younger generations of friends and family. I will experiment with Threads, also for close friends and family. Will continue to follow tech people here.
I am not going to buy Apple Vision Pro just yet. But I’m very excited for the people who will. For me, it’s the most interesting and important topic in tech in 2024, and possibly many many years forward.
Let’s go back to the good times when you could buy your software once and own it. I like this manifest once.com — goes without saying, that none of my apps will require a subscription, neither future projects ever will.
Next, let’s cancel our subscriptions for music and TV. 🔥
🇺🇦 Still listening to this daily podcast about news from Ukraine. From Telegraph. Great daily summaries, zero sensationalism, and important guests, I recommend it.
My Mac app can run in multiple windows and every window can have multiple tabs AKA “window tabs”. We don’t need to do any development work to support tabs in our Mac apps. Sadly I had to disable window tabs in my SwiftUI project because macOS doesn’t tell me when a user switches tabs.
I use @Environment(\.controlActiveState) to monitor when a user switches between multiple windows. It’s a well-known approach and there are many blog posts describing this technique.…
SwiftUI success story One of the articles which caught my attention at the beginning of this year is the Omni Roadmap 2023. Where Omni says that they decided to stick with SwiftUI. Yesterday they shipped OmniFocus 4 on four platforms — Mac, iPhone, iPad and Apple Watch. The major update focused on UI changes and relies on robust data and sync models which were developed earlier. I haven’t used the iPad version, but I installed the Mac version today, and it made version 3 look old and dated.…
I am having a problem with SwiftUI on the Mac when sometimes context menus stop appearing when I Control-click (Right-click) space on the left side of the List item. I am talking about small leading padding which is highlighted with a primary colour when an item is selected. It should be always possible Control-click to reveal the context menu when clicking surrounding area but sometimes it stops working until I reinstall my app or some time passes, which tells me it could be a bug in SwiftUI.…
Yesterday I decided to stop maintaining Mastodon accounts for Caffeine++, LinkEdit and Pero. Out of three, only one has followers. I have created single company brand account for current and future projects.
I was not going to write this post until I heard Federico Viticci, Mike Hurley and Stephen Hackett remembering the good old days during the “Roasting Our Past Selves” episode from the Connected podcast. The podcast is great fun, you should subscribe.
Apple product shots have perfect status bars and a clock set to 9:41.1 Naturally some indie publishers and journalists started to pay attention to this detail. Federico even started to use a Python script for status bar editing.…
2023 is the biggest year for Apple Watch since its introduction. We have shipped a brand new wearable-first password manager. We started the project in late July. It’s the most popular public testing we had so far.1
I am finding new usages for Pero I didn’t expect I need. Last week I applied for a library card for my daughter and at the counter they asked me to provide a pin.…
I have been frustrated with 1Password for Apple Watch. The app has a launch delay, and sometimes it won’t load at all, showing an empty screen. Our household was paying a $59.85 subscription for 5 years.1 This means we invested around $300 in subscription costs. I find it unacceptable. Naturally, I found a solution by building a brand new password manager.
When we worked on Pero, we had only one goal — to make the interface as fast as possible while delivering a powerful and useful tool.…
I remember picking up a DVD copy of World of Warcraft. They had me on “Macintosh” written on the side.
Recently I picked up a Diablo IV copy. Me and my partner finished Diablo III in couch co-op on the Switch. I wanted to experience what Blizzard has to offer running on a powerful PS5. I have also purchased a second PS5 controller just for this occasion. I am glad to report that we are pleased with the game so far, and I recommend it.…
Pero’s development took a relatively short time. Starting a brand new app is a big task, and there’s a risk when the scope of the project grows uncontrollably. This didn’t happen to Pero because we focussed on delivering true MVP. We started with a single platform and iterated until we were happy with the final results. Now we have a brand new password manager. It is shippable and has a good potential for growth.…
This’s your chance to be one of the first amongst those joining the fight against forgotten passwords and subscription-only app economy. If you a fortunate enough to own an Apple Watch Series 4 or newer, install Pero today.
Listening to fireworks while playing Tears of the Kingdom. 🎆🥃
Is anyone else having issues with iOS 17 iCloud Keychain password sharing? My partner is unable to join the group.
Update.
The issue is resolved. Just tried it on 17.2.1 and my partner was able to join a shared passwords group.
I have turned off Undo Send Delay for the Apple Mail on my iPhone. It never helped me once, and I just kept staring on my screen and waiting for the mail to be finally sent. I wonder is anyone finds it useful?
Working on marketing can drive software development. It’s not just for promotion. Shooting this video helped me understand real life scenarios where our app can help people and be useful. I had some fun as well, going back into filming and editing, it was one of my childhood passions.
I’ve been using watchOS 10 since August, and I love using Smart Stack whenever I need it. It is always pleasant and fast. It’s my favourite way to check the weather and upcoming calendar events.
Upgraded to the new home architecture, had to re-enable ARC on Apple TV 4K. Also did set up my Hue light with Matter. This now requires creating a Philips account. Bad move from Philips, as they clearly just want my email address, and technically account is not required for Matter to work.
Caffeine++ 2.6 brings compatibility with iOS 17 and watchOS 10.
iOS 17 gives us amazing changes which put third-party apps on the same playing field as first-party apps. I am very happy about iOS 17 changes, and how they can be used with C++. I am already using Siri and the new widget myself and it helps.
I have found out that you can build your interactive widgets using the built-in Shortcuts app.…
I need a small iPhone. Spending a few moments with the iPhone 15 Pro, it was okay. However as soon as I picked up my SE2 and started to type, I can reach everything with one hand, it feels lighter. I prefer the size of SE 2. I’m not sure I appreciate the lack of bezels. It’s a safe area to grab.
I just received a confusing text from EE UK about iPhone Visual Mail. I have checked the Voice Mail tab in the Phone app, and yes, it’s there. 🎉 Finally. 🇬🇧
Micro.blog stock app for Mac kicks ass, I find it lightweight and responsive.
The relationship between Panic and MAS could be repaired. Whoever is an evangelist and works with gaming studios, what are you waiting for, schedule a visit to Panic and buy some flowers.
In the latest TestFlight build for OmniFocus, you can drag email messages into your project’s task list and it adds new tasks automatically. There’s even a message: URL scheme, and it works. Fucking awesome.
Feels like the iPhone SE 2 getting much more battery life with iOS 17.0.2. Maybe even more than with iOS 16.
Read tvOS 17: The MacStories
Review by Sigmund Judge. This year Apple TV OS had more attention than usual which gives me lots of pleasure and even hope for more. We already tried the Enhance Dialog feature watching Succession, it works and I could even understand what Roman says.
I am launching a brand new Apple Watch PIN code manager. I’ve been using PINBook for a short period of time, and already can’t imagine my life without it. Read more about the beta and get it now for free.
Apologies to Mastodon followers, I am updating my username.
Old username @yurkevich@micro.cocoaswitch.com
New username @yurkevich@cocoaswitch.com
Apologies for inconvience.
I am changing feed https://micro.cocoaswitch.com/feed.json, to just https://cocoaswitch.com/feed.json.
I am not sure about the XML feed https://cocoaswitch.micro.blog/feed.xml
Will update this post later…
Update New home page https://www.cocoaswitch.com ✅
RSS feed https://www.cocoaswitch.com/feed.xml ✅
JSON feed https://www.cocoaswitch.com/feed.json ✅
This was exciting. 😅…
Fantasy author Erin Lindsey had mixed feelings about Tenet, but thinks she might have enjoyed it more if Covid-19 hadn’t kept her away from theaters. “I think it’s a crushing disappointment that we didn’t have the opportunity to see it on the big screen the way it was meant to be seen, because I think all the things that we do appreciate about this movie would be even more mind-blowing with that big screen experience,” she says.…
By Jeff Johnson. If you have a testing device, you don’t want any personal data there, ever. Jeff has valid points, and I appreciate his dedication. Valid use case as well.
A long time ago I noticed that when I wanted to set up my additional account it would be already suggested on Mac. I think there are some kind of shared preferences which sync the account’s state across all Apple devices.…
I’m fortunate to own AirPods Pro 2, I can confirm that the new Adaptive Audio is pure magic, this is my default choice now, and don’t even use the other 2 modes any more. I do use Conversation Awareness in pair with Overcast. However, I only can use it because it stops podcast playing when I start talking. Available through firmware update.…
I love starting my day like this. That doesn’t mean I am free today, it means I did my Daily Shutdown routine yesterday.
I was able to run on my Apple Watch with Xcode developer beta 7. Thank you to the person who fixed it.
I don’t know if is this new, but recently noticed YouTube Apple TV and web apps showing the list of subscriptions in their algorithmic order. Would prefer the alphabetic order. Always. 📺
Making pizza. Easy dinner.
Let me put it out there, Digital Crown should vertically aligned, and there’s no need in the second button.
It seems there’s no consistency in how developers define their bundle IDs. Even Apple application IDs1 are not consistent. This makes sense considering that once you define the ID, you can’t change it. So think carefully.
I would hope I can come up with a guideline. I think there are 4 possible scenarios.
Display name “Podcasts”. Bundle ID com.apple.podcasts Display name “TextEdit”. Bundle ID com.apple.TextEdit Display name “Voice Memos”. Bundle ID com.…
We have shipped LinkEdit 1.2 and Caffeine++ 2.5.4. LinkEdit took an especially long time, but this work needed to be done for a better foundation to build upon. We still didn’t do everything we wanted, but the hardest piece of work is done. Had to deal with lots of refactoring and regressions, but the code is so much smaller and safer now.…
In computer typography, EM DASH is often replaced with FIGURE DASH, and it is always sad to look upon. Current Music app has many flaws — at least the typography is not lazy.…
Today the VR market is a little niche in the big gaming market. Most people look at VR as a toy.
I watched 16 minutes Apple Lisa ad from 1983 on YouTube, and it didn’t feel like an ad, it’s more of a technical demo. What I found interesting is that the ad is made for businesses to start using the Lisa at a workplace. The Lisa was sold as a productivity machine.…
Useful applications for Apple Vision Pro is something I’ve been spontaneously daydreaming1 about since it introduction. I find myself thinking about the headset when at my desk, in the forest and other places. This idea of the next frontier in computing is powerful. Running my own small productivity side business I wrote the slogan.
Building Applications for the Mac and Beyond.
By “Beyond” I was referring to iOS and its children.…
Marco Arment in the latest ATP episode said something along the that the reality is that an indy iOS app can’t exist without people subscribing to it. The obvious reality is that software maintenance is not free, and if people expect free updates forever, companies will go out of business. We suddenly discovered this new way of life where we rent software and it never dies. Even version numbers are changing to something which looks like either a large counter or a date.…
Today I spent some time with Visual Studio Code. Just started the app for the first time and it picked the wrong colour scheme1, moreover, it doesn’t even offer the “Auto” mode for switching between Dak and Light appearances in macOS.
The menu bar I admit the menu bar functionality is better than I expected. However, it fails the simple test of selecting a file and searching for “Finder”. Apps like BBEdit and even Music show the command “Revel in Finder”.…
A good watch with some issues:
The Bitcoin crash theme is cut short, it looks like it was filmed just for the trailer and it has no impact on the story There’s no motivation for the parking lot fight between 2 brothers Danny acting not like himself, he chucked the university letter The plot is decent and has some fun moments.…
I have found this tweet, with some good phrases which can be used instead of “sorry”.
Thanks for flagging! Good catch - I will make the updates/changes. Many thanks for noticing the error, (name), we will (verb) Thank you for bringing this to our attention. We will (verb) …
I am journaling since primary school, running OmniFocus for 12 years, tracking every event in my life since the university, I am having dedicated time for email, I am using the most advance knowledge management apps and even working on my own, I bought Due and yet… Sometimes I don’t look into OmniFocus for weeks, and skip daily journaling and weekly review for months, I miss events and meetings, I keep forgetting, I am missing most important life-changing emails, I loose information and spend time looking for it, I am slacking on my chores.…
I keep coming back to this game, and it looks like I am going to finish it. It’s a long game, with no obvious story, rich in content and opportunities to explore and learn. It’s RPG but plays almost like a strategy game, units positioning and strategy are more important than your level and the items you have. I enjoy modern open-world aspects, you are free to choose your path and do quests in any order.…
Rarely I can find a recipe which is healthy, easy to cook, tasty and filling at the same time. This is one of them. I am recently cooking more pasta, and this dish especially shines with freshly made one. Yum! You can add more than one clove of garlic. I have replaced “Parma ham” with “Prosciutto crudo”.
The recipe page (Telegraph)
Download PDF…
Worker-owned businesses are relatively new practice. For example, most podcasts and podcast networks are owned by their hosts, and that’s a great thing. As well as indy software publishing houses. I think it works great in this new digital job field where the company size is small.
Interestingly, my beloved John Lewis and Waitrose are also a co-op. The company became successful in the traditional capitalist model and then transitioned into the co-op.…
Waitrose is my favourite places to shop. Just after we moved into the UK, their shop in Oxford stood different to other shops. This picture I took this from my local Waitrose in Wimbledon. It’s still my favourite place to buy groceries.
I like to spend time there and enjoy good typography and design, friendly relaxed staff, great quality, free coffee and magazines. One of the things I love about the place is the lack of cheap toys which are strategically placed to grab kids' attention.…
It’s a poor choice to include device bezels in App Store screenshots. Why would you shrink your interface? Looks especially awful on the Mac App Store. For me, it’s one of the indicators of what developers I trust.
I have finally found that iCloud tabs are now live in the new tab interface. I think it’s a little bit less intuitive, but I’m just happy it still exists.
Safari 16.4 update is big. WebKit team is killing it. Read the blog post summarising new features and fixes. I respect how performance and battery life are priority number one. I also like that Safari is leading industry in typography and layout. I used to work as a web developer and working with CSS and HTML is something I am enjoying doing, I am especially interested in new CSS tags.…
Since my last post I kept tinkering with file system APIs.
Download full project You can access the sample project on GitHub.
Learning materials and examples Most of my questions are about the use of NSDocument, how to read it and how to write text files. Supporting desktop-class features in your iPad app is an excellent help and contained almost everything I need. There’s another example project which uses NSDocument: Developing a Document-Based App.…
Just finised playing The Quarry last night. It’s the best couch co-op you can play with another adult. We had lots of fun and achieved multiple endings. It’s hard to keep everyone alive but the game is friendly to non-gamers and teaches you everything you have to do as part of the story. I love how almost real facial expressions look like in this game, the difference is almost as big as Half-Life 2 and everything that came before.…
Good inexpensive and filling dish, easy to cook and very tasty. You can add prawn or seafood if you fancy but it is great with just chorizo, and you need just a little bit. I have found it on Tesco’s website and cooked it twice already. The ingredients were easy to find in any shop in the UK, in my case it was Morrisons.
Download the PDF as a backup in case page goes down.…
In my spare time, I continue to practice with AppKit and SwiftUI for macOS. My current goal is to subscribe to changes in a folder with text documents and other nested folders. Current version of LinkEdit uses small library called FileWatcher, which relies on File System Events. One issue with File System Events is they only work on the Mac and the API is hard to understand because it’s a low-level API.…
There are PS5 ads everywhere in London and it’s available for sale. I can’t believe it’s been 2 years since the launch, it feels like yesterday. I have sold a bunch of old techs and accumulated around £250 worth of vouchers. Even sold my old 5G router for a whopping £100, didn’t know it has so much value. I couldn’t resist buying a used PS5. Don’t do that, Cex still charges more than Sony which is a crime for a used console, even in perfect condition.…
From a developer perspective, I am most interested in SwiftUI improvements, file system handling, TextEditor view and more AppKit features available in SwiftUI.…
I began the slow process of switching from 1Password to iCloud Keychain, for now, the most thing I miss is being able to change the URL and add multiple addresses. I am most interested in iCloud Keychain improvements this WWDC, and I am optimistic.
iOS 16.4 Beta 2 Re-Adds Page Turning Animation to Apple Books – MacRumors. 👏🏻👏🏻👏🏻
I wish Sony learns UX from Nintendo, Switch has a much better interface than PS5, except for low resolution. 🎮
Today’s dinner. Added some protein (egg and sausage) and some greens, and spent 5 minutes fryings. The results are great. I try to have this as a last resort because everything is wrapped in plastic. Purchased in large Waitrose.
I stumbled upon a video on YouTube which starts with the host blaming Ukranian soldiers for using chemical weapons (cyanide). 2 people are speaking for a long time, the host and an ex-military adviser who is likely not aware that he is been fooled or purposefully lying. The video shows brief footage stitched together with sounds removed. They conveniently don’t link to the original source. There’s nothing in the source video which suggests the use of chemicals, it shows some explosive charges and a powered-off fridge.…
Is this just me or do Pikmin 4 graphics look too good to be true for the Nintendo Switch hardware? It looks like Pixar rendering. I liked the 3 and kids loved to watch me play. 🎮
I’ve been always interested in home audio equipment, tinkering with sound since high school, and pursuing the best possible quality while staying on budget. Usually, I just used whatever we had at home.
My first home theatre is a 5.1 Sven audio system combined with an external TV tuner and SoundBlaster audio card. The amount of time I spent connecting the wires, and playing with the drivers and DVD player apps was tremendous.…
I replaced a pair of HomePod minis1 with the new full-size model today. Returning from school, my son joked that “HomePod is growing” and he noticed the fresh scent and smelled it. With no pun intended, I think HomePod has indeed grown and I am excited about the purchase, it’s the right product for me. It’s final peace to fulfilling my long-lasting dream of building a Hi-Fi system for the entire home and also solving many little annoyances I had.…
Listened to the latest Connected. I love my M1 Max MacBook Pro 16 as my only computer right now. Would it be great to have something as powerful with a removable touchscreen display? Probably yes. But at this point, it feels like a mirage. I feel like we will get there eventually, just not yet. The tech has to be great, it should not feel clunky. @viticci@macstories.net thinks way ahead of the curve.…
Today I had a thought, wouldn’t be nice to play the original Half-Life on Mac again? Once a year I open Steam with the hope that Valve releases 64-bit support for their greatest titles. But no.
Turns out, some good people reverse-engineered the 32-bit engine, and then Mac Source Ports owner rewrote it for the 64-bit architecture and released the signed native build for Apple Silicon Macs! I played through the tutorial, and it still surprised me, I forgot that the game has physics-based puzzles.…
The OpenMW project allows Morrowind to run on M1 and other modern platforms. Sounds very interesting to me, I never finished this game.
Finally, Germany has agreed to send tanks to Ukraine. Hopefully, it won’t take a long time.
I never liked Twitter threads, they always felt like a hack to me. Micro.blog has a much better approach by allowing both short and expandable posts.
Nvidia released a “new” Eye Contact feature. 1.8K comments on Reddit, no one there even knows that Apple shipped this feature in FaceTime 2 years ago.
Listen to the latest episode of The Talk Show about the early years of Twitter and collaborations with the Twitterrific app. Did you know that the bird icon and the word “tweet” came not from Twitter but from The Iconfactory?
Rediscovered the Feedback section in the App Store Connect with screenshots from TestFlight users. It doesn’t notify you about new messages. I will have to check it regularly.…
If you were thinking about buying a HomePod mini in the UK, you still can get one from Argos with the old price £90. It’s now selling for £100 everywhere else. I ordered 2, just for the humidity and temperature sensors alone.
I want to watch The Last of Us, but in the UK it’s on Sky’s NOW TV app, and it feels like it has the lowest fidelity among all streaming apps, will probably have to wait for the iTunes release. 📺
It took 1 month and 5 days of my free evening time to ship this update. I am relieved and a bit terrified because it includes business model transition, data model upgrade and WidgetKit migration. Contains 58 commits.
TIL: In the macOS Save As dialogue, you can click on any name in the list of files to choose it for the new file.
Fastest purchase I have ever done, I am so happy there’s a new large HomePod, I am crying. 😭
Having great memories of watching LOTR, The Shining, Lisey’s Story and The Witcher and then reading original books. Because originals are better, it allows me to enjoy both. Planning to do the same for The Last of Us HBO show.
Today I replaced the battery in my iPhone SE, it cost £49. I am going back to 2nd gen iPhone SE from iPhone 13. I have missed smaller size and weight, even typing feels better. Going to enjoy playing Vampire Survivors without feeling hand fatigue. I do like having top and bottom bezels again, they might not look as sexy but protect from accidental input when watching a video in landscape or even when just holding the device I can trigger a tab bar press with the edges of my palm. The only things I am going to miss are the camera and MagSafe.
Some nerdy stats:
Screen 6.1 → 4.7 inch
Weight 174 → 144 grams
Last night’s dinner was a disaster. I wanted to share this because failure is equally important to success.
Even though this is a receipt from Waitrose, Sichuan pepper and sriracha for the sauce couldn’t be found. Tofu was cut too small. Tofu was kept in the oven which made them dry, even though the oven was switched off. Tofu bites needed to be turned half-through. The receipt has 250g brown sugar, which is a lot, it’s not for everyone.…
My strategy of fetching HealthKit from the WidgetKit extension is not working, especially when used for Apple Watch complications. Frustratingly, using deprecated complications API has fewer issues, but it’s more efficient to do the job in the app target.…
When someone at Netflix with good taste realised that Knives Out is a great film, they purchased the rights and paid for the sequel. Glass Onion remains entertaining but lesser than the original. I recommend you start with the sequel, you won’t miss a thing plot-wise. The original is better, you will finish watching on a high note with greater satisfaction.
There are many things in Glass Onion I find annoying, boring and uninspiring.…
When using WidgetKit, all my complications always appear to be redacted. I’ve been trying to fix this for a long time.
Update The issue was caused by widget taking too long to fetch data, I suspect at some time my process was killed by the system.…
My first attempt to try something from Waitrose Food magazine (free with their membership card). This dish is healthy and easy to make. I got 4 portions which covered 2 dinners. It’s on a side of light dinner.
As you can see I should’ve chosen a larger wok and forgotten about the sesame seeds, which I had. I also forgot to add seasoning, which is mentioned in the receipt.…
After half a year without Always On display on my watch, I now enabled it again. It happened after I reflected that I was annoyed on many occasions. But it didn’t happen instantly, it’s more like annoyance which grew until the tipping point.
I have tried to use Dual USB-C port to drive our 2 HomePod minis which we use as TV speakers but it doesn’t provide enough power.
You should try Vampire Survivors for iOS. I only played once and I know I’m going to love it. I don’t understand why this game is free. It’s one of the most popular titles for Steam Deck, and it costs £3.99 on Steam. IAP/ads are likely going to appear once the iOS port is popular. Disabled App Store updates to save this gem. This is the first time in my life I see such a good product, free, with no ads and offline play.…
For 2023 I am changing my blogging/social media workflow with the main goal to simplify and focus. I quit Facebook and Instagram a long time ago, and this year I am leaving Twitter as well. I own a GitHub-hosted blog powered by Jekyll, but it has some limitations. I’m also paying for Micro.blog and don’t use it as much as I could, and recently joined a separate Mastodon fediverse. Here’s what I am doing for the new year.…
We needed a wardrobe and we decided to buy it from John Lewis instead of IKEA which would be a usual choice. I have assembled IKEA’s PAX system twice. The wardrobe from John Lewis is much smaller, it took me less than 6 hours to build it. During labouring I appreciated many details, I don’t think IKEA is going to be our default choice in the future.
So what’s different?…
A very long novel with some good parts in it. Gripping, sometimes absurd but self-aware. I like the mix of horror and science fiction. Also, was inspired to practice soldiering and repaired my son’s toy vacuum cleaner.
I have shipped LinkEdit 1.1 today. And there’s a blog post.
I have created a new blog to separate personal stuff from information about apps I am building. Subscribe to Cocoa Productions blog via RSS.
Finally, I can run Jekyll locally, either my skills have improved or the Jekyll setup became easier.…
Mastodon users celebrate the fact that the platform has no ads and it’s hard to integrate ads if you want them. I hope they will figure this out, but the lack of sustainability discussion concerns me.
Why Safari’s toolbar buttons are grey and almost every extension I tried offers a button with their own custom blue colour. It looks awful and it is the reason I don’t add any third-party buttons to the toolbar.
I am going back to the existing Micro.blog iOS app, it’s so much smoother, faster and enjoyable than Electron beta. @manton try downloading it from the App Store now over you TestFligt beta and you will know what I mean.
Nintendo Switch Year in Review. This year I started and finished Breath of the Wild. 🎮
What I like about Micro.blog is the sustainable business model. Mastodon server expenses have to be substantial. Especially when more people will start uploading photos and videos. How is this going to be funded?
I added a diagram for my previous post about Micro.blog and Mastodon.
Doing some testing with Mastodon, and it looks like I can follow Mastodon users through Micro.blog, however, Mastodon users won’t be able to see any of the content which I post here. I am not sure I am happy with this.
Signed up for Mastodon. A bit confused about what server to use, currently have 2: hachyderm.io and Micro.blog.
LinkEdit 1.1 – all feature work has been finished, and unit tests are passing. Now testing the app manually and fixing any bugs I can find.
Early Christmas treat, will be using them as TV speakers.
In 1Password 8 for iOS you can change the default tap action for pinned items. Great option, which will save me many seconds.
First day of the holiday. Have to pick up Christmas presents today. I have to finish working on LinkEdit 1.1 by the end of next week. Planning to play a lot of Divinity Original Sin 2 during this month. 🎮
I bought Amazon Basic USB-C to USB-C cable to keep in my bag for occasional MacBook Pro charging. I have a feeling it charges much slower than thicker Apple cable.
Clever ad from London police.
Done a lot of work on my Mac app – LinkEdit. I am working on a big 1.1 update which uses two-column NavigationSplitView. Also rewriting critical parts of the app to improve text editing performance.
Friday baking, planning to cool paella tonight.
YouTube “shorts” are ridiculous. I watch 90% of YouTube content on my TV. Shorts use portrait orientation and watching them on Apple TV is painful. Is there a way to remove shorts from my chronological subscriptions?
I have shipped a new update to Caffeine++ and now it supports Shortcuts. I don’t know if is it going to be useful for anybody, but it opens a door for possible automation. For example, you can automatically add a new cup of coffee every weekday. iOS 16 API is very nice and it took almost no time to add it.
Lunch at Wendy’s. ☕️
An awesome dude was doing voice impressions with a mic and loudspeakers and gave kids a fun task to complete before giving away candy. Searching for jars in his front gardens and giving them to the “master”.
🎃
Started to add unit tests into my projects, but only where there’s real value. For example, verifying that a complicated function produces expected results with a given data set.
One of the days I returned home from work.
I have turned off Always On on my watch and I didn’t notice any difference. It’s been more than 2 weeks and it rarely annoys me, maybe once.
Turns out, Shortcuts behave differently depending on the way you invoke them, “Hey Siri” gives audio feedback and holding the Power button shows a dialogue box. Very clever.
It’s so difficult to debug Siri Shortcuts. A total black box.
I’m very happy Apple TV got such a great upgrade.
I’m happy to ship Caffeine++ 2.3 with “Undo” and sugar tracking. ☕️
I’m happy to ship Caffeine++ 3.2 with “Undo” and sugar tracking. ☕️
The iPad lineup is confusing. There are too many models.
I have tried to focus only on 4 models which I think are essential, using the famous Steve Jobs grid. It doesn’t hurt to have extra models, but it’s just a little bit less Apple-like experience when you shop. This complicates the accessories range and makes a choice more difficult. Apple engineers have to spread their focus across many models instead of focusing on quality.…
I can’t imagine buying iPad if I can’t use it with my wired headphones, same I use with my MacBook Pro almost every day.
No headphone jack in any iPad model. This wasn’t even mentioned in the video. Why? The only benefit I see is making it thinner and lighter, but this should be justified. The other benefit, kids are less likely to cause damage by pulling the headphone cable
What is your thoughts about todays news form Apple
New iPad colours look fun
There’s too many iPad models now
USB-C transition 👍🏻
Cheaper Apple TV 4K 👍🏻
Apple TV HD is gone 👏🏻
Apple Pencil hover mode for the M2 iPad Pro looks interesting
I forgot how time-expensive can be working with regular UIKit and Auto Layout. Here I am trying to fix UIScrollView, something which I know would work without any custom code in SwiftUI.
Worked half of the morning from coffee shop yesterday, and still having 79% battery next day. The battery life in my 16 inch MBP is insane.
I think the author has potential and further books in a series can be great. What I didn’t like is that the plot tries very hard with politics and twists. All fight scenes were predictable, and it didn’t feel like anyone is in danger. I liked the beginning very much though, it kept me on edge. The world is interesting as well.
Fun fact, I visualized main protagonist as Takeshi Kovacs from Altered Carbon season 1.
Hello, I am back to the Micro.blog. I was a bit too active promoting the app I made on Twitter, someone reported me and my account was deleted. There’s nothing I can do to restore it, appealing didn’t work.
Firstly I made a mistake in picking a name for my app which made it too similar to a competitor. A mistake which I have fixed by renaming Obsidius into LinkEdit. Secondly, maybe I shouldn’t tweet to each person on a thread which belonged to Obsidian. But I was very eager to tell people about my app. I hope it’s for the best and I can find a more calm audience here.
🎮 Playing Papers, Please. It’s been years since I bought game on iOS. It’s ideal for touch controls. Good port. Highly recommended. I learned about this game from this podcast episode. 🎙️ overcast.fm/+ZusZswf4…
Indian dinner from Tesco. Instructions say to cook in plastic containers, which I never do. £8 for 2. 4 cans of beer included.
Our designer just decided to switch from Figma from Sketch because our company doesn’t allow to have Sketch subscription, even though it’s cheaper than Figma. Trying to convince designer that it’s a bad choice.
Adopting async/await, is extremply fun and addictive because it allows me to remove lots of code.
I found Herman Miller Aeron on the street, and spent one evening cleaning and fixing it. It’s still in bad condition and I need some parts, but all functions work.
PS5 is back in stock. Finally Sony sells
their consoles directly. I never understood why it wasn’t possible with PS4. 🎮
On what settings do you capture video? I use 4K 60, but often find myself switching to lower settings when filming something not important. And now you can do it in the Camera UI.
First match and my controller depleted in the middle of the game. They kicked me out. Looks like game runs in 60 and looks incredible. #Splatoon3
Day one patch. 🎮
My first Splatoon game. Going to try it today. Exciting times. 🎮
Feeling proud and sad. Less than 2 weeks ago my wife and I became British citizens and now the Queen is no longer with us.
We are watching Sandman. Overall watchable but it’s not my thing, I’m not a fan of the source material. Neil’s obsession with folklore breaks an illusion, and there are not enough roles dedicated to regular people. 95% time you are watching supernatural beings.
📺
Office day.
It’s great to post pictures here without any privacy concerns. I know Micro.blog won’t do creepy profiling, tracking and ads. This is a replacement for Instagram, Facebook and Twitter.
A little bit confused with micro.blog, if I already have a standalone blog, I better off posting there, and keep micro.blog for shorter posts.
This was better than expected, I would say much better than last year’s event.
Apple Watch All Apple Watch models now share the latest chip. This is fantastic news, and I am especially glad. This is great news for Caffeine++ because more of my customers will have better top notch performance and I can keep Swift source base up-to-date with the latest features by dropping watchOS 7 sooner.
Prices I am very pleased that prices are the same as last year.…