Wednesday, November 29, 2006

Prosper.com/Tools is here!

Prosper has revealed their lending API/Tools section . Right now it is just a dump of data from their db, but the api section promises webservices coming soon.

What's cool about this? Now you should see smart folks like me building tools to analyze and pick through prosper loans, flagging good stuff and dissing bad loans. By opening up the data like this, prosper is letting interested people create tools for themselves and others to get better results for their systems.

This kind of openness will be good for their business as reliability goes up and people can make better informed decisions.

Tuesday, November 28, 2006

USPS.com uses Google

Looks like the USPS website uses the google search appliance. I was messing about with the search url and turned this up:

Go to the search form and enter a search for a package.
At the page this takes you too, go to your address bar and erase everything after ?q=######## where ####### is your package search number.

You'll see the secret easter egg usps google home page.

Tuesday, November 21, 2006

Design: Paradox of Choice

Here's a simpler explanation of the usability design principle of avoiding choice.
Joel from Joel On Software just wrote a great and simple explanation of the Paradox of Choice.
It all centers on what is wrong with this picture. Why are there that many options to choose from when you want to shut down?

Every choice presented to you is something you have to evaluate. That evaluation takes time and brain power. Whenever possible, we should make the choices very very easy and few for the user. Things should "just work".

It is true - the iPod, a battery powered device, doesn't have an off switch. Why are there so many ways to shut down my computer? These choices require 3 separate clicks - Start -> Little Arrow -> Actual Choice.

Joel argues for reducing everything to a "B'Bye" button. One click and it prepares the computer for you being away. And it's just that simple. The task is "I'm trying to leave my computer." Therefore the design should not force the user to interact more with their computer!

I'd only complicate this by putting in a place in the control panel where you can configure this behavior if you care enough to do it.

As I write more on user experience, I'll put these posts under the label "User Experience". If that's all you are interested in, you can go here for just user experience posts.

Monday, November 20, 2006

Design: Wallet

I got a new wallet. It's made out of Tyvek, the stuff that FedEx pouches are made out of. It's waterproof and unrippable. It's also paper thin and light and I love it.
It looks like an Airmail envelope.


Full, it is smaller than my old leather wallet is.



Fits all the stuff I need, plus, I've added a tiny tiny little wallet pen so that I'm never without a pen. It's already come in handy once.

That tiny silver thing in the middle is a wallet pen.
I love this wallet. It is beautiful and lovely and inspires me with how well designed it is.

Snow Trip: Crested Butte Colorado

Brian and I are looking for good folks to join us for a new years-ish trip to Crested Butte. Dates aren't firm yet. If you are interested - get in touch.

Thursday, November 16, 2006

Concert: Marisa Monte

Tuesday night I went out with Nate and Claudia to go see Marisa Monte, a Brazilian singer-songwriter. I understood none of the songs, but it was very good music - chilled out stuff with lazy beats and happy melodies.

The staging was sparse but very effective. A few lightboxes, a platform, a few lights on movable booms and a spot. That was it, but it allowed for so many different moods.

Sometimes it suggested a warm homey room, sometimes a night out at 3 am when it's just you and the moon, sometimes a city night under streetlights... I wish I had pictures that turned out well.

I was also pleasantly suprised that when I googled Marisa Monte, the first result was a link for more info on Google Music - what's all this? Those guys keep indexing all of the world's information in new ways!

User Experience Principles: Avoid Choice but Allow It

Just had a long user experience discussion with coworker Marc about concurrency problems in settings.
His argument:
Everything on a screen should be atomic.
My argument:
Concurrency should be resolved as often as possible without forcing the user to make a choice.
Alice opens up our settings application.
Bob opens up our settings application.
Alice changes the background color on the "Quantity" column in column view "Alpha" and then save it up to our server.
Bob reorders all of the columns in the Alpha column view to the order he thinks is appropriate for their group.
Bob saves the column view up to our server.

Marc argues that Bob's settings should be rejected and he should reload in Alice's settings, then redo his work and save up to our server.

I argue that Bob's settings don't conflict with Alice's because column order is a property of a column view, not of the columns themselves in the column view. Caption is a property of the individual column.
Consider that column order has no meaning for an individual column outside of a column view collection - this is true no matter how you represent these entities in a database.
Bob doesn't care about Alice's caption change, and we should avoid bothering him about it.
If he's changed the caption of the column as well, then we have a conflict. Bob should get notified that Alice made a conflicting change, we should tell him why it conflicts, and then he should get a choice to either abandon his change and accept hers or overwrite her change with his.

Bob wants to change the order of the columns in this column view. Alice wants to change the caption of a column in that column view.
Because what they want does not conflict, we should not get in the way of what they are trying to do. We should just get it done, and let Bob know that Alice has updated some settings.

Wednesday, November 15, 2006

Great news for you - more work for me

I've made the switch to blogger beta, mainly because I love tags.
The tags are up there on the upper left corner, and I'll be going through the old posts and making sure things are tagged appropriately.

Why is this good for you, my loyal handful of readers?
As Jen W put it, I have an awful lot of "weird whacked out computer programmer drama that flies over her head". She's a pal of mine who doesn't care one whit about that stuff.
I've got good news for you, Jen. Now you can only see stuff related to me and my pals.
Change your bookmark to point to just my posts tagged "pals".

And there are some programmer types who frankly couldn't care less about what a nice time I had snowboarding. They want to only see my developer stuff.

There you go. Get the stuff you like from me without the stuff you hate.

I'll be toying around with the template a little bit over the next week or so to make it my own again after switching to this new format.

Tuesday, November 14, 2006

UI Design

I've been assigned to do the User Interface design mock-ups for our settings by my boss because I'm the guy who gets all excited by well designed things and starts talking about user experiences and such. I'm the guy who reads Passionate Users, Infosthetics, Alex Barnett, Etc. I get hot for sparklines.

Most applications are capable of great things, but never get a workout from their users because they are difficult or scary to configure. It isn't obvious to users how to do the things they want to do, so they just learn the minimum and stay with that.

Well designed things are easy joys to use. The best known thing like that right now is the iPod. People who don't know technology are not afraid of the iPod because it works the way they expect it to. In the area that I work in, users are so involved in their business that they can't afford to waste time learning the complexities of their applications. Things that are hard to understand just don't get explored, the users call up the help desk and get someone to do it for them.

Every call like that is wasted money for users and for the development/support teams. The user isn't doing their job and the developers aren't doing their job.

My task is to make sure that our newest application will be iPod easy to use and configure, no small feat when you are doing a hell of a lot more than playing music.

In the beginning I was writing a little sample application that would be a sort of be a dummy with dummy data. Of course, I spent too much time digging into the programming and produced a close-to-working-shell with databinding to object collections. Too much for a mockup. To keep myself thinking about just the design I'm doing the rest as drawings to be implemented. We've got visio somewhere but it's overkill for what I need. I got through just fine using the free web application Gliffy. It's handy and fast, exports to JPG so I can stick it in our freshly minted wiki.

I'm writing up a user experience design guide for my team as well, most of which I'm getting from what I've read in Jensen Harris's UI writings and Creating Passionate Users.

Friday, November 03, 2006

The problem of spam

Been reading a lot about spam problems lately.

It isn't a problem for me, since I'm not a high value target for spam. The other reason is that I've raised the bar by a very tiny amount. CAPTCHAs (those type the letters in the picture tests) are designed to raise the bar for spammers, and I've got kind of a unique one on this blog.

My comments aren't hosted on blogspot, but rather on a site called haloscan. That tiny little difference has meant that I have never displayed a single comment spam ever. Automated comment spam occasionally is done, but it is always done using the normal blogspot comment fields. I get notices of these when they happen, but they aren't a worry because they aren't displayed ever or crawled by search engines.

This works because spam is a problem of economics. It takes very little work to be not worth the effort.
This is also a reason that firefox tends to be more secure than ie6. Fewer folks use it and therefore its less lucrative to write firefox exploits. So one of the surprising things that would tend to make ie6 and the web more secure is if opera, safari, and firefox took off!

Wednesday, October 18, 2006

Call Nightline!

My friend Nikki pointed out the MIT Nightline for me and neither of us can get over how good this idea is. I love the idea of a number in your phone that you can call for anything. It's staffed with volunteers.

I think you could set up a non-MIT version of this based off of free labor.

Step 1. You sign up and list what you can be called about. "I can talk to people about finances, computers, snowboarding, general whatevers"

Step 2. You sign up for a time that calls can be relayed to you. "I volunteer for 6-7 pm this wednesday."

Step 3. You are now able to call in about any problem and get someone to talk to.

Your cost is mainly the servers, bandwidth, pbx system and phone time.

The trick is to balance the commitment that folks have to give versus the demand.

I think a good name for it would be to steal from Warren Ellis the name "Global Frequency".

Wednesday, October 04, 2006

when I think of the past, the twitches come back

The Daily WTF - MAKEing Fools' GOLD:

"Paul's company develops financial software that's used by major stock markets. In his brief tenure, Paul was witness to millions of dollars in loss as a direct result of their software. "


I am proud to claim Paul as a friend and former coworker. He was one of the lights in an otherwise Kafkaesque experience. I'm pleased to see in the comments shoutouts from other former coworkers, one of whom I'm guessing was Eric.

I still talk to folks who work there. They are a working hard against a very discouraging culture, and I've heard recent reports of progress.

That said, I still tell stories about what went down there.
It's the only place I've worked at where multiple people put holes in the walls in anger without getting let go.

Friday, September 22, 2006

Atlassian Developer Blog: Good Fences Make Aloof Neighbours

Atlassian Developer Blog: Good Fences Make Aloof Neighbours:

"In an enterprise environment, where every contributor to the wiki is identifiable, and every change reversible, what value remains in restricting edit rights a priori?"


I stumbled on this on the atlassian site. My group is trying out Jira and the Confluence wiki. This article from an atlassian developer expresses some of the core oversights enterprise wikis face. Rights management, like any security measure, is a balancing act. How much does rights management cost you in terms of lost good and effort spent managing the management? How much benefit do you gain?

My default setting for behind-the-firewall social software is full rights with authentication, with security imposed as needed, and only the amount of security needed to protect from specific probably problems.

Thursday, September 21, 2006

How to Deal With An Irate Person

I'm working on getting my team to have a sane support rotation so that folks can spend most of their time on development instead of constantly switching between tasks. It's good because I'll get more opportunities to do work. I'm thinking about sending tips like this: "How to Deal With An Irate Person" out to folks. I'm pretty good at handling people on the phone in tense situations, and it might help folks who don't come by that naturally.

On the other hand, it might look a little preachy.

Tags:

Tuesday, September 19, 2006

Is Your IDE Hot or Not?

As I read Coding Horror: Is Your IDE Hot or Not?
I noticed the call for someone to create a hotornot site for IDE screenshots.
It didn't seem like a bad idea, and I immediately thought of Ning, a social software platform that debuted a while ago.
They make it dead easy to create an actual application relevant to whatever social software use you are into.

I created this IDE Hot or Not ratings site in less than 10 minutes.
It's not tweaked, it could use more care, but damn - 10 minutes and it is working. It's got a few screenshots up there and a few ratings. I'd encourage you to submit yours and rate others for a lark.

And take some time to play with Ning. Next time you hear "Someone should whip up a website that lets us do x" you can finish it before they stop telling you how cool it would be. BTW - all the source code for your app is editable on Ning, but the standard stuff is truly code-free. It just works.

Saturday, September 09, 2006

Configuration screens

I'm thinking about configuration screens for stuff at work.
Some setttings affect things that happen on our server.
Other settings affect things that happen on the clientside.
There is a conflict between building things ahead of time and crafting them to be very userfriendly, and building things dynamically on the fly and letting them be very flexible.

If a setting is going to only affect things on our server we want to avoid having to do a new client release just to let the client change them. After all, the client program doesn't need new code. These kinds of settings it would be good to build user controls for dynamically. That way the client doesn't need to download anything new when we expose new settings.

If a setting is going to affect only the client side, then we have to deliver new components to the client to consume those settings. In that case, we want to deliver the new functionality along with the settings and it makes sense to construct the controls beforehand so they are as userfriendly as possible.

One way might be to deliver a document on loading up configuration screens where you list the major pages of configuration. Each listing would describe either a usercontrol to load or a list of options to construct a control around. For dynamically created settings controls you would create checkboxes for booleans, textboxes for mapping strings, combo boxes for enums, etc, then slap them all in a flow layout or something.

Even if the coolness of dynamically created controls for server side settings is doable, is it worth it? If we are creating a way to deliver updates to users in the background, shouldn't we just use that?

Wednesday, August 30, 2006

Writing With Water

As promised by the Wooster Collective, this video made my brain go wild.



What if you used a sheet of water with detergent - you could excite just portions of the water to luminesce, creating a non-scrolling display.

Thursday, August 03, 2006

Music for free: The Black Angels

I subscribe to the internet archive's public domain music feed and caught this: The Black Angels Live at Chop Suey on 2006-06-19.

I'd only heard the excellent "Young Men Dead" before, but if you want a good feel for this band then give a quick listen to track 3: "The Sniper at the Gates of Heaven".

The whole concert is available for dl in 64K mp3 or vbr mp3. You can also give a listen using the embedded flash player.

Tags:

Friday, July 21, 2006

Moves moves moves

I've switched roles within my group - now I'm working on a new real-time application. I've also moved up a floor. I miss my old seat, pictured empty below in Tim's post.
http://feeds.feedburner.com/~r/GuessmansGuess/~3/http%3A%2F%2Fguessman.blogspot.com%2F2006%2F07%2Fworking-in-solitude.html

On the other hand, the new floor has a blender. Smoothies ahoy!