Improv Remix Dailies

Inspired by The Wooster Group, we’re going to start making dailies for each day* leading up to the showcase. Below are the first two! Check Twitter or my YouTube channel for more as they come out.

* Not absolutely every day.

Posted in me-news, theatre | Leave a comment

Improv Remix Call For Performers: July 28th – August 3rd, 2014

Dustin Freeman and Montgomery Martin are looking for 3-5 performers of any age and demographic with a background in improv or comedy to collaboratively playtest a live video remix system. Performers will interact with an array of motion sensors and cameras to construct a series of original scenes from live video recordings to be presented August 1st to 3rd.

We are also seeking a volunteer stage manager and front of house for the public showcase, as well as volunteer technicians to assist with the assembly and operation of the technology and lighting during the week.

For a demonstration of the technology at work see this video:

And this website:
http://dustinfreeman.org/jb/thesis/

The commitment includes approximately 16-20 hours of rehearsal and performance (flexible) time, located at the Storefront Theatre in downtown Toronto.

For those interested, please send a brief description of any relevant experience.

Dustin Freeman
dustin@cs.toronto.edu
Montgomery Martin
montgomery.c.martin@me.com

Posted in art, creations, me-news, research | Leave a comment

Metadata Secret Friends

In the future, there will be friendships consisting entirely in verbal form, with no digital record. These will be special, intimate, beyond anything analyzable by the machines we use on a regular basis today.

Kids will start doing this. It will feel fun and covert at first, but will gain a special meaning. Parents will be concerned about these special, secret friendships. If you have nothing to, why hide your knowledge of this person from the grand scheme of things?

We’ll have to meet these people in person, outside the view of digital security cameras. The most accidental of meet-cutes, without any digital pre-planning. We can trade addresses or names, but can’t trade email, or Facebooks, or Twitter handles, or phone numbers. The machines don’t own dates and times, so we can use those to coordinate, as long as we leave our phones at home.

“Future”, etc., what have you.

Posted in commentary | Leave a comment

Big Blimpin’: Getting the Right Feel of Flying an Airship for an Installation

The Hive

This is an install in a 3 x 8 metre room with stereoscopic projection (a Hive) in the Communitech Hub in Kitchener, sponsored by Christie Digital and CAFKA. The project was started by Ruth Gibson and Bruno Martelli (aka Igloo). There is more about the conception and themes of the project on their page. This doc is a description of the interface and behaviour used to fly the airship around the abstract landscape. I (Dustin) worked on the programming and collaborated on some of the physical interface design.

General Info and Visiting Instructions

We have a high-resolution scan of Svalbard, an island far north of Norway. The island is very secretive – it is suspected there are a few military bases nearby – and if you look at the satellite view in Google Maps, the resolution of the data is very low. While you can fly around most other places in the world at high-resolution using Google Maps, Svalbard is separate, still mysterious and far away. Also, if you want to leave a city in Svalbard to wander around the island, you are legally required to carry a gun to defend against polar bears. In a world that’s generally well-mapped and understood, Svalbard stands apart.

Svalbard via Google Satellite

We represent the island as a wireframe. This visualization originated to give us a sense of the resolution of the data, but when we noticed the size of the polygons changed drastically depending on detail of the landscape, the aesthetics of it were quite nice. While it looks somewhat retro, Tron-ish, that is not exactly the feeling we are aiming for. It is hard to aesthetically explain the feel of this without experiencing the landscape in the Hive. A hill made of raw polygons somehow draws one in much more than a hill that is filled in and shaded. It is very unusual for polygons to be regularly arranged, and you are drawn towards small-polygon, high-detail areas. Whatever algorithm was used to simplify them from the source data creates a Jackson Pollock-like arrangement of triangles that is visually enticing.

Abandoned Polygon Closeup

Personally, I’ve always been drawn to representations of cold, north, mysterious places. Out of the whole Group of Seven, I have always been drawn most to Lawren Harris, who entices me with his simplified, iconic representations of north. Somehow, an iconic form of the landscape feels more true and effective than one that is literally photographic.

Lawren Harris' Lake and Mountains (1928)

The Status Quo of Navigation

In the commercial space where our Hive is set up, it is mostly used as a tech demo to tour groups, and rented by architects to visualize building plans for clients. The space is large enough to walk around a digital car. The current tool to navigate across 3D space is a smooth-future-plastic-molded object with a trigger and a joystick, called a view tracker. The curved plastic sections hold retroreflective markers visible to the 3D motion tracker cameras set above the Hive.

The Hive's AR Tracker Navigation Tool

A forward push on the joystick of the view tracker lurches us forwards in the direction it is pointing. While the velocity is proportional to the push on the joystick, the acceleration is instant, which makes navigation a disorienting stop-and-start affair, similar to Flight Simulator’s slew mode.
The nature of this navigation doesn’t lend itself to the slow, meandering navigation we wanted to achieve with our piece.

The Feel of North and Exploration

I don’t want to put words in Bruno and Ruth’s mouths, but I’ll summarize what I got out of them from conversation, and their previous work in virtual spaces. Much of their work looks like video games, but they are very careful to avoid making things gamey. Explicit visual goals should be avoided, as should a sense of progression. Anything of the sort puts exhibition attendees, whether or not they have video game experience, in the mindset of trying to figure out what the world is wanting them to do. They don’t like their work being compared to Dear Esther (which explores an island in the Hebrides), or to Tale of Tales’ body of work (http://www.tale-of-tales.com/videogames.php). Both of these tend to fudge the definition of “game” – which, if you believe Salen and Zimmerman, require a “quantifiable outcome”. Dear Esther isn’t “hard” in the game sense – the player (experiencer?) just meanders about an island discovering sound bites. However, these weave together into a primarily-linear story, and yield a sense of finish in the end. Bruno and Ruth want to avoid the sense of progression altogether in their virtual environments; more wandering, perhaps, than exploration. I remember one moment, in the middle of playing Dear Esther, where I was unsure where to go next because I had not discovered any more sound bites, and ended up switching from a meandering state to more frantic running around the edge of the thus-far explored map.

(see Glenn Gould’s “The Idea of North” chapter in his Solitude Trilogy))

What does this mean for the sense we want to make of exploring Svalbard? The north, or any sort of lonely exploration, is cold, hard and effortful. The immediate slew mode given by the view tracker felt just wrong. The amount of detail we have in our scenery is enough that you can leave the Hive in any one position on the map, and spend minutes looking around. It is unclear if this is because of the (literally physical) immersion of the Hive, the island model, or the natural curiosity of the occupants (us). The high speed given by the view tracker is almost boring. I recall games that use fast travel as a mechanic you must depend on, and I always try to avoid it when playing them initially, but end up begrudgingly giving in as points of interest are so far apart. I also recall how Jon Blow describes trying to make the level design in The Witness feel exploration-y in the sense that the most interesting stuff in any location is almost immediately in front of you, and that you don’t get a sense that you are ever in a between, filler place.

Our fundamental idea for navigating the space emerged as a floating airship. Many of the initial explorations over the northern polar regions were by airship, and they often departed from Svalbard, so this worked thematically. Additionally, Bruno and Ruth found a really nice wooden wheel in a nearby shop that we wanted to put to use. Thus began the interesting design problem of taking the dinky, finger-movement navigation that currently is used in the Hive and turning it into something that felt more like it should feel.

The Wheel!

A for Effort

There’s an optimization in Human-Computer Interaction to accomplish more with less effort. Get through more list (accurately, of course) with less physical and mental exertion. However, as I’ve said above a couple times, that just didn’t feel right in our case, and we sought to make an interface that did. We needed to control:
- Turning left and right (the wheel, obviously)
- Going up and down (floaty, like a blimp, as opposed to like a plane)
- Speed (Not too important, but people should be allowed to stop at points of interest)

With video games, you want to have a high degree of control. You go fast, turn fast, generally do things that would make you throw up in real life. Our goal is to produce slow, contemplative, meandering motion. The controls could not be too responsive as, in the Hive, that can lead to motion sickness, and fast controls imply that the controller has somewhere to go. Managing the controls themselves and observing the landscape as it is passing by should be its own delight.

It was hard to come up with a setup for the steering wheel that required the right amount of effort to turn, yet still turned smoothly. In the meantime, I implemented WASD-style controls for the airship, AD for left and right, WS for elevation, Shift to go faster and Control to brake to zero speed. I set it up so that if no speed controls were pressed, then the speed of the airship would slowly tend towards an “idle” speed, like a car with automatic transmission. This turned out to be really nice and it made it so that when exhibitors would first come across the exhibit, the ship would flying slowly, and the interest of the scene was high enough that it could be watched for several minutes. Having a non-zero starting speed also satisfied some of Bruno and Ruth’s goals in the sense of wandering. If the airship starts with zero speed, it requires user interaction to start things going, and one cannot interact without an intention. This is the odd problem of deciding where to go once you get in a car or on a bike. Frustratingly, unless you live in the middle of a flat desert, you need to think about where you’re going to go before you start going there. This thinking is usually tedious and not very fun. Having a passively-moving ship you can gradually seize control of is much more interesting.

With our basic WASD controls set up, I prototyped some of the feel of the airship’s flight while others hunted down hardware for the physical controls. The first device we got was a Logitech racing wheel, including two levers right behind the wheel, and a gas/brake pedal. The wheel had a nice torque feedback where it pulled back to centre, but its look and feel was far too much like a racing car. We also found a joystick, which we felt would work well for controlling climb and descent. The racing wheel came with gas pedals, but we felt it would be uncomfortable to use these while standing. Putting a chair in there would encourage visitors to stay longer, which you don’t want in a gallery.

Gas and Brake by Exertion

We had an interaction by turning something (the wheel, changing heading), and an interaction by a control column (the joystick, changing elevation) and I really wanted to find something of a different character for speeding up and slowing down. Ideally, speeding up and slowing down would feel different from each other, but I would be happy with anything that was different from the other existing controls. We were excited about using an engine telegraph to control throttle, but it would cost $800+ to buy a real one that was large enough, and making one and running the cables to a separate object would be too much work.

I became really infatuated with a linear pulling motion, the kind that feels like you’re pulling on an emergency drag chute, or, opening a valve that lets a torrent of rocket fuel into your engine. I thought of finding a screen door piston (a novelty to the British), and we looked at a few, but found they required too much force. During a trip to Toronto’s Active Surplus, I came across a whole bin of paint-spraying tools, which provided both damping and a pulling-back spring. These would be perfect.

While it would be nice to have a linear measure of how far these tools were pulled, we opted for a set-up where a rubber band would pull on a binary switch mounted on the top. Using a rubber band, instead of a less stretchy rope, ensures we can travel over the entire length of the tool’s extension without breaking the switch.

The effortful piston assembly

These tools were mounted from the ceiling, and we hung down a length of nautical-looking wire. To visually and physically differentiate gas and brake, we used different knots, and stained wooden knobs stolen from different tools. I like how the brake pull cord looks and feels a little bit more like an “emergency” option because it is easier to grab onto and yank on.

gas and brake setup

The tension required to pull these down felt quite perfect – you can hold onto them and rest the whole weight of your arm without actuating them – it requires sustained effort to gas or brake.

The effortful piston assembly

The Wheel and The Stick

For the wheel, we used a large AC motor to provide resistance and a solid shaft to spin around. If you give it a good spin, it rotates a few times before slowing to a stop, like on Wheel of Fortune. We got a local carpenter to build a solid wooden box that the motor sits in, which sits on top of a very sturdy metal stand that we cannibalized from a table.

For the stick, we disassembled a joystick and inset it in the wooden box so the stick came through a slot, restricting its movement to only forwards and backwards. We removed the molded curvy plastic shaft and drilled into a wooden dowel to create a longer shaft, and shoved it on the end of the stick. This creates a nice, heavy feel to moving the stick. Unfortunately, the stick doesn’t have much damping when it returns to zero, so it bounces slightly.

Climb/Dive Stick

To get rotation signals from the wheel, we had Michael Yan set up an Arduino Leonardo with a rotation encoder. To keep it simple, when the Arduino was plugged in a USB port, it acts like a mouse (after a hiccup where Windows XP tries to identify it every time), and we send mousewheel events when the wheel turns. The stick was already a USB joystick, so we just had to plug it in. To get the signals from the gas and brake switches, we ran wires across the ceiling girders, down the wall and across the floor, soldering them to buttons on the joystick circuit board. This hack works nicely as we don’t need to build any more circuitry (on an Arduino) and we can test the gas and brake behaviour by pressing the built-in buttons on the circuit board.

Overall, the final set-up is quite nice. I wish we had come up with something a little cooler for the joystick, like something at hip level on either side, but we ran out of time and didn’t want an extra thing on the floor that people would trip over and would be have to be moved each day by the gallery manager.

Feedback of Gradual Changes

I’m going to talk about interface and motion design of the blimp since I’ve described the entire physical interface. Realistically, the motion design and physical interface were being designed side-by-side throughout the process.

Turning, climbing and descending, and acceleration and braking are all very slow. Being in a gallery space, and without giving any clear goals, our interface needs to be walk-up-and-use, and this runs counter to an interface that responds slowly. I conceptualized the motion design as having a gradual outcome, but requiring immediate feedback. The immediate feedback needs to be designed so that what the gradual outcome will be is obviously hinted.

For climbing and descending, we pitched the ship up or down.
For gas or brake, we thought of doing camera shake or sound effects, but could not come up with something in time.
For turning, we rolled the ship – except this was harder to figure this out, and I’ll explain it in the next section.

Climb/Dive Feedback

These are fairly obvious and align with people’s intuition towards airplane movement. For the stick and the pull knobs, these control a rate of change of a variable. The immediate feedback is of what that rate is.

However, as I was working on the wheel, I ran into a design problem: it has no true zero. We wanted a ship’s wheel that would spin several rotations. If we had had a gearbox, we maybe could have put physical stoppers so that its entire range of motion was, say, 5 rotations. This is how a rudder operates, and to get back to zero turning of the ship, you have to turn the wheel back to zero. Now I could solve this by creating stoppers programmatically, where the wheel will stop responding after you spin it past a certain threshold, but this is confusing for the user, and I was running across a second problem. Unlike the stick and the pull knobs, you could turn the ship with the wheel without exertion, by leaving it off-zero, and the ship would have to keep turning in that direction. Maybe we could have had some force-feedback wheel that pulls itself back to zero, but we did not. However, an exhibit where a user could spin the wheel to one side and leave it at max turn was not acceptable.

We needed to throw away realism and figure out a better way to operate the wheel.

An Unrealistic Approach to Turning

I think that an interface that is dramatic is much more fun that an interface that’s realistic. I was inspired by the scene in Star Trek IV where the whalers are frantically spinning the wheel of the ship to turn it away from the Klingon warbird. If our gallery visitors wanted the airship to turn very quickly, I wanted them to work for it.

Whalers spinning a wheel in Star Trek IV
(Incidentally, they are speaking a dialect of Northern Norwegian in this scene)

The obvious approach is to map wheel turn rate to ship turn rate. However, it’s easy to make the ship turn TOO fast if you really spin the wheel. You could limit the rate read by the ship, but really spinning the wheel should still be significant somehow. The approach I went with was that turning the wheel incremented a “turn queue” variable, an amount of turning the ship was required to do, at its own pace. Turning the wheel an amount to starboard could put 20 degrees on the turn queue, which the ship would “eat up” as it turned to starboard. While in the middle of this starboard turn, the wheel operator, could turn the wheel to port, eating up some of the queue, and returning the turn queue value to 0. Then, the ship will quickly stop its turn, and continue on its current heading. This approach of using a turn queue meant that the ship wasn’t very responsive when a turn was starting, which is what we wanted, but was responsive when the turn was stopping. Anything else would likely be frustrating for our visitors.

The consequence of this turn queue approach is that to keep the ship continually rotating, you need to be continually spinning the wheel, exactly like what the whalers are doing in the Star Trek Video.

In Control/Not in Control

The blimp is very hard to fly with one person, both in terms of reach, coordination and exertion. We’ve found in our playtests so far that when more than one person are in the Hive, they help each other with the controls. There’s enough cognitive and physical effort in a single control for any one person. If you have one person trying to operate, i.e. do something significant, with all controls simultaneously, then it is quite nice and dramatic.

I really fantasize about people doing it as a group. It reminds me of when I’ve spent time on a tallship, and commands are being yelled up and down the deck. Even the simple act of turning about is a complex chore, but one that somehow feels satisfying once you’ve finished it.

General Info and Visiting Instructions

Credits

2014 In search of Abandoned CAFKA14 Christie, Communitech HIVE Kitchener, Canada

In search of Abandoned
Concept & design Gibson/Martelli
Sound – David Jensenius
Programming: Dustin Freeman
Additional programming: Jeremy Sioui, Brandon Ryan
Interface: Michael Yan, Rex Lingwood, Dustin Freeman

Special thanks to: Marian Wihak, Jesse Scott, Kristina Foster, Sarah Kernohan, Gordon Hatt, Dylan Reibling, & all of the CAFKA & Christie & Communitech crews

In search of Abandoned is supported by a CAFKA / Christie Residency Program

Posted in art, creations, me-news, technical | Leave a comment

Real Escape Game: Review

This Saturday, myself and 9 friends participated in the Real Escape Game TO. Its structure would be familiar to any avid video gamer or puzzle solver: you are in a locked room, and need to follow a series of (not obvious) clues to get out. As soon as I heard about it, I recruited friends over Facebook, and with extended friends that came to a total of 10 people. The slot we booked was for 11 people, and in my mind this was perfect, as we had one guy who knew noone – a wildcard – at least, as I fantasized about it. Probably a plant. Probably we’d have to kill him, or his surprise ability to factor large numbers would come in handy.

This review contains no spoilers for the puzzle itself. The most spoiler-y thing I talk about is some high-level strategy.

My expectations varied wildly going in. I thought they’d be so high that I would inevitably be disappointed, but I enjoyed it very much and would definitely do it again. This particular room was the first “volume” of a series of rooms the same company will be doing in the future.

My puzzle-solving lineage goes back to playing Myst and Riven in the olden days. I played a bit of Sierra games, mostly Space Quest, but that felt like less puzzle solving some times and more hunting around in pixels, or arbitrarily combining objects together. For the puzzles in The Room, it involved pen, paper and coordination.

I was curious how you could keep 11 people busy and not bored for the 1 hour we had to complete the room. We did not succeed, but we were very close. At the time we played, only 1/24 groups in Toronto had beat the room, and apparently the winning group only did with 1 minute to spare. In San Francisco, there is a duplicate of this room, and the win rate there is 18/1000. We managed to finish the big first stage about 30 minutes in, which is supposed to be quite good.

When you’re initially let into the room, it looks like a normal living room, slightly larger than an average, with an assortment of furniture, paintings, tables, books everywhere. There was nothing immediately obvious that screamed of a clue, like a disembodied head or something, except there was a door at the far side we were instructed to open. Of course, we were all hyper-actively thinking of what to do. Once we were allowed to start going, I, almost as a joke, started disassembling the piece of furniture that was immediately in front of me, and that turned out to be spot-on. The game is very well designed, staging clues from nearly immediately obvious, to much more rewarding if you try harder and look deeper. All of us were busy most of the game, either taking things apart or searching to find clues, or assembling these clues into puzzles and solving them, yielding results that would help us unlock (often literally) more puzzles.

Unlike a video game environment, there was no interactive logic puzzles, like magical levers for you to pull that created some behaviour you had to solve. The only real mechanical stoppages were things that were hard to find (i.e., hidden in furniture) or locks, the combinations for which we had to solve as part of puzzles.

Interestingly, the orientation of the items in the room did not matter, and if you rearranged the room the same puzzle could be run, as long as it was just as difficult to physically find certain clues as it was before. With 11 people moving around the room, I find it difficult to imagine how you would make alignment of objects in the room relevant. As we “processed” objects, there was the brief suggestion that we should declare a corner of a room for objects that were “finished” and had had all their clues extracted. This somewhat worked in practice, but often details were missed and having a pile like that turned out to be too strict of a rule.

I brought my GoPro and planned to record our playthrough, and edit the best bits together, in the style of Chinchilla Dave’s Skyrim playthroughs. Totally unsurprisingly, they did not let us bring in cameras or other recording devices, which is fair.

I highly recommend it. It is very hard, but there were many satisfying partial victories along the way that made it gratifying.

Posted in commentary, games | Leave a comment

Coolest of CHI 2014

Every year around this time my research community has the CHI conference, both standing for Computer-Human Interaction and a pun on the greek χ, representing empirical data. Here are the projects I saw at the conference that were the coolest. I’ll update this as I read papers I didn’t get to see in person.

Haptic turk: a motion platform based on people

This was my favourite overall – to avoid the difficulty of body-size hardware for body-size haptics, this project used friends holding you while you played a game, the most prominent example using an Oculus Rift in a hang-gliding simulation. The people holding you up could shake you or lift you up or down as instructed by DDR-style visualizations. The visualizations were clever in that they gave the people holding the player (the Turkers) enough warning to react on time to effects in the environment.

Walk this Way: Musically Guided Walking Experiences

This project studied a few ways of constructing music that changed when a user navigated a space. Given a certain location, as detected by GPS, a variation of the same musical theme would play. I initially felt the topology the authors explored was overly simple — concentric circles around points of interest, and there were, for example, no long channels of the same audio character. When I asked about this, they said the project was in preparation for a sculpture garden that were commissioned to work on, so moving towards and away from singular objects is the experience they were interested in. They also pointed out, and this is pretty interesting, that it would be really easy to walk over and through an audio channel without being able to orient yourself. I’m not sure – would love to see more work on it.

WaaZam! Supporting Creative Play at a Distance in Customized Video Environments

A system for creating a shared video environment across a distance. The authors used the Kinect to make it a shared 3D environment, and played with changing scale of the people in the environment as well. It looks like they are working with Open Frameworks to clean up their networking system a bit (which is very good and useful).

Exertion in the Small: Improving Differentiation and Expressiveness in Sports Games with Physical Controls

The premise for this work is that, in sports video games, players with the same stats run equally quickly across the field. There is no opportunity for a player to exert themselves wildly and dramatically in a key moment. While some games model fatigue and stamina, it is quite simplified and doesn’t yield the tense and exciting moments we get in the real world. The game presented (Jelly Polo) uses a novel control of thumb-flicking: the faster you thumb-flick, the faster you are in the game!

And of course, MY work:
LACES: Live Authoring through Compositing and Editing of Streaming Video

Posted in research | Leave a comment

“That’s very compelling, but are you the only one who can use it?”

I was asked this question when demoing a research interface at a presentation recently. It’s a good question, and I think one we in the research HCI field tip-toe around a lot.

The answer I gave was that concept interfaces are meant to explore a new idea. A successful concept presents an idea what is compelling enough to warrant future work. Any interface, ever, is going to require a ton of polish. I specifically cited the 80/20 ratio, where 20% of the project appears to take 80% of the work. That final 20% of the project, of the design of your new interface, is going to take so much work that you’re out of the realm of research and into regular UI engineering.

It’s really hard to figure out where to draw the line between research and polish. If you’re trying to describe a new way of adaptively moving buttons around, it needs to be polished enough to be obvious, even if the buttons aren’t their final sizes. However, it hurts a little when people note that the button sizes aren’t quite right when, you know, I’m trying to figure out how to make them move.

Posted in commentary, research | Leave a comment

I Need a Better Distributed Notes Service

I sync many, many plain text notes between my phone and various computers I use during the day. Some of these are little reminders, like what I need to buy for dinner, some of these are freeform narrative ideas about a story, and some of these are links of stuff to read. I’m looking for something simple are barebones, but have been having trouble finding something. I use Trello for managing projects, and Wunderlist for items that either have a deadline or a “checklist” property to them. I need a system that catches everything else.

I’ve used SimpleNote for a while, but its Android app seems to be behaving poorly, and its missing a few features I need, such as non-destructive merging. I tried Evernote, but its Cloud-y-ness makes it unworkable for me.

Minimum Feature Set
I own the data

There is no sync to the cloud every time I want to load something, there is local search, and I can export data out of the app just as simply as dragging it from one folder to another on my computer. Copying-and-pasting, or emailing to myself, is not good enough.

Non-destructive merging

When I edit a note from one computer, then as I’m heading out the door and want to edit to it from my phone before it has synced, this should not erase any edit history of the note, or it should at least warn me. I’ve had this happen multiple times with SimpleNote. Dropbox has a best-of-the-worst solutions by making a conflicted copy, which does not prevent working with an open file. Something like a line-by-line merge resolution that I can do at my leisure would be amazing, but possibly difficult to design.

Usable from multiple computers, and a single mobile device

I just need access from multiple platforms.

Unified editing and reading mode on mobile

“Editing” mode and “Reading” mode should not be different. I should not have to go into a separate mode to correct a spelling mistake or fix an error. The experience of tapping on a word I want to edit, then realizing I’m in read mode, then going to click on the edit button, then going back to the word, is very frustrating. I’m looking at you, Evernote.

Unified inter- and intra-document search

When I search for a string, it should be able to tell me if there is multiple instances of a word within a doc, and be able to iterate through them. Notational Velocity (which wraps SimpleNote) does not support this. Ideally, if there are many instances of a string within a doc, search should be able to display that without overwhelming results from other docs.

Things I don’t need
The app to hang while it is syncing

When I open the app to write a note, I should be able to write a note. If I’m waiting for an update on a note to check it, that can easily be indicated.

Rich text, attachments, etc
Another cloud service to depend on

Ideally it works with Dropbox.

Folders, Tags

If I have a good search function, this is not necessary.

Multiple authors

If I need this, I’ll use Google Docs.

Features that would be nice
Automatic hyperlinking of URLs and phone numbers

Don’t make me use copy-and-paste when there is something quicker.

A way to view edit history

Mostly this helps diagnose when merging breaks. But the dates of certain edits are useful when tracking ideas change.

Does this exist, pretty please?

And yes, I know:

Posted in commentary, technical | Leave a comment

Learning from Feedback

As the head chef of a new 5-Star restaurant, you are anxiously preparing for the opening in three months. Your menu is mostly set, and you’ve talked about your ideas with your food industry friends and they’re excited. You want to try out some of your dishes on people who aren’t in the industry, so you invite over a friend that you haven’t seen in a while.. Your guest arrives about 5 minutes before the dish is done and sits at the table in your kitchen. You make small talk as you fill his plate with some noodles and chunks of shrimp and some sauce except it’s all cooler than that because you’re a bad-ass chef and this writer isn’t. You put the plate in front of him, and pass him a fork and knife. You lean against the counter still wearing your apron, a little too antsy to sit, but make sure you don’t stare him down as he eats.

[Guest eats for a couple minutes]

Guest: Huh

Chef: Pardon?

Guest: Yeah, it’s good!

Chef: Great! Thanks!

Guest: It’s just that…

Chef: What?

Guest: Usually, at least this is how I think it is in fancy restaurants, but I think I’m supposed to get a spoon.

Chef: Oh no, is the sauce too runny? [You turn to grab a spoon from a drawer].

Guest: Oh, the sauce is fine. I just think you probably will want to give the guests a spoon at your restaurant. I don’t need a spoon for this dish, but you probably want to have spoons available.

Chef: Oh [You put the spoon down next to his plate.] Sure. Well, obviously.

Guest: As for the food, I really like it.

Chef: Good. Can you tell me what you like? How’s the arrangement? Does the shrimp go well with the sauce?

Guest: Yeah, all that works. I think the plate is a little banged up though. If I came to a fancy restaurant and was served on a plate like this, I would think it wasn’t that great of a place.

[The plate you’ve given him the dish on is a large circular white ceramic plate. It's generic - we all have one. You have a couple mismatched plates of this size scavenged from other housemates you’ve lived with over the years. This might be one of the older ones. It’s definitely clean and safe to eat on, but there are some chips around the edge.]

Chef:Oh. For the restaurant, we’re actually ordering these gorgeous new plates that match the interior decoration. Can you tell me about the food?

Guest: Hm…[he takes another mouthful of food and slowly chews it as he looks down at this dish. Finally, he swallows again.] I’m just really distracted by this plate.

Chef: Should I…put it on another one?

Guest: Yeah, that would be good.

[You look through your cupboards for a nice, new plate you got as a present from your grandmother. You find it in the back: pristine, but dusty. You spend a few minutes rinsing it off and drying it while your guest sits there, arms crossed, waiting for you. Finally, you transfer the dish from his original plate to your grandma’s by tilting the first plate to one side and letting it slide from one to the other. You put the original, dejectedly chipped plate in the sink and turn back to face him.]

Guest: Hmm, the presentation of the food isn’t so good now.

Chef: I’d really like to hear how the tastes go together. I can spend lots of time on presentation later, but for now I just want to know if it tastes good. I’m just trying things out.

Guest: Oh. Well…the noodles were a little hard. You probably need to cook them for longer.

[You actually used a type of noodle that is supposed to be a little hard, and gets harder when boiled for longer. If anything, you might have over-cooked them because you’re not used to them. It’s some new gluten whatever thing. I’m obviously making this up.]

Chef: [consider explaining new noodle type, decide not to.] Noted.

Guest: I mean, when I cook noodles, usually I pull one out every few minutes and test it. You probably just cooked it for the amount of time it said on the package and then took it off boil. That’s a common mistake.

Chef: Right.

Guest: How long did you cook them for?

Chef: Actually, it’s a little different. Don’t worry about it. Tell me what you think about the sauce.

Guest: I feel like you’re ignoring me though. Cooking noodles right is really important, and honestly not that hard. They’re, like, carbs. It’s the foundation of the food pyramid. Right now, they’re much chewier than I’m used to.

Chef: It’s a new type of noodle. You have to cook them a different way. I’m still learning with them.

Guest: Yeah, you definitely screwed up by not cooking them long enough.

Chef: Right.

Guest: The sauce needs more cayenne pepper, I think.

[The dish is pretty spice as-is. Definitely on the upper-bound of white people tolerance.]

Chef: Oh really? Man, I thought it was pretty spicy.

Guest: Oh no, the spicyness is perfect right now. It just needs more cayenne pepper.

Chef: Why do you say that?

Guest: Hm. It… it just doesn’t seem right.

Chef: Can you tell me what doesn’t seem right?

Guest: For something like this, it kind of reminds me of Pad Thai. Pad Thai comes with that sauce sometimes on the side. I really like that sauce. This sauce just doesn’t look right.

Chef: Oh, you mean chile paste?

Guest: Yeah, the red sauce! This sauce should be more red. Cayenne pepper is red, you could use some of that.

Chef: Oh. Yes. Thanks.

[Mostly silence, with some more small talk as the guest finishes up his food. When he finishes, he gets up and shakes your hand, which turns into a hug. He wishes you luck with the restaurant and heads out while you clean up the kitchen.]

Posted in commentary, research | Leave a comment

I Love the Rain

Posted in art, creations | Leave a comment