Conversation

In cogsci, Marr suggests 3 levels at which a system (eg vision) can be analyzed: computational (the fundamental problem being solved), algorithmic (how it’s solved, abstractly), and implementation (hardware details). It’s an interesting taxonomy for analyzing tools for thought!
2
4
74
e.g. for memory systems, three kinds of analysis: * computational: the dynamics of human memory * algorithmic: schedules which optimize learning relative to those dynamics * implementation: details of software implementing those schedules All important and intertwined!
1
14
One thing I like about this approach (same motivation for Marr in cogsci): it pushes you to characterize the computational task your system is performing. e.g. if you’re designing creativity support systems, you’ll benefit from insights about what creative problem-solving *is*
1
6
(And perhaps you can use your system to generate those insights—i.e. to understand the constraints and dynamics of human creativity at an abstract, information processing level…)
1
4
I started to say “it’s awfully hard to do good analysis at the implementation level without understanding the computational level,” but that’s only sort of true. People often have intuitive understandings of the computational level that are plenty good enough.
1
6
Replying to
Interfaces seem like one of those things where simple heuristics are actually more likely to nail the right solution than computational understanding. Do you have any examples of successful interfaces that started from deep "computational" knowledge of the cognitive processes?
1
1
It's a good push. A few quick reactions: Google Search is an implementation of PageRank, an algorithmic analysis made possible by a clever computational framing of a search task. Menu bars evolve from computational model of point-and-click operation (i.e. Fitt’s)
1
1
1
Show replies