Long time no blog. Have been training as an artisan (bread and occasional bagel) baker and playing some hereandthere high-level Ultimate.
Here's part of an email I just sent to the mouseHole scripters list.
Alas, I haven't had time to work on the mouseHole of late -- I spent some time instead exploring the possibilities of the curious Firefox extension POW, which I got to half-work as a pseudo proxy.
I'm not sure how much POW has progressed since I last looked at it, but I think in the long term, building on something akin to POW might be the way forward, even if Ruby isn't yet directly supported in most browsers. I described some of these concepts here in "Remixing the Web":
http://graphics.stanford.edu/~lwu2/ (third paper link)
essentially trying to replicate a mouseHole-like programmable proxy within Firefox itself, driven by jQuery and JavaScript, which at least reduces the programming burden if you've read jResig's JS book and feel comfortable enough in that tongue with jQuery at your side.
Since that work, I have also heard about Jaxer but not read much about it. It might be what some of us are half looking for?
On the one hand, there's something _why elegant about the tight combination of mouseHole, Hpricot and Mongrel, but on the flipside, Firefox's core can support SSL, is HTML/DOM compatible with itself, and can make use of extensions such as POW, GreaseMonkey, and the like.
To reiterate, it's a common reductionist pattern to think of the alternatives as being either the browser as the point of modification (extensions) xor programmable proxies as the point of remix (for example, see Bolin's MIT thesis where he makes this exact bifurcation), but we're at a point now where we can have our programmable proxy cake and eat the browser kiddies too.
Does that help? Googling for "jaxer programmable-proxy" doesn't seem to show any hits right now, and while I've seen discussion of doing mouseHole-like programmable-proxy ish things in POW, I don't know if anyone else has followed up on that vector of attack, beyond the proof of concept we built for "re:mix", but to me it seems like the Right Enough way forward as we try to democratize these tools of production and ICT.
~L
In other news, the Stanford University visualization research group now has a new web presence at graphics.stanford.edu/vis, and my most recent collabo project, called Vispedia, also has a new project-page-home on the web at graphics.stanford.edu/projects/vispedia.
Finally, in putting together a brief list of my recent work as a CS PhD student here at TheFarm, I realized that four of my recent projects and my current "Sniff and Scratch" work all have the theme I briefly mentioned in my mouseHole mail, that of "democratizing the tools of production and ICT".
And while there is great work in the larger space of using technology in the journey towards social justice, and in reducing digital divides, I am sort of more interested in looking at technology with a social justice and democratizing lens, and beyond the analytics that are common in the history of science and technology, I think it's important to try to have time-flow-positive impact in the coming years and decades, in a constructive here-it-is way, in contrast to the retrospective here's how it was fifty 2 a hundred years ago.
Kay, in the spirit of my flexitarian with a vegan offset foodie philosophy of late, I'm going to make some food for lunch. Chow, ciao.
I had a nice little chat with jResig of jQuery fame tonight, on javascript hacks and the future of the fox.
I heard about Richard's K-Sketch from Mentalguy, who seemed to think it was as yet unreleased, but a CURIS undergrad and I were both able to get this kinetic sketch pad up and running on both Windows XP and Vista, with VS 2005 Professional and C# Express respectively.
I had thought of sending out the link to why's HacketyHack mailing list -- I guess I'll do that now -- telling folks to hack together K-Sketch with HH, to help motivate programming through storytelling.
srk has us video prototyping these days, as a way of quickly sketching user experience, and here's what I tried out.
Iteration zero wasn't a video at all, but rather a UX comic put together with a combination of my old Samsung 1.3M pixel cell phone, Flickr, and plasq's Comic Life (which comes with recent MacBooks).
I quite enjoyed iteration zero, as I was able to wander around PA snapping shots with my cell, sketch overlays with a sharpie, and then Photoshop/Seashore them together.
For prototype One, I mainly combined a PNG version of my UX comic with Keynote transitions, in addition to using online demos of Opera Mini, the 3GP video recorder on my old Samung cell, and the freely available CamStudio to tape a portion of a Photoshop screen, manipulated off(cam)screen with some PSD layer legerdemain.
CamStudio worked well enough on Windows, and the mobile phone video had the added benefit of quick turnaround (Bluetooth transfer) and a low-to-medium fidelity feeling to its digital film grain. I couldn't find a OS X screen (video) capture utility that I could quite trust, and ended up using Windows Movie Maker on Vista to splice things together.
Prototype Two was done mostly in Keynote, which seems to offer a nice suite of transitions and build-in / build-outs, but it didn't seem to offer the kind of motion paths one gets with K-Sketch. In concert with a Flickr (Creative Commons) search, this video prototype got built a lot faster. Unfortunately, exporting QuickTime from Keynote seems to look pretty jerky (on my 2GHz 2GB RAM MacBook Pro), and SWF export seemed to screw up the Comic Life speech bubbles which I had copy+pasted into Keynote. Sigh.
Prototype Three, the most recent one, was done half in Photoshop CS2 (thank goodness for Academic site licensing) and a licensed copy of Techsmith's Camtasia Studio. I highly recommend both Photoshop and Camtasia for video prototyping, in spite of their high (for a student) price points. CamStudio suffices for simple video screen capture, but Camtasia goes a step further and offers the ability to quickly edit the captured footage: cutting out unnecessary footage, inserting captions and focus points, zoom+pan and the like.
I don't have first-hand experience enough to report on any FOSS video editors or compare them against iMovie / Windows Movie Maker or even Final Cut Express, but I'm guessing non-gratis, non-libre software wins there again.
Is there any academic work on video prototyping? I'm not sure, I have yet to look, but I feel as if there ought to be a useful point to explore in that space, beyond bpb's DEMAIS and Richard's K-Sketch, somewhere in between Expression Blend, Keynote, Photoshop, and Camtasia too.
K-Sketch might not be a bad place to start, although it depends on MSFT's Ink SDK, and it's hard to say how painful it would be to port K-S's C# to Mono.
A friend of mine working the graveyard shift in Beijing recommended me a book, titled China, Inc. -- oh the wonders of the Internets and IM -- and in looking at Bunnie's reports on Chumby things Made in China, I'm glad I don't have to directly compete with that large sliver of the economic world.
But back to K-S and HCI. How much would K-S benefit from layers and/or the ability to import PSDs/PNGs? I don't know, but a K-S-enabled HH would be pretty sweet.
I've been reading Bonnie Nardi's Small Matter of Programming once more and I highly recommend it. I have also been reading Cypher (ed) 's Watch What I Do: Programming by Demonstration again, and getting up to speed on theories of all sorts.
I'll end on some recommended links for you to chew on...
- On the ground running: Lessons from experience design « Speedbird
- A design and usability blog: Signal vs. Noise (by 37signals)
- Baekdal.com - The Goal is Pretty Simple
- adaptive path » blog
...and some papers too.
- Harel, "Statecharts: A Visual Formalism for Complex Systems" (1987).
- P. Baudisch, "Summary Thumbnails" (2005)
- S. Baluja's recent work at GOOG on the Mobile experience
- My recent faves: Mary Czerwinski, Bonnie Nardi, and Eszter Hargittai
On the way back from lab, I stopped to throw with a few kids (and, apparently, an alum) in the neighborhood.
Today, I skated a bit more than a continuous mile.
Yesterday, I threw a solid, flat, reverse discus (owf).
On thursday, I saw tribbles.
As I sit here pondering whether or not to actually go to GOOG dev day tomorrow, I got wind of Google Gears by way of Twitter, and it turns out my blogged prediction a few weeks ago was not half bad:
(My out-there hypothesis: GOOG is already working on a platform to address the issues that Chris and I have raised, and will announce it at the end of May in San Jose. If they don't, you'll disappoint me GOOG!)
Well, it's the end of May now, and GOOG Gears was just announced. Offline support is, at least, a decent start.
Mozpad had another IRC meeting today, and I'm not as optimistic now as I might have been last week...
I created and started filling out this map of the mozpad universe, only to realize that the biggest moon in the Mozilla world (at least in OS X land, based on iusethis data), is actually Camino!
Thunderbird seemed to clock in at 10% market share, with Flock / Songbird claiming no more than 5% OS X market share for that application space.
I was considering earlier today making a map like so of the Mozpad world, but perhaps more like this infoviz of relative sizes, but here with area/volume being proportional to user populations, textured by OS X dock icons (but as you can see, I haven't gotten to it).
At lunch, I chatted for a bit with Thomas Sha, the fellow who led the creation of YUI, the Javascript toolkit we chose to make use of when prototyping our design tool for mashups, and asked him about the future of the open web. He made the point that openness has a cost, and that sometimes you don't want more ideas, more code, more design. Sometimes 'tis better to make something that works and then standardize later (Ruby or XHR?) rather than attempt some open standard first that nobody uses or wishes to adopt.
I've been thinking a lot about the future of the Fox these last few weeks, attending CHI 2007, a local Ruby conference, and chatting with del.icio.us Yahoo! Joshua, DHH, and chief wrangler Mitchell B. the other night here at TheFarm.
Over the summer, part of my research will try to make use of the openness of the current Web to make itself even better, but as of right now I'm still trying to finish up a few research projects and playing with the latest nightly build -- "Minefield" -- of Firefox 3 alpha 5.
The integration of Cairo seems to make East Asian language typography that much nicer for typesetting in the small, but I do miss Camino's beauty and, as a web developer, the facility of web-app prototyping that Adobe and MSFT tool chains promise us.
I ask myself, for example, if I wanted to build my own HacketyHack, how many hoops would I have to jump through to get it working on a MozPad moon versus an Adobe Apollo or a MSFT Expression Blend?
Besides lending a non-corporate voice to the MozPad crew, and contributing open source energies to a "fast and delightful HTML parser" written in Ragel-Ruby, my few suggestions to the MozCo MoFo orgs are these:
1) In the Foo Bar Baz SuperHappy-syle of unconferencing, instead of holding an "active Mozilla developers"-only set of days, bring in folks who want to write the next HacketyHack or myEBayFox, who want to be the next Blake Ross or build little apps to make their web apps just a little easier to use.
Moon camp anyone?
2) Clients are starting to look more like servers (IronRuby on the client, too) and servers are starting to look a little more clients, as back-end engineers learn JavaScript and front-end engineers learn Rails. While these once were two very different worlds, client and server, I think it still pays to take a lesson from Matz, like DHH did, and focus on how the programmer feels while programming. Firebug makes you feel great. Can we do the same for extending how we browse/interact/play/communicate on the web, too?
We need not fully address the question of End-user Programming of the client-side web, but even if we deCOMtaminate Mozilla-land, how much better off does that leave us? I would call for, instead, a RESTfully organic Firefox.
We use del.icio.us and ma.gnolia.com, gmail and 30b, why not take their lead and self-host Firefox's top-level components with RESTfully localhost (!) web services, HacketyHack Mongrel Merb-style, rather than try to dig our way out of the kingdom of XPCOM.
GoogleAmaYahoo have shown that web services work on a global scale. How come I can't roll out my own personal web services for bookmarking, dealing with a microformatted web, or even just personalizing my own web UX?
3) MozCo and MoFo -- Mozilla Corporation and Mozilla Foundation -- is neither some faceless for-profit corporation nor some green-blood bleeding non-profit. It's both but neither, which, as Mitchell points out, is somewhat confusing.
My final suggestion is this. Perhaps we should think of MozCo + MoFo not as some conjoined twin of corp. and 501(c)3, but as a social business.
What's that? In the words of Nobel Laureate Yunus,
Now, that's a vision I can get behind.A social business will be a non-loss, non-dividend company
Many young people today feel frustrated because they cannot see any worthy challenge, which excites them, within the present capitalist world. Socialism gave them a dream to fight for. Young people dream about creating a perfect world of their own...
We get what we want, or what we don't refuse. We accept the fact that we will always have poor people around us, and that poverty is part of human destiny. This is precisely why we continue to have poor people around us. If we firmly believe that poverty is unacceptable to us, and that it should not belong to a civilized society, we would have built appropriate institutions and policies to create a poverty-free world.
We wanted to go to the moon, so we went there. We achieve what we want to achieve. If we are not achieving something, it is because we have not put our minds to it. We create what we want.
What do you want? Do tell, do tell. Tell, and then do!
Today, Tuesday, CHI 2007.
"What's Wrong with HCI Prototyping & How Can We Fix It?"
This session was more about "What's Wrong with CHI, Prototyping For" rather than HCI Prototyping in general. Suggestions: Need a Morbidity + Mortality track for CHI? Analyze your failures, why things died out.
Panelist comments: A HCI Prototype should be: Understandable, Usable, and Useful. But doing all of these at once is expensive, as is creating multiple prototypes and doing any sizable user study.
Why don't HCI researchers publish their code more?
For InfoViz, tough to create prototypes -- MSR has their own libraries to make this easier.
"CHI is methodologically promiscuous, a good thing, let a thousand flowers bloom."
Chatted with a designer from JSTOR, they use Axure for prototyping.
"He Says, She Says: Conflict and Coordination in Wikipedia" -- super packed crowd, interesting graph of degree of involvement in online collaboration from digg, reddit, delicious (light) towards wikipedia (heavy).
Lunch with CMU HCI students.
Web Mashup Course. Mashable ingredients can support exploring the design space to find "bad ideas" (Alan Dix), and might encourage a Schoen-like "conversation" with the materials, not really like traditional user-centered design or software engineering. Current barrier/threshold to building mashups is high, requires knowledge of multiple languages and environments.
End-user Programming SIG -- discussion of "End-user Software Engineering", led by Brad Myers and the rest.
Lots has been done on EUP -- end-user programming -- but what about the rest of the software lifecycle? Requirements/notation, debugging and documentation, operations and testing, etc.
How do you foster "reuse communities"?
EUSE shouldn't start from traditional SE and slap on GUI -- there are often different values, motivations, and unique language/environment constraints.
Missed talk on "The Life and Death of Online Gaming Communities: A Look at Guilds in World of Warcraft".
Chatted with Dave Ungar for a bit, lamenting state of environments for today's languages. Told a few researchers and designers about HacketyHack.
Ah, Self!
I spent the day at CHI 2007.
CHI MADNESS -- seems like a good thing.
Two takeaways for the day:
First, my fav talk of the day:
Mary Flanagan, "A Game Design Methodology to Incorporate Activist Themes"
Helen Petrie, "The Relationship Between Accessibility and Usability of Websites"
I got a friend of mine at GOOG to ask Eve about this proposal some weeks later. She wasn't interested. read more
on life and literacy, remixed