Tag Archives: feedback

I hear you.

It’s been about 24 hours since my blog post about my address book mock-up, and the feedback has been rolling in like crazy.

The Mozilla community is really awesome. 🙂

I’ve organized the feedback into a few different sections – hopefully that all makes sense. I’ll respond to the feedback soon. Until then, this feedback is for pondering.



The search input / tag selector:

Constructive criticism

“The mockup lets you limit the scope of the search by clicking the drop-down arrow. However the current scope is not visible without clicking on the drop-down arrow.”

“It’s a step in the right direction, but the Contacts group selector should definitely NOT be part of the search box.”

“…the drop-down to select groups in the search box is confusing, give it a separate place, possibly before the searchbox, to indicate that first one selects a group (or just use all contacts) and then search within that group.”

“I don’t like the way contact categories work: it is for instance never clear if I’m looking at the full list of contacts or only my sports team. It would be better if this were separate from the search bar.”

“It also might be nice to see a list of contact groups somewhere, but maybe they’re ok staying in the search drop-down menu.  They just seem kind of hidden there…”

“If you filter by tag / category, filtering contacts works fine. However, one does not see that a filter is applied.”

“Merging the search field and the “”tag filter”” could lead to confusion. The user is not aware that he could select to see only one group until he presses the field.”

“I expected the Contacts list to filter as I typed, not wait for me to press enter.”

“I really want to be able to filter as I type and not have to press enter”

“I’d rather have each category be separate tabs that I can switch back and forth between.”

“I don’t like that I have to search in every address book separately.”

“You could be consistent with Thunderbird global search (it defaults to global but lets you limit scope after the fact).
You could use a Google-style commands where selecting a scope from the drop-down menu actually adds a special command to the search box. Think of labels in Gmail or site-specific searches for the web. For Thunderbird contacts maybe something like:
You could list the groups on the side, similar to Thunderbird’s current address book.”

“If I have entered a search term, I expect there to be an ‘x’ button that cancels the search with one click (like TB’s Quick filter search bar).”

“When searching one contact, it’s better to give a dropdown list of suggested results.”

“Some shortcuts to categories of contact would be better.”

“The concept of to combine the search capacity with the grouping by address book is… weird, here. Other parts of Thunderbird doesn’t play in that idea.”

Enhancement requests

“Would be nice to have features like search folders, tag navigation, classic folder hierarchy on a side panel”

“Is there a way to search on when the contact has been added: in a professional environment, in searching contact situation, you don’t remember the name spelling, or much details but that it was in “sept 2009″ that you have been in touch with the contact.”


“Looking good overall. I like the quick responsiveness of the search and selecting groups from the drop down”


The contact list

Constructive criticism

“Accent of characters should be neglected for sorting. The “Á” is at the end of sorting rather than within “A”.”

“You ought to sort Chinese characters according to pinyin.”

“Having a grouping by the first letter of the name might be good”

“I would like to be able to decide whether the first or last name is displayed first”

“On the left side bar, make the pictures and font slightly larger without using bold.”

“Some preferences for sorting (first name, family name, stored name, …) would be great.”

“The simultaneous selection of many contacts don’t work, it’s ok, but at least I expected that it will available… for to let to get the similar capacity of the current Tb address book: see at one glance the main fields of information of many contacts.”

“Consider to let use the displayed name *or* the full name in the contacts’ list.”

“I tried to page through the list of All Contacts, the Page Up and Page Down buttons did not work. One needs to be able to do it from the keyboard as well as by using the slider.”

“I should be able to sort by first name OR last name”

“Sorting by any field is important.”

“Sorting by Client/ Contact is important.”

“It’s better to sort the Chinese characters in pinyin order.(though they are Japanese names)”


“Nice to have the photo thumbnails in the contact list!”


The contact detail viewer

 Constructive criticism

“I would put the “Add Contact” not above the person details panel, but somewhere above the contact list.”

“I think you have to come up with a multi column details view”

“The contact details should have some headings (e.g. Internet: Mail, IM, Website)”

“You have several “Add email” items in the list. You only need one. (Of course there should still be an “Add email” item regardless of the number of “completed” emails listed)”

“In your sample data the email is always listed as “Home”. Home should be a drop-down menu with choices for home, work, custom (and “custom” should let you type in anything).”

“The gap under the name (the big blue bar) due to the height of the photo seems like wasted space.  The big photo is good, I wonder if the other data could be moved up under the name in one consistent column?  And maybe getting rid of the blue stripe?  Or you could align the photo with the right side of the screen, or put it above the name? (if there is a photo?)”

“I don’t agree with the Cobooks way of showing the fields (the data items). They’re listed with no grouping at all, there’s a lot of horizontal rulers. Google Contacts’ way of using white spaces and grouping data: I think that is a better approaching.”

“I wouldn’t use “Contact is a company” for the cases of collective entities. I would rather say something like “Contact is an organization” (think about NGOs, political parties, etc.).”

“Two columns of phones and etc is better – no need to scroll!”

“The blue bar in my mind, takes too much space. I understand the need for a picture, but why not putting a few basic fields on the right hand side of the picture?”

“The actual Address Card (with all the contact info) is too large, that size isn’t necessary. But I think you’re on the right track.”

“You don’t have to repeat “”Add”” before every item. Just say “”Name,”” “”Email,”” etc.”

“Don’t print the names of each field in grey. They should be black for maximum visibility.”

“You have a space for a picture at the top but no field for adding a picture.”

“I don’t understand what the “”Home”” line at the top is about, because it’s obviously not a home address.”

“What happened to the Eudora convention of having one page for home information and one for work information?”

“You can use an icon to replace the “”add contact””.”

“In the contact detail view, maybe we can display the short descriptions of the contact right below the name of the contact. Currently  it is just blank below the name.”

Enhancement requests

“An interesting feature I’d like to see is a ‘share’ button that opens a windows with options: share files (music, photos, text, etc), contacts or anything. It’ll be another step in system integration.”

“Please add the possibility to attach a file to a contact. This would for example allow to attach a scan of a business card as pdf.”

“It would be nice to have an option to launch an external application for calling the contacts phone numbers.”

“I’d love to be able to attach arbitrary metadata to my contacts (or any other TB item, for what matters)”

“It would be perfect, something dreamed, if we could link persons’ contacts with organization’s contacts. Something like: “Carlos” (contact) works in “Mozilla” (link to its contact tab).”


The Cobook-style “Awesome Field”

Constructive criticism

“Your textbox labeled “Type in here to quickly add some contact information” seems out of place. It is difficult to give specific suggestions since there are so many directions this could take. I discourage having two different methods for entering contact details. Either this box becomes the default way to enter any details (in which case it would make sense to have it be a separator between the completed contact details and the uncompleted “add email, add phone, add …” items. Or you remove the box and the user has to click on “add email, add phone, add…” before they can enter text.”

“I have no idea how the ‘Type in here quickly to add contact information’ thingy is supposed to work. Apparently it does not do anything yet? More importantly, it is not at all clear how I would use this to, say, add a new telephone number to a contact. Maybe something like Rememberthemilk’s ‘smart add shortcuts’ could work?”

“I also don’t understand the line that says “”Type in here to add some contact information quickly”” (split infinitive removed). Why do I need it? I can just type in information on one of the lines below, right?”


“I like your approximation, the things you want to use from Cobook. I found the “quick add” bar awesome.”



Constructive criticism

“One annoyance that I have with almost every address book implementation is how difficult it is to copy an address from an email and paste it into the address book. You have to switch back and forth between the email and the address book, copying first the street, then the city, then the zip code, etc. I often end up retyping manually instead of using copy paste to save time (and frequently make typos). If the address book is moved to a tab instead of a window it makes it even more difficult to manually retype the address, because you can’t see the email while you are typing in the address book.”

“The UI does not show any integration with the email functionality of Thunderbird! The ability to select several people in the address book and send them all a email is one of the main purposes for having an address book in Thunderbird.”

“Why are we taking the whole width of the screen? When using an address book, I often want to see my mail behind..”

“The left margin is too large. Everything should be moved to the left.”

“Also the white space between lines is a bit too much. They could be squeezed vertically a little.”

“The setting button icon on right top corner looks like the setting button icon of the latest version of chrome. maybe can use something else to replace it.”

Enhancement requests

“Please, make the address book a bit more independent from Thunderbird as a mail client. I mean, it should me integrated nicely but also be useful if someone prefers another mail client.”

“I’d like a working import/export with Google mail and other mail programs.”

“Thunderbird-contacts-lens for Unity, please!”

“And I would like to have the same address book in FF and in TB: same layout but also same contents. Not another address book to maintain/sync/etc please.”

“What I really want is a contacts app that runs on my PC that can be synced with Google, Yahoo, Outlook Android Phones, iPhones, etc so that you only have to enter contact info one time in one place and that will then be updated on all your platforms. It is the syncing that is important.”

“I think the address book should be card dav compliant ! This is very important for me !”

“Connection with Google Contacts would make this my main go-to for contacts.  Also, being able to open empathy call or chat directly from address book would make ubuntu users happy.”


“Keep rolling ahead.  This is going to make Thunderbird so much better to use.  If I think of suggestions, I’ll send them in later.  But for now: Onwards!
Thanks so much for your hard work.”

“By the way, I love the simplicity of the layout! congratulations!”

“Looks great!”

“It’s a step in the right direction”
“Like it, go on!”

“Overall, I like the clean and spacious feel and I think you’re heading in a good direction. There’s still lots of work but I suppose you’re already aware of that :-)”

“Overall, it looks awesome.”

“Thanks for giving this a try. Really appreciate the effort!”

“Beautiful. Vastly superior to current address-book.”

“It seems very clear because it’s a large space and the print is big.”

“I think it is awesome.”


“Are you planning to do this in HTML or XUL?”

“How would you add more tags to a contact? I feel like that’ll be the most confusing aspect (and it isn’t mocked up, as far as I could tell). Also, there’s no list of tags for each contact?”

“Of course, the big question will be interoperability (android and zimbra in my case) and the capacity to merge.”

“Lot of empty space on side of contact photo & name. Will some information come there?”

“Will the categories be realized as tags somehow, so I can flag my contacts with something?”

“Will it be possible to customize some of the labels?”

“But What About if We wanted to Keep Our Address in Folders Like : Clients, Vendors, Hotels, Resorts, Production Houses, Event Managers, Casting Directors etc. etc.”

“Is the format of the address book something that can be exported easily as a text or even Excel file? One of the failures of Eudora was that it shuffled the fields when one did an export (for reasons best known to them).”

A glimpse of a new address book for Thunderbird

I’ve been working on a new address book for Thunderbird.

And I’m making progress.

I’ve reached a point where I feel like the back-end can do something useful, and I want to start worrying about how the front-end works and feels and functions.

Now I’ve got a web-based super-early prototype for you to try.

A screenshot of the mockup in my Firefox browser.

Some caveats:

  1. Bear in mind this thing is super early, and super incomplete.
  2. The primary goal of this version of the prototype is to determine if the general layout makes sense
  3. Adding contacts, and adding new fields to existing contacts does not work
  4. Expect hacky hacky crap code if you look inside the mockup. Here there be monsters.
  5. The menu button in the right-top corner does not work
  6. I’ve only tested / developed in Firefox. Other browsers are not supported, and I don’t plan to sweat about it too much.

Wow, so it sounds like this thing doesn’t do a whole lot. So what does it do?

  1. It loads a list of 500 fake contacts for you to browse through.
  2. It allows you to see the email addresses for each contact that has an email address
  3. Simple searching works
  4. Different contact categories can be viewed
  5. Gives you a sense of how the layout would be. Hide Firefox’s navigation bar for bonus points!

There’s also a big fat FEEDBACK button at the top of the mock. Please give me feedback. Or click here to go to the form directly. Am I heading in the right direction?

Here’s the link to the mock-up. Give it a whirl!

And here’s the Github repository if you want to cry while reading my crappy mockup code.

Expect more of these.

Do Peer Code Reviews Seem Incompatible With The Traditional Classroom?

I recently wrote a post asking the question “why aren’t code reviews part of every undergraduate computer science curriculum?”, Gregg Sporar responded by saying

I don’t know of many professors who are really “into” code review.

This is so strange.

You would think that a process that provably helps reduce code defects earlier in development would be right up there in intro programming courses, along with “use a debugger instead of sprinkling print statements everywhere”.

So, what gives?

Well, one thought is that perhaps these courses are structured so that peer code review would completely undermine the ability to evaluate students correctly. I’ve been in plenty of classes where I’ve been instructed never to show my code to anyone else. We can vaguely discuss issues on the course bulletin board, but absolutely no code can be discussed directly. For these assignments, team work, plagiarism, and cooperative learning is a big no-no.

At first glance, it’s perfectly understandable:  it seems like the only way to fairly evaluate the abilities of each individual student. But still, it seems like that particular teaching model is really missing out on a huge opportunity to give their students valuable feedback.

I have to make some corrections, though. I haven’t been completely honest. I’ve made it seem like I’ve never had any code review done in my courses at UofT, and that’s not entirely true. Quick examples: in CSC180, I did pair-programming with another student – and pair-programming is certainly a type of peer code review. In CSC301, my team would rigorously review the diffs of each other’s repository commits, looking for flaws, and emailing back and forth defect reports. We weren’t explicitly instructed to do this, but it certainly seemed like a good idea at the time for the success of the project.

But it’s nothing like this.  Look at it this assignment from Carnegie Mellon.  What a great idea for an assignment!  How come this type of assignment seems so rare?

Back when I was an Electrical and Computer Engineering undergrad, one of my professors once told me that “great programmers write great code because they read great code”.  I think this is something that was missing in my formal education: how to read, review, analyze, and critique code. And above all, what beautiful, elegant code looks like!

In my academic Drama classes,  we poured over tons of famous, landmark plays.  And of course we tore them apart, boiling them down, analyzing them, critiquing and debating, arguing our pants off…  I got good at reading them.  My critical evaluation skills in this area are pretty sharp.  I can tell when I’m reading something really well done.  And, because of this, given some practice, I could probably write something half-decent if I put my mind to it.

So I think that’s something I’m missing from my computer science education.  Perhaps there’s a good reason for it’s absence – but if there is, I don’t know it.  Instructor moderated peer code reviews, or (even better!) code reviews of industry software…that sounds juicy.  That sounds useful.  That sounds like valuable feedback and instruction.

It’s too bad it never happened.

Anyhow, I haven’t answered my question yet.  I still need to finish my review of Smart Bear’s Cisco study.  I’ve also found a case study where code peer reviews were used as part of an introductory computer programming course – I’m interested to see what they found out.