I've been working on an interesting project called StoryTeller, and a while ago some of the other people who've worked on it presented it at a conference, and they got a variety of feedback. One of the recurring themes with the naysayers seemed to be along the lines of is that developers are all curmudgeons and don't like change, and this product probably isn't for them.
Granted, the conference was several months ago, and I wasn't there, so this is like seventeenth-hand information now, but I've been thinking about how new types of software can't know its user base until after it's released.
Basically, we the developers of StoryTeller can't really know who will use it until after it's been “finished” (or given its first stable release, or had more people use it. Mostly the having more people look at it is the important part). We can make assumptions, we can create something that we would like to use as developers and see who joins the party later, but we can't know who will be using it when the dust settles (the dust in this case being lots of people trying it out for lots of different tasks).
StoryTeller's different from most software. For the most part people release software that's an advancement from a previous piece of software, but still very similar to that previous piece of software. Think of each new release of Microsoft Word, they're all basically the same, but with some minor advancements, and most of them aren't visible to the end user (except for the 2003 to 2007 release which changed from traditional toolbars to the ribbon interface).
The same is true with most new pieces of software (even if they're not technically related), too. Google Chrome, while not based on Firefox or Internet Explorer (or a host of other browsers that came before it, with the kinda/sorta exception of Safari (it mostly used the same rendering engine)), is essentially the same thing, but with a slightly different user interface. Sure, to most developers, it was completely different, and provided a stream of updates that helped push the web forward, but to 99% of internet users, it was just a slightly different looking web browser, the only change was the search bar was integrated with the navigation bar.
While StoryTeller's similar to other version control systems, it gives you the ability to see how a program's code has changed over time, it's also radically different. So different that I don't even know if developers will be its core audience when it's released. What's to say that teachers don't find it incredibly useful to have their students write drafts in some text editor with a StoryTeller plugin (what's to keep someone from writing an MS Word plugin?), and developers for the most part ignore it? We, the creators of StoryTeller can't say, we can only hope.
What I'm getting at is that once a product is released, there really isn't any telling who will the core audience will be until much later on. Just a thought. Also, I now kinda want to know what other products (be they physical or virtual) have had a completely different core audience than expected by their creators…