|
|
|
Andrew J. Ko Assistant Professor Box 352840 Seattle, WA 98195
206-221-0352 Interested in a Ph.D. in HCI or software engineering? Apply to the iSchool or CSE and work with me as part of dub! If you're already a student at UW, let's chat. 09.22.09 presented Attitudes in Young Adults' Computing Autobiographies06.29.09 VL/HCC paper on code autobiographies to appear05.30.09 FSE paper rejected for using qualitative methods05.23.09 presented The State of the Art in EUSE at SEEUP05.15.09 presented to the iSchool founding board01.15.09 my CHI '09 paper was accepted.11.05.08 I gave a talk at DUB.09.16.08 I am now faculty at UW. Come do research with me!05.10.08 I've posted the 05.08.08 I submitted my dissertation!04.15.08 I'm finally back in Pittsburgh, takin' it easy, writing a few journal papers :)03.16.08 My Whyline for Java paper won distinguished paper award at ICSE 2008!02.28.08 read L'Sociopath01.28.08 posted the ICSE '08 Whyline paper01.8.08 peering through panels01.6.08 parity12.29.07 read road11.13.07 finished misadventure 10108.15.07 finished the whole is elucidated08.07.07 poetry by yours, (truly!)07.25.07 wow, it's been a while. i've been a bit bookish lately, reading Sophie's World and No Country for Old Men.06.12.07 finished a chilling killing05.29.07 Finished Flowers for Algernon.05.25.07 Posted slides for my ICSE 2007 talk.05.21.07 Finished Wharton's Summer.05.11.07 Ellen did a wonderful job at her first violin recital!05.06.07 Yay! New colors.05.06.07 Finished Pride and Prejudice.05.04.07 Added a collection of Ellen quotes.04.29.07 Reorganized reading page chronologically and hid the comments until a mouse over. Added a comment on Fausto-Sterling.04.28.07 Yes, animation can be annoying. But I needed an excuse to play with Javascript. You can put up with it for a while.04.26.07 The fifty first state04.20.07 Comments on My Mortal Enemy and yay for sepia! 04.12.07 Comments on Frankenstein and new fwf entry. 04.04.07 Posted comments L'Engle's Wrinkle. 03.06.07 Remembered a bunch of books I read!03.02.07 Added page about fwf02.27.07 finished Dubliners02.26.07 musing: dying02.24.07 musing: war and sacrifice02.18.07 finished Slaughterhouse-Five02.15.07 added some summaries to reading list02.12.07 posted EUSE SIG for CHI 0702.09.07 added Ackerman quote02.08.07 musing: race me01.27.07 musing: mediated living01.06.07 bit of a site redesign |
Barista![]()
Barista is a new implementation framework, implemented in Citrus, which enables the creation of a new class of highly visual, highly interactive code editors. Editors built with Barista can offer standard features such as conventional text-editing interaction techniques, immediate feedback about errors and code-completion menus. However, Barista editors can also support drag and drop interaction techniques, new types of embedded tools, and alternative views of code. The key difference between Barista and other editing frameworks, its that it maintains both the abstract syntax tree representing a program, as well as a corresponding, fully-structured visual representation on-screen. This fully-structured tree of interactive views allows editors to have all kinds of new views, interaction techniques, and embedded tools. creating codeWith Barista, you can type code like in a regular text editor... ...drag and drop it like in Alice and other modern structured editors... ...and use auto-complete menus. embedding toolsBarista also allows for a whole new class of embedded tools. For example, here's a tool for storing alternative expressions: Here's a graphical html header for a method that includes live links, diagrams and live example code: alternative viewsBecause of the flexibility of defining views of code, Barista editors can swap between alternative views depending on the type of task the programmer is engaged in. For example, here is a programmer alternating between pretty-printed and textual versions of arithmetic code. Here is a programmer switching between a conventional textual view of a logical expression and a "match form" view, which has been shown to improve people's comprehension over textual versions. reading codeBecause Barista editor's have complete control over a view's scale, focus + context interaction techniques are simple to implement. In this editor, programmers can double-click Java blocks to shrink them by 50%, rather than having to fully collapse or expand them. |