Thursday, March 13, 2008

This kind of change adds up to whole dollars

   I have reached critical mass. I have enough users now that I think I know what type of people, doing what type of things, really get something from Conjure. And that gives me great clarity.

   Here's what I mean...

   Lots of people don't need Conjure. 

   Lots of people probably need it, but wouldn't use it.

   Some people download Conjure, find it distasteful, and leave. That's okay with me. I don't want these people as customers. Frankly, I'd prefer it if these people were my competitor's customers.

   Some people try Conjure, find it intriguing, but find that it generally is not as good as what they came up with, and send me pictures of what they came up with. I like these people well enough, and I do take all suggestions to heart, it's just that they tend to show me pictures of something *I* wouldn't use.

   Then there are a few people who buy it. They saw it, looked past the (various) website(s), past the explanation, past the movies, and saw into the soul of the machine. Something was there. It connected with them. These are the people I made Conjure for, and they're the ones I'll be building it for, going forward.

   I could try to make this change the world. I could spend years analyzing and reanalyzing my users' habits, non-users' habits, and general Conjure concepts. But I think I'd come up empty. What I want to do with it is very different than what it is now, and after talking to some of my most ardent supporters, I think it's time to change things up a bit more. 

   So version 2.5 will no longer refer to Conjure as an alternate Desktop environment. And I really don't want to call it a personal organizer, or a project manager. I don't know what to call it yet, but I think these concepts suck. 

   There's a better explanation out there. 

This is an awesome insight into how big companies like Apple pull off their awesome design. From a presentation at SXSW...


Wednesday, March 12, 2008

Neat idea. Now go over there with it.

There are few phrases that frighten me more than, "I'm an idea person...".

Really? An idea person? Well hell, I gotta hang around your type more often!  Do tell, what idea do you have for me today? Oh, it's only part of the idea? Not so much an idea as it is a vague description? That's okay, I'm sure the details don't matter. 

The thing is, it's all details. That's the trick. All those high level concepts add up to zilch pretty quick.

I did a little research on People on the Desktop. Know what I found? It turns out, people have tried this before! A LOT of people! And they all categorically failed. Oh, but the press was so impressed. They went on and on about how this or that was a game changer. Everything was about to change, and you'd never use your computer the same way again. Your desktop was about to change, and you'd never figure out how things would work again. Your friends would change, and you just wouldn't recognize them anymore. 

Well it turns out, they came up with more of the same. As you can probably see from the videos (and just using the app), I am trying to mix things up a little. So I have a few new concepts I'll be throwing into Conjure pretty soon. Feel free to let me know your thoughts...

1) Minions - Many years ago, a screenshot of Copland made me so excited, I actually wrote a piece of software to try to mimic it, knowing very well that at any moment, OS8 would ship, and make my little app useless. Of course, Copland never shipped, and it turned out I had *read that article wrong*. Meanwhile, my implementation sucked. And after I wrote it, I spent a lot of time trying to figure out how it should have worked. I think I have that figured out now. Or rather, now-ish. So I'll be adding 'Minions' to Conjure in a big way.

2) Super-Get-Info-Boxen - Why is it so hard to get a full path to a file in Leopard? And what if I want to copy the modified date of a file? Well, Conjure's about to get a 'Super' info window, complete with a giant text field of info about the file. One where you can copy everything you normally can't copy, straight out of the window. It's gonna be sweet.

3) Classrooms - We have teh interwebs. We have powerful computers. We have powerful search engines. So why is it that every time I want to learn something, I have to hit twenty pages on a search engine, comb through every result, and slowly (and manually) piece together notes on the topic? Conjure will introduce a new concept, the 'Classroom'. You tell it what you want to learn, and it does all the research for you. Then, it compacts the research into a single web page, and sticks that right on the page for you, along with all the links to relevant other material, including any applications and other miscellaneous files you might need.

4) Intelligence, Newton-style - If you haven't used a Newton, you need to. I highly recommend the 2100. Now, the Newton had a lot of things I'm not going to touch. But one of them is simply brilliant, and that's the little Newton symbol. Click it while some text is highlighted, and the Newton does something. Cool stuff. So yeah, something like that is going in there.

5) Return to iPod Island - Early versions of Conjure could store their notes internally, making the app entirely self-contained. The problem with this was that my users kept wiping all their data out by 'upgrading' to new versions, and overwriting the old one with the new one. Ouch. But it was a good idea. So I've got some new thoughts on how to do that, and we'll see how it works.

6) Super-Enhanced PDF support. Hey, why not? Why not let the user read PDFs like a book, with flippy-pages? It's not rocket science. Sure, it may be eye-candy, but it's tasty, and frankly makes some sense.

7) Web pages as objects, not just links. Again, why not? Why not be able to change a URL directly into an actual viewable, scrollable, resizable web view, right on the desktop? And yeah, I know Active Desktop already did this, and that you can slice up a web page and put it directly in Dashboard. But why not put it on your desktop instead? That way, it's there when you need it, per project. 

Wednesday, March 5, 2008

People on the Desktop

Conjure supports People now, something I've wanted for a long time. But now that it's in there, I have to decide how it should work going forward. Right now, a person is a link to an entry in your Address Book. And, it's a 'thing that does something'. If you double-click it, it will launch your email client and create a new email addressed to that person. It's not much, but it's a start, and that's farther along than any of the major OS vendors. But I plan to add Skype and iChat / Adium support soon. So if your contact has an iChat name, and you double-click their head in Conjure, what should that do? What if they have a website? What if they have *two* websites? What if they're listed in iChat, ICQ, Gmail, Twitter, FaceBook, MySpace, Dot Mac, Skype, AND they have six email addresses? Well... now that smarmy bastard does a heck of a lot. So what should Conjure do? 

Here's a brief overview of the issues I face on this. Your input is obviously welcome.

Bruce Tognazzini, founder of the Human Interface Group at Apple, has this to say on his site...

"People should also be first-class objects in a modern interface. I should be able to drag a document onto an icon-sized photo of a colleague and have it automatically sent to the default address. (Of course, I could option drag a document to it to reveal all addresses, or I could just double click it to do the same.)"

Obviously, I agree. But this is about all I've seen with regard to this concept, so a lot of the design of this metaphor in Conjure is happening as a result of emails from helpful users, and my own mad thinking. On a modern computer, there are at least four basic metaphors. I know these are obvious to you, but bear with me for a minute...

1) Application (aka Program) - When you double-click this, it always behaves in a similar manner. Its contents can change, but its overall structure and design remains consistent. Also, it's not 'yours' in that they never really change too much, as a result of using them. Applications are what you use to create and alter your stuff. 

2) Documents (aka Files) - When you double-click this, it behaves exactly the same way it did when you did that last time. If you drag it to a different program, its behavior is largely unpredictable. For example, if I drag a JPEG to a web browser icon, it will likely show that picture. If I drag it to a file compression app, its on-screen behavior will be very different. It's a 'thing' you use by dragging around. Also, it's YOUR thing, and you can change it, very radically, via programs. 

3) Containers (aka folders, volumes, drives, etc.) - When you double-click this, it shows its contents. That's all. It's very unlikely you're expecting any other behavior. You can drag both applications and documents onto a container, but ultimately that doesn't change the contents. Most of the time, you don't drag containers onto programs, though you can obviously drag containers onto other containers.

4) Links (aka Aliases) - When you double-click this, it launches the original thing, whatever that is. If you drag a file onto it, it will pass the file along to the original. A link itself does not contain its own contents.

Should People be Applications, Documents, Containers, or Links? Or something more?

I can say with some certainty that a Person is a thing that you should be able to double-click on. And I think it should be on the same level as an Application, in that it could be a drag destination for a document. But it won't alter a document dragged onto it, nor really do anything to the document other than reroute it. Furthermore, it should not represent any form of storage by itself, but should be able to act as a conduit through which documents could travel. So a Person is kinda like a 'smart alias' in that regard. It should also contain its own contents. A Person could contain birthdays, names of friends, addresses, phone numbers, and lots of other kinds of information. So it's like a document in that regard. And to be honest, if you double-click it, it should either have a default behavior, or provide you with a list of potential behaviors. And that's kinda like an application. 

Drag Behavior

If you drag a file onto a person, you probably want to give it to them somehow. There are a lot of ways to give someone a document. Do you want to email it, ftp, Skype, iChat peer-to-peer, or something else? We'll probably look at the services that person has listed as accessible, and decide on that person's capabilities there. And since you might not be interested in all of those capabilities all of the time, we'll give you some method for turning on or off different features. A 'Person' might then have multiple views, or a single larger view that contains multiple drop destinations, for the different capabilities. But if we did this, a single person could get cumbersome, from a visual standpoint. 

So if you drag a file onto a person, it will then give you a popup menu of the possible actions you can take with it, along with an icon for each. For example, it might show Email, Adium, and Skype options if that user has those capabilities. 

Double-Click and Default behaviors

As stated before, a person should probably have a default behavior, which should be settable via its Get Info window. Double-clicking them would invoke that behavior. And when you drag things onto them, that behavior would be listed as the pre-chosen, first option. In fact, I might go so far as to allow you to turn off all behaviors except one, if you want. Visually, I imagine Conjure should also brand the icon with a much smaller icon indicating what action you wish to take, or a question mark if there is no capabilities associated with the user. This way, you could have three links to the same person, each with different behaviors. For example, if your assistant artist has an FTP site, an email account, and an iChat account, and you want to send him something, you could have three different links to him on one page, each behaving differently to dragged files. 

And if they're online, and iChat is the default behavior for them, we might even brand the icon with their iChat status.

But what if you drag one contact onto another contact? And what if you drag a person onto a program? 

I am curious, as always, what you think. And please feel free elaborate ;-)