rosscarter.com

Recent comments

  • A better iPad keyboard, 8 August 2011:

    Brilliant idea. the ipad keyboard makes me regret not getting an android tablet.

  • Take Huckleberry Finn, for example, 20 June 2011:

    “The Adventures of Huckleberry Finn” was first published in England in 1984 by Chatto & Windus, Piccadilly!

    England had better copyright laws. Book was published in the USA in 1985.

  • A better iPad keyboard, 28 May 2011:

    This is a very cool idea! Something that would come straight out of Apple. I wonder if this concept is already patented? If so, and not by Apple, I could see why they haven’t already incorporated it into the iPad. It might also have to do with remaining universal within the iOS among pods, phones, and pads.

    Very cool idea.

  • A better iPad keyboard, 10 May 2011:

    This is brilliant. I just have one suggestion to make – a tab key!

  • Take Huckleberry Finn, for example, 18 April 2011:

    It was easy to imagine that what you have described was the case, but to have it documented so authoritatively is quite stunning. For instance, it hadn’t occurred to me that so many ePublishers would attempt to sell content copied from Project Gutenberg, which is legal, but only by paying a royalty to Project Gutenberg.

    It’s also interesting to see that there are so many eBook vendors and to note that this is just within the iBook Store. At the same time, I’m heartened to see that one edition is actually quite well ePublished. Now the question is, how did they do it?!

  • A better iPad keyboard, 27 June 2010:

    The idea of a “flickeyboard” sounds great, but I have to say it still leaves me a bit hesitant. I know that the iPad will never be a true computer replacement, at least as far as typing is concerned, but typing is one of the things I do a lot of, and I can’t help but think that having to learn a “new” way of typing would put me off…

  • A better iPad keyboard, 13 May 2010:

    I meant the original article….not the first comment.

Feeds

Recent articles

17 January 2012 | No Comments

Do you use footnotes on your blog?

Bloggers, may I ask for your help? I’m not sure what you expect me, the reader, to do when I encounter a footnote.

On a printed page, of course, the footnote is generally on the same page as its reference, so I can move my attention fairly readily between the reference and the note. (The jump still interrupts my–your–train of thought, but I can do it.) In contrast, on a web page, the footnote is often below the visible area, so I have to scroll down to see the footnote, then scroll back up to continue from the point of reference.

What behavior do you expect of me? Here are the possibilities:

1. I can commit to memory all the footnote references as I read them, and when I finish the body of the article I can read the footnotes beginning to end, remembering the point where each footnote was referenced in the text.

2. I can pause reading the article, scroll down (or click a link) to the footnote, read it, and then scroll back up, find my original position in the article, and continue from there.

3. I can ignore the footnotes while I read the article, and when I reach the end, I can read each footnote and then go back and re-read its reference context in the article.

Is there another option? I have tried those three and frankly none of them is particularly convenient. That prompts me to wonder what behavior you anticipate from your reader.

Thanks for your response. Comments are off, so you can respond by Twitter (RossT), email (ross at rosscarter.com), or your own blog.

Sarcasm is never appropriate, and I am not being sarcastic. I honestly want to know what writers expect readers to do when they find a footnote in a blog.

12 December 2011 | No Comments

That’s what I call a review

While shopping for a water heater I came across this review on Lowes.com. I’m not sure how long the review will be available in its original habitat, so I’m preserving it here. cmerlo1 in Austin TX, I salute you.

It’s a water heater! And boy, what a water heater!

It was a sad day when our 15-year old original water heater could finally heat no more. It was even sadder when the plumber from the home warranty company told us we needed to spend almost $1,000 to ‘bring everything up to code’. I decided, “hey, I’ve got the ultimate set of tools (and my neighbor has some awesome ones too), why don’t I cash out from the warranty and install it myself?” Enter Lowe’s. With just a few clicks, I located this baby, and bought it right online. The installation went well, aside from a couple of leaks because I didn’t use enough teflon tape. It is now running strong, sitting in its closet like it owns the place. It heats water effortlessly, with the force of 1000 suns, yet consumes less energy than a Prius. I feel its greatness every time I turn a faucet on. Its modern-looking sleek white outer shell is a work of modern art, that conveys strength and reliability; I now consider the closet it resides in to be an art museum. I am very happy–no, privileged, to have this masterpiece of thermal majesty in our home. I hope, one day, that everyone can have a chance to watch this marvelous example of technical innovation in action.

8 December 2011 | No Comments

Why independent iOS developers don’t do Android

There’s been a spot of blithering and blabbering lately about whether iOS developers ought to start developing for Android. The tenor of the Android argument seems to be that big numbers are good. “Ultimately, application vendors are driven by volume,” said Eric Schmidt.

That statement might make sense if you think that all software is written by big soulless corporations whose only motivation is profit. You can pretty easily knock that idea in the head. The App Store sells half a million apps. Just browse through them to see all the apps from small, independent developers. A quick look at successful apps—say, the Apps Starter Kit—shows that indies do very well. Excluding Apple itself, the only company with more than one product in today’s starter kit is the one-woman shop Sophiestication.

I don’t know whom Eric Schmidt thinks writes software, but it’s clear to me that a one- or two-person company has plenty of things to think about other than pure profit.

For one thing, if most indie developers were totally income-driven, they would never have chosen to become independent developers in the first place.

John Gruber pointed out that “developers like iOS. They use and prefer iPhones and iPads personally, they like Cocoa, and they like the App Store.” Makes sense to me. Marco Arment noted that going Android means investing months of time to learn the platform, doubling the support workload, doubling the maintenance workload, satisfying the requirements of three additional marketplaces, and maintaining compatibility with an ever-changing array of devices.

We all know that brilliant engineers like Jeff LaMarche write for both platforms. I think guys like Jeff are in the minority; the independent developers whom I know (as opposed to contract developers) eschew writing for Android because they don’t want to or don’t need to.

Even if we posit that iOS developers really do need more sales, and are willing to double their workload to get them, the principal question is not “Will I make more money by porting my app to Android?” but rather “Will I make more money by developing another iOS app?”

5 December 2011 | No Comments

Siri and the beta moniker

Some writers have chided Apple for releasing Siri as a beta. They claim that the bugginess and lack of polish connoted by the word “beta” evidence a breach of elegance that is unworthy of Apple.

I wonder who would complain if Siri had been called “Siri 1.0″ instead of “Siri beta.”

Consumers have, by now, seen enough 1.0 apps for the term to have its own connotation. When I see a 1.0 app, I (and I expect many others) expect something that is not as feature complete as one would really like it to be, with perhaps some infrequent bugs and an insufficiency of real-world testing. I expect the 1.0 app to be merely the first in a string of releases that will over time bring the app to completeness. I accept that developers cannot keep their projects in beta forever, and at some point have to ship the product, imperfect though it is.

I’ve bought my share of 1.0 apps and on the whole I’m grateful for the use of them in their 1.0 condition without having to wait for the more complete version.

In short, I expect more from a 1.0 app than from a beta, but I do not expect a lot. Siri, with its foibles, works quite well enough for me at the moment. Far be it from me to tell how Apple how to market its products, but one has to wonder if using “1.0″ rather than “beta” would have nipped some criticism in the bud.

16 April 2011 | 2 Comments

Take Huckleberry Finn, for example

All ePubs are not created equal.

Recently I decided to put Huckleberry Finn on my iPhone. The iBookstore offers numerous editions, so I downloaded some samples to decide which was the best.

The results surprised me: the best was very much better than I expected, and the worst was very much worse than I thought possible.

Here’s what I found.

Source material

Assembling the source text for Huckleberry Finn is not as simple as one might think. If we take the 1885 first edition as our source, we immediately confront the problem that the punctuation in the edition contains numerous eccentricities and downright mistakes. Let’s identify some peculiarities that will help us identify the manner in which an ePub differs from the first edition.

The title page, below the title, prints these two lines:

SCENE: THE MISSOURI VALLEY.

TIME: FORTY TO FIFTY YEARS AGO.

At the bottom of the title page is the year of publication, 1885, providing a context for the somewhat peculiar expression “forty to fifty years ago.”

The first sentence of Chapter 1 reads:

YOU don’t know about me, without you have read a book by the name of “The Adventures of Tom Sawyer,” but that ain’t no matter.

Note the small caps in the first word, the commas after me and Sawyer, and the double quotes around the book title.

Regarding punctuation, inconsistency is the rule. Consider this excerpt from the sixth paragraph of Chapter 1:

Miss Watson would say, “Dont put your feet up there, Huckleberry;” and “dont scrunch up like that, Huckleberry—set up straight;” and pretty soon she would say, “Don’t gap and stretch like that, Huckleberry—why don’t you try to behave?”

The word don’t is spelled both with and without the apostrophe, and is improperly lower case in the second instance. Later in that paragraph appears a word in italics:

she was going to live so as to go to the good place.

The foregoing observations provide a signature for the first edition; if multiple publications differ from the first edition in exactly the same way, we can bet that they share a common source. The most likely common source is Project Gutenberg, which provides the book as plain text, HTML, or already packaged as an ePub (both with and without images).

One quickly notes that the Gutenberg text differs considerably from the first edition. The year of publication is omitted, leaving ”forty to fifty years ago” devoid of context. The first sentence reads:

YOU don’t know about me without you have read a book by the name of The Adventures of Tom Sawyer; but that ain’t no matter.

Small caps are omitted, the first comma is omitted and the second is replaced with a semicolon, and double quotes are omitted.

The text version reads:

Miss Watson would say,

“Don’t put your feet up there, Huckleberry;” and “Don’t scrunch up like that, Huckleberry–set up straight;” and pretty soon she would say,

“Don’t gap and stretch like that, Huckleberry–why don’t you try to

behave?”

she was going to live so as to go to the good place.

WordPress fiddles with the quotation a bit, so I will cite the differences: the quotes are straight, not curled; missing apostrophes have been added; dashes are two hyphens; lines are delimited with hard returns; there are two spaces between sentences; and of course the italic is missing. The HTML edition uses a true dash character and removes the hard returns; puts a regular space and a nonbreaking space between sentences; and, disappointingly, fails to supply the missing italic. The ePub versions contain all the mistakes of the HTML version.

These markers allow us to determine very readily whether the publisher of a Huckleberry Finn ePub has added value through careful editing, or has merely passed off the Gutenberg text.

Let’s start by looking at the worst of the lot.

Publisher: Lulu.com

One can only laugh. No one in his right mind would want to read a book that starts like this:

lulu_Huck

 

lulu_Huck2

 

This ePub bears the hallmarks of the Gutenberg edition (although the italicized book title is an appropriate correction), presented in a form that is worse than the original. The publisher has taken the Gutenberg text and removed value from it. It’s hard to believe that anyone even bothered to look at this ePub before offering it for sale. It’s like an app that crashes on launch.

This edition is priced at $8.99—the most expensive of all the editions I examined.

That’s right. $8.99. The word swindle comes to mind.

Publisher: MobileReference

MobileRef_Huck

This edition manages to present a tolerably acceptable layout. The text plainly comes from Gutenberg. The price is $0.99.

I call this a very sloppy job. Quotes are straight, dashes are two hyphens, and everything is in the same font face and size. No observable attempt was made to add value to the Gutenberg edition. Save your 99 cents.

Publisher: Digreads.com

Digireads_Huck

Dashes are single hyphens, but at least omit flanking spaces. The problem with this edition is the aggressive hyphenation caused by full justification, which yields such awkward breaks as was-n’t, want-ed, and Huckleber-ry. $2.99. Keep your money.

Publisher: The Floating Press

Quality gets a substantial bump up with this edition:

FloatingPress_Huck

 

The chapter heading uses a different font style and size. Dashes are correct. Front matter is sensibly presented, including a reference to the year of first publication. But quotes are still straight, and the text is still uncorrected Gutenberg.

In my view, this edition is not worth the $4.99 that the seller asks.

Publisher: LibreDigital

This one is almost undistinguishable from the Floating Press edition:

Libre_Huck

The dashes are ugly hyphens flanked by spaces. At $2.99, it’s still expensive for a simple repackaging of the Gutenberg text.

Publisher: Vigo Books

Vigo_Huck

There’s little to distinguish this edition from the previous two; it is still a Gutenberg text with straight quotes. The front matter is laid out rather nicely. $3.99 and not worth it.

Publisher: HarperCollins

Now we’ve climbed out of the sewer of Gutenberg knock-offs. Clearly, some effort went into this edition:

Collins_Huck

This is what I expect from an established publishing house: true quotes and dashes, an introductory essay, and a text that has been modernized and corrected from the original (correctly, unlike the Gutenberg text). Paragraph indention is too wide for my liking, but I really cannot cavil at all about the layout and typography. The italic she is preserved, hyphenation is sensible, and front matter is neatly presented.

But did you notice the whopper of a mistake in the first sentence? I was about to commend the publisher for setting the book title in italics, instead of in quotes as the first edition does. But what can I say about dropping Tom from Tom Sawyer? At only $1.99 I would call this edition a steal, but that awful mistake on the first page destroys my confidence in the work as a whole. Who knows? Maybe they left out a page somewhere, or a chapter. Sadly, we must keep on looking as we start to wonder, how hard can it be to publish a decent ePub of Huckleberry Finn?

Publisher: Penguin

One would think that the first name in paperbacks would have a good grip on portable formats. Well, not quite.

Penguin_Huck

The text and typography are excellent. The problem is a silly proliferation of footnotes. Really, three footnotes in the first paragraph? I have no idea what those footnotes say; they didn’t make it into the free sample, and I didn’t pay $4.99 to find out. I call them footnotes, but I guess the e in the links means they are endnotes.

If I am doing scholarly research on a text—the kind where I need to read a gloss after the first five words—I’m not going to be using an ePub on my iPhone as my source. In my view the ubiquitous footnote links make this edition as annoying as the poorly prepared editions described earlier.

Publisher: Sterling

Now let’s a take a look at what’s possible when a publisher sets out to add value to an ePub.

The first thing you notice while perusing the front matter is acknowledgments to the content creators: book design by Deborah Kerner, and illustrations by Scott McKowen. The front matter includes a book cover, copyright page, title page, table of contents, and a delightful rendition of Twain’s Notice. Here is what it looked like in the first edition:

Huck_notice_1stEd

Here is what Sterling did with it:

Huck_Notice_Sterling

Beautiful! Clearly this publisher wants the reader to enjoy the experience of this book. Let’s look at page one:

Sterling_Huck1

Wow. The typography and layout are superb. Punctuation has been modernized and corrected. Mistakes in the Gutenberg text are not to be found.

Footnotes appear, but in moderation; there are only three in all of Chapter One. If you follow a footnote link, you can tap the footnote marker to return to your place in the text.

The price is $5.99 and worth every penny. At last! A publisher got it right.

Conclusion

I have two print editions of Huckleberry Finn in my house. The Sterling edition beats them both. I can happily read the Sterling ePub and feel that I have missed nothing from the printed book experience. All the other ePubs I examined fall far short of the readability of a printed edition. I call them carrion. They somewhat resemble a book, but only as a dead and putrid remnant.

The Sterling ePub demonstrates that obtaining textual content for an ePub is only the first step in publication; it is by no means the last step. A publisher must add value to the textual content by designing the ePub that will contain it. Publishers who merely take some text and run it through an ePub converter discredit the entire ePub industry. One could easily conclude that most ePub buyers think that all ePubs are ugly.

I’ve been disappointed at the quality of ePub books I’ve bought on the iBookStore. Even well-established publishing houses seem in a hurry to get the text into the store without pausing to think whether anybody will enjoy reading it.

Certainly, the ePub format suffers from a few maddening limitations. I can’t imagine how difficult it must be to design a book when you have no control over the page size or font. Maybe that’s why most eBook publishers simply give up and consign their readers to a second-rate experience. That’s a pity, when a bit of design can provide a first-rate experience.

8 January 2011 | No Comments

Guns and Software

This morning, 8 January 2011, I was reading the latest news on the disgusting behavior of certain customers of Sophiestication Software. I was preparing some remarks in defense of Sophie when I heard the news about the shooting of Rep. Gabrielle Giffords. As I formulated some remarks disparaging those who oppose gun control, I realized that the same line of thought runs through both events.

When Sophie put her app in the Mac Application Store, she had a difficult choice to make. Five years ago she said that upgrades would be free until version 3.0. There is no way to offer free upgrades on the Store. She could comply with the free upgrade policy by changing the version number to 3.0, even though “3.0″ implies new features when in fact no new features were added. Or she could keep the version number the same, as it honestly ought to be, and expect people to understand that it simply is not possible both to move to the store and to provide free upgrades.

She chose the honest alternative, and explained the reasons necessitating it. Sure enough, some customers complained, bitterly and profanely, that she had broken her promise to provide them free upgrades through version 3.0.

Time and again the complainers roared, in a variety of ways, some using deeply and personally offensive expletives: “It’s not the money; it’s the principle of the thing! You broke a promise! I hate you!”

That outburst brought to mind one of the lessons I learned in twenty years as a lawyer. I believe that most any lawyer will tell you the same thing: whenever a client says, “It’s not the money; it’s the principle of the thing,” you immediately escort them to the door.

Truth is, clients who believe that a principle has been offended never pay their lawyers.

They don’t expend any actual effort themselves, but they relish the opportunity to castigate another party for a perceived deficit of character. I speak from experience as a country lawyer. They exhibit no shortage of defects themselves (such as breaking their promise to pay their lawyer), but if they glimpse a fissure in an honest person’s wall of respectability they scruple not to press their mouth to it and shriek “Promise breaker! Promise breaker!”

Whenever I hear someone say, “It doesn’t matter whether $5 is a reasonable price; what matters is that you lied to me,” I think, yes, go ahead and indulge with orgiastic relish these fleeting seconds when you can trumpet your moral superiority. No one is listening. You are part of the background noise of life, nothing more.

That’s what I was thinking when the Congresswoman was assassinated.

The issue now changes to gun control.

My father was a gunsmith. He held a Federal Firearms License number. From my earliest memories, guns were ubiquitous in our home. My brother received a shotgun for Christmas at age 7. We read the National Rifle Association’s American Rifleman magazine every month. As a youngster I learned all about the mechanical workings of a firearm. I developed a fondness for fine arms just as I later developed a fondness for fine guitars and violins. In my family, guns were just a part of life, like cars and kitchen utensils. Sure they could be dangerous if improperly handled, but the notion of mishandling a firearm was so utterly foreign to us that my parents (apparently) held no fear of raising two boys in a house full of guns. They were right. I was no more likely to touch a gun while my parents were absent than to smash all the windows in the house.

There were rules, and we all respected them. One day a man asked my father to lighten the trigger pull on a revolver. The man wanted to practice quick-draw shooting, like they did in the Old West. Dad declined, telling him that it was simply too dangerous. The man found another gunsmith to do the work. We later heard that he had shot his foot off.

My father, NRA member, gunsmith, hunter, and firearm aficionado, supported gun control. He thought every firearm should be licensed. We were a responsible family. It was no burden to us to demonstrate our knowledge of gun safety. Having worked with all sorts of gun owners we knew what a wild assortment of nutcases wants to own a gun. We loved guns and wanted them controlled for our own well-being.

That was fifty years ago. Today America is rife with little minds who consider gun control a personal indignity. I have heard them speak. I know many of them. Better, in their minds, nightly to bag up bodies of innocent victims than to dip a timid toe into the placid waters of regulation. Wouldn’t regulation prevent tragic deaths?  It’s not the content of the regulations, they reply, it’s the principle. The Second Amendment made a promise, and you can’t break your promises.

They are, in short, the same kind of people who roar like madmen over the version number of a $5 piece of software.

It would surprise me none if today’s assassin—whose victims included a nine-year-old girl—were among the self-righteous bigots who scorned Sophiestication Software.

17 November 2010 | No Comments

My Old Fashioned recipe

Another Mac developer wrote a fine article on my favorite drink, the Old Fashioned. I’d like to share my own recipe. I always order Old Fashioneds in bars, and I have never found one that suits my taste as well as this recipe.

It’s a good thing I like Old Fashioneds, because I would drink them just for the name. For years I tried without success to make an Old Fashioned. How hard could it be? Bourbon, water, sugar, bitters, and something to impart a hint of citric fruit. Any fool can do that, right? Well, this fool could not, and I was reaching a time in life when I had a regular and pressing need for a good drink.

In law school, at one of our weekly bar review outings, a classmate revealed to me the secret of a fine Old Fashioned: you have to add the ingredients in the right sequence. Specifically, the last three ingredients must be water, ice, and bourbon, in that order. Experiments proved that he was right. I’ve no idea why, but getting the sequence right makes all the difference.

The article I mentioned earlier says, “The sugar goes in first, followed by a splash of water, which, with the help of a few quick stirs, dissolves the sugar and creates a coarse simple syrup.” I have never found sugar to dissolve so readily. It always precipitates to the bottom of the glass. When desperate I will use sugar, but I much prefer syrup because it dissolves immediately. I used to make my own simple syrup by boiling equal amounts of sugar and water until the volume remaining is half the original. Keep it in the refrigerator. It’s an essential ingredient in Mint Juleps, so it’s good to have some simple sytrup on hand in May.

Simple syrup disappeared from my bar kit when I lived in Maine and discovered pure maple syrup. Now I use it wherever I formerly used sugar. It’s hard to think of a food that is not improved by the addition of maple syrup. I used to buy “Grade B cooking grade” syrup: darker, stronger, and half the price. I haven’t seen any Grade B in years, unfortunately. By all means avoid the so-called maple syrup that is cut with corn syrup.

Here, then is the recipe:

  • 1 teaspoon orange juice
  • 1 teaspoon maple syrup
  • 2 dashes Angostura bitters
  • 1 maraschino cherry
  • 1/2 teaspoon syrup from the maraschino cherry jar

Mix these ingredients in a glass. Then add:

  • 1 slice orange, if you have it
  • 1 teaspoon water

and stir. Add some ice cubes. Then pour:

  • 2 ounces bourbon

over the top, stir, and serve.

24 August 2010 | No Comments

When does a UX failure deserve to be called stupid?

Recently I bought a pair of convertible cargo pants—you know, with legs that zip off to convert your pants into shorts. The detached legs are not quite identical, so the manufacturer provided L and R tags. Simple enough. What could go wrong?

Well, the manufacturer—Columbia—attached the L and R tags not to the legs, but to the shorts.

Columbia pants
The left leg is marked “L”. I knew that.

You would think that at some point during the design and manufacture of these pants, someone at Columbia would have said, “You know, it’s hard to tell the detached left leg from the right, but anyone can look at a pair of shorts and tell which is left and which is right. The L and R tags ought to be on the legs, not on the shorts.”

Evidently, that never happened.

Before you suppose that the sewing factory simply put the labels in the wrong place, let me point out that the labels are designed to attach to the zipper pulls, and the zippers are most definitely designed to remain with the shorts.

That is a UX failure of the grossest kind. But does it deserve to be called stupid?

(When I was a lawyer, UX was an abbreviation for uxor, Latin for wife. Now it means User Experience. Feel free to make a joke out of that.)

Shortly after I bought the cargo pants, I replaced the entry locksets in our home. Our Kwikset units were ten years old and had corroded so badly you could barely get a key in the lock. I upgraded to Schlage locksets.

The function of a lockset, by the way, is to lock intruders out. Not to lock yourself out.

With these new Schlage locksets, you twist a little button to lock the door from the inside. If you then turn the handle to go outside, the button remains in locked position. So if you step outside to retrieve the morning paper, and the door shuts behind you, you are locked out. Every other lockset I’ve worked with unlocks the door when you open it from the inside.

Schlage 1
The door is locked.

Schlage 2
The door is still locked.

After spending 45 minutes locked in my garage, I decided to trash the Schlage devices and replace everything again.

Schlage locksets. UX failure? Definitely. Stupid? Possibly.

There is a bar down the street named O’Neill’s. As we all learned in school, those ’ marks are apostrophes. They curl to the left. The big illuminated sign for the bar says O‘Neill’s.


Well, at least they got the second one right.

Stupid? Quite likely. Illiterate for sure.

Our old clothes dryer had a buzzer that sounded when the dryer stopped. It was convenient and it worked. Our new Amana clothes dryer starts beeping long before the drying is over. It beeps and it beeps and it beeps. When the beeping stops, that’s your signal that the dryer has stopped. I couldn’t believe it when I heard it.

UX failure? Absolutely. Stupid? It damn well is.

But what has this got to do with software?

I posit this axiom: the bigger the company, the more vulnerable it is to stupid mistakes.

The failures I’ve mentioned are not the result of misjudgment by a single person. Columbia is a big company, as are Schlage and Amana. The bar is small time, but two businesses—the bar and the sign company— jointly committed the error. In pari stupido, as it were. There’s a huge difference between the mistake of a single person and the systemic ineptitude of an entire organization.

Stupid derives from Latin stupere, to stun. If you’re a big company, UX failures like those mentioned here can result only from mass cerebral paralysis. Reviewers and managers sitting stunned in their chairs, unable to act beyond a weak and fearful hand wave of approval. That’s what I call stupid.

Well, to be fair, maybe the QA chap was out sick that day, or thought the project was assigned to someone else. Still, big software companies command vast opportunities for error correction. Yet their slop and sludge is far more evident than the slipups of the small software shop, where like as not somebody edited that .xib at three o’clock in the morning. The quality and attention to detail in indie software never fails to amaze me, while—well, I really don’t expect quality from some companies any more.

Adobe window

Anyone can make a simple mistake. When those with responsibility fail to catch it, that’s a stupid mistake.

I happily assert that none of my software contains stupid mistakes.

14 August 2010 | No Comments

Why are Xcode betas under NDA?

As developers, we all very quickly became familiar with Apple’s non-disclosure agreements, particularly the Prototype License and Confidentiality Agreement that applies to pre-release Apple software and related documentation and information.

It’s easy to understand the reasoning behind NDAs. No developer wants potential customers to rely on an upcoming product’s having certain features that might be dropped before the product ships. Nor does a developer want new features to leak out in advance and dilute the buzz of the launch event. The developer wants to control public discussion of the new product lest unqualified reporters, who do not know what beta software looks like, give the product an undeservedly bad review. All these things make sense.

Except, I posit, in the case of developer tools.

What’s different about developer tools

Apple’s developer tools differ from its other products in substantial ways. The first and obvious difference is the price. Developer tools are free. Apple doesn’t sell them. There is no revenue stream to jeopardize.

Second, in the modern era, there is no competitor to Apple’s developer tools. Code Warrior is long gone. Can you imagine developing an iPhone app without Xcode? If you develop for Mac OS or iOS, you’re going to use Xcode, period. It isn’t like you are going to read a bad review about Xcode and decide to use something else.

Third, the parties who test pre-release developer tools are exactly the same parties who use the tools. I don’t think I am going out on a limb to say that the only people who use Xcode are developers. And the people who have access to the beta tools are the same developers. Everyone who is going to use the released product has access to the beta. There’s no risk of beta users misinforming customers who have to wait for the final release because nobody has to wait for the final release.

Developer tools are closer in analogy to in-house software. Many of us have developed software for use within a large organization. Do you think it would improve the product if your users were not allowed to discuss it among themselves?

I’ve tried to come up with a scenario in which Apple would be harmed by developers talking about Xcode 4. I can’t think of any. In fact, there is none, because Apple allows us to discuss Xcode 4 on their forum.

Because the forum is open only to developers, one assumes that Apple perceives some harm if the public could read what developers are saying about the new Xcode. I submit that this is nonsense. “Developers confused by Base SDK vs Target SDK!” “Exclusive: method names in documentation index are not aligned!” I don’t think we will ever read such headlines. Non-developers don’t give a tinker’s damn about the design of Xcode.

Why the NDA harms Xcode development

So, my first point is that applying the NDA to beta developer tools is nonsensical. My second point is that it leads to lousy software.

We all know how the bug reporter system works, at least superficially. Duplicates matter. Your chances of getting a bug fixed improve when other developers report the same bug. We routinely urge our peers to file a bug report on something we have already reported. Indeed, Apple engineers recommend the practice. It’s quite routine for someone to tell me about a bug that I have not personally encountered, but it is definitely in my interest to have the bug fixed before it trips me up, so I will file a duplicate bug report.

That’s just the way the system works. Except with Xcode betas! Because we are not allowed to discuss bugs among ourselves, the bug reports are limited to reports from developers who have discovered the bug on their own.

That is to say:

  • Apple’s bug reporting system prioritizes bugs based on number of duplicates.
  • Bugs of significant importance to developers receive lots of duplicates because we discuss them among ourselves.
  • For Xcode betas, the bug reporting system continues to prioritize duplicates but denies developers the ability to increase the duplicates for very important bugs.

Yes, I realize that Apple’s developer forums mitigate this flaw to some extent. But, really, those forums are a mess, aren’t they? As far as I can tell, there is no RSS feed or mailing list where you can keep up to date with what is being discussed. You have to check the site manually. For the Xcode 4 discussion alone, there are eight topics, and you have to check each one separately. When you have navigated beyond the first page of threads, and you click a thread to read it, you can’t get back to the page you were on; you’re taken back to page one and have to page forward to find the place where you left off.

As a developer whose skills will never rise beyond the level of intermediate, I rely on the wisdom of intelligent developers whom I respect. I’m far more likely to understand and agree with those guys than with an unknown poster on the Apple forum. I’d love to know what Gus and Matt and Marcus and Frasier and Daniel think about Xcode 4. I and others would then file bug reports and in the end we would all enjoy a better Xcode.

As things stand now, I have a feeling that Xcode development is beyond our control, and we are going to have to live with it no matter how awful it turns out. It might well be that some aspect of Xcode 4 is despised by the vast majority of us, but we will not know that until the NDA is lifted and then it will be too late.

I’ve posted a few items on the Apple forum. I’d ask you to search for them using my name, so you too can file bug reports, but guess what: that search does not find my posts. There’s a “Who” field in the search bar, but it doesn’t work, AFAICT.

The sorry situation

So all I can do publicly is muse: hmmm, I wonder how Xcode 4 handles Find Selected Text In Project? I wonder how it handles jumping directly to the documentation from source code? I wonder if you can easily jump back and forth between the docs for an object and the delegate methods for that object? I wonder if you can still right-click to fix alignment? I wonder what other features such as user scripts that I use heavily have been left out?

It might turn out that Xcode 4 is the best Xcode yet. If that happens, it won’t be because we all had a good discussion about it beforehand.

9 August 2010 | No Comments

A joint policy proposal for an open Internet

As an unappointed spokesman for Google and Verizon, I would like to clarify our joint proposal for what we like to call “open internet.”

To summarize the points we made on our blog:

We are for net neutrality except for wireless. Which will someday comprise 100% of the net.

We are for net neutrality except for wireless because wireless is “still-nascent.” Because wired internet is like really, really old.

We are for net neutrality except for wireless because wireless is “more competitive and changing rapidly.” We realize some of you might have thought of that as an argument in favor of neutrality, not against it; however, most of you do not think about anything at all except porn and gambling sites (what we call “entertainment and gaming options”), so we’re pretty sure we can say this with a straight face.

Now, let us get technical. What about the concrete terms of the proposal?

Because we recognize that HTML “is the programming language of the Internet, which was designed over forty years ago by engineers who wanted the freedom to communicate from any computer, anywhere in the world. It enables Macs to talk to PCs, Blackberry Storms to iPhones, the newest computers to the oldest hardware,” we are posting our proposal in Flash.

“In providing broadband Internet access service, a provider would be prohibited from engaging in undue discrimination against any lawful Internet content, application, or service in a manner that causes meaningful harm to competition or to users.” Discrimination is OK as long as it is not “undue” and causes no “meaningful” harm.

“Prioritization of Internet traffic would be presumed inconsistent with the non-discrimination standard, but the presumption could be rebutted.” You might ask what it takes to rebut that presumption. We don’t provide that level of detail. We’ve only been working on this for five months.

Broadband providers are permitted to “prioritize general classes or types of Internet traffic, based on latency.” If a type of traffic is generally latent, we can throttle all traffic of that class, latent and non-latent alike.

Broadband providers will be guided not by FCC rules but by “best practices adopted by an independent, widely-recognized Internet community governance initiative or standard-setting organization.” If asked to chair and fund this organization, we will say Yes, out of patriotic duty.

Providers of broadband Internet access service can prioritize traffic that is “distinguishable in scope and purpose from broadband Internet access service.” We believe that statement stands for itself.

You might think that our proposal allows wireless broadband providers to do whatever the hell they like. On the contrary, they must “disclose accurate and relevant information in plain language about the characteristics and capabilities of their offerings, their broadband network management, and other practices necessary for consumers and other users to make informed choices.” Just as they have always done.

Thank you for giving me this opportunity to clarify our proposal. You now know what we mean when we said, “The minute that anyone, whether from government or the private sector, starts to control how people use the Internet, it is the beginning of the end of the Net as we know it.”