Coder Radio listeners will know that I’ve had a lot of angst for the last few years over modern Apple’s treatment of the Mac as a platform. What some of them may not know is that I actually want to love the Mac again, but I find the product design decisions to be fairly alienating. Like most tech commentators I have a wish list of what I think Apple should do to restore the Mac to the gold standard of progressional workstations that I believe it formally was and once again can be. To be clear, I believe that macOS and desktops as a whole will be exclusively professional devices in the not so distant future, therefore, there’s no reason to make any costly compromises to a more consumer market — today, I’d urge any non pro (pro in the sense of developer, designer, data scientist etc) to go with an iPad Pro or the small MacBook if they want a physical keyboard.
Hardware: The hardware issues on the recent revs of the MacBook and MacBook Pro are well known and mostly the side-effect of bad compromises of functionality in favor of thinness or aesthetic — the keyboard on the MacBook Pro comes to mind as does the thermal issues on the 2003 Mac Pro. Apple hardware has always been a balancing act that involves compromise. For instance, you generally can’t upgrade Apple computers very much at all, but the overall benefits of being an Apple hardware user generally have outweighed that until very recently. I’m fairly sympathetic to the Apple aesthetic and am not suggesting that they should abandon it altogether but there should be some standards that are not violated:
- Keyboards should have at least as much travel (if not more) than the standalone Magic Keyboard.
- Pro SKUs that have GPUs need to (at least as an configurable option at purchase time) be available with the latest Nvidia GPUs.
- Performance and battery life should trump size / thinness on Pro models.
- Thermals should be taken into account to make configuration options including RAM configurations of 32GB and up reasonable on Pro laptops.
These are particularly aggressive guide-rails and you’ll notice that three of them are specific to designated Pro models. One of my earliest experiences in “Mac universe” was looking at the Power Mac G5 tower in all its silver sci-fi glory and being awed. One of my more recent memories was watching the 2003 Mac Pro announcement and being deeply disappointed. My point is that the name and physical appearance of the device should denote who it is for and what trade offs it makes. This is just a starting point, I’d love to see Apple start experimenting with touch convertibles once the software is ready for that.
Software: There’s little debate that macOS is a mature operating system and despite Apple’s desire to update the development platform via Swift and later versions of the SDK as well as the rumored macOS / iOS cross-platform tooling that possibly will unify macOS and iOS development, there’s a lot of modern innovations that macOS should put that Apple polish on:
- Macs should take the best ideas from Windows 10 by embracing touch as a productive interface for some use cases.
- Apple should acknowledge that a major reason that many developers of all stripes prefer to work on Mac workstations is that macOS is based on BSD and offers the UNIX command line (BASH) and compatibility with common open source development tools such as Docker. Should macOS be replaced by something completely new, that system should also keeping a UNIX friendly underpinning.
- Related to the last point, macOS should NOT adopt any sort of iOS-like security model and remain open to standard command line scripting.
In many ways, I’ve come around to Steve Jobs’ cars / trucks analogy for iOS and macOS respectively. The problem is that Apple doesn’t seem to have. Macs are production machines for professionals and this trend will continue and intensify in the next three to five years. “Regular consumers” are fickle and in the PC space a really bad market. Let’s just let the truck be a truck and not apologize when someone can’t drive stick.
Services: Apple has a laudable stance on user privacy that has given them something on a pass when it comes to lack of feature parity of their services compared to their primary competitor Google. While I appreciate and use Apple in part due to their commitment to user privacy, it’s become a bit of an overused excuse for their poor services. The service issues are easy to understand but might be too far out of Apple’s hardware / design DNA for them to fix to my satisfaction:
- iCloud is a mess both from a developer and user perspective. It just doesn’t work as expected in many cases and needs a major overhaul that refocusses the service and doubles down on quality.
- Apple Music has manage to gain significant marketshare despite being inferior to its main competitor Spotify (at least in my usage) in terms of leveraging machine learning to put together playlists that I find enjoyable. Apple Music’s primary advantage is that I can’t use Siri with Spotify, so that is a surprisingly effective stick that keeps me in it rather than Spotify. The client application on Mac for Apple Music is crusty old iTunes and it’s terrible – we need a good beautifully designed HTML5 based web client for Apple Music that works on Linux, macOS, and Linux.
- CloudKitJS is one of the frameworks that Apple released that I knew was going to disappoint me but because of the amazing potential it had I hoped against the odds that it wouldn’t be yet another bungled service. Sadly, little has come of what should have been Apple’s answer for developers who want simple web / admin access to their user data from their apps on web panels and developers are still having to spin up full blown web apps to power their iOS apps and host them on places like Microsoft Azure and AWS rather than going with a simple Apple solution. The reason? CloudKitJS just doesn’t deliver the features even a minimally complex app requires. Apple is missing a huge opportunity to tighten its hold on its developers and to enter the development services hosting business.
Services is the one area where I have little to no faith that Apple will make any real progress. It’s hard to put my finger on it, but I feel like the mindset required to develop a modern suite of web applications / services is radically different than Apple’s hardware focussed design-oriented one.
Despite my somewhat tepid opinion of many in the Apple developer / Apple press, I think they are not wholly wrong to hold out faith that Apple will turn things around for the Mac and re-engage with pros beyond the admittedly impressive iMac Pro. Still, the only way to fix what’s clearly wrong with the Mac the community has to take off the rose colored glasses and started making some hard pronouncements that might indeed run counter to the current overly design obsessed culture inside of Apple. Questions? Comments? Six colors of rage? Hit me up on Twitter.