July 2010
24 posts
- Do you work exclusively from home?
A. No
B. Yes
SCORE YOURSELF
If you answered A. to Question 1: Ha ha ha ha ha maybe.
If you answered B. to Question 1: LIVE FREE, NOBLE SAVAGE
In response to my latest screed about Steam, Faruk Ateş wrote:
On the other hand, Valve’s first data from having Steam on Mac showed that it was already 5x as stable as Windows for Steam. Seems this is just early-stage growing pains; just make sure to bug-report it and give them some time, I’d say.
Well, that’s a possibility. But I think a stronger possibility is that this problem and all the others I’ve written about are an inevitable result of Valve having used a compatibility layer to develop Steam for Mac.
The job of a compatibility layer is to abstract the underlying system so that it’s less work to write code that runs on more than one platform. Your code says to the layer, for example, “Show an alert,” and the layer translates that request into the platform-specific code that displays an alert on whichever system it happens to be running on. Ideally.
But Steam’s compatibility layer seems to operate on a different level of abstraction from that. Instead of using OS X’s native alerts, menus, buttons, and so forth, it’s drawing them all on its own, and handling all the user interaction outside of the facilities the OS provides. Steam for Mac’s alerts aren’t normal OS X alerts; they’re just windows. Rather than allowing OS X to handle the modal behavior — which would automatically work right when, for example, a backgrounded app displays an alert — Steam’s compatibility layer just creates a window and then tries to enforce the modality on its own, which it does poorly.
What’s potentially worse is that this “faked” user interface can’t take advantage of any of the features real UIs on the Mac get for free, and which experienced users have come to expect. For example, the standard keyboard shortcuts for moving the cursor in a Mac OS text field don’t work, because Steam isn’t using standard text fields. And in other Mac apps, every word in every window is automatically accessible to vision-impaired users by way of VoiceOver, a text-to-speech tool built into OS X. But with Steam’s fake alerts, this fails, because VoiceOver can’t access the text. Play the above audio clip to hear VoiceOver trying to make sense of one of Steam’s error messages.
Compatibility layers are flawed precisely because of the abstraction that makes them appealing. Because they’re cross-platform, they can support only the bare-minimum subset of features that are common to each platform. They can’t provide the same level of control and sophistication that you could achieve by writing native code because the whole point is to keep you from having to write native code. But it’s precisely in that native code that good software excels. So by choosing to use a compatibility layer, you’re signing up to write mediocre software.
The process of building good software is that of making a million tiny decisions. Any reasonably sophisticated app will contain custom user interface elements; the challenge is integrating those custom elements in a sensible way with the rest of the platform. It’s a delicate balance between creating a powerful UI and one that doesn’t defy user expectation, and to achieve that there are no shortcuts. You need experience with the platform, and you need a kind of empathy that can’t be achieved by a piece of generic middleware.
That’s where Steam falls down, and I don’t see it getting up again anytime soon.
CUPERTINO , Calif. — Steven P. Jobs, chief executive of Apple, acknowledged Friday that the company’s iPad 3G posed some health risks for cats when users placed the device on top of their cats and then sat on the device, but said the same problems affected all tablet computers and had been widely exaggerated by the media.
“This has been blown so out of proportion that it is incredible,” Mr. Jobs said at a veterinary conference at the company’s headquarters.
In the past weeks, reports emerged that some cat owners had experienced diminished life-expectancy of their pets when using the iPad in certain positions, most notably the “feline death squat.” Isolated incidents of furniture stains and thigh lacerations were also reported, prompting a “Don’t Buy” recommendation from Cat Fancy, despite the magazine’s earlier endorsement of the touchscreen device as the top-rated feline seating accessory currently on the market.
Only one in 200 buyers has called the company to complain about squashed cat issues, Mr. Jobs said, adding “and presumably those users live in an area of low feline skeletal integrity. Or they’re just fat.”
Mr. Jobs said that to put the problems behind it, Apple would give free Teflon-coated sweaters — cases that wrap around the cat’s body and make it easier for the animal to slip out from underneath — to all iPad buyers who want them. But critics are skeptical, observing that the sweaters make it difficult to hold or stroke their pets, and some have reported mixed results when trying to fry eggs on the non-stick surface of a besweatered cat.
Mr. Jobs conceded that the iPad 3G had a slight increase in flattened cats over the iPad Wi-Fi, but said that the increase was minimal and that he believed it was because of the added weight due to the 3G radio. Wrapping the cat in a sweater solves the problem.
“The data supports the fact that the iPad is magical and revolutionary,” Mr. Jobs said. “And there is no ‘Cuddlesgate.’ There is a challenge to the entire industry to improve cat-flattening performance.”
[many excellent points snipped]
How did this suit get past a judge?
It’s important to understand that the judge hasn’t ruled on the merits of any of the plaintiffs’ claims. That will happen later, when the motion for summary judgment is litigated. This step is called class certification.
All that’s happened so far is a judge has agreed with the plaintiff that:
- if their claims are true, they have a case and the firm representing them is capable of prosecuting it,
- the case would be best handled as a class action, and
- the named plaintiffs — the individuals who actually brought the suit — are sufficiently representative of the proposed class.
One of the next steps will be a motion for summary judgment, in which the plaintiffs actually will have to show that their case isn’t full of baloney, and that it should proceed to a full trial. This will probably take months, but if their claims are all as empty as Marco suggests, then the case will likely not survive that motion. But the class had to be certified first, because according to this ruling my amazing wife found in about 30 seconds (PDF link):
In the Ninth circuit, “district courts generally do not grant summary judgment on the merits of a class action until the class has been properly certified and notified.” Schwarzschild v. Tse, 69 F.3d 293, 295 (9th Cir. 1995)
It’s also worth mentioning that while, as Marco points out, many of the claims concern things that all U.S. carriers or manufacturers are guilty of, that’s not necessarily relevant. Has anyone in this jurisdiction sued a phone manufacturer over carrier locking before, or a carrier over hardware exclusivity? Given the opportunity, a court may very well find those acts to be in violation of antitrust law. But someone has to bring a case before we can know, and this just might be that case.