Tuesday, March 26, 2013

Hey, Men! Let's Be Awesome.

There's been much talk about the role and treatment of women in the tech industry lately.

Let's step away from the cesspit of online debate and focus on some positive things we can do. There is a time and place for pointing out what others have done wrong. Since the rest of the Internet has that covered already, let's focus on awesome things we can do.

As men, let's:

  • Recognize that we have a position of privilege and power in the overwhelmingly male technology industry. "Privilege" doesn't mean you haven't worked hard and earned your achievements. I believe you when you say you've worked your butt off.
  • Recognize that, particularly if you're a white male, you may have never experienced what it's like to be in the minority. Let's not tell women or anybody else how they should feel about it. This does not mean you are bad because you are a white male! I'm a white male; I think I'm pretty alright.
  • Realize that a lot of women don't appreciate sexual jokes and conversation from men they don't know. Some enjoy it, some don't care, and many dislike it. They may even find it threatening. Even if you think this is dumb (it's not) then simply accept that a lot of women feel that way. We would not want our mothers, sisters or wives subjected to unwanted sexual conversations from strangers.
  • Realize we can still make jokes about boobs and penises. Nobody is taking that away from us. Let's save it for our friends (of any gender) who enjoy those kinds of jokes.
  • Realize that engineering is the art of creative problem-solving, and we benefit from others' perspectives. Solving problems involves understanding them. Often, this means understanding people. We need more perspectives, not less.
  • Realize that accepting women into our industry means accepting women. Not just accepting women as long as they "think like men."

This industry is important; I really believe in it. If you're reading this, I think you believe in it. We really hurt this industry when we exclude bright minds and new perspectives from our field.

So, let's be awesome.

Thursday, March 21, 2013

What Would A "Computer For Developers" Look Like?

"Workstation" computers typically seem designed for graphics/video professionals, or users who run scientific software.

Why have there been so few systems designed for software developers? The only example that really comes to mind is the Developer Edition of Dell's XPS 13 laptop. In this case, "Developer Edition" means that it comes preloaded with Ubuntu and Dell has sorted out any possible driver issues for you. (Dell, are you listening? I'll take one. Thanks.)

Software developers certainly seem like a market worth pursuing. There are over 1.25 million Americans who identify as software engineers or computer programmers. This is a well-paid profession full of people who use their computers in a demanding fashion for at least eight hours a day, nearly every day. Why aren't computer manufacturers falling over themselves to serve this market?

One reason is because it's hard to define exactly what a software developer would want out of computer hardware, other than "fast, has a nice keyboard, and is hopefully portable."

Virtualization might be an answer. Software developers (and QA professionals) love to run multiple operating systems on a single computer, to test their software and take advantage of tools that only work under a particular operating system. Even the most diehard of Linux developers often needs multiple Windows installs around, if she's making web applications and needs to test them on Internet Explorer.

Existing desktop virtualization software like VMWare and Parallels works well, but can be clunky. You can't boot a guest operating system without booting the host, and guest operating systema have limited access to hardware resources like GPU acceleration. Full hypervisors like Xen or VMWare vSphere get around this issue, but are complex to configure and administrate.

I'd love to see a company take Dell's "Developer Edition" approach a step farther and sell a machine with something like Xen preinstalled, so that we could install/migrate/clone/snapshot multiple operating systems as easily as we copy around .txt files today.

Dell, are you listening?

Apple, Mac Pros, and the "Halo Effect"

John Sircacusa makes a case for Apple to re-invest in the Mac Pro line.

In the automobile industry, there’s what’s known as a “halo car.” Though you may not know the term, you surely know a few examples. The Corvette is GM’s halo car. Chrysler has the Viper. ...Let’s talk about the Lexus LFA, a halo car developed by Toyota over the course of ten years. (Lexus is Toyota’s luxury nameplate.) When the LFA was finally released in 2010, it sold for around $400,000. A year later, only 90 LFAs had been sold. At the end of 2012, production stopped, as planned, after 500 cars. Those numbers should make any bean counter weak in the knees. The LFA is a failure in nearly every objective measure—including, I might add, absolute performance, where it’s only about mid-pack among modern supercars. The explanation for the apparent insanity of this product is actually very simple. Akio Toyoda, the CEO of Toyota, loves fast cars. He fucking loves them! That’s it.

I'm a big believer in the halo effect, but I question whether it can be achieved in today's computer market. Apple, of course, is limited to using the same Intel chips that the rest of the industry uses, and just about anybody computer-savvy enough to crave a faster computer knows this.

Imagine a slightly parallel universe where the entire car industry had standardized on engines and power trains from General Motors. You'd never get excited about the new Ferrari or the new Mercedes because, at best, it'd be powered by the same Corvette engine that every other high-end car is using. It might have nicer seats and a better stereo, but those are nice-to-haves, not things you lust over.

Additionally, computers have been "fast enough" for most users for years now. I'm a software developer and I push my CPU pretty hard, and the fact is that the CPU in my 2011 MacBook Pro is almost never a limiting factor.

Are there any other ways Apple could build a "halo product" in today's computer industry? (Their crown jewel, of course, is OSX but you already get that with every Mac.)

Possibility #1: The "GPU Beast Mac Pro." Suppose Apple sells a Mac Pro that's stuffed to the gills with the biggest, best professional-grade GPUs that nVidia offers. That wouldn't be a bad idea but unlike a faster CPU, very few users would benefit from extra GPU compute power. The vast majority of applications simply can't benefit from the speedup offered by GPU acceleration. Perhaps Apple could somehow make automatic utilization of GPU compute power more pervasive in OSX 10.9, but that's doubtful - Mail.app isn't going to fetch your emails any faster with the GPUs helping it out.

Possibility #2: The "4K Retina Display iMac Pro." Apple's shown an inclination to differentiate its high-end notebook lineup by introducing displays with densities approaching 300dpi. One has to believe they're itching to be the first to accomplish this on the desktop, though of course they're limited by what the display manufacturers can currently produce. What if the next "professional Mac" is a slightly more expandable iMac with an integrated 4K resolution display? It's only a matter of time before Apple brings the high-DPI concept to the desktop, of course - it's just a question of how exactly they'll target it, and whether or not it will be part of an expandable "pro" machine that many of us are hoping for.

Tuesday, February 5, 2013

Plus / Minus

We'll start with the "plus" - keeping it somewhat positive in 2013!

Plus Of The Week: Join.me

A few years ago, it seems like there was no drop-dead easy way to share your screen with a friend or coworker unless both of you were on a Mac and could use iChat's excellent screen-sharing feature. Services like LogMeIn required the installation of software; alternatives like VNC or Windows Remote Assistance were firewall-unfriendly.

Today, though, there are quite a few drop-dead easy alternatives that run inside a browser. Join.me, from LogMeIn, is one of them. About the only downside is that the person on the other end needs to have Flash enabled in their browser. There has to be something out there that functions in "HTML5-only" mode if Flash isn't installed, right?

Minus Of The Week: No SFTP in Windows Server 2012

It's kind of hard to believe that it's 2012 and Microsoft still ships a server version of Windows without SFTP, or some kind of substitute for it. (And no, FTP isn't a substitute)

There are third-party implementations, but they tend to be spendy and/or bereft of any user community, which makes me awfully wary of them.

You can allow SSH/SFTP access via Cygwin - which is free, free, free - but in my experience there's no way to selectively chroot accounts on an account-by-account basis. Which means that you can either lock all users in a single home directory, but you can't do it for some accounts and not others, so you're kind of out of luck if you want to give full access to admins and restricted access to other users. It's entirely possible, of course, that I'm mistaken on this. Drop me a line and correct me.

Sunday, February 3, 2013

I Know It's 2013 But Seriously: Office 2011 For OSX

I like Office 2010 on Windows. I like the Ribbon interface. Really, I do. As much as I'm a Mac guy for many things, I think that the Ribbon interface, when done well, is a great use of space and is far preferable to lots of tiny menus, nested three or four deep.

I certainly like it better than the iWork (Pages, Numbers, and Keynote) interface on OSX, with its tons of floating toolbars. You can't just drag a Pages window around, nooooo - you must also drag three or four separate windows at times. I assume that OSX will eventually get a version of iWork that carries over many of the lessons learned from creating iWork for iOS, but who knows?

Anyway. Here's what spawned this post.

What was Microsoft's OSX team thinking when they designed Office 2011 for OSX? Seriously, this is just horrible. It looks like somebody from 1995 traveled forward in time to 2010, had sixty seconds to memorize what OSX looked like, and then was transported back to 1995 whereupon he feverishly worked to recreate that look in an early version of Visual Basic.

There are extra bevels, some kind of bizarro tabbed interface, and the whole thing is a jumbled mix of flat icons and pseudo-3d-gradiant-having buttons. Why? Why? Dear God.

Office2011 OSX

Tuesday, January 22, 2013

What Working With Steve Jobs Was Actually Like

In the words of Glenn Reid, who worked on iMovie and iPhoto with Jobs:

“…when I worked with Steve on product design, there was kind of an approach we took, unconsciously, which I characterize in my mind as a ‘cauldron’. There might be 3 or 4 or even 10 of us in the room, looking at, say, an iteration of iPhoto. Ideas would come forth, suggestions, observations, whatever. We would ‘throw them into the cauldron’, and stir it, and soon nobody remembered exactly whose ideas were which. This let us make a great soup, a great potion, without worrying about who had what idea. This was critically important, in retrospect, to decouple the CEO from the ideas. If an idea was good, we'd all eventually agree on it, and if it was bad, it just kind of sank to the bottom of the pot. We didn't really remember whose ideas were which -- it just didn't matter. Until, of course, the patent attorneys came around and asked, but that's a whole ‘nother story.”

Even an with his famously vast ego, there were times when Steve knew when to set his ego aside for the good of the product.

Also, perhaps a more subtle point. Let’s think about this sentence:

“If an idea was good, we'd all eventually agree on it, and if it was bad, it just kind of sank to the bottom of the pot.

My favorite part, actually. I believe that in, order to come up with good ideas, you need permission – from yourself and others – to come up with bad ideas along the way. Nobody produces brilliant ideas 100% of the time and if you try, you’ll be mediocre at best and wrapped in “analysis paralysis” at worst.

Monday, June 25, 2012

Minority Report: 15 Harmful Years Later

Wired took a look at the impact of the movie version of Minority Report, fifteen years later.

The year was 1999, and Steven Spielberg was preparing to turn Philip K. Dick’s short story “The Minority Report” into a $100 million action movie starring Tom Cruise. There was just one problem: The story was set in the undated future, and the director had no idea what that future should look like. He wanted the world of the movie to be different from our own, but he also wanted to avoid the exaggerated and often dystopian speculation that plagued most science fiction

...To mark the 10th anniversary of Minority Report‘s June 21 release, Wired spoke to more than a dozen people who were at the so-called “idea summit” that delved deep into the future. As participant Joel Garreau recalls, “I don’t think many of us knew what the fuck we were getting ourselves into.”

The tech from Minority Report that people remember most -- the scenes of Tom Cruise waving his hands to navigate a computer interface -- are probably some of the most harmful ever filmed.

Like voice control and television wristwatches, controlling our devices with three-dimensional physical gestures seems like a good idea. However, like those other technologies, its usefulness is limited.

While the image of Tom Cruise waving his arms all over the place like an amphetamine-boosted symphony conductor makes for dramatic cinema, it turns casual computing tasks into physical tasks exhausting for a healthy person and impossible for a disabled person.

The lowly computer mouse and its cousin, the trackpad, are marvels of efficiency. By moving one hand (or finger) a couple of inches, one can navigate thousands of pixels' worth of computer interface.

The precision of mice and trackpads is unparalleled as well. Mice and trackpads are precise to within several pixels. When considering touch interfaces, accuracy drops by an order of magnitude: Apple recommends that touch-based interface targets measure no less than 44x44 pixels. When considering three-dimensional, gesture-based, Minority Report-style interfaces, accuracy drops by another order of magnitude.1

Three dimensional gesture-based navigation clearly does have its uses. Microsoft's Kinect has shown that it can be very useful for specially-designed games, and low-precision tasks like simple media playback control.

Three-dimensional gestures are clearly a part of the future, but they are not the future. A variety of input methods (the command line, mice, keyboards, touch interfaces, gesture interfaces) will continue to be used, each fulfilling a role.

______________________
1 Speculation. I couldn't find hard data on this. It's tough to dispute, though.