UI vs. UX

The user interface (UI) vs the user’s experience (UX) is a very modern “debate” in Computer Science. ux1This can also be summarized as the tension between usability and composability, between software that is user-friendly and software that is programmer-friendly (see this talk by Conal Elliott from Google). Consumers like software that’s easy to use. But programmers like software that’s easy to compose, i.e. to combine in unanticipated ways. Users want applications; programmers want libraries. Users like GUIs; programmers like APIs. It’s not immediately obvious that usability and composability are in tension. Why can’t you make users and programmers happy? You may be able to make some initial improvements that please both communities, but at some point their interests diverge. Looking at it another way, we can look at “operation versus expression” to express the same idea of usability versus composability (see this article by Vivek Haldar). Combining these ideas, we have these contrasts.

 Usability  Composability
 Operation  Expression
 Visual / GUI  Syntactic / CLI
 Bounded  Unbounded
 Externalize knowledge  Internalize knowledge

Neither column is necessarily better. Sometimes you want to be in the left column, sometimes in the right. Sometimes you want a stereo and sometimes you want a guitar.


When I file my taxes, I want the software to be as easy to use as possible right now. There’s no long-term use to consider since I’m not going to use it again for a year, so I’ll have forgotten anything peculiar about the software by the time I open it again. But when I’m writing software, I have a different set of values. I don’t mind internalizing some knowledge of how my tools work in exchange for long-term ease of use. Read the original article here


Hawaii to bring Computer Science to every high school

This week, the Hawaii legislature passed a bill that would expand access to computer science across the state. The legislation would require the Hawaii Department of Education to develop and implement a statewide computer science curriculum plan for K-12 public school students, ensure that each public high school offers at least one computer science course, and provides $500,000 to begin to develop and implement computer science teacher development programs with the Department of Education. And just yesterday, the Hawaii State Board of Education adopted new statewide standards for computer science education. Governor David Ige joined the Governors’ Partnership for K-12 Computer Science, stating his support in bringing computer science opportunities to students across Hawaii. In joining the partnership, governors pledge to prioritize computer science education in their states and through introducing computer science education in schools, state leaders are making an investment in their students’ futures. This legislation heads to the Governor’s desk this week where he is expected to sign it. Read the original article here

Making ideas into reality at MIT’s ‘Future Factory’

Back in the 1980’s a laboratory of misfits foresaw our future. Touch screens, automated driving instructions, wearable technology and electronic ink were all developed at the Massachusetts Institute of Technology in a place they call the Media Lab. It’s a research lab and graduate school program that long ago outgrew its name. Today it’s creating technologies to grow food in the desert, control our dreams and connect the human brain to the internet. Come have a look at what we found in a place you could call– the Future Factory.

Read the entire article here