That's What I was Thinking

A few links from the Department of OMG! I Was Thinking Exactly the Same Thing!!!

Khoi Vinh is not so enamored with the aesthetics of the latest iPhones:

The iPhone 5’s lines are sophisticated and modern; each bevel or corner or detail seems unique, well considered and essential. I still marvel at its beauty when I hold it in my hands.
By contrast, the iPhone 6’s form seems uninspired, harkening back to the dated-looking forms of the original iPhone, and barely managing to distinguish itself from the countless other phones that have since aped that look.

I couldn't agree more. When rumor sites were publishing these images I thought, "These can't possibly be the finished designs." But they were. Sorry, but those antennae are, if not downright ugly, certainly sub-par for an Apple product.

Allen Pike is not happy with the lack of clarity in shift key activation in iOS 7 and above:

When the shift key is on, it blends in with the letter keys. When it’s off, it blends in with the function keys. Neither state sticks out enough to read as active, especially in a split second.

This has been driving me up a wall as well, and I'm relived to find I'm not alone. To my way of thinking, the shift key activation appearance is backwards. And I find it almost impossible to learn a backwards thing, but even more so when it's placed within — and reinforced by — a field of not-backwards things. Such is the current state of the iOS shift key, and it is maddening. Pike's solution, though, is inspired.

Russel Ivanovic is displeased with the rapid pace of Apple OS releases at the expense of stability and reliability:

I just wish that Apple would slow down their breakneck pace and spend the time required to build stable software that their hardware so desperately needs. The yearly release cycles of OS X, iOS, iPhone & iPad are resulting in too many things seeing the light of day that aren’t finished yet. Perhaps the world wouldn’t let them, perhaps the expectations are now too high, but I’d kill for Snow iOS 8 and Snow Yosemite next year. I’m fairly confident I’m not alone in that feeling.

Don't get me wrong, I like iOS 8. But since upgrading, apps crash with alarming regularity. Even FileMaker Go 13, which I'm now using all the time, and which, for my purposes, requires a login at each launch, and which is owned by Apple, crashes with hair-pullingly annoying frequency. I, too, long for the days of Snow Leopard, a release whose focus was on efficiency and stability. It was quite possibly the most rock-solid OS release I've ever used. And it was glorious. 

Even Gruber's bugged by this unreliability:

(Just today: My iPhone 6 rebooted after I changed the home screen wallpaper. Tapped a new image in the wallpaper settings, and poof, it rebooted. Worse, it never stopped rebooting. Endless reboot cycle. Now I’m doing a full restore with iTunes. After changing my wallpaper to a different image.)

Which makes it an almost mainstream gripe.

 

Robot Names

Why are robot names, by and large, so bad? It seems like it wouldn't be that hard to come up with some cool ones, or at least some not awful ones. Instead we get names that are downright embarrassing to say out loud. They sound pseudo-futuristic and ridiculous, or like something out of a bad fantasy novel. Here are some examples.

Horrible Robot Names

256px-HAL9000.svg.png

There have been, to my memory, only two decent, usable robot names.

Cool Robot Names

  • Computer (the  LCARS system from Star Trek, but they always just called it "Computer")
  • HAL

Seriously, those last two are the only ones I wouldn't feel idiotic addressing directly, with words issuing forth from my mouth, in a public setting. The rest? Feh! "Okay, Glass?" Really?

If we're to start using voice activated assistants and robots in our daily lives, I think we need to do a better job of making the process more natural and less awkward. You'd think the naming of the thing would be the first and easiest place to start. Apparently not.


Email Isn't Broken

And it isn't just for To Do lists, either.​ Here's my personal screed about email.

First of all, let's get a few things straight. 1) I already have pretty good systems in place for managing email but they could be better; I don't think email is particularly broken, it just needs better management tools; 2) I don't give two shits about getting to "Inbox Zero;" this is not the Nirvana it's portrayed as.

The Inbox Zero Myth

Much ado has been made about the concept of Inbox Zero. I believe this all derives from the Getting Things Done movement that was all the rage a few years ago and that has really set down roots in certain quarters. GTD never really made much sense to me at the time — it's just task management, which any reasonably adult and disciplined person should be able to handle on his own — and Inbox Zero doesn't either.

The idea behind Inbox Zero is that if you can get your Inbox down to zero, then you've probably addressed everything — or at least many of the things — you need to address in any given day, and you can then reclaim your own brain. And there's probably a good deal of truth to that if a lot of your job involves responding to email, which for many of us it actually does.

So applications have been developed that give you immediate ways of dealing with email such that it stays out of your Inbox. Mailbox is the latest such app. In Mailbox, when you get an email you are intended to act upon it immediately, either by responding or by filing the email into one of Mailbox's preset filers. Mailbox will then, at a later date that you can specify, remind you of any emails that still require action by returning them to your Inbox.

The problem I have with this method is that it doesn't help you get anything done. It just offloads tasks that can't be acted upon immediately into a folder. This isn't Getting Things Done, this is hiding the things you've chosen to skip or ignore, and rather than productivity, it's essentially procrastination.​ Where Inbox Zero is supposed to signify accomplishment, the Mailbox method simply provides that illusion.

Frankly, Inbox Zero just doesn't really matter much, especially if all you're doing is filing things rather than acting on them.​ What you're trying to manage with an app like Mailbox is action, behavior, and I don't think an app — or at least not apps like the ones I've seen — can really help you do that.

Where Mail Is Broken

The problem with thinking about Mail like a simple To Do list is that it belies the many things Email is actually very good at, in particular, the sending and receiving of Electronic Mail, which is still, even in this day and age, horrendously useful. ​It also ignores all the other things people have begun to use email for.

From where I sit, there are certainly numerous ways in which email — and specifically email clients — can be better.

Spam

Junk email is still a problem, and no one has really cracked that nut to my full satisfaction.​ Gmail does about as good a job as anyone, and sometimes even offers to unsubscribe to messages you mark. But I think we need more of this, even better tools for managing spam than simply marking things "Spam." Rules are great, but I'd love to see more sophisticated and dynamic rule-making tools that query me when I mark something as Spam. As it is now, I either rely on server-side spam filters, or I write rules and blacklists by hand. And that's kind of a drag. 

Bacn

Which leads us to bacn, spam's lonely, slightly more attractive forgotten cousin, that non-malicious advertising email that we all get but don't necessarily want to see or really know how to manage. Some folks have been trying to figure out how to deal with bacn, and the tools sound intriguing. I'm looking forward to trying them. But right now there is no standalone email client or service that I know of that offers built-in bacn management.

File Sharing

I realize that email is not the proper tool for sharing files, and yet people do it all the time. There have been some good attempts at making email clients with better large attachment handling through services like Dropbox, but there's still not what I'd call a good option here.

Identities and Authentication

We all have multiple online logins these days, and multiple email accounts. Authentication and identity are huge issues, the scope of which spread far beyond the world of email. Still, email clients could be much better about handling multiple accounts.

Saving Your Ass

How many times have you forgotten to include the attachment you meant to send? How many times have you forgotten to CC someone on a particular thread? Not too many email clients do much to prevent the sorts of common mistakes ​we all make all the time. Gmail does a pretty good job here, but this is still an area rife with opportunity for email client authors.

Etc.

There are even more areas in which email could be improved. ​This is just a handful of the many and varied ways we use this invaluable tool. Email clients that attempt to simplify what email can do are doomed.

Developers that seek to pigeonhole the email paradigm are going about it the wrong way. Email is extremely good at what it does; this is why it's been so successful as a product. Think about it: ​email has been around in much the same form for 20 years. There are few other tech products you can say this about. Indeed, I'd argue that its success is the reason it has the problems it has today. It's so good at what it does that people have begun using it for everything.

How to "Fix" Email

If you really want to make email ​work better, I believe you need not to make it different or simpler in functionality, but rather to make it better at dealing with its newfound complexity. Don't reenvision email as something else — that's already been done by everyone who uses email — but instead make a client that accounts for all the new uses we've found for email. Yes, it's now a To Do list, but it's also an FTP server, and a chat engine, and a scheduler, and a file manager, and a database. And it's still one of the most primary tools we use for peer-to-peer communication, we still use email for email.

Right now, for my money, Gmail in the browser is as good an email client as there is. It's fast and reliable, it works better than most for many of the aforementioned uses, and it even saves my ass from time to time. But it could be so, so much better at all the new little things we want to do with email. ​

I think whoever writes the client that deals best with all these eventualities simply and elegantly will have the winner.

But Wait... It Gets Worse

So after purchasing and downloading Xcode via the App Store only to discover I didn't have enough disk space to install the app, I came up with an acceptable, if less than ideal, workaround. I'm not terribly happy with the state of things, but hey, at least I was able to get things back to a working state.

Today Apple released an update to Xcode. And here we go again.

Let the Good Times Roll

First off, there appears to be no way to update the software from the application page:

Nor does it appear in the Updates section of my Mac App Store:

To install the update I had to go to the Purchased section:

Ah! There it is, and it appears to see my current install. But this is what I get when I click the UPDATE button:

Nice. More useless error messages. See, I am signed into the account I used to purchase Xcode. So this makes no sense whatsoever.

Fortunately, I'm a SysAdmin, and this sort of thing is our forte. I figure App Store is probably confused because I moved the original installer app off my main hard drive due to space constraints that were causing the original install to fail. Putting the Install Xcode.app back in to /Applications should do the trick, I reason.

Sure enough, doing so allows me to run the update from App Store. Now I get this:

Well, that's pretty ironic! Seems like that's the message I should have gotten the first time I attempted to install Xcode 4.0. I'll call this progress though, as it's the first error message I've seen that might make any sense to a normal user. Still, though, there's no indication of how to fix the problem. Just how much disk space I'll need is never specified. Not before I began the process, nor during the process. This is simply terrible UI, folks. Simply terrible!

So I decided that probably the best way to clear up the needed space was to completely delete the current Xcode 4.0 install. I'm pretty sure that no matter what you do, the Install Xcode.app is going to overwrite everything anyway, so I may as well delete it.

Unfortunately, this leaves me with the original problem with the Update. I get this thing again:

So now I'm in a catch-22: If I keep everything I need for the Updater — the Install Xcode.app and the entire Developer folder — I don't have enough space to complete the update. But if I remove any of these items, the App Store isn't able to perform the Update because it doesn't seem to recognize the app as being fully installed (despite the fact that it sees it on the product page as installed) or as having been installed by me.

The first thing I tried was using a symlink pointing to the Install Xcode.app on another drive to clear some disk space. No dice. The actual Install Xcode.app needs to be in /Applications.

Next, I tried deleting just a portion of the Developer install, particularly the folder /Developer/Platforms/iPhoneOS.platform, which is just under 4GB. And now we're back to the "sign in to the account" message again. I also moved this folder and tried using a symlink to it as well, with the same result.

Next I tried removing the Install Xcode.app payload, a hidden folder that lives inside the app that's full of PKG bundles. Also no go.

It looks like the only way to update Xcode is to actually have Install Xcode.app and the Developer folder in their expected locations, and then, if you're short on disk space, to find several GBs of non-Xcode files — how many GBs I can only speculate, but I'll guess around 4 GBs (to give me a total of 10 GBs free) — to temporarily remove while I complete the update. Then, once the update is complete, I should be able to remove the Install Xcode.app (or move it to a backup disk) and put back the temporarily deleted files. Fun times!

Okay! So, after clearing up some space, the update still doesn't work! Argh! I am STILL getting the "updates for other accounts" message.

I'm at a complete loss at this point. And what do we do when we're at a complete loss, kids? That's right: Time to reboot.

Reboot to the Rescue

After rebooting and opening the App Store, and signing in to my account, here's what I see in the Updates screen:

App Store now sees my Xcode install and recognizes it as something it can update. This looks very promising. And this is what I see when I hit the UPDATE button:

Ahhh! Sweet blessed mercy! At last! It's working!

But wait… After the 20 minute "Update" process completes, App Store says my app is updated:

But Xcode begs to differ:

Turns out it's only the Install Xcode.app that's been updated:

So I run the Install Xcode.app, and this is what it tells me:

Un-fucking-believable.

Now What?

In theory, the best way for me to clear up disk space for an Xcode update is to delete the older version. I tried this before, however, and App Store got confused. But, ever the glutton for punishment, I simply must know if the Install Xcode.app will work under this scenario. It absolutely should. So I delete /Developer. Again. I rerun the updated Install Xcode.app and:

Seems to be working. It's about frickin' time.

The Deal

So here's the deal: Apple simply doesn't provide an accurate figure for how much disk space is required for installing Xcode. If you're wondering what the actual number is, I think I'm able to glean it from my experiments and am happy to provide this figure.

Also, there are a number of possible issues that can crop up if you happen to be low on disk space and are working around those constraints, so I'll provide some info on just what's going on under the hood with these updates.

Total Disk Space Required: 15 GBs

Itemized Disk Space Requirements:

  • Install Xcode.app: 4.5 GBs
  • Xcode and Related Developer Tools and Libraries: 10 GBs

What's Actually Happening During an Update:

  • When you update Xcode from the App Store, you're not actually updating Xcode. You're updating the Install Xcode.app.
  • You must have enough disk space at update time to accommodate this update, about 4.5 GBs.
  • After running the App Store update, you must run the Install Xcode.app to actually update Xcode.
  • The Install Xcode.app does not actually update existing components, it instead wants to completely overwrite your current install of /Developer, and so will need the full 10 GBs of disk space that install requires.
  • At this point, however, if you want to clear some disk space, it's safe to delete /Developer.

Additional Possible Issues:

  • In order to update Xcode, bare minimum, App Store obviously wants to see that Xcode is installed under the active account.
  • If App Store is complaining about your install or your user account, I highly recommend a reboot of your system before proceeding. This will likely cause App Store to fully recognize the install and account info, particularly if you've been mucking around in any way, shape or form.
  • The easiest way to manage all this is to keep the Developer Tools where they're expected — in /Developer — and to keep the Install Xcode.app where it's expected — in /Applications. If you have the disk space, this should make everything work more smoothly.
  • There are workarounds for this, but as you can see, they're not necessarily pretty.

All in all, I'd call this a major failure for the App Store. I'll say again, the App Store is meant to simplify the application installation process, and is meant primarily for the installation of simple, drag-and-drop type apps. By breaking its own protocol and using the App Store to install a complex suite of applications and libraries, Apple is both setting a terrible example for other developers, and creating one of the worst user experiences I've had in a very long time.

The End Of IT?

It's rare that I see a blog post with comments that are consistently smarter and more well-informed than the post itself. But, folks, we have a winner. This article by 37Signals' "David" is just such a mythical beast. It's so infuriatingly bad, so completely misinformed, and so utterly borne of ignorance and frustration, that I think I'll just go through bit by bit and explain why people should just stop posting this utter nonsense. (And, Gruber, shame on you for thinking there was anything even resembling a well-reasoned argument here.)

David begins his rousing critique of the IT industry thusly:

"When people talk about their IT departments, they always talk about the things they’re not allowed to do, the applications they can’t run, and the long time it takes to get anything done. Rigid and inflexible policies that fill the air with animosity. Not to mention the frustrations of speaking different languages. None of this is a good foundation for a sustainable relationship."

True enough. This is often what people talk about when they talk about IT. They rarely talk about how awesome it is that they have a usable network or rooms full of computers without viruses. But let's continue.

"If businesses had as many gripes with an external vendor, that vendor would’ve been dropped long ago. But IT departments have endured as a necessary evil. I think those days are coming to an end."

Typically, businesses don't have gripes with IT, end-users do. But, okay, I'm curious to hear your reasoning.

"The problem with IT departments seems to be that they’re set up as a forced internal vendor. From the start, they have a monopoly on the 'computer problem' – such monopolies have a tendency to produce the customer service you’d expect from the US Postal Service. The IT department has all the power, they’re not going anywhere (at least not in the short term), and their customers are seen as mindless peons. There’s no feedback loop for improvement."

I don't think that that's really the problem with IT departments at all. The problem is that many IT departments make crappy policy decisions that are user-hostile. But that's not because they have "all the power." In fact those decisions are often, I'd suspect, borne out of a need to satisfy certain technical goals using limited resources. The characterization that IT departments see their customers "as mindless peons" is offensive to anyone who works in this business, and generalizations such as these do as much to "fill the air with animosity" as any IT policy does. Clearly, the flip-side of "the problem" is an almost willful ignorance on the part of certain members of the tech biz — David, I'm looking at you — to make even the slightest effort to understand what IT departments do before making grand proclamations on the internet about the "end of IT." While I do agree that there should be better avenues for feedback, that doesn't mean I can always get what I want. And crying about it is a five-year-old's tactic.

"Obviously, I can see the other side of the fence as well. IT departments are usually treated as a cost center, just above mail delivery and food service in the corporate pecking order, and never win anything when shit just works, but face the wrath of everyone when THE EXCHANGE SERVER IS DOWN!!!!!"

You're goddamned right about that. I suspect that a well-respected, well-treated IT department would have warmer, fuzzier feelings for its "customers." But the fact is that, because people like David continue to see IT departments simply as "cost centers" and not as members of a single team with a shared goal, IT departments continue to be reviled, often by members of the very corporate structures upon which they depend. Unfortunately, this relationship has been sustainable for over twenty years. Probably because, in many institutions, it is a relationship that, though pathalogical in many ways, is necessary.

"At the same time, IT job security is often dependent on making things hard, slow, and complex. If the Exchange Server didn’t require two people to babysit it at all times, that would mean two friends out of work. Of course using hosted Gmail is a bad idea! It’s the same forces and mechanics that slowly turned unions from a force of progress (proper working conditions for all!) to a force of stagnation (only Jack can move the conference chairs, Joe is the only guy who can fix the microphone)."

No, IT job security is not "dependent on making things hard, slow, and complex." I'm so tired of hearing that. It's simply not true, and I'd love to hear a concrete, real-world example of some place where that was the case. The fact of the matter is, IT job security is dependent on making things work. Period. If you really think that the IT department uses Exchange Server so that their buddies can get a job, you simply don't have a clue what IT does.

"But change is coming. Dealing with technology has gone from something only for the techy geeks to something more mainstream. Younger generations get it. Computer savvyness is no longer just for the geek squad."

Change may be coming. Indeed, I hope it is, because I would love to see the relationship between IT and the end-user improved upon, and, where possible, lessened or even ended. And certainly "dealing with technology" is something everyone has to do these days, but after working in tech education for eleven years, I see no evidence that people have gotten any tech-saavier at all. In fact, from one year to the next, people seem to be pretty much the same: they're either tech-saavy or they're not. It has less to do with exposure, more to do with personality. Some people can sing, some people can't. Making the bad singers listen to music all day doesn't make them good singers.

"You no longer need a tech person at the office to man 'the server room.' Responsibility for keeping the servers running has shifted away from the centralized IT department. Today you can get just about all the services that previously required local expertise from a web site somewhere."

Apparently, David, you seem to think that all IT does is run servers, which you seem to think requires them to stand next to them inside a server closet somewhere. Hate to break it to you, buddy, but IT does way more than run your shitty-ass fucking servers. IT configures your switches; they deploy your workstations to your labs; they build and maintain your render clusters, your RAIDs your SANs; they provide all your network infrastructure and keep your workstations virus- and botnet-free. And they usually do it from some sunless underground cavern because idiots like you fail to see their importance. You cannot get any of those things from a website.

"The transition won’t happen over night, but it’s long since begun. The companies who feel they can do without an official IT department are growing in number and size. It’s entirely possible to run a 20-man office without ever even considering the need for a computer called “server” somewhere."

Again, your obsession with servers. And again, I'd love to see some numbers on this. But okay, let's assume for a minute that you're right. What you're basically saying is that there are a lot more smaller companies forming on a regular basis out there. And, sure, smaller companies don't need an IT department. But smaller companies never needed an IT department. Smaller companies could always outsource their technology needs. That's not new. That's not change. That's just more proof that you don't know the first thing about what IT departments are or what they do.

"The good news for IT department operators is that they’re not exactly saddled with skills that can’t be used elsewhere. Most auto workers and textile makers would surely envy their impending doom and ask for a swap."

And that's proof that you're a condescending asshole.

Finally, for the straight shit on what IT actually does, John C. Welch says far more than I ever could (as he actually works in IT) and with far fouler language.

UPDATE:

Here's the inimitable Mr. Welch's response to the very same article. See? I told ya so. (Thanks, John Mahlman, for the tip.)