The Best Long Introduction to a Company and a Product

On Monday Asana had an open house publicly revealed the state of the project management web service they are developing. Justin Rosenstein did an amazing job presenting the vision of Asana and doing a demo of the Asana product.

I don’t think I’ve seen a better long introduction to a company and a product. The talk is about 45 minutes, and Justin maintains his mellow. He is articulate, cheerful, and on point throughout.

Ma.tt: not a robot

Even after working for Matt Mullenweg for over four years now (my longest job!), it still totally pumps me up how forward thinking, thoughtful, and human Matt is.

From the ThemeShaper article “Premium Themes on WP.com, the backstory“:

“…it became obvious to me that we had to figure out the GPL issues first so introducing a WP.com marketplace wouldn’t inadvertently harm the WordPress community by sucking the air out of .org theme development, so I held off the revenue and success we knew this would bring to work out the GPL issues out with the community.

But very explicitly this is an experiment. We’re not psychic and there are many open questions: Will anyone buy these things? How will the private forums work for support, both for our users and partners? How long does it take us to review and get a new theme online? What’s the most effective price ranges? How many themes and partners should we have? How do we promote the premium themes, while balancing adding new free ones? Will any of them ever be more popular than the Smoothie? (51,109 blogs and counting.)

Go read the full article.

Could WordPress have a better BDFL?

Built It or They Won’t Come

‘… Most of the successful versions of HTML have been “retro-specs,” catching up to the world while simultaneously trying to nudge it in the right direction. …

That’s not to say that all shipping code wins; after all, … Code is necessary but not sufficient for success. …

The ones that win are the ones that ship.’

Mark Pilgrim, “Why do we have an IMG element?“, Nov 2nd, 2009

The article includes fascinating excerpts from some of the leaders in this almost-17-year-old work in progress, HTML.

Export, the Second Feature

Quartz by Mikael Hvidtfeldt Christensen. Flickr Hosted

Quartz by Mikael Hvidtfeldt Christensen. Flickr Hosted

I used to joke that the second feature to write is export. I don’t joke about it any more. Export is the 2nd feature you should implement for your software or web service.

There is nothing that says you care about your customers like making it easy for them to get their content out. Bonus points if you choose an export format that is already popular and well documented.

If you really love your customers, the exported data will be richer than the raw material they originally entered.

That, of course, makes import the 3rd feature to write. Don’t support importing from competing applications until your product is ready, because migrating from another product is already a scary enough situation without finding yourself using a buggy, incomplete product.

Everything In Our Power

WordPress is a community of hundreds of people that read the code every day, audit it, update it, and care enough about keeping your blog safe that we do things like release updates weeks apart from each other even though it makes us look bad, because updating is going to keep your blog safe from the bad guys. I’m not clairvoyant and I can’t predict what schemes spammers, hackers, crackers, and tricksters will come up with with in the future to harm your blog, but I do know for certain that as long as WordPress is around we’ll do everything in our power to make sure the software is safe. We’ve already made upgrading core and plugins a one-click procedure. If we find something broken, we’ll release a fix. Please upgrade, it’s the only way we can help each other.

Matt Mullenweg, September 5, 2009, “How to Keep WordPress Secure“,

Do read the rest of the potent post — articulate, insightful, and honest.

5% of Nothing

More than 5% of Nothing

"Sync Alert" Adding 1 Contact with iPhone OS 3.0 with Mac iTunes 8.2.1 (6)

Makes me laugh and cry a little.

This alert is likely meant to warn that a whole lot of data is being added, modified or deleted as part of a sync. It’s an “oh crap, likely either you are doing some wrong or the software is”.

I’m intrigued that UI Expert Aza Raskin (Humanized & Mozilla Lab) finds this alert the “The first good use of a warning I’ve seen!”

I’m not confident that it is generally helpful. Reading online, it does seem that Mac Sync has been quite buggy historically, so this would likely have been very helpful, but does make me nervous that this alert is a bandaid instead of the needed medicine. I would be interested to find out the use cases, and the scenarios where this has been needed.

Synchronization of data between two (or more) sources is a really hard problem. Well the hard problem is mostly related to conflicts when something is changed in two or more places. Daniel Jalkut once wrote, ‘Every developer faces the decision: “Do I want to be known as the jerk who won’t implement sync, or the jerk who can’t.”‘

I’m not actually syncing, because I don’t use Notes on the Mac (does it exist?). It’s really just doing a backup.

In this case, that is the “Sync Alert” of syncing an iPhone running iPhone OS 3.0 with my Mac over ethernet to iTunes 8.2.1 (6). I’m syncing 1 note.

Assuming that this behavior is generally useful, that I’m receiving a warning when 1 note is being added brings up the most obvious issue. There should be a minimum threshold before this exception behavior is triggered. It shouldn’t be 5% of nothing.

When you’re just starting to sync with your Mac, this could be a fairly high frequency alert. It depends on how quickly you add items; how quickly you get to more than 20 items in a category. You’ll also see this alert again when you start using a new feature (new type of item). This leads to the 2nd issue, the alert and warning language — I’m not seeing any yellow, but I’m sure feeling it. Because it is potentially high frequency, it should be presented and worded as a friendly confirmation.

The 3rd issue isn’t obvious from this screen shot. Another clue that it should be a confirmation is that sync does not continue until you have cleared this alert. This is actually problematic, because the alert is non-modal, meaning you can hide it or bury it under other windows. The worst part is iTunes with it’s animated progress bar makes it look like the sync is still progressing. This alert should at least stay on top of iTunes.

The 4th is I don’t think add, modify, and delete are equal. Adding an item is an easier event to undo then a modify or delete. I can just delete it. If something is modified or deleted, it may be hard to recover the lost information. The different events should have different weights. Adding an item should only trigger an alert if a lot are added.

How many is a lot? That brings me to the 5th and final issue that readily comes to mind. It likely shouldn’t be a percentage at all. How long would it take before 5% is a really big number? Probably not long at all. If I have 1000 business contacts, a sync would have to delete 50 of them for me to be notified. Again assuming this alert offers some protection, by using a percentage, even as low as 5% percentage you are penalizing your most passionate customers. Possibly, it could be a percentage that also factors in things like amount of time since last sync or what operations resulted in the changes, but that would likely get complex quick and I suspect the developers would more quickly find the sweet spot by using a constant number (possibly variable on a curve. I hesitate to recommend user defined variable).

Later in that discussion by Aza linked above, he does add “It could be laid out better, but I like the idea of “uhhhhh, that’s dangerous”. Of course, undo is always better :) ”. I don’t think undo would be the silver bullet. I definitely think there is value in confirming changing a large amount of data particularly when the change is destructive, and the need to undo might be overlooked. I just don’t think Apple has polished this implementation.

I feel a bit like I’m playing dirty writing this article now when the next version of Mac OS X, Snow Leopard is only a couple of months away. Still, I was hoping this would be resolved with the new iTunes for iPhone OS 3.0. I’m still hopeful that Snow Leopard with it’s attention to polish might surprise me here.

Mac OS X Snow Leopard, a Major Bug Fix Release

I’m looking forward to the release of the next version of Mac OS X, version 10.6 Snow Leopard this September. As a Software Quality Assurance (QA) practitioner, I find it particularly interesting that this major release is basically a bug fix release — “lots of refinements” and upgrades to the architecture.

The Apple press release from last June includes:

… Rather than focusing primarily on new features, Snow Leopard will enhance the performance of OS X, set a new standard for quality and lay the foundation for future OS X innovation. …

“We have delivered more than a thousand new features to OS X in just seven years and Snow Leopard lays the foundation for thousands more,” said Bertrand Serlet, Apple’s senior vice president of Software Engineering. “In our continued effort to deliver the best user experience, we hit the pause button on new features to focus on perfecting the world’s most advanced operating system.”

Although QA people love this attention to what we are passionate about, conventional wisdom in the software world is that a major release with few new features is suicide, but there are factors working in Apple’s favor.

I don’t find the current version (no snow) Leopard v10.5 to be unstable or buggy, but I know other people have problems with it. There are a lot of user interface (UI) inconsistencies in Leopard among the various Apple applications. I’m interested to see if Snow Leopard sports a more consistent and usable experience.

Apple is selling this upgrade for only $29 US, when their major releases normally sell for $129 US. At $29 Apple customers won’t be looking for much to think they have got a good deal.

Apple’s main competitor Microsoft has created this opportunity. Microsoft Windows costs close to $300. And although Mac OS X only runs on Apple hardware, people’s frustration with Vista’s bugginess and instability has led people to specifically look for a computing experience that address this.

People are hopeful for Windows 7, but it won’t be available until at least a month after Snow Leopard ships. We can expect Windows 7 to have a lot of customer untested technology compared to Mac OS X which looks to be is a very incremental release.

Performance (and polish) is a feature. “Ultimately that feeling of control translates to happiness in everyone. In order to increase the happiness in the world, we all have to keep working on this. Ultimately that feeling of control translates to happiness in everyone. In order to increase the happiness in the world, we all have to keep working on this.”, my boss Matt Mullenweg, Velocity 09 Conference Presentation.

Because Apple builds both the software and the hardware, they can release their next generation of computers to immediately take advantage of the upgraded 64-bit stack, OpenCL for graphic card processing, and GCD multi-core processing throughout Mac OS X.

If Snow Leopard is well executed and well received, it will help people be more confident on computers and expect more from their software. It will be a good day for QA geeks.

SourceForge Projects Moving to WordPress

Open source project hosting has long been a topic that interests me. I stopped recommending venerable SourceForge.net some years ago, as it’s proprietary stack (open source prior to 2001) became crufty and fell behind some of the newer and more agile offerings.

Well, I think it’s time to revisit.

I received an email on Tuesday from the “SourceForge.net Team” with the geeky and lame title of “SourceForge.net feature deprecation upcoming: forums, DocManager, TaskManager, Diary/Notes”. Deprecated should be deprecated from email subject lines, as should negative sounding email subjects.

The meat of the email is the second half (emphasis mine):

We will provide an easy-to-use migration path to move the data to the provided replacements.  We will also provide dumps of this data in case
projects want to do something different with their data.  Additional information on how to obtain or migrate your data will be provided when the
timeline is announced, in a future mailing.

The following applications are due to be deprecated, replaced by high-quality Open Source applications we have in our Hosted Apps offering:

* TaskManager will be replaced by TaskFreak!, dotProject and Trac
(tickets).
* DocManager will be replaced by MediaWiki and Trac (wiki).
* Discussion Forums will be replaced by phpBB.
* Diary and Notes will be replaced by WordPress.

To solicit your feedback on how the migration should be handled, and alternate options you would like us to consider, we are running a survey
for the next 30 days for the user base of each of these applications.  For links to the surveys, please see our Site Status post at:

http://tinyurl.com/q3g8o3

Trac and WordPress (really!) are two of my favorite open source web applications. And all of the applications in that list are highly regarded.

It’s fantastic to see SourceForge getting back to open source — ironic, no. It will be interesting to see how active they are in particulating in those projects. I dont’ think I’ve seen any SorceForge team members participating recently on WordPress’s Bug Tracker (Trac).

It’s also fantastic to see SourceForge engaging their community by posting this on a WordPress powered blog and also using surveys to solicite feedback about the migrations and the tool choices.

I would love to find out how long this change has been in the works and what people made it happen.

I also notice that SourceForge’s own documentation is now in a trac wiki. Wow, as well as Subversion, you can also use either Mercurial or Git.

The SourceForge team has done an incredible amount for open source, and I’m excited to reconsider using SourceForge.net again to future projects.

Open Source Software Project Management Web Service?

Wow, the title “Open Source Software Project Management Web Service?” is a mouthful.

Working on a small project with a friend (mentioned in “Learning by doing something else“) is a great opportunity to check out tools in other parts of the web development stack. I’ve been interested in trying out some of the software project management services and software.

(At Automattic, we mostly use prologue and trac. This is a fantastic combination!)

Likely the best approach for this project would be to first identify our needs and wants and then work through the available web services to find the closest matches.

After it being a web service, the next big want is for it to be open source software.

I have not yet been able to find any software project management web service that is open source software. Any hints?

When Knowledge Disappears

The other day, I went to reread an amazing article Eli Goldberg wrote on “Verifying a bug” written when we were both working at Flock. I was saddened to find that http://wiki.flock.com/ has been replaced by a sparse “Flock developer website” and I couldn’t find that article.

Continue reading