![]() |
Why I gave up on my Mac.
I first started using a Mac late in 2006. Now, late in 2012, I have decided to get rid of my Mac, once and for all.
For almost all of this time, Macosxhints has been the place I've first gone to when I need help or want to share my solutions. I believe that this is the best place to find knowledgeable, helpful people, and to get the best technical solutions for the problems I've encountered. Because of my respect and gratitude to all of you whom I've interacted with over the years, I have decided to share my thoughts and reasons for why I made this decision about giving up on my Mac. Please don't take any of what I'm about to write as a criticism of anyone who likes, or even loves their Mac. My motives are personal and, to a great extent, idiosyncratic. Nonetheless, I imagine that at least some of you will be interested in my reasons, and perhaps will wish to discuss this topic with me. I appreciate and welcome any feedback and criticism. First of all, I want to give you my background. I'm a computer programmer (nowadays called "Software Engineer"). I've been programming since 1969. Those were the days of punch cards, paper tape, teletypes, and debugging via hex core dumps and single-stepping through code via console entry switches. I've programmed in many different languages, low-level to high-level, and I've used a number of different operating systems, including an experimental version of Unix in the late 1970's, CP/M and early versions of PC-DOS and MS-DOS in the early 1980's, and versions of Microsoft Windows in the mid-1980's. I love programming, and I spend some of my spare time at home writing programs for personal projects and managing a small "vanity ISP" which provides email, web, and DNS services for a few friends and relatives. By profession, I worked for nearly 30 years as an independent contractor doing "software engineering" work for large companies. Nowadays, it's less profitable to be independent, and I work full-time as a software developer for a similar large company. Most of my paid work over the past 25 years or so has been in the Unix/Linux area, and to a lesser extent, in the Windows environment. At home, I have been using Linux for around 15 years, and up until 5 years ago or so, I had a Windows machine at home, as well. At work over the past 15 years or so, we always have had Windows machines on our desks, and we use Unix and Linux for the real-time, production software that we develop. In 2006, I was in the market for a laptop. Given that MacOSX is built upon Mach and OpenBSD, and given that Apple was starting to run the OS on Intel-based machines, I decided to take a look at a MacBook Pro. Another factor which motivated me -- and this is actually quite important and pertinent to my ultimate decision to give up the Mac -- is the fact that I wanted my Unix-like machine to have a very good user interface, which the Mac has been famous for. So I got my Mac. For a number of years, it indeed lived up to its promise: a Unix-like "core" with an extremely usable user interface on top of it. I have been using it regularly at home as my main machine, on which I connect to my remote servers, write my personal, hobby-motivated software, and do ancillary things like reading email, surfing the net, editing videos, etc. As part of my normal home and work life, I am constantly switching between machines that run Windows, Linux, and MacOSX. Because of this, I want a somewhat consistent user interface between those three environments. Given the flexibility of Windows and especially Linux, it's relatively easy for me to maintain a fairly consistent user experience when switching between these two OS's. Initially, MacOSX had enough facilities (via Applescript, Cocoa, and Carbon) for me to write utilities that manage the user interface in a manner that was sufficiently consistent with what I was easily able to configure in the Windows and Linux environments. However, as time went on, Apple kept changing the UI -- and even more importantly, they kept deprecating and eliminating API's that allow us to control it in our own ways -- and this made it harder and harder for me to set up the user interface in ways that conform to what I like, and what is easily manageable and attainable within those other two OS's. By the time Mountain Lion came out, enough low-level API's for controlling the UI were eliminated, that the only way I could control it the way I want is via code injection. I spent some time with this, and while I have done this kind of low-level programming for decades and know how to do it, it was taking up so much of my time and effort, that I was starting to get frustrated. And then, a few weeks ago, I woke up. I had forgotten one of my main, original reasons for choosing a Mac: a usable user interface. By now, I was spending an inordinate amount of time _fighting_ with the MacOSX interface to make it behave consistently with the other two OS's I use, and in the manners in which I like to work. This totally defeated my original purpose for choosing it. It was then that I decided to abandon my Mac. Before I go on, I think it's important to enumerate the UI features that are important to me: 1. Multiple desktops. I organize these desktops by tasks, not by programs. For example, web-related tasks go onto one desktop. Remote access to my "vanity ISP" servers go into another desktop. Terminal windows to do my hobbyist-type programming on the Mac go into another desktop. Video editing is done on another desktop. And so on. 2. If I select a desktop, I must remain on that desktop until I decide to go elsewhere, no matter what programs I might open or close on that desktop. 3. There exactly two ways (no more, no less) where a desktop changes: (A) I explicitly switch to a different desktop, either via software or via manual actions; (B) I click on the icon of a program that is running in a different desktop, at which time I will be switched to that desktop and that program. 4. I can programmatically switch from desktop to desktop. 5. I can programmatically query which desktop any given program is running on, and which desktop is now the "current" desktop. 6. If a program (or a window to a program) is started in a given desktop, it always remains in that desktop unless I explicitly decide to move it to another desktop. 7. This relates to all of the above items: when I start up my computer, I can automatically (i.e., no manual actions, whatsoever), cause various programs to start up in different desktops. In MacOSX, this includes starting different Terminal windows in different desktops (for example, Terminals for accessing my own system would be in one desktop, Terminals which contain ssh sessions to my remote servers would be in a different desktop, etc.). Note that I can have all 7 of these features, exactly the way I want them, with very little effort under Windows and Linux. However, it's impossible to have all 7 of these features under Mountain Lion, unless I resort to unsupported hacks such as code injection. For example, it is impossible to simultaneously have both features 3-A and 3-B under Mountain Lion. I can either disable the OS's auto-switching of desktops completely, which also disables the 3-B feature, or I can configure the system to support 3-B, but then, I am often auto-switched back and forth between desktops against my will if I close programs. Also, item 5 is now impossible under Mountain Lion without code injection or other hacks. A related problem under MacOSX: I use the Terminal utility a lot for various purposes: working on my Mac, connecting remotely to servers via ssh, etc. However, Terminal is one, single program, and each time I open another window it's just that: a new window for a single, running instance of Terminal. Because of this, it takes some effort to ensure that certain Terminal windows always open on certain desktops (i.e., different desktops from one another). This is doable, but it's complicated to manage and there are edge cases where I can't control the desktop placement of those Terminal windows the way I want without manual intervention. Of course I know that Apple has what they consider to be good reasons for their design of their user interface and for their changes to the operation of this user interface. And I also know that millions of people are probably perfectly happy with these changes and designs. However, it's important to me (for my own, personal reasons) to have a reasonably consistent user experience between my Windows, Linux, and MacOSX machines. It's frustrating to have to change paradigms simply because I'm changing machines. I know that Windows and Linux also change their UI's over time. However, one huge difference between these OS's and MacOSX is that users are not prohibited from reconfiguring the UI to suit themselves. There are documented and supported configuration options and API's under both of those OS's which allow us to easily override these user-interface defaults, if we wish. Apple, on the other hand, actually goes out of their way to prevent us from using the UI in manners that differ from what they want. The do this by not offering preferences to override certain default behaviors, and by actually eliminating API's that allow us to do so programmatically. I understand that Apple has what they believe to be good reasons for prohibiting this kind of UI configuration, and I also know that the majority of Apple users are probably perfectly happy with Apple's philosophy about this. But I'm not. I want the kind of control of my user experience that I have summarized here. I don't begrudge Apple or Apple users for their preferences and choices. They just aren't for me. With all this in mind, I recently bought a laptop for running Linux, to replace my MacBook Pro. It's got 4 dual-core processors (8 processors in all), it runs in 64-bit mode, it has 16 Gb of memory, and it has a large, fast hard disk. And it costs probably 50 percent or less of what a comparably configured MacBook Pro would cost ... if even such a device exists. I can run all the software I want on this machine ... including video-editing software which is a lot cheaper and runs better than what I was using on the Mac. And this hardware is at least twice as fast and (as I mentioned) twice as cheap as my MacBook Pro. I am giving my old MacBook Pro to someone as a Christmas present. I know she'll be very happy with it, as are many millions of people with their own Apple devices. I just want to reiterate that I am not trying to disparage anyone who likes or loves Macs or other Apple products. The company makes high-quality (although high-priced) products, and it generates lots of user satisfaction. It's just that the Apple corporate attitude about taking control away from users and giving them an Apple-designed and Apple-mandated user experience has become too burdensome for me. Thank you for your interest. I look forward to any feedback, complaints, insults, etc. :) . |
With the Apple user interfaces, you pretty much have to take it or leave it. They are moving more and more toward being an appliance, although MicroSoft isn't too far behind (Metro, anyone?). Which leaves Linux.
Computers have always been a hobby for me, since my job is more of a hands-on kind of thing, so I started out with Apple because I liked the processor and there were better user groups. Later they became more main stream, but the hobby aspect was still there with Unix and the various scripting environments. I guess I got used to everything just working without me having to fiddle with it, but the ability to fiddle with it was always there. Now with everyone racing toward their own closed appliance ecosystems, the ability to fiddle with anything is rapidly disappearing. Which leaves Linux. I've still got a house full of Apple hardware, but where they are going isn't very clear, and the upgrade path is going to be expensive in any case. I'm not quite to the point of dumping my Mac's, but I hear where you are coming from - currently I'm reinvigorating my hobby by taking a detour with a handful of Raspberry Pi's and Linux. |
Yeah, Microsoft is indeed moving in a somewhat Apple-like direction with Metro. But at least there are API's for customizing or overriding the "new and improved" Metro behavior. For example, there already are add-ons which bring back Start-Menu-like functionality for those who can't live without it, and Windows 8 has only been out for a short time.
Another thing about Windows is that I only use it at work, and my company (as well as lots of other large organizations) is still using XP. In any case, I would think long and hard before giving up my Apple box if Windows was the only alternative. I'm also thinking of fiddling with Raspberry Pi. That will probably my next new toy. Hmm ... maybe I'll buy myself a Christmas present ... . |
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
|
Quote:
Perhaps your lack of understanding of this point is due to the fact that my message was rather long-winded, and you gave up reading part-way through. I'd much prefer to believe that than to think that you have problems with reading comprehension. Quote:
I modified aspects of the Windows UI that came "out of the box" so that I could better do my work. I modified aspects of the Linux UI that came "out of the box" so that I could better do my work. From 2006 to early 2012, I was able to modify aspects of the MacOSX UI that came "out of the box" so that I could better do my work. I treated all three of those platforms equally with regard to wanting to tweak their UI's. By 2012, however, the amount of work I needed in order to tweak the MacOS UI was becoming egregious. Nevertheless, I hung in there. But then Mountain Lion came out, and they got rid of some of the API's that I was previously using. This changed the characterization from "egregious" to "impossible". Of course Apple is free to make those changes, just as I am free not to like them and to choose to switch to a different platform as my "main machine". Quote:
Computers are tools for me, not symbols of a lifestyle or a religion that someone "switches" to. Quote:
Quote:
Of course, you are free to treat your own Mac as such. Just keep in mind that not everyone assigns that same meaning to their computers. Quote:
You are free to disagree with me about the value of my having posted. Just keep in mind that you responded, so my message must have had some meaning or value for you, too. Have a good night. . |
Quote:
Quote:
. |
Quote:
Or if you decide on using Windows, there's a very extensive suite of free Unix utilties called "cygwin". They offer pretty much everything that normally runs out of /usr/bin and /usr/X11/bin, including shells like bash and zsh. They also offer an X server which runs very well under Windows, and you can even set up a standard sshd and other common daemons. At work, I set up cygwin with zsh as my shell. I use cygwin's X server and open up urxvt windows when I want to run in command-line mode. It looks a hell of a lot like Unix and Linux, and sometimes, I even forget that I'm running under Windows. . |
Quote:
But thanks for the post (: |
Quote:
Yeah, sadly, a lot of the world is running under Windows. But if you do bite the Windows bullet, I strongly recommend installing cygwin. It will at least ease the pain. . |
Quote:
|
Quote:
http://superuser.com/questions/22947...e-admin-rights Only a few functions won't be permitted (running services like sshd, doing a chown, etc.). . |
Quote:
|
OK. Now I understand.
. |
Yeah, they're rather Nazi about it, and very paranoid. That's why all the laptops they supply are running Windows XP and IE 6.....and you can't connect anything other than the laptops they supply to their network.
|
Quote:
This is not a complete success, of course. I do a lot of freelance work in offices, and have to use a variety of Macs on various different OS versions, and it's amazing how different and unfamiliar even reasonably similar setups can be. Going back to Snow Leopard last week was particularly frustrating, as I was wanting to do things which it can't do. (Worst was that I'm now accustomed to opposite scroll...!) I have occasionally used Windows -- I had to use InDesign in it last year for a couple of weeks. But I've rarely used it in 20 years. I don't imagine that I could configure Windows to be like OS X, and it is visually and systemically so different that I don't think I would be tempted to do so. I eventually came up with a workflow there that I wouldn't use on OS X. (The mental switch between <Cmd> and <ctrl> becomes easy from the visual clue of each UI.) Who knows whether I would have found Windows as agreeable and suitable as OS X, had I never used a Mac? I've used Linux a bit, too, but mostly as a hobby. Haven't touched it for several years, though, and it's come on a lot recently. I'm a child of the 8-bit microcomputer, and I grew up thinking that computers were blank slates (let's not say tablets) on which you can design any method and practice and interface. But for most people, now, the OS in all its multi-meta-layered glory says "if you want to do X, this is how you do it." As do applications. Where it is possible to create and configure, then I'm very keen to do so. One of the things I enjoy about OS X is the ability to automate with shell scripts, AppleScript, Automator, Python, perl, etc, etc. But I'm all too aware that there are some aspects of platform use which are fixed and unyielding. And at that point, I think we're all lucky that we have a very flexible and powerful computing device that can configure itself to cope with change much more readily than anything from Intel! |
I mostly agree with you, benwiggy. I'm just confused about one thing you wrote:
Quote:
In any case, thank you for your thoughtful feedback. . |
Quote:
I don't see much evidence that Apple is committed to a consistent user experience, given that they have changed the UI over the years when newer versions of the OS come out. I see this slightly differently: I think Apple is committed to enforcing a rather inflexible UI within any given OS release, but not necessarily across releases. I'm guessing that they do this for two reasons: (1) it's cheaper and easier to support their user base if any given user has fewer options at his/her disposal; (2) Apple has a philosophical mind-set that is based on control, and they want to discourage others (even customers) from taking too much control over what is available within Apple's products. Of course Apple has a right to take this position, and it doesn't seem to be hurting them too much, given their financial success. Nonetheless, a certain subset of users are being driven away from Apple because of this. In the past, many people viewed being a "Mac user" as being involved with digging under the covers of Apple's closed architecture in order to make the computer do more than Apple was officially allowing. That was a significant part of the whole "Mac mentality" for a couple decades. There still are people who love their Mac's and love to take this approach with them, and I was one of them for a while. However, for most of my life, I've played with and tweaked my OS's (MacOS and others), and I don't feel as strong of a need to do that these days. Now, I just want my computers to serve as usable tools that don't require a lot of fighting with the OS and the computer manufacturer in order to make them do what I want. But that's just me. . |
Quote:
I'd be interested to know what features you implemented using Obj-C in Snow and (in outline at least) how you did it; and which family of APIs are now deprecated. One of the features heralded in 10.7 and later was improvements in using Obj-C within AppleScript. I've been looking into how I can use this to my advantage. All the best |
I feel ya.
People were confused about why I bought a Mac Pro when I immediately formatted the drive and installed a dual boot of Win7/Linux. I develop .NET applications and SQL databases. I don't need or care about OSX, I just wanted the hardware. :) |
That must have been some time ago, right? Every other post I've read on the internet is about people ditching MacPros for PC hardware that's better and cheaper.
|
HippoMan, I feel your pain. I'm nowhere near abandoning Mac for Windows or Linux, but I'm not so crazy about being unable tweak some things in Mac, and I feel leery when I see Apple making it harder for power users to change some things "under the hood". I like a walled garden, but with a couple of doors.
|
Quote:
... well, I should qualify that. It's still possible to obtain that info via hacking (code injection, for example), but you can say that about just about any piece of information about the OS's state. I just got tired of working so hard to hack my own computer, simply to make it work the way I want. I also had been using ASOC ("AppleScript-Objective-C") for quite a while, but I assure you that this desired API is not available in that environment. Unfortunately I don't recall the specific Objective-C API I was using for that functionality up through Lion, and I don't have the code any more, because I deleted it all when I gave my Mac away. . |
Quote:
. |
Quote:
. |
Quote:
As I mentioned, it was (and still is) relatively straightforward to configure the UI's under Windows and Linux to behave similarly to one another. It also used to be straightforward to implement that similar UI behavior under MacOSX. However, in Lion it became harder, and under Mountain Lion, its difficulty became even more egregious. In other words, the reason I got rid of my Mac was for the sake of my wetware's well-being. . |
Quote:
|
Quote:
. |
Quote:
|
| All times are GMT -5. The time now is 06:36 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site design © IDG Consumer & SMB; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of IDG Consumer & SMB.