Development and Quality: Reply to Agile Diary

Getting on the soapbox about developers.

Former WiZiQ product manager Vikrama Dhiman responded to one of my tweets with a full-blown blogpost, thereby giving support to Matt Mullenweg‘s point that microblogging goes hand-in-hand with “macroblogging.”

My tweet:

enjoys draft æsthetics yet wishes more developers would release stable products. / adopte certains produits trop rapidement.

Vikrama’s post:

Good Enough Software Does Not Mean Bad Software « Agile Diary, Agile Introduction, Agile Implementation.

My reply:

“To an engineer, good enough means perfect. With an artist, there’s no such thing as perfect.” (Alexander Calder)

Thanks a lot for your kind comments. I’m very happy that my tweet (and status update) triggered this.

A bit of context for my tweet (actually, a post from Ping.fm, meant as a status update, thereby giving support in favour of conscious duplication, «n’en déplaise aux partisans de l’action contre la duplication».)

I’ve been thinking about what I call the “draft æsthetics.” In fact, I did a podcast episode about it. My description of that episode was:

Sometimes, there is such a thing as “Good Enough.”

Though I didn’t emphasize the “sometimes” part in that podcast episode, it was an important part of what I wanted to say. In fact, my intention wasn’t to defend draft æsthetics but to note that there seems to be a tendency toward this æsthetic mode. I do situate myself within that mode in many things I do, but it really doesn’t mean that this mode should be the exclusive one used in any context.

That aforequoted tweet was thus a response to my podcast episode on draft æsthetics. “Yes, ‘good enough’ may work, sometimes. But it needs not be applied in all cases.”

As I often get into convoluted discussions with people who seem to think that I condone or defend a position because I take it for myself, the main thing I’d say there is that I’m not only a relativist but I cherish nuance. In other words, my tweet was a way to qualify the core statement I was talking about in my podcast episode (that “good enough” exists, at times). And that statement isn’t necessarily my own. I notice a pattern by which this statement seems to be held as accurate by people. I share that opinion, but it’s not a strongly held belief of mine.

Of course, I digress…

So, the tweet which motivated Vikrama had to do with my approach to “good enough.” In this case, I tend to think about writing but in view of Eric S. Raymond’s approach to “Release Early, Release Often” (RERO). So there is a connection to software development and geek culture. But I think of “good enough” in a broader sense.

Disclaimer: I am not a coder.

The Calder quote remained in my head, after it was mentioned by a colleague who had read it in a local newspaper. One reason it struck me is that I spend some time thinking about artists and engineers, especially in social terms. I spend some time hanging out with engineers but I tend to be more on the “artist” side of what I perceive to be an axis of attitudes found in some social contexts. I do get a fair deal of flack for some of my comments on this characterization and it should be clear that it isn’t meant to imply any evaluation of individuals. But, as a model, the artist and engineer distinction seems to work, for me. In a way, it seems more useful than the distinction between science and art.

An engineer friend with whom I discussed this kind of distinction was quick to point out that, to him, there’s no such thing as “good enough.” He was also quick to point out that engineers can be creative and so on. But the point isn’t to exclude engineers from artistic endeavours. It’s to describe differences in modes of thought, ways of knowing, approaches to reality. And the way these are perceived socially. We could do a simple exercise with terms like “troubleshooting” and “emotional” to be assigned to the two broad categories of “engineer” and “artist.” Chances are that clear patterns would emerge. Of course, many concepts are as important to both sides (“intelligence,” “innovation”…) and they may also be telling. But dichotomies have heuristic value.

Now, to go back to software development, the focus in Vikrama’s Agile Diary post…

What pushed me to post my status update and tweet is in fact related to software development. Contrary to what Vikrama presumes, it wasn’t about a Web application. And it wasn’t even about a single thing. But it did have to do with firmware development and with software documentation.

The first case is that of my Fonera 2.0n router. Bought it in early November and I wasn’t able to connect to its private signal using my iPod touch. I could connect to the router using the public signal, but that required frequent authentication, as annoying as with ISF. Since my iPod touch is my main WiFi device, this issue made my Fonera 2.0n experience rather frustrating.

Of course, I’ve been contacting Fon‘s tech support. As is often the case, that experience was itself quite frustrating. I was told to reset my touch’s network settings which forced me to reauthenticate my touch on a number of networks I access regularly and only solved the problem temporarily. The same tech support person (or, at least, somebody using the same name) had me repeat the same description several times in the same email message. Perhaps unsurprisingly, I was also told to use third-party software which had nothing to do with my issue. All in all, your typical tech support experience.

But my tweet wasn’t really about tech support. It was about the product. Thougb I find the overall concept behind the Fonera 2.0n router very interesting, its implementation seems to me to be lacking. In fact, it reminds me of several FLOSS development projects that I’ve been observing and, to an extent, benefitting from.

This is rapidly transforming into a rant I’ve had in my “to blog” list for a while about “thinking outside the geek box.” I’ll try to resist the temptation, for now. But I can mention a blog thread which has been on my mind, in terms of this issue.

Firefox 3 is Still a Memory Hog — The NeoSmart Files.

The blogpost refers to a situation in which, according to at least some users (including the blogpost’s author), Firefox uses up more memory than it should and becomes difficult to use. The thread has several comments providing support to statements about the relatively poor performance of Firefox on people’s systems, but it also has “contributions” from an obvious troll, who keeps assigning the problem on the users’ side.

The thing about this is that it’s representative of a tricky issue in the geek world, whereby developers and users are perceived as belonging to two sides of a type of “class struggle.” Within the geek niche, users are often dismissed as “lusers.” Tech support humour includes condescending jokes about “code 6”: “the problem is 6″ from the screen.” The aforementioned Eric S. Raymond wrote a rather popular guide to asking questions in geek circles which seems surprisingly unaware of social and cultural issues, especially from someone with an anthropological background. Following that guide, one should switch their mind to that of a very effective problem-solver (i.e., the engineer frame) to ask questions “the smart way.” Not only is the onus on users, but any failure to comply with these rules may be met with this air of intellectual superiority encoded in that guide. IOW, “Troubleshoot now, ask questions later.”

Of course, many users are “guilty” of all sorts of “crimes” having to do with not reading the documentation which comes with the product or with simply not thinking about the issue with sufficient depth before contacting tech support. And as the majority of the population is on the “user” side, the situation can be described as both a form of marginalization (geek culture comes from “nerd” labels) and a matter of elitism (geek culture as self-absorbed).

This does have something to do with my Fonera 2.0n. With it, I was caught in this dynamic whereby I had to switch to the “engineer frame” in order to solve my problem. I eventually did solve my Fonera authentication problem, using a workaround mentioned in a forum post about another issue (free registration required). Turns out, the “release candidate” version of my Fonera’s firmware does solve the issue. Of course, this new firmware may cause other forms of instability and installing it required a bit of digging. But it eventually worked.

The point is that, as released, the Fonera 2.0n router is a geek toy. It’s unpolished in many ways. It’s full of promise in terms of what it may make possible, but it failed to deliver in terms of what a router should do (route a signal). In this case, I don’t consider it to be a finished product. It’s not necessarily “unstable” in the strict sense that a software engineer might use the term. In fact, I hesitated between different terms to use instead of “stable,” in that tweet, and I’m not that happy with my final choice. The Fonera 2.0n isn’t unstable. But it’s akin to an alpha version released as a finished product. That’s something we see a lot of, these days.

The main other case which prompted me to send that tweet is “CivRev for iPhone,” a game that I’ve been playing on my iPod touch.

I’ve played with different games in the Civ franchise and I even used the FLOSS version on occasion. Not only is “Civilization” a geek classic, but it does connect with some anthropological issues (usually in a problematic view: Civ’s worldview lacks anthro’s insight). And it’s the kind of game that I can easily play while listening to podcasts (I subscribe to a number of th0se).

What’s wrong with that game? Actually, not much. I can’t even say that it’s unstable, unlike some other items in the App Store. But there’s a few things which aren’t optimal in terms of documentation. Not that it’s difficult to figure out how the game works. But the game is complex enough that some documentation is quite useful. Especially since it does change between one version of the game and another. Unfortunately, the online manual isn’t particularly helpful. Oh, sure, it probably contains all the information required. But it’s not available offline, isn’t optimized for the device it’s supposed to be used with, doesn’t contain proper links between sections, isn’t directly searchable, and isn’t particularly well-written. Not to mention that it seems to only be available in English even though the game itself is available in multiple languages (I play it in French).

Nothing tragic, of course. But coupled with my Fonera experience, it contributed to both a slight sense of frustration and this whole reflection about unfinished products.

Sure, it’s not much. But it’s “good enough” to get me started.

Actively Reading Open Access

Open Access

I’ve been enthusiastic about OA (open access to academic texts) for a number of years. I don’t tend to be extremely active in the OA milieu but I do use every opportunity I can to talk about OA, both in formal academic contexts and in more casual and informal conversation.

My own views about Open Access are that it should be plain common-sense, for both scholars and “the public.” Not that OA is an ultimate principle, but it seems so obvious to me that OA can be beneficial in a large range of contexts. In fact, I tend to conceive of academia in terms of Open Access. In my mind, a concept related to OA runs at the very core of the academic enterprise and helps distinguish it from other types of endeavours. Simply put, academia is the type of “knowledge work ” which is oriented toward openness in access and use.

Historically, this connection between academic work and openness has allegedly been the source of the so-called “Open Source movement” with all its consequences in computing, the Internet, and geek culture.

Quite frequently, OA advocates focus (at least in public) on specific issues related to Open Access. An OA advocate put it in a way that made me think it might have been a precaution, used by OA advocates and activists, to avoid scaring off potential OA enthusiasts. As I didn’t involve myself as a “fighter” in the OA-related discussions, I rarely found a need for such precautions.

I now see signs that the Open Access movement is finally strong enough that some of these precautions might not even be needed. Not that OA advocates “throw caution to the wind.” But I really sense that it’s now possible to openly discuss broader issues related to Open Access because “critical mass has been achieved.”

Suber’s Newsletter

Case in point, for this sense of a “wind of change,” the latest issue of Peter Suber’s SPARC Open Access Newsletter.

Suber’s newsletter is frequently a useful source of information about Open Access and I often get inspired by it. But because my involvement in the OA movement is rather limited, I tend to skim those newsletter issues, more than I really read them. I kind of feel bad about this but “we all need to choose our battles,” in terms of information management.

But today’s issue “caught my eye.” Actually, it stimulated a lot of thoughts in me. It provided me with (tasty) intellectual nourishment. Simply put: it made me happy.

It’s all because Suber elaborated an argument about Open Access that I find particularly compelling: the epistemological dimension of Open Acces. Because of my perspective, I respond much more favourably to this epistemological argument than I would with most practical and ethical arguments. Maybe that’s just me. But it still works.

So I read Suber’s newsletter with much more attention than usual. I savoured it. And I used this new method of actively reading online texts which is based on the Diigo.com social bookmarking service.

Active Reading

What follows is a slightly edited version of my Diigo annotations on Suber’s text.

Peter Suber, SPARC Open Access Newsletter, 6/2/08

Annotated

June 2008 issue of Peter Suber’s newsletter on open access to academic texts (“Open Access,” or “OA”).

tags: toblog, Suber, Open Access, academia, publishing, wisdom of crowds, crowdsourcing, critical thinking

General comments

  • Suber’s newsletters are always on the lengthy side of things but this one seems especially long. I see this as a good sign.
  • For several reasons, I find this issue of Suber’s newsletter is particularly stimulating. Part of my personal anthology of literature about Open Access.

Quote-based annotations and highlights.

Items in italics are Suber’s, those in roman are my annotations.

  • Open access and the self-correction of knowledge

    • This might be one of my favourite arguments for OA. Yes, it’s close to ESR’s description of the “eyeball” principle. But it works especially well for academia.
  • Nor is it very subtle or complicated
    • Agreed. So, why is it so rarely discussed or grokked?
  • John Stuart Mill in 1859
    • Nice way to tie the argument to something which may thought-provoke scholars in Humanities and Social Sciences.
  • OA facilitates the testing and validation of knowledge claims
    • Neat, clean, simple, straightforward… convincing. Framing it as hypothesis works well, in context.
  • science is self-correcting
    • Almost like “talking to scientists’ emotions.” In an efficient way.
  • reliability of inquiry
    • Almost lingo-like but resonates well with academic terminology.
  • Science is special because it’s self-correcting.
    • Don’t we all wish this were more widely understood?
  • scientists eventually correct the errors of other scientists
    • There’s an important social concept, here. Related to humility as a function of human interaction.
  • persuade their colleagues
  • new professional consensus
  • benefit from the perspectives of others
    • Tying humility, intellectual honesty, critical thinking, ego-lessness, and even relativist ways of knowing.
  • freedom of expression is essential to truth-seeking
  • opening discussion as widely as possible
    • Perhaps my favourite argument ever for not only OA but for changes in academia generally.
  • when the human mind is capable of receiving it
    • Possible tie-in with the social level of cognition. Or the usual “shoulders of giants.”
  • public scrutiny
    • Emphasis on “public”!
  • protect the freedom of expression
    • The problem I have with the way this concept is applied is that people rely on pre-established institutions for this protection and seem to assume that, if the institution is maintained, so is the protection. Dangerous!
  • If the only people free to speak their minds are people like the author, or people with a shared belief in current orthodoxy, then we’d rarely hear from people in a position to recognize deficiencies in need of correction.
    • This, I associate with “groupthink” in the “highest spheres” (sphere height being giving through social negotiation of prestige).
  • But we do have to make our claims available to everyone who might care to read and comment on them.
    • Can’t help but think that *some* of those who oppose or forget this mainly fear the social risks associated with our positions being questioned or invalidated.
  • For the purposes of scientific progress, a society in which access to research is limited, because it’s written in Latin, because authors are secretive, or because access requires travel or wealth, is like a society in which freedom of expression is limited.
  • scientists who are free to speak their minds but lack access to the literature have no advantage over scientists without the freedom to speak their minds
  • many-eyeballs theory
  • many voices from many perspectives
  • exactly what scientists must do to inch asymptotically toward certainty
  • devil’s advocate
  • enlisting as much help
  • validate knowledge claims in public
  • OA works best of all
    • My guess is that those who want to argue against this hypothesis are reacting in a knee-jerk fashion, perhaps based on personal motives. Nothing inherently wrong there, but it remains as a potential bias.
  • longevity in a free society
    • Interesting way to put it.
  • delay
  • the friction in a non-OA system
    • The academic equivalent of cute.
  • For scientific self-correction, OA is lubricant, not a precondition.
    • Catalyst?
  • much of the scientific progress in the 16th and 17th centuries was due to the spread of print itself and the wider access it allowed for new results
    • Neat way to frame it.
  • Limits on access (like limits on liberty) are not deal-breakers, just friction in the system
    • “See? We’re not opposed to you. We just think there’s a more efficient way to do things.”
  • OA can affect knowledge itself, or the process by which knowledge claims become knowledge
  • pragmatic arguments
    • Pretty convincing ones.
  • The Millian argument for OA is not the “wisdom of crowds”
    • Not exclusively, but it does integrate the diversity of viewpoints made obvious through crowdsourcing.
  • without attempting to synthesize them
    • If “wisdom of crowds” really is about synthesis, then it’s nothing more than groupthink.
  • peer review and the kind of empirical content that underlies what Karl Popper called falsifiability
    • I personally hope that a conversation about these will occur soon. What OA makes possible, in a way, is to avoid the dangers which come from the social dimension of “peerness.” This was addressed earlier, and I see a clear connection with “avoiding groupthink.” But the assumption that peer-review, in its current form, has reached some ultimate and eternal value as a validation system can be questioned in the context of OA.
  • watchdogs
  • Such online watchdogs were among those who first identified problems with images and other data in a cloning paper published in Science by Woo Suk Hwang, a South Korean researcher. The research was eventually found to be fraudulent, and the journal retracted the paper….
    • Not only is it fun as a “success story” (CHE’s journalistic bent), but it may help some people understand that there is satisfaction to be found in fact-checking. In fact, verification can be self-rewarding, in an appropriate context. Seems obvious enough to many academics but it sounds counterintuitive to those who think of academia as waged labour.

Round-up

Really impressive round-up of recent news related to Open Access. What I tend to call a “linkfest.”

What follows is my personal selection, based on diverse interests.