Thursday, March 29, 2007

Hearing blogs: literally



One of the things that is very time consuming is reading blogs. Even though I subscribe through Blogarithm's service, which e-mails me the list of blogs that have been updated, I don't read all of them since I'm so busy working on PhD research and other stuff. However, I listen to my iPod mini all the time in between transit from school and home. So, wouldn't it be great to translate all the blog feeds that I read into MP3 and then subscribe them in iTunes? Well, this is what Talkr is all about, you've heard of Flickr for photos, frappr for mapping photos onto location. It seem the next thing is adding the r at the end of a word, even Motorola is doing it with their cell phones like Razr, Krzr, and now I've heard of the Lazr. What's with the 'r' phenomenon? First, we had the 'e' as in e-services, e-government, e-mail, etc., then the 'i' that Apple started with iPod, iTunes, iMovie, iRaq, iRan (ok you have to see the YouTube video on this, to understand what I'm talking about). It looks like we're not continuing the vowels, but now the consonants.

Anyways, back to what I wanted to say. I was just reading the KMDI newsletter which I subscribe to (and manage to find some interesting and fascinating stuff), and came across this Talkr service which allows you to translate text from blog feeds into MP3 audio. I thought that's great! That's what I need. So naturally, I decided to just try this out with my own blog feed. Anticipating, I'll be able to hear my own blog posts, I heard nothing, it didn't seem to work. So, I decided to try it out with Talkr's own blog feed. You can hear it here. But as you can hear, it still sounds not quite good, at least not as good as a regular podcast, because they're using some computer-generated voice to talk based on the translation of text.
I don't think I could hear that on my iPod, there's something if a person doesn't sound that good on a podcast, that really bothers me when I listen.

Still an interesting service though.

On Technorati: , , ,

DCS seminar: Gillian Hayes from Georgia Tech

Today, there is a talk from Gillian Hayes at Georgia Tech. She is talking about Support and Surveillance: Audio and Video Recording in Daily Life. I've noticed that her supervisor is Gregory Abowd who is doing work in context-aware computing. Abstract of her talk is here.

Capturing information is too much work and hard, a lot of times I know that I want to record stuff in my life using my camera and video, and it definitely is not trivial and can be cumbersome. Her work deals with how to do selective archiving of audio and video. This relates to a project that Microsoft Research is doing which is MyLifeBits from Gordon Bell.

One study that she is looking at has to deal with how to use technology to help autism patients. Right now, paper forms have to be done for record keeping of the autistic child's behaviour. Therefore, the recording and capture has to be made really simple. This was tested out in a school deployment and every teacher completed successful assessment with minimum amount of training. In this system, teachers were able to still get access to the data if they were to miss the incident. One concern is that it took longer to review the data, because the teachers had to spend the time to view the video. Teachers felt in control because they were part of the analytic process.

Another study looked into the acceptability of selective archiving in an informal space, which formed the BufferWare project.

The objectives of the case studies dealt with the tension points for users when doing selective archiving and capturing of audio and video. For example, who owns the data? Another question has to deal with when to record, and if recording, is this a potential risk? Does it become a technology for self-monitoring? Therefore, there can be an element of intrusiveness of the technology. As a result, acceptability of the technology requires understanding and trust.

Selective archiving is an appropriate and adoptable approach for functional behaviour assessment. One of the things she is looking into is the effects of selective archiving and capturing on collaborative publishing and editing. You see this with YouTube where people record and post videos, but they don't really collaborate on them. But all these case studies had technology built into the space, what about the technology in a mobile setting? Gillian and others created the Personal Audio Loop, where you would be able to record audio at a particular point in time and find it.

One of the things that I'm curious to know is this. These are specific case studies where the technology is deployed in the environment for capturing and recording. What about for the average individual, for example, going on a trip? Are there concepts, design elements from these studies that could be applied for selective archiving for the average person? And how could something like this be incorporated into a blog?

Tuesday, March 27, 2007

PhD research proposal document done!

I've just finished writing and sending my PhD research proposal to my commitee, which is the second part of my PhD checkpoints in Computer Science at U of T. My research proposal meeting will be on April 3.

Yes, finally done this part!

Monday, March 26, 2007

PhD research proposal

Apologies if I have not been blogging lately, but I've been quite busy finishing up on the PhD research proposal which will lead towards my thesis proposal. Lots of late nights, but it's nice to see that my previous papers and research are beginning to cohesively come together as a PhD thesis. Finally, I see the light at the end of the tunnel, and the PhD journey will hopefully be finished by the end of this year or early next year.

On Technorati:

Thursday, March 22, 2007

Tapan Parikh talk at CS at U of T

Tapan is giving a talk about Designing Appropriate Computing Technologies for the Rural Developing World, he is from the University of Washington.

Here is his abstract and bio:

Globalization has seen an increase in disparity between developed and
undeveloped regions. Disproportionate access to information
technology is a symptom and a factor contributing to this disparity.
In particular, people living in the rural developing world have many
information needs that could, but are not, being met by IT.
Technology for this context must be low-cost, accessible and
appropriate given the local infrastructure, including conditions of
intermittent power and connectivity. In this talk, I describe my
experiences developing CAM - a toolkit for mobile phone data
collection for the rural developing world. Designing technologies for
an unfamiliar context requires understanding the needs and
capabilities of potential users. Drawing from the results of an
extended design study conducted with microfinance group members in
rural India (many of whom are semi-literate or illiterate), I outline
a set of user interface design guidelines for accessibility to such
users. The results of this study are used to inform the design of
CAM, a mobile phone application toolkit including support for
paper-based interaction; multimedia input and output; and
disconnected operation. I provide evidence of CAM's usability,
breadth, and real-world applicability. Regarding real-world
applicability, a CAM application for microfinance data collection is
now being used by 17 NGO (non-governmental organization) to serve
over 10000 group members in two states of India. Regarding breadth, I
list some important rural data collection applications - including
for retail supply chain tracking, agricultural monitoring and health
care - that we have implemented, or can be implemented, using the CAM
toolkit. I conclude by discussing possible topics for future work and
my long-term research vision.

Bio: Tapan S. Parikh is an Intel Fellow and Ph.D. Candidate in the
Department of Computer Science and Engineering at the University of
Washington. Earlier, he received a M.S. degree in Computer Science
from UW and a Sc.B. degree with Honors in Molecular Modeling from
Brown University. Tapan's research interests include human-computer
interaction (HCI), systems engineering and information and
communication technologies for development (ICTD).

This talk is interesting to me because it has great relevance to applying technology to the rural developing world, that the urban communities take for granted. How can we solve the problems in rural areas using a mobile phone solution that deals with understanding context. The first part is understanding the context through a study that he is talking about how to provide financial services to the poor using computer technology. This study was done in India. Information can be the bridge between the formal and the informal. There is a need to design a system to make it accessible to users, and geographic. How to design a user interface for rural users who are semi-literate or illiterate? There was a test with a group of users, where the group hired a person to record the data on paper and pen. Then the paper representation was then reproduced as a software prototype on a laptop. For user response, there was a wide gap for looking at the computer and how to use the mouse to move around the screen. So in his design, he used icon buttons. Users then started to gain confidence after playing around with the user interface and clicking on buttons which would output in local language audio. I found that pretty interesting that illiterate users were able to work with the system, I can't even get my parents to try to use a computer!

The second part is to actually build the system. The solution that he used was the mobile phone which has a numeric keypad, speakers and microphone, is battery-operated and low cost. The HCI research community uses paper user interfaces for prototyping and leverage affordances of paper in digital user interfaces. But these approaches have had limited impact, and rural developing world may be the killer application for paper user interfaces. He created CAM, an application toolkit for mobile phones which includes a CAM browser and CAM scripting language to interact with the forms. The phone is used to capture the audio and images from paper, and then can review it on the phone for the user. The paper form has specific images that are captured and is associated with a particular action. Here's the paper of this that he presented at UIST 2005. This paper form that has special images which is captured by the phone, reminds me of the work by Intel Research Cambridge UK that dealt with capturing concentric circles on paper (like bar codes) and those correspond to performing a particular action. This is pretty neat, then there is no need to have to deploy something like RFID tags, because this is a low cost solution, and all phones now include a camera.

So how does this work in the field? He is now explaining about how he evaluated CAM. His results showed that the users performed significantly better with audio than textual prompts. The system has been deployed in India and commercialized by Ekgaon Technologies. CAM can also be applied to other field areas like agricultural monitoring.

His future work is looking into building a toolkit on top of CAM that allows local people to build their own solutions, and provide them with the tools and application development resources. The rural development using computer technology is now a hot area in many research institutions like UC Berkeley, Princeton/UW/MSR, MSR India, MIT Media Lab (with Nicholas Negroponte's One Laptop per Child).

This is very interesting work, and he mentioned this motivates students and others to work on this to contribute to solving real world problems.

On Technorati: , , , ,

Wednesday, March 21, 2007

TorCHI meeting tonight at Autodesk Canada (formerly Alias)

Tonight, I attended the TorCHI meeting which was held at Autodesk Canada, where Alias used to be, before Alias got bought out by Autodesk. The talk tonight was by Gordon Kurtenbach, Director of Research at Autodesk. Before going into Autodesk, I took a pic of outside Autodesk below.



Here's what I got from the talk. I've always wondered why did Autodesk (which is into engineering design software, the famous product being AutoCAD) buy Alias? At the time (about 1 and half years ago), I didn't quite understand. After tonight's talk, now I understand why.

So, as I always do at talks, I whipped out my laptop and started making notes. I wanted to write this on the blog so I searched for an Internet connection. I got connected to One Zone but I couldn’t connect to the Internet so I’m writing this in Word. This is the talk by Gordon Kurtenbach as part of the TorCHI meeting for the month of March. Gordon is the mastermind behind marking menus, he has 21 patents, and won an Academy Award for Ryan. Autodesk bought Alias Wavefront over a year ago. Alias is well known for its Maya software which was used for making the computer generated characters for the Lord of the Rings. Beside movies, games are becoming very realistic as well as commercials.

Architecture is now doing rendering with 3D realism, to see what the thing they are building, before it gets built. The media tools are used to amplify the artist’s talents. The technologist should not turn into an artist and vice versa. The user interface needs to fit the skills of the user. So what is considered natural interface for the user? It really is relative to the person who is using it.

What is natural? What is intuitive? What do those terms mean? It means it is a knowing of what the user will do. Ben Schneiderman, Stu Card, and others were the ones that laid the background for graphical user interfaces. With a musician, practice is what you do to learn how to play an instrument. Gordon’s PhD thesis dealt with accelerating the practice of user interfaces from novice to expert.

Gordon’s work on marking menus deals with the user using a pen to move and mark, and there is a menu associated with the direction of the mark. Marking menus can perform faster than regular linear menus which we have in software.

Another example of another user interface is to use bimanual input. Gordon is showing a video of Bill Buxton showing tape drawing, which car manufacturer companies use to show a drawing of a car.

Learning from a traditional medium, the tape drawing can be replicated in the computer as shown in the picture below.



It is the mastery of the skill that makes an expert able to use an unnatural interface (to a regular person) become a natural interface.

Alias then took these research ideas and prototypes to the field, and created Alias SketchBook Pro for performing sketching on a Tablet PC. Alias created a tracking menu for zooming and panning using a “jar lid” where the widget of the tool moves along with the jar lid. The widget tool can have two or more tools simultaneously attached to the cursor. The whole idea is to put all the accessible tools for the user clustered and close to this jar lid or wheel.

There was this really cool screen where you can move the screen and navigate inside and around a virtual car. This eliminates having to wear glasses and do virtual reality. Gordon ended his talk in that context matters with user interfaces.

All in all, it was a great talk. There were demos afterwards. This is a great example of taking a PhD thesis, and then applying it to research in industry and making a career out of it. I'm sure I can definitely learn from this, when it comes for me to get a job after my PhD.

On Technorati: , ,

Tuesday, March 20, 2007

CS lecture talk on web servers to databases to storage systems

From web servers to databases to storage systems: A methodological
approach to system design
Dr. Bianca Schroeder
Dept. of Computer Science, Carnegie Mellon

Modern computer systems are complex, and designing systems with good
performance and high reliability is a major challenge. In this talk,
I will show how a measurement-driven "methodological" approach to
system design can create better systems. The approach combines
real-world measurements with techniques from statistical workload and
failure analysis, user behavior characterization, analytical
modeling, performance evaluation, and scheduling and queueing theory
to gain insights into system behavior that lead to better design
ideas. Specific applications we consider in this talk include: (*)
How to schedule connections in a web server to combat transient
overload; (*) How to provide QoS for database transactions; (*) How
to exploit client behavior patterns to maximize system performance;
(*) How to improve reliability of large-scale clusters and storage systems.

Bianca Schroeder is currently a postdoctoral researcher in the
Computer Science Department at Carnegie Mellon University working
with Garth Gibson. She received her doctorate from the Computer
Science Department at Carnegie Mellon University under the direction
of Mor Harchol-Balter in 2005. She is a two-time winner of the IBM
PhD fellowship and her work has won two best paper awards. Her recent
work on system reliability has been featured in articles at a number
of news sites, including Computerworld, Slashdot, StorageMojo and
eWEEK. Bianca's research focuses on the design and implementation of
computer systems. The methods she is using in her work are inspired
by a broad array of disciplines, including performance modeling and
analysis, workload and fault characterization, machine learning, and
scheduling and queueing theory. Her work spans a number of different
areas in computer systems, including high-performance computing
systems, web servers, computer networks, database systems and storage
systems.

Right now, she is talking about system design for web sites where the design goals are low response times. A commercial web site consists of a web server, database system and storage system. Let's look at the web server. Queueing theory can be used to schedule web requests. How to improve the performance of static requests? The standard method is timesharing (FAIR), where the tasks are allocated a certain amount of time and share that time, so all tasks have equal opportunity. Her way of approaching this is to use an optimal policy called Shortest-Remaining-Processing-Time (SRPT) to minimize mean response time and minimize the number of jobs in the system. The challenge is how to implement this in a real web server? The mean response times for loading in Apache/Linux was a 10X improvement over the FAIR strategy. Web workloads are heavy-tailed. Large requests under the FAIR strategy will get done and there is more workload compared to those requests using the SRPT where almost no workload is done.

For databases, the question is which resource to schedule? The bulk of the performance is based on wait time in the database which means acquiring locks. Most databases implement a 2-phase lock mechanism for concurrency control and consistency. So, the question then translates to how to schedule locks? Can we have preemptive policies and non-preemptive policies? So the key idea is to preempt only lock holders with long remaining time, but this requires having to do bookkeeping and trying to predict the future of the tasks. Her results show that they improve existing research in this area.

For the storage system, it must be reliable. What makes this reliability hard is that failures are not exposed since there is no failure data made available. Manufacturers and vendors don't want to expose this data. She collected this data from 30 systems. The real data does not match the theoretical assumption that failures can be modelled as an exponential distribution (remembering my Software Reliability course I took at Waterloo!). For summary, many common assumptions about disk failures are not realistic. Failure rates are higher than vendor specs, time between failure are not exponential, failures are not independent.

In conclusion, can request scheduling to improve response time for all requests, transaction scheduling can improve response time of "big spenders" without hurting others, and many common assumptions on failures are not realistic. It would be interesting to see why it is that existing failure models do not model what actually exists in reality. I also remember reading an article part of a grad research database course about the modelling of disk drives, and one of the things I criticized is that how accurate this is. Modelling is always a tricky thing in my opinion, especially when you're trying to model something like failures, where they can be random and spontaneous, and are affected by many factors.

On Technorati: , , ,

Friday, March 16, 2007

Talked about my research at U of T's CS undergrad open house



Today, I talked about my research at U of T's CS undergrad open house. I explained about how with all the social media out there like blogs, videoblogs, wikis, tagging, etc., it is difficult to discover at a high level the social interaction that is happening. How do I know that I may want to subscribe to this blog vs. another blog? I need a way to figure out how to compare between the two blogs. I might want to subscribe to a particular blog because it provides me a sense of community, that I have feelings of membership, of belonging with the group. I feel that I can exert an emotional connection with others on the blog. People join sites like Facebook or MySpace, because well we as human beings are social, we want to share things, we want to talk, we want to make friends, we want to social network. This presents opportunities to discover what is that behaviour, and how to characterize it.

My research deals with that, how to find a sense of community in social media, and I gave an example from my paper showing a diagram about how a social network can be created from the blog interactions, and then we can filter that network using structures and social network analysis in order to find communities. Then, I had a booth in the atrium after to discuss about more of my research and give a short demo.

On Technorati: , ,

Talking at U of T's CS undergrad open house today!

Today, I'm going to talk about my research as part of the Interactive Media Lab at the Computer Science undergraduate open house at U of T. I will be speaking to high school students and later will be having a poster which people can come and see my research. Should be fun, I love doing and participating in these type of events, and sharing and discussing my research. I'm really glad I'm doing a PhD, as I love to share my ideas with people, especially those who do not know my research, and how my research can make an impact on society.

You can find more info about this event, which I blogged at my research group's blog.

It's been a while since I've done this kind of thing, explaining my research, to outside the academic community. The last time I did this was when I was in Waterloo and I talked about my Masters thesis as part of the Bell Canada University Lab's FIRST program.

On Technorati: ,

Tuesday, March 13, 2007

The Apple iRack

Oh, another classic Apple parody, funny, check it out!



On Technorati: ,

DCS seminar talk: Thomas Wenisch

Today there is a talk by Thomas Wenisch from the Department of Electrical and Computer Engineering at Carnegie Mellon University, which is on Temporal Memory Streaming. This is a systems talk. Abstract for the talk is below:

While semiconductor scaling has steadily improved processor performance, scaling trends in memory technology have favored improving density over access latency. Because of this processor/memory performance gap­ often called the memory wall­ modern server processors spend over half of execution time stalled on long-latency memory
accesses. To improve average memory response time for existing software, architects must design mechanisms that issue memory requests earlier and with greater parallelism. Commercial server applications present a particular challenge for
memory system design because their large footprints, complex access patterns, and frequent chains of dependent misses are not amenable to existing approaches for hiding memory latency. Despite their complexity, these applications nonetheless execute repetitive code sequences, which give rise to recurring access sequences ­a
phenomenon I call temporal correlation. In this talk, I present Temporal Memory Streaming, a memory system design paradigm where hardware mechanisms observe repetitive access sequences at runtime and use recorded sequences to stream data from memory in parallel and in advance of explicit requests.

I think this work is interesting in that it takes advantage of past accesses in order to predict future accesses and do prefetching. It is trying to do some intelligent mechanism for improving performance of applications, by using statistical sampling and distributions. Main memory accesses cost 100s of cycles. The key idea is recording and replaying recurring miss sequences with temporal memory streaming. There is a paradigm shift in computer architecture from clock and instruction level parallelism (ECE728 dejavu from University of Waterloo's undergrad Computer Engineering program). His future work is dealing with architecture support for programmability for parallel software.

On Technorati:

Saturday, March 10, 2007

Move your clocks ahead one hour for Daylight Savings Time

Due to the US Congress ruling to maximize on daylight, and save on energy costs, Canada is also following suit to move our clocks one hour ahead for Daylight Savings Time. That means tomorrow we have to change our clocks, 3 weeks before the regular time. This means that some electronic devices and computers may not correctly change the time, as it is not programmed for this change. Most software like Windows XP can recognize this change, by having you download patches to fix this problem. Check the web site of your manufacturer and software to see if they have issued a patch. For Windows, Windows Update will be able to handle this. However, if you don't have a patch, the worst case is you have to manually adjust the hour ahead yourself. No big deal in the home, but for businesses especially in hospitals, then it is a big deal.

Some schools and businesses have spent money to fix this problem, but obviously this is not as the scope as the Y2K problem.

So this means we lose an hour of sleep!

On Technorati: ,

Thursday, March 08, 2007

Blogging your life away anytime anywhere on a cell phone!

Many people do moblogging, in which they use a camera cell phone to post pictures they take with their camera cell phones and upload them to their blog through the cellular wireless connection on the cell phone. It's a way of capturing something right away and putting it on the web and blog, rather than having to remember to download the photo from your phone to your computer, and then uploading it to a blog.

I know for me, if I don't do something right away, it will never be done. So, if I'm travelling and take lots of photos, it would be really neat for me to upload right away from the camera to Flickr or to my blog or whatever site I use. Anyways, it still is not easy to attach a photo or to blog from a cell phone. A site called Glogger aims to make it easy to publish photos on a blog instantaneously from your cell phone and avoid the cellular fee charges for uploading.

How does Glogger work? You have to download a software on your phone, the software is written in J2ME and it connects to the Glogger server. Check this diagram from Glogger which explains how it works.



Everybody has heard of Blogger, which is Google's blogging software, which is what I'm using for my blog here. But a Glogger is someone who cyberblogs. What does cyberblog mean? Well, a cyborg is someone who has a computer attached to his/her body. So a cyberblog is a blog that is created a by a cyborg. Steve Mann from the University of Toronto is a cyborg, he wears his head-mounted eyeglasses and has a computer attached in his fanny pack and is able to communicate in augmented reality. Thad Starner is also another prof who is also into wearable computing. I had the privilege to meet with Steve Mann and take his wearable computing course in the ECE department as part of my PhD course electives. Mind you, I wasn't really a cyborg (although I would have loved to try on the head gear), although my colleague Sacha Chua actually did wear on a wearable computer in her undergrad.

Glogger was created by two U of T students, Raymond Lo from Computer Science and James Fung from ECE. I came across this from reading the U of T bulletin. They have a paper about their project from the ACM MultiMedia 2006 conference. Glogger software runs on J2ME phones like Nokia and Sony Ericsson, they have a list on the Glogger web site. They also run on Motorola phones like the RAZR V3x. My cell phone is a RAZR V3, I wonder if it will run on that? I'm tempted to try this software out just for kicks, if I can find the time to do so!

On Technorati: , , , ,

Friday, March 02, 2007

TVs on the GO Train!

My friend told me how he saw TVs on one of the cars on the GO train. I've never saw one before but coming back home from school, I did finally see it and I took a picture to prove it.




Apparently, you have to listen to FM 88.1 on the radio in order to listen to the audio, I didn't have a portable radio on me, so I couldn't listen to it. Another example of wasted money, which could have been put to better use to fix the trains instead of having all these switching and engine problems which have been happening on the GO trains for the past half year. I don't know how many people will watch on the GO train, just like same thing with the screens they have at the subway station (like Union). I would say put all that money to much better use, like improving service.

On Technorati: GO Train