Guest John Siracusa, a podcast guest, discusses topics such as Apple hardware setup, gaming habits, window management on Mac OS, transitioning to independent podcasting and writing, job transitions, balancing work with family life, prioritizing health, troubleshooting computers, and frustrations with Apple Photos.
Front and Center is an app developed by John Saracusa to address the lack of APIs provided by Apple for window management, allowing efficient management of multiple windows and customization based on size, shape, and position.
Developing window management apps presents challenges due to Apple's limited and outdated APIs in this area, restricting specific features and functionalities and hindering third-party developers from fully utilizing macOS capabilities.
John advocates for Apple to provide comprehensive third-party APIs for window management, similar to the accessibility APIs, fostering innovation and offering users a variety of window management apps while still providing a solid built-in solution.
Using Affinity Designer, Affinity Photo, and Pixelmator Pro as alternatives to Adobe Illustrator and Photoshop, John appreciates the one-time purchase option, powerful features like machine learning-powered image editing, and seamless integration within Apple Photos for specific tasks.
Deep dives
Front and Center - Managing Windows the Classic Mac Way
Front and Center is an app developed by John Saracusa to maintain his preferred window management style, inspired by the classic Mac OS. It addresses the lack of APIs provided by Apple for window management. The app ensures that when a window is clicked, all windows belonging to that application come to the front. It allows for efficient management of multiple windows and enables users to arrange windows based on their size, shape, and position. Front and Center runs in the menu bar and offers the option to choose the default behavior for window management. John highlights the limitations and challenges faced due to Apple's lack of comprehensive APIs for window management, stressing the need for third-party developers to have more access and control in this area.
The Challenge of Developing Window Management Apps
Developing window management apps presents challenges due to Apple's limited and outdated APIs in this area. Specific features and functionalities, such as iterating over all windows on the screen, resizing and moving windows, or controlling the behavior of windows during dragging, are difficult to implement due to API limitations. Apple's focus on security and privacy also restricts certain permissions, such as screen recording, which may be necessary for certain functionalities. While some utility apps work around these limitations outside of the Mac App Store, lack of comprehensive APIs restricts the possibilities for third-party window management apps to fully utilize macOS capabilities and provide a rich user experience.
The Desirability of Third-Party APIs for Window Management
John advocates for Apple to provide comprehensive third-party APIs for window management, similar to the accessibility APIs but with limited permissions to move, resize, and iterate over windows. Encouraging third-party development in this area would stimulate innovation and offer users a variety of window management apps with different features and functionalities. By building on open systems, similar to other Apple frameworks like calendars or photo libraries, Apple could offer a good built-in solution while allowing third parties to enhance and customize the window management experience, benefiting power users and the overall macOS ecosystem.
The Importance of Open Systems and Ecosystems in Window Management
John highlights the successes of open systems and ecosystems, such as the Apple Calendar API, where Apple provides the foundation but allows third-party developers to create their own calendar apps. This approach fosters innovation, allows for a wide range of options, and benefits users who can choose apps that suit their individual preferences and needs. By adopting a similar approach in window management, Apple could leverage the creativity and expertise of third-party developers while offering a solid built-in window management solution on macOS.
Using Affinity Designer for Vector Illustration
Affinity Designer is a powerful vector illustration program that I've come to appreciate more than Adobe Illustrator. It has a feature-rich and user-friendly interface, making it easy for me to create artwork for merchandise and other projects. I find that Affinity Designer aligns with my thinking better and has fewer historical quirks compared to Illustrator. Plus, the one-time purchase option is a major selling point for me as a non-professional designer.
Image Editing with Affinity Photo and Pixelmator Pro
When it comes to image editing, I use a combination of Affinity Photo and Pixelmator Pro. Affinity Photo is a powerful alternative to Adobe Photoshop, offering features like machine learning-powered image editing and extending small images to larger sizes. On the other hand, I use Pixelmator Pro for specific tasks, such as ML-powered image extension and repair functions, which work seamlessly within Apple Photos. These apps provide me with the tools I need to edit, enhance, and repair images for various purposes.
The Challenges of Apple's Feedback System
While I appreciate Apple's efforts to gather feedback from users and developers through their feedback system, there are challenges associated with it. One of these challenges is the long feedback cycle, where users often receive no response or delayed responses. Additionally, Apple's culture of secrecy and limited communication makes it difficult to have high-bandwidth conversations and provide timely resolutions. These issues can lead to frustration and inefficiencies, both for users providing feedback and for Apple in addressing reported bugs and issues.
Thoughts on Troubleshooting and the Art of Problem-Solving
The art of troubleshooting has been an essential part of my experience with computers since childhood. Troubleshooting involves a mindset of problem-solving, testing assumptions, experimenting, and focusing on the details. Having a deep understanding of computers, operating systems, and applications, along with a background knowledge of historical issues, can enhance troubleshooting capabilities. Clear communication and timely responses are crucial in troubleshooting scenarios, resolving issues efficiently, and bridging the gap between users and problem solvers.