Friday, May 8, 2009


Hi All who follow me. I've moved to wordpress. their fancy dashboard and features convinced me to move. So go here from now on:

Thanks and sorry for any inconvenience.

Friday, April 17, 2009


Hello anyone who follows me. I've decided to move my blog to Wordpress. I'll keep you posted when that happens officially. Not likely until after exams though.

Tuesday, March 31, 2009

Instapaper-esque bookmarking

I already discussed this in an e-mail thread with Greg and Bill, but I thought it would be relevent to reiterate here. is another bookmarking site only it doesn't look like it's for social use (i.e. sharing with others). There are defeinitely features that are really cool though. One feature that I really like is the bookmark toolbar button. What it's for is for users to be able to browse the internet and when they see a site that they like, they can just click on the button in their toolbar and the site will automatically be saved to their Instapaper account. How cool is that!? Needless to say I was really impressed by this. It makes saving bookmarks so much easier. I don't even have to copy and paste the URL, give it a name or anything. It just saves right to my account and the next time I log into Instapaper, it's there! Amazing! Once logged in, users can edit the link descriptions, set stars, delete, and add more bookmarks. 

I think that if Basie can have that kind of toolbar functionality, students will be more likely to use it. The toolbar button could automatically save the page into the user's project/group and allow access by other members of the project. If a user is in multiple projects/groups, then it should be saved in an "unsorted bookmarks" section, where the next time the user logs in to view their bookmarks, they will be prompted to set a group for those bookmarks. Or, those unsorted bookmarks will be highlighted at the top of all the bookmarks to draw attention to them to let the user know that they are currently unsorted. Once a bookmark is sorted into a project/group it can then be edited and viewed by other members of the group. 

Here are preliminary screens of unsorted bookmarks and sorting them. 

Notice that in the second image, Groups 3 and 5 have been added and the button on the bottom says Next Bookmark. If there are no more bookmarks, then the button should say Done. This way of bookmarking assumes that nobody would bookmark pages for personal use and so every bookmark SHOULD belong to at least one group. I think that it makes sense to make all bookmarks and pages accessibly to at least one group because if a user wanted a bookmark for personal use, it's more likely that they would use a thirdparty site or just save it in their own browser. 

Please feel free to comment on this and whether there are preferences that perhaps I'm overlooking. Thanks!

Tuesday, March 24, 2009


After looking at the calendar at , this is what Basie 0.3 needs. Well something similar. The main features that we would like is the ease of just clicking times that you're available and sending it out to other people to get a concensus on when would be most convenient to have a meeting or other group gatherings. If Basie were to pick this up, we would have to determine how the average user would like to use it or design it in such a way that they could use it however they like. The second option would seem more difficult and likely less design and user friendly.

Currently, that calendar gives user the option to select available meeting times and the time chunks can be specified by the user with the 15/30/60/day buttons on the top left. (That actually really confused me for a while and did not catch on that that was what those buttons did)

I like the simplicity of being able to just click on/off a time. I would like a click and drag kind of rectangle to select multiple squares at one time. This way if I have large chunks of time where I'm available, then I don't have to select each square individually.

In the options menu, I like being able to select dates to show. However, I do feel that option should be visible at all times and not hidden away. I also like being able to adjust the time range display during the day with a separate option to highlist a certain time range.

After at least two users have inputted their availability time, the calendar has green squares and grey square with red dots in them. I think that's a neat idea because the green squares indicate times when everyone can make it and if you click on a square with a red dot, it shows which users cannot make it at that time. (Thinking back now, this would have made deciding when to have basie IRC meetings much easier).

I just took a look at In my opinion, it was OK. nothing really blew me away and although the process was pretty streamlined, it took way too many steps to complete the creation of an even and too many pages to load as well.

For Basie, I think it's most important to find out what users will actually be using this for. Would they use it primarily for scheduling a weekly meeting? or will their meetings be determined on a week to week basis? I like the Blackberry calendar application because it allows for re-occurrence of an event. So I can input something like a weekly class and have it re-occur every Monday and Wednesday until a specified end date. This is definitely a useful option when setting schedules. This will also help users plan meetings over the course of the term if the regularly scheduled meeting time is problematic for one or two weeks only. However, if Basie users are only going to use this tool once in the beginning of the term and then never need it again, something more like might be sufficient. Just set up the 'event' once and everyone remember it. Personally, I'd prefer to have something more like a calendar over a single event organizer.

Suppose we go for a calendar application. Here are some features that I think would be nice/necessary:
- Display on a week to week basis with "->","<-" arrows to go from previous or next week respectively.
- Month view should highlight, when the user has an event to attend or assignment due. Should look like a calendar month (no hour scheduling display)
- When viewing days or week, option to chunk time into hour or half hour intervals only.
- re-occurance of events (i e repeat every monday and wednesday until *some day*)
- notification of who has not responded or inputted their availability
- indicator to see which times/dates EVERYONE can attend and indicator to see which times/dates some people cannot (with list showing who is in either category)

Any other thoughts? I'm going to try and have something sketched for this, but want some input first.

Friday, March 20, 2009

Bookmarking Dilemmas...

I've been waiting for more comments on the previous posts before I made any more decision just to get some feedback. Got some good comments from Liz (many thanks again).

Some important things of note:

How many different layers of privacy should there be? It makes sense to have personal bookmarks, group bookmarks, and public bookmarks. personal bookmarks are pretty straightforward, and the current sketch of the interface will support that just fine. The group bookmarks are somewhat trickier. I think that if a user selects that, a new selection box or check-boxes should appear of the groups/projects they belong to. Then they can select which project can see that bookmark. Otherwise the public bookmark will be seen by everyone.

How public should public bookmarks be? could unauthenticated users view them? or should that be a separate level altogether? I think that all public bookmarks should be available to everyone, even unauthenticated users. However, they should not be allowed to comment or edit the bookmark. This is similar to a bulletin board where people can see posts, but not reply unless they're logged in.

Speaking of comments, I will be adding more sketches of what the "Bookmarks" page should look like with comments. I think that if we are going the route of giving users updates upon log in, then any new bookmarks that they can view (but not necessarily edit) should also appear in that list. Also, authenticated users should be allowed to comment on any bookmark they can view and only the person who posted the bookmark should be allowed to change it (i.e. if the link was incorrect or note was wrong, then only the creator could go and change that). Again, unauthenticated users could view public bookmarks, but not comment or edit them.

I'm also thinking of changing the "New Bookmark" button to just a text field where users can just type in a site url and hit enter. That would make it much easier to do, but then we get into privacy setting issues. Should the default be private for the user or public? I think in that case, the default should be private to the user, so that they can create bookmarks fairly quickly and if they decide to share it, then they can go through the extra steps to do so. In that case, should the text field be inside or outside the tabs? If we put it inside the tabs, then the default would be context sensitive depending on where it is. if we put it outside, then the default would be private for the user.

I think I need comments on that. There are so many options. Much sketch and show everyone!

Friday, March 13, 2009

Bookmark Drawings

Those are two images I made about the social bookmarking feature for basie. I went with the tab feature because I thought that would be an easy way to navigate through the bookmarks especially if users have many different levels. The "New Bookmarks" tab is like an update of new bookmarks that the user has permission to see. So either group bookmarks or global bookmarks. This may not be necessary, if we include newly created bookmarks as part of the events log or some other page where the suer can get updates. The "New Bookmark" button will be available in every tab and clicking on it, will cause a dialog box to appear with the appropriate fields to craete a new window. The default "Share with" option will depend on the context in which the "Create Bookmark" button was selected and in "New Bookmarks" I'm not sure what the default should be yet. Right now it says "Nobody" but I think that should be "Everybody". The options will be "Nobody", "Group", "Everybody".

I haven't worked out what to do if the user is part of several groups and wants specific bookmarks for each group. I'm also not sure what to do about editing bookmarks either. I think that users should only be able to edit bookmarks that they created, but allowed to comment of every bookmark. This is something I have not included in the above sketches.

This is it for now. Thanks!

Tuesday, March 10, 2009

Social Bookmarking "Research"

Asked to design a simple bookmarking tool for Basie now. I've been looking around for some good examples, and these seem to be the best though I looked through several more.

* Furl
* Google - what doesn't google have?
* Simpy

The main features in most bookmarking sites:
* URL (obviously necessary)
* title
* description
* tags

Google's bookmark saver is essentially the most basic one you can have. It only allows you to add, remove, and edit your own bookmarks. So it does not allow sharing and viewing other users'. This feature is tied in to browsing history.

One thing I've noticed with many of these sites is that the ability to add a new bookmark is always somewhat hidden away or not noticable at all. I even encountered one site that does not even allow you to add a bookmark! (unless of course I just couldn't find it, which isn't any better)

Some sites don't take you directly to the site when you click on it. It will first take you to a more details view. I'm personally not a fan and I think that in the context of Basie, it would just be easier and more intuitive to make the link take you straight to the page that's bookmarked.

Simpy has a very simple, yet not very visually appealing, interface. I like the little [+] next to links and notes to add a new link or note. I'm not entirely sure what the purpose of notes are. Simpy also allows users to create a group, watch other users, and see who's watching them. There is also a "similar users" field that, I'm going to assume, will display users who have similar links as you.

Another feature of most bookmarking sites is the ability to set the privacy level of the bookmark. Most only offer public or private. For Basie, it would make sense to have public, group, and private (though private may not be used very much).

One thing I was thinking about for this feature for Basie is the ability to easily share information among the class from the prof and from students. I am taking CSC318 which is an HCI course, and all the students are given access to all the other group projects. This would definitely make that easier to manage since at the moment, we're using a wiki page that the TA's and professor post the projects to. If every group could just bookmark a link to their document or web application, it would make it easier to get information. However, unless the course is designed in such a way where teams are able to see other teams' work, then there would not be much use for this. I can envision it being used mostly by the professor posting useful links with the occasional student doing so as well. Then in that case, an announcement, blog post, wiki, forum post, or e-mail would be sufficient.

This is it for now. I might edit this in the near future.

Monday, March 9, 2009

Summary of Usability Testing

This is a summary of all the usability testing that was done excluding the card sort. I'm not entirely sure how to evaluate those.

Dr. Project Usage:
Used mainly for wiki as place to keep meeting notes and contact information. Thought it was useful in managing larger groups.
Most conversations happened over e-mail and actually in meetings.
Revision history and event log was also found useful by another subject.
Tickets were not considered part of the work flow. It was mostly used to tell other group members to do something

Default search settings for global navigational search area should search based on the current scope. So if the user is viewing a certain project, they would expect that the general search will be in the scope of that project and if they are viewing all projects, then the search should be in the scope of all projects. Possibly context sensitive as well.
General Search default setting should be across all projects and content types with option to set scope from search box.
Could add Blog to content types
Change date formatting and text prompts since they are unclear and confusing to users.
Allowing regular expression and special syntax for search would be useful for more users who are accustomed to using them.
Alternate design idea for projects – make projects listed in drop down menu with an add button next to it. Then the user will select a project, click on “Add” button and a list will appear with their selections. It will also have to allow for users to remove projects. This list could then be saved to the user preferences as their default for advanced and general searches if they want.
Possibly rename Event Log to “Recent Activity” since event log can be somewhat confusing to some users.
Help pages should have its own search by either adding it to content type, but not including it in general search or embed it in the help menus.
Rename Mail to “Mail Archive”.
Allow search for users to find what they have changed or to find contact information possibly as well as the ability to search by user.

Search Results:
Familiarity with result formatting since it’s similar to Google.
Drawback to dropdowns and left column filtering is that it only allows you to select one of each project or category. It doesn’t let users select more than one project or one or more categories at the same time.
Side bar: 3, Drop Downs: 0
Adding a visual cue as to what filtering is selected would be helpful such as a highlighting on the side bar category and project. We could also add “in project and content” to result titles.
Result items should somehow display what project they belong to.
Allowing users to vote on result relevancy.
Someone incorporating the advanced search options into the results page so that users don’t lose that information they inputted.
Allowing users to sort their results based on types or projects is missing from the search results.
Pagination is on the fence, but definitely don’t need “previous page” and “next page” in arrow-ed pagination option.

The main content pane should also contain directories.
Option for users to type in the directory path that they want. So possibly a text box next to the breadcrumbs where users can type in the directory and file they want to view.
Filtering files or distinguishing between file types with icons would be useful to see if the file is an image or a text file.
When viewing files, the filename should be shown in the bread crumbs and the revision comment should also be shown somewhere. Some revision messages may not be file specific, so displaying the message when viewing a file might not be useful.
In showing more details, it would be more useful to see who committed the previous revisions. Also changing the whole row to be clickable or allowing users to click on the old revision will take them to a diff rather than having a “diff” link for each item.

File Differencing:
Having both panes linked and only one scroll bar. The placement of the scroll bar is undecided since all three test subject each chose a different option.I think they wanted just the browser to be the method of scrolling -Liz 3/8/09 11:58 AM
One test subject didn’t like the highlighting in both files. Perhaps only highlighting in the file that changed (i.e. the line that was added, or removed but still adjust whitespace in the other file)
One additional idea is to add a menu of function or class headers where users can jump to them.
The ability to change revisions from differencing is also another important feature.
Someone (though I think outside of testing) also said they really wanted it to be all in-line instead of side-by-side. We might want to get more opinions on that. -Liz 3/8/09 11:58 AM

Statistics seemed like more of a project management item to think about.
Not an accurate measurement of productivity in most cases.
Timeline of deadlines and meetings with a calendar would be a nice feature.
Graph of open and closed tickets or bugs is another feature mentioned that would be useful to have.
Option to set graphs based on time range such as “Since last login” or “Over all time” to give users more of an update of how much was done since they last logged in. Another user preference could be the Breakdown based on project branches.
If there were a point system, then it would be nice to see rankings and point breakdowns in.

Landing Page:
Before logging in, users should be able to see featured projects, management contact information, general recent announcements, and the blog.
After logging in, users should be able to see updates, recent project activities, user preferences page link, wiki updates.
Users should have an option to select the order and grouping of updates. Events that occurred since last update should be highlighted.
If a project has had no activity a statement like “No activity has occurred since last log in” should appear.
Frequently used pages and announcements are useful. Users should also be able to send announcements for their group. That expire after a certain amount of time or if the user removes/hides them.
An RSS feed for events would be good for users that like to subscribe.

IA Redesign:
Must change Project: edit.
Perhaps putting a search bar within each tab to do relative searches within that context.

Tuesday, March 3, 2009

iPlotz Advanced Search

I worked on this as well over the week in iPlotz. That is a VERY useful tool. I think my only problem with it would be the rendering time. It's a little slow on the drag and drop and opening of windows. This could also be my laptop since I haven't tried it on any other computers. Anyways, I think it looks much better than the terrible photoshop I did of the other one. It's cleaner which is nice. I did also change the Last Updated section based on the option they had in iPlotz.
Again, don't forget to comment! Thanks!

Mock-Ups from Code Sprint

I know it's been almost two weeks since the code sprint, so this is long overdue. These are only images of what we used to get feedback. We did get a lot of it, and I'm not sure if I want to post them here at the moment. So here are the images!
And as always, more comments are always welcome! Thanks!

Thursday, February 26, 2009

The biggest adventure of my far.

So I made a decision and I'm going to Japan to work for the Seiko Epson Corporation. I'll be gone for at least 12 months and I'm not quite sure what to do with myself right now. I'm excited and scared and anxious and about a million other things right now.

Pretty much everyone I talked to told me to take the job. (could this be everyone's way of trying to get rid of me?) It really helped to get more information from Isaac, with much thanks to Andrew, because Isaac gave me a lot more information about his experience there and definitely made it much less scary. Isaac also put me in touch with Siwan who did an internship in the city that I'm going to, but I'm still waiting to hear back from him. All in all, thank you to everyone's help and support!

The last time I went to Japan, I went to school. It was amazing! I did a tour in Tokyo and a tour in Kyoto. In fact I got to stay in a traditional japanese hotel in Kyoto, which was really cool since the school funded that trip. The classes I took were interesting. There was actually a timetable slot to learn japanese tea ceremony for all the students in the school as well as brush and ink calligraphy. All the students were also so enthusiastic about everything and so energetic. They were lots of fun to be around.

Now I'm more excited to go. I just have to make sure I get everything done before I leave and try not to get too distracted. School's not over yet!

Sunday, February 22, 2009

Code Sprint 09

Code Sprint is over and I'm even MORE excited to work on the project. I really enjoyed that sort of environment where there was a wealth of knowledge readily available as well as meeting and getting to know all the other people working on the same project as i am. Everyone was very welcoming and open to new ideas even if they were often way out of the ballpark. It was a lot of fun not interacting with a computer all day. It was definitely an experience for me. Meeting Liz and learning from her was a great experience. I really learned a lot about usability testing and prototyping. I also never Google-d so much in my life.

Some highlights:
- Usability testing. It was extremely interesting to get feedback, though contradictory. Learning how to properly do usability testing was also extremely useful. So Thanks LIZ!
- Eran's "Chicken Timbits" will also NEVER be forgotten...
- Watching David run around trying to set up networks and help pretty much EVERYONE in the room was amazing. He did an awesome job at solving everyone's problems.
- Unfortunately I was out of the room the last day when we got graphs and greg apparently yelled it out, scaring everyone else in the room. I wish I could have been there for that!

Some things to note:
- this was mentioned in the post mortem, but I agree that having the code sprint at the beginning of reading week would have been better. THEORETICALLY, yes, assignments and homework should have been done before the code sprint. However, the likelihood of that is not very high.
- I wouldn't have mind if i had to pay for more of my own meals. I think the value in the experience is definitely worth it.

I'll report on the progress Liz and I made at the Code Sprint as soon as I'm caught up in all of my other classes! :)

Friday, February 20, 2009

Search Revisited...

This is a new version of search. Please forgive the AWFUL Photoshopping. Some things to note:

- We removed the language selection from search because we were unsure of how to search user inputted data in different languages. Since the user input has no language type associated with it, unless it's the default language, there would be no way to search for items in a particular language that is not the native language. This would be a nice feature to have in the future though. However, the Help pages might be written in different languages later on, so language search for help pages will be useful for that even if it can't search through user content.

- We added the search by content and projects. By default, from the simple search bar, it will search all contents and projects, so we made that the default for the advanced search. If the user want's only one content type, then they ca deselect the "All" option which will also deselect all the other options as well. The same goes for projects. Selecting on the "My Projects" or "Other Projects" will select all projects under those headings, OR deselect.

Those are the major changes that we made. Please comment on this! ... Just not on how terribly I photoshopped that image together.

Monday, February 16, 2009

VCS UI ... finally...and what do you know? It's Monday!

Ok so here is the first draft of the VCS UI. There's another part coming. With file systems, it's often natural to view it as a kind of tree structure. So I kept that here. On the side, users will be able to navigate through their files as they would in MS Explore or other OS file system browsers. Also, when the user clicks on a file, the contents will be displayed in the right panel. You'll also notice that there is a "More Details" link. Clicking on this will slide* out two more columns. One will be the revision number, who committed it, and the size. From there, the user should be able to select two revisions and click on a "Show differences" button and the differences will be displayed. It is still unclear what the best way to do that is. From the previous comments, a side by side view would be nice, but when i looked that that, I didn't like the way they displayed the line numbers. I thought that it was very confusing especially if you're doing a review. Since both documents have different line numbers, users would have to specify which line numbers they were referring to and which revision as well. I'm not a fan of this. I suggested a multi-coloured approach. Perhaps a mix of both will do and better line numbering.

Thursday, February 12, 2009

Search updated...Finally!

Okay so I've been saying that I would have this up "soon". well "soon" has FINALLY come! Some changes to note:

- Calendar buttons in the Last Updated section. I left it as 2 fields because users may not want to specify both and by making it one line, I think they would feel compelled to fill in both to get the best results, which may not be what they want. So when they select a date from the calendar, it will appear in the text box next to it.

- Languages. I changed it to a drop down where the default will be "Any Language", but if the user selects "Select Languages from List", then a scrollable text box will appear and they can select 1+ languages.

This took a surprising amount of time to get done. Not quite sure why. But that means that I won't have the VCS UI done for tomorrow. I should have it done by Monday (Family Day). There are still a few things that I want to work out.

Wednesday, February 11, 2009

Where have all the women gone?

This is totally unrelated to designs.

I just replied to a thread on the CDF forums about the lack of women in CS. There are lots of studies about why women are not as interested in CS, but I haven't gotten around to reading them. There are hundreds of factors as to why women choose to go into CS. For me, I like building things and knowing that I've created something that other people can use to make their lives easier. Even if that isn't the present case, I'm working towards it. That is my reason to WHY. How did I know that I liked programming though? I'm pretty sure it started in high school. My first TIK course was in Visual Basic. I caught on to the syntax, structure, and ideas pretty quickly and the other girls envied me. I became the go to person if the teacher was busy. I was lucky though. The other TIK class with the same course code and description was learning how to use Microsoft Office. If I had been in that class, I may never had learned about programming at all! Crazy! But out of 100 girls, I was the only one in my grade that pursued a degree in computer science. I think one other person applied and started, but soon after dropped out and went into economics or politics.

I think it really depends on a person's personality. I like to build things and have since I was able to pick up a Lego block. I also dislike succumbing to peer pressure, so I tend to do what I want. However, for some girls in high school, they can't help but conform to stereotypes and crumble under peer pressure. So how do we reach out to them and expose them to programming? What about ENJOYING programming? We can expose them to it, but it doesn't mean that they'll enjoy it enough to pursue a degree in it.

I like the Storytelling Alice project for middle school girls, but I don't think it will work for high school girls. As a final project in high school, we were asked to create a game using all the structures we learned about. I made a short RPG whereas the majority made trivia games about pop culture since it was easiest and they like keeping up with pop culture. SO perhaps if we can incorporate an Alice-like software and integrate it with pop culture SOMEHOW, it could reach out to high school girls.

Since I've been in CS though, I have a tendency to think that I don't know as much as other people. I realize that in life there will always be people who like putting you down, but sometimes it feels like a lot of people in CS are like this. They may not intentionally mean to be condescending, but they sure come off that way. It may be because in their high school they were in fact one of the smartest people in the school. There are a lot of incredibly bright students in CS who were top (or close to top) of their class and perhaps feel a little threatened now to be a bottom feeder and competing against all the other top students from around the world.

Then again, what do I know? I'm just a woman. ;)

Monday, February 9, 2009

Monday Update...Not that I regularly update on Mondays...

Okay, so due to some time constraints, I haven't been able to draw up and scan in a new version of the Search app with all the comments taken into account. I'll get around to it. It will be done by Friday for sure.

I did meet with Veronica and Aran this morning to talk about the VCS UI. Well I mostly told them what I wanted and they told me weather it would be possible or not. I'm trying to look through their API to see what's possible, but I definitely think that anything *should* be possible. Anyways here are a few things that I think it will have:
* Tree hierarchy of the file system including all branches. Basically like Windows Exporer. The view of this should be be a smaller portion of the screen (like 20% perhaps) just enough to see the directories and filenames.
* Next to the exploring portion, will be a text area where a selected file will be displayed and users can scroll through the content of the file.
* It would also be cool to give users the ability to view the details of the document with a right-side slide-in column. It will display the different revision numbers of the document as well as who committed it and possibly the size. I say possibly the size, because in the context of small student projects, the size may not be that important. However, for large projects, it could be useful.)
* There should also be a navigational links bar on top, so that users can click on a parent directory and be taken straight there.

I'm not so sure what to do about adding files and committing new revisions yet.

Aran asked me to think about merging and differencing as well in terms of UI. I gave it some thought, and for now I'm thinking that once the user has selected 2 revisions to merge, it will appear in either a new window or page or possibly even in the current text viewing area. Where the texts are the same, it will appear in black, and where they differ, the differences will appear in different colours. So similar to the command line (in that it shows the differences one after another separated by '>' lines) but instead of using '>', we can differentiate in different colours, which is more eye-catching and easier to look at, I think. This same method can be used for differencing as well.

Sketches of everything will be coming a blog near you.

Thursday, February 5, 2009

Project Search

Thinking about searching through projects (as asked by Greg), I think that it would make the most sense to allow users to search through all the projects that they have access to. So if they were searching for a ticket assigned to them from different projects, they could see them in the search. Then in the advanced search, there should be an option, that allows the user to select which projects they would like to search in. This list should change from user to user obviously. The regular search should default to the current project or have a small like like "advanced" but instead "all projects" just underneath the search bar. I'll sketch this up soon.

** Edit **
If a project gives anonymous users read access, then clearly the project is allowing other people to look at it. So I think that it is okay to allow searching over all projects in that way. It could be useful if you're looking for one project in particular. We could always add that extra option in the advanced search to allow users to search only within their projects or all projects. Then by default, the search bar should look only within the user's direct projects that they have write permissions to and to search all projects, the option would have to be selected in an advanced search.

One thing I noticed about Dr Project when I was using it last semester was that I wasn't able to access different projects from one account log in. (Not sure if that statement makes sense). See, I had 2 different courses that used Dr Project, and I would have assumed that I could log in and see both projects. That was not the case. I definitely think that it would be useful if that was possible. So to relate this to Basie, this is definitely a feature that should be implemented somehow. Then again, perhaps the functionality was there, I just didn't know how to use it properly.

** Edit **
With Dr Project, perhaps there could be some way to allow the students or users to merge two projects in some sort of separate interface specific to them. obviously we can't allow all the instructors access to other instructors' pages, but some way to merge project pages, or some place where users can "manage" their projects would be nice.

Monday, February 2, 2009

First Search Mock-up

These are sketched of the first Search App mock-ups.

To include the search capability in Basie, there are a couple things that we need. The first is the search bar at the top of every page. It's convenient to be on any page and be able to search for something specific. That general search bar will search for the content over the entire site. There will also be the option of doing a general Google search. You can see an drop-down arrow where the user can select whether they want to search only in their Basie project or on Google instead. if they choose to do a Google search from that search bar, then a new tab or window should open with the Google results page.

The Search results from Basie will display the "Title" which will be any number of things depending on the result.
* Events - event name
* Mail - subject line
* Tickets - ticket title/one-liner description
* Wiki - title of the Wiki page
* Source - full file name including root directory (i.e. /root/trunk/

Next to the Title will be a percentage rating of how relevant the result is. The first item will always be 100%, and all subsequent results will be rated with respect to the first item. So if the first result gets 5 hits of the key words, and the next item gets 4, then the second result will display 80%.
Following the "Title" will be the context in which the search content appears.
Then on a new line, the link to the item as plain text.

In the advanced search, there are several more fields that the user can specify:
Show Items with...
* all of these words - makes sure all the words appear in the result
* this exact phrase - must appear exactly in the result
* any of these words - lets the user input words separated by 'OR'. You will notice that there is a second 'OR' after the second box. It is a button, that, once pressed, inserts two new input boxes directly below the current two input boxes.
* none of these words - will exclude any result that contain any of the words inputted here

Last Updated...
* within the last - this will let users specify how recent the search results must be based on the last time the item was modified or updated. List options would be "anytime"(default), "24 hours", "2 days", "week", "month", "year".
* before - this will let users specify how old the search results must be at least. List options would be "now"(default), "24 hours", "2 days", "week", "month", "year".

* any language
* in the following languages - lets users specify what language the search results should be in.

* Display ## results per page - gives the user the abilitty to specify how many results they want to display on one page. Since we are using pagination, users may only want to see the first few or see them all on one page. It will be a drop-down menu with the following options: 5, 10, 20, all.

I thought it would be a good idea to allow users to specify the language since Basie supports multiple languages. It's likely that in a single project, there may be multiple language source files or e-mails. So this option may be useful if the user wants to search for only e-mails written in french.

Thursday, January 29, 2009

Ideas Follow-up

I was looking for different search methods and was on the Dr. Project site. Their ticketing system doesn't need a search ability. Now that I think of it, unless the project has thousands of tickets, a search is not necessary. Then again, for a large project that might have many archived tickets, it might be convenient to go back and look through them if it's necessary. This would also help searching through all the wiki pages as well. Perhaps we don't need Search to be exclusively for the ticketing system.

I was also looking at what YouTube has in terms of a search. I like the auto completing (this may be a browser feature. I'm not sure). So if we do implement a Search for tickets, it might be useful to allow the user to start inputting a ticket topic and auto-complete it for them. That would be nifty. I was also looking at the tagging system. After talking to some users, they say that they don't use them that often. I think that the search-bar with auto-complete is sufficient for our purposes.

I haven't gotten a chance to talk to either Jason or Liz about the setting the number of tickets per page options yet. I'd like to discuss other options for that feature with them before I ask users to test it. Alone, I wasn't able to come up with a better idea. So, hopefully, together we could come up with some.

There are several ways to display updates to users. It is still unclear which would be best. Again, waiting to talk to Jason and Liz this weekend.

Tuesday, January 27, 2009

Searchable Tickets and more!

So I was thinking today:

We definitely need to be able to search for tickets, but how? Right now with a "filtering" system, that makes it pretty easy to isolate the ticket that you're looking for. However, what if you don't remember the specifications of that ticket (i.e., who owns it, when it was modified or created, whether it's open or closed)? What if you are looking for tickets based on a certain topic? This is where it would be handy to search for tickets based on topic! So there could be some key words. I remember back in CSC207 or CSC209, we did an assignment where we had to pick out the key words to be "topics" of an excerpt of text based on the frequency of words. That same assignment could be applied to this as well. OR we could ask the user to indicate tags for the ticket and so the search can be done by tags. I would prefer the first method mainly because it means the user has less to do, which is more convenient. This is a rough mock-up of what the search bar could look like. The image is a little faint.

Another thing I may or may not have mentioned in prior blogs is the ability to choose how many tickets to display at one time. Some people may want to see all the tickets at one time. We should provide for this. This would be an "option" of the grid box where the user can either input their own value for the number of tickets or use default values such as "all".
I wanted to integrate the options into some sort of drop down menu, but then that would call for the user to input a value in some sort of pop-up window or something of that kind. Personally, I don't like pop-up windows. So I used radio buttons to give the user the option to show all the tickets in one page, or select a custom amount. By default it will show 10 with the first option selected.

One thing about the "save" button. We want it to save the settings of the current grid so that when that particular user signs back in, they don't have to change the settings again. One flaw with this is that the tickets are communal. So, if somebody closes a ticket that somebody else may have been viewing, when that other person goes back to try and find it, it may be hidden by default for being closed. I propose that if there are discrepancies between the previous log in tickets and the current ticket states, some sort of update should appear for the user so that they know, "oh yeah, so-and-so closed this ticket". These updates could also include new tickets that pertain to the settings of that user. So if I have my grid set so that I only see tickets owned by me that are open and somebody assigns me a new ticket, I will get a notification that I was assigned another ticket. Also if somebody closed a ticket I owned, then I would be notified of that so that I'm not trying to find that ticket and know that it has been closed. This can either be achieved by a pop-up window (although I hate those), or an update box that appears either on top or underneath the grid. I think that on top is better since the user will see it right away.
This is an image of an update alert. I was thinking that the box should be a shade of red, but then realized that it would seem too alarming. Let's face it, it's not like the monitor is about to explode. So a light blue would be more calming.

Upon clicking the "more info" link, the window should expand (sliding the ticket grid down) and give a more detailed description of the tickets that were added or removed like so:

This is it for now! Please comment on this post. I will try to have more professionally mock-ups in the future. Perhaps even in PEN. Shocking!

Monday, January 26, 2009

CUSEC 2009

Back from Montreal on Sunday. So how was CUSEC? definitely an eye opener. A couple of general ideas I got out of it was 1) Dynamic languages is the way to go and 2) Find what you're most passionate about and pursue it.

Caitlin Kelleher was one of the academic speakers and I really enjoyed the software she demonstrated. It was an open source project named Storytelling Alice. It's a program that lets middle school kids write their own stories and have them animated. It also teaches them a little bit of programming at the same time without them even knowing it. I was excited to hear she was going to be speaking at the conference because I had read about her in The Last Lecture by Randy Pausch, so in my eyes she was a celebrity.

Another speaker that really spoke to me was the Joey "The Accordion Guy" Devilla. He was a character. He spoke of being a Tech Evangelist. I have to admit I didn't know what that was at first. But from what I could comprehend, it's a person that acts like a middle man for software developers and upper management or clients. Someone who sits in the middle with people skills (not trying to imply software developers don't have people skills). He had so many personal anecdotes that were full of adventure and comedy and all because he was following his instincts and pursued his dreams and passions. It made me seriously think about what I wanted to do.

Dan Ingalls's demonstration of the Lively Kernel was very impressive. I sat in my seat with awe and just amazed by what can be produced on the web. There were so many creative ideas that went into the Lively Kernel and I seriously wanted to just go back to the hotel room and play with it for the rest of the night (unfortunately hotel bandwidth was insufficient to allow me to play...apparently homework is more important).

I also really enjoyed Leah Culver's talk. She is a very inspirational speaker. I think that it was also nice to see a female in her mid-twenties giving a talk based on her successful career. She was a co-founder of Pownce and had been on the cover of two magazines. She is definitely a role model for me now. She said during her talk "What's the worst that could happen?" and I definitely think that those are words to live by. I don't take nearly as many risks as I should. I'm too afraid that they'll be stupid. But what the point of being right all the time? There's no adventure in that. She also had a good point in how to make money. "Use what you already have at your disposal". She had a laser etching machine and contacts at several companies. So she got a free laptop by asking those companies if they wanted ad space on her laptop for only $50-100. I thought that was a great idea. So what do I have at my disposal? Me.

Giles Bowkett also had a very interesting talk. His main idea was to take stupid risks and combine all the things that you're passionate about and make it work for you. He also had lots of crazy stories and interesting slides to go along with them. I think that he also had the most swearing in his presentation.

All of the speakers were generally very good and interesting. These are only a few that stood out to me.

Friday, January 23, 2009

Summary of last 3 weeks of designing

Different ways to show the date created:
- A ticket should display the date that it was last modified instead of the date that it was created
- It seems more useful that the ticket’s last modified date and time is more useful to the owner of the ticket and if the ticket was never modified, then the date and time would actually be the date and time it was created. It also allows other users who are tracking that ticket to know when things are being modified to be able to determine if work on the ticket is actually progressing.
- In relation to the date and time, the ticket could also show who last modified the ticket, which may or may not be the original creator or the owner of the ticket.

How to represent age:
- using icons instead of text (Note: this could also work for ticket priority). For time, a symbol like a snail travelling and leaving a trail of goo would be cute, but perhaps too childish. I have pictures drawn in my notebook, that I will post up in a bit. Another issue with icons is it may not be specific enough for users.
- Using the actual date/time stamp. This could also be cryptic to read since this is the format for the events page.
- Using more “natural” English to tell the date and time would be most intuitive to users. Phrases such as “# minutes ago”, “# hours ago”, “yesterday”, and “# days ago” (up to 7) would be fairly intuitive to users. Any older, and the ticket will just show the date. Preferably in “Jan 14, 2009” kind of format instead of numbers.

- Depending on how many levels of priority is necessary. I think that 3 levels of priority is sufficient and simple to have them colour coded (red, yellow, green) where red is the highest priority.
- If icons are used, they could be stars and go up to 5.
- I think that colour coded is best because it doesn’t require an extra column in the grid display.

- What should be allowed in one edit? If you modify the wiki, does that change the date and time modified in the ticket?
- Using in-line editing is most convenient for users.

Results Thus Far:
- The “save” button at the bottom of the grid should allow users to save their preferences for filtering and column ordering. This should also be the place where all edits are saved. This way all the tickets get edited at the same time, so users can change multiple fields in multiple tickets and it will all count as one change per ticket.
- Grid layout with filtering options in the column headers.
- Wikis are created upon clicking the “more information” button on that ticket. So if you need more information, then you can create it the first time and if you just want to know if there is a wiki, then you should be able to roll over and get a small text bubble to tell you if it exists already or not (like a handy hint small text box attached to the mouse tail. I’m not sure what those are called)

Future Features:
- Drag and Drop columns and adjustable size columns
- Editable number of tickets shown per page
- Wiki ticket title synch
- Have a drop-down menu next to the column headers space to allow users to customize the columns that they want to look at.

This is just a summary and images of my mock-ups will be up soon.

Thursday, January 22, 2009

A new path...

After listening to a talk from Leah Culver I just realized that I'm not doing what I love. I love design and creating user interfaces. I think this is mostly because I am usually the user of a piece of software that struggles to use it. So if I can help make someone else's experience with software easier and less hair pulling.

My new dilemma is now how do I do it? How do I get myself out there to get noticed?

Must find designers and get help. Make more prototypes. Get all my ideas documented here. Then maybe I will be found.

Thursday, January 15, 2009

'09 Begins

And so here's another year. I feel so pumped for '09. Ken's motto for the year is "'09 is MINE!" and that seems appropriate for my attitude as well. I definitely think that this is going to be my year. Deadlines are quickly approaching though. There are job application deadlines, assignment deadlines, CUSEC is coming up, and I am defeinitely trying my hardest to stay on top of everything!

This is also going to be the place I start writing about my adverntures is User Interface Design for Basie. I have some notes written down in a notebook because it was convenient at the time, but I'll transfer them in here soon (possibly this weekend).

This is going to be the most hectic and exciting semester ever!

'09 is Mine!