One of the serious disadvantages of having alpha software is that you need to already start dogfooding it. So if you're, say, writing a Markdown editor, you need to start using it to write you blog posts.

This is great until you find that you'd like to make a change to the app's behavior, which turns a quick 15-30 minute blog post into 15-30 minutes of blogging plus 90 minutes of feature refactoring.

Oh well. That's what you've got to do. I didn't like the way I was inserting quoted text or, rather, marking up a block of text as a quote, so I rewrote it for this post. Fun times. But wow, it's nicer. I like having elegant white space in my files, and now the app will ensure you have two newlines before and after a blockquote in your markdown. Simple enough, if it wasn't for insane UWP TextBox newline management. I completely rewrote how I was handling that so that I could access SelectedText, SelectionLength, and SelectionStart, etc with new properties in a subclass of TextBox instead of post-processing the wacky, non-platform native newlines in code outside of the TextBox.

And though this blog's "main" topic is related, let's move on...


Was checking out Rachel Andrew's free chapter from her book, The Profitable Side Project (hint #1: A Markdown editor probably isn't going to lead to Hats of Cash), which quoted this MVP (minimum viable product) definition from Jon Radoff from 2010:

The goal of a startup is to find the sweet-spot where minimum product and viable product meet

Obvious, it seems, but I think it's worth looking at "minimum" and "viable" on their own terms as independent characteristics of a product, and know that mvp isn't some concept that exists on its own. It is the intersection of these two sets, as his Venn diagram depicts:

Radoff's Venn Diagram

I think Apple's completely lost the ability to do this, btw. Read through Michael Tsai's run-down of recently reported problems with Apple Music combined with his run-down of Mossberg's post and reactions to see what I mean. Apple's stopped making viable software, and has grossly overemphasized minimum.

This bit from Jason Snell that Tsai points out is my "favorite", insomuch as a report of a horrible user experience can be a favorite:

First iTunes threw up a dialog box saying that the amount of iTunes credit had changed, so I would need to click OK and try my purchase again. (It’s a free app, so this entire experience is already pointless, but whatever.) I clicked OK and the Free button was now inactive. I typed Command-R to see if that would reload the iTunes page—no normal user would do it, but it worked because the App Store and iTunes is more or less a disguised web page—and then was able to click Free and download the app.

At some point in this process, the song I was listening to finished and another song began to play. It was a randomly selected track from my entire music library. The act of viewing the App Store had destroyed my music shuffle.

I really do think this is, as I've mentioned before (with all "Apple Fails" I remember to tag here), bad QA work at Apple. Nobody seems to be testing the edge cases. And when QA drops back this far, you won't get viable software.

At best, Apple is getting its dogfooding completely wrong. It's really sad how far quality has dropped in the race to be minimum everywhere. They've substituted Jobs', "We'll only support doing it our way, and we don't care who is inconvenienced," which allowed Apple to drop support for legacy techs and hardware at the drop of a hat for, "We simply won't care who is inconvenienced."

Folks, it has to be viable first... as Radoff says, that means a product that will "get people to fall in love with you". It's not something "crappy" that "nobody wants to use". The "Apple Way" used to mean they'd do it right -- loveably well -- no matter what. Man, I loved using MacWrite on OS 7 and 8. OS 8.1 was a great OS, even though it was so old you couldn't help looking at it and wondering when you'd have to put it down. But using it was great. That love isn't there with Apple software now for too many of us.

Anyhow, back to work before I start fixing bugs on my app again...

Labels: , , , ,