Archive for March 9th, 2006

[etech06] Julian RushBleecker (USC) – Pervasive Games

Update – Julian Bleecker wrote to note that he enjoyed the notes but I got his last name wrong – sorry, Julian!!! That’s the result of trying to take notes from the very back of the room while not having a conference agenda handy.

Looking at the way physical environments become computational grids – physical structures for play in the real world in which different kinds of social groups and formations come together and engage in playful activity.

The way the social network leaks into physical space – not just the Internet, but telephony an dother technologies.

Paths are the interface – the way people navigate the city – the city as a game board grid.

Teh things that we see around and turn away from can become pieces of the game expereience – Debris Become Legible. These can become instcription devices for game play. The way infrastructure becomes part of the game – goals or pieces or moments for power-up. different aspects of urban space become a way for the game to pervade physical space. Annotation rewrites the rules.

Movement = Power-Up. Traditional console gaming doesn’t address physical mocement. Shows a room full o fguys staring at a screen – this iw weird – social play should have another register of interaction and engagement besides sitting still even when you’re in a group of friends.

Pervasive games are ways of experimenting with social contexts and groups of people. Look at different ways in which social beings can be mustered to look at things in a different way.

So What?

The stakes are about a different way of seeing the world and how it works – hopefully in ways of making the world more inhabitable and sustainable. e.g. seeing debris as something that needs to be dealt with.

The “Big Urban Game” Large totems that were carted around the city – semicodes were the goals fo the game – got points for retrieving using mobile phones. Marketed for Qwest – ConQwest – getting people to navigate physical space and encountering poeple not involved in the game, and that interaction is interesting.

Superstar – at UbiComp in Tokyo last year – put stickers all over Tokyo, have other people find and take picture of them, and send them in to the “mothership” – the more pictures you have the more points you get. A cooperative game – you want to link to others and have them take your picture at the same time. One of the goals is to enlist other people and get them involved in the game play.

Pervasive Performance – games that are stage as a form of urban play – Blast Theory group in the UK. Create a mixed-reality experience – one level is online play And then there are real people in the world (the performers) A PDA equipped with a GPS and radio – the online players steer and guide the performers to a goal, through a 3d immersive interface. The physical players (who are actors) gather a group of people who follow them around.

Ludic component – Geocaching – a casual gaming experience. An interesting way of combining people who participate (the cachers) and the people who search. It’s a global thing – use of the whole world as a kind of gameboard.

The Go Game – The object of the play is to do insane activities in physical space – turn the world upside down. Gets the players “out of themselves” in a whimsical experience. It also turns the world upside down, as you see activities in physical space that you woldn’t normally see.

Mobile Phone Games -

Using mobile phone can become an interface not for games on the screen, but playhing games that pervade the physical world. clickr! co-located individuals interact with an experience. You don’t need the latest, greatest, phone to do mobile phone games. Participating in largers social contexts.

Flirt Stampede – uses cell tower location to create a virtual stampede. IC you’re closer you’d see the stampede on your phone screen.

Flirt Lost Cat – a lost cat wandering around the city – depending on where you were you might come across the cat. Using our movement through the city as a way of creating a casual, playful experience.

Twitcher – using your phone as a way of capturing birds that are flying around. Your phone buzzes – you need to capture a picture of the bird before it flies away. If you’re standing next to someone else who has the game, you might both have the opportunity to capture the first picture, if you’re within bluetooth range.

Viewmaster of the future – Using quicktime VR and a sensor for orientation sensing. You look into it and as you pivot around the view changes. You can think about ways that these kinds of experiences allow you to experience a cinematic or game moment as you move about the world.

Human PacMan

Catch Bob – Using gaming as a way of asking research questions – how does collocation inform social interactions? Identifying where other people were and trying to attain a shared goal on tablet PCs as you played the game.

Deeing Yoshi – depending on pervasive network doesn’t work, so try to use the spottiness of the network get used as part of the game mechanics? Food that Yoshi can eat are identified by specific wifi nodes – as you pass them you get the food – so as people played the game over weeks they’d find where the good food was – sometimes the node was doen, etc.

piedimonsters – they have courseware called service design. Interested in nutritional fitness. Idea was to turn pedometers into physical game by combining it with tamegochi. Tying nutrition and physical activity by putting it into a game. What kid wouldn’t want to power up their avatar by walking to school instead of getting a ride?

research.techkwondo.com

Technorati Tags: ,

[etech06] Steve Yen (TrimPath) – Web Apps Without the Web

TrimPage Junction Framework

NumSum – a web-based spreadsheet. A single page app. Allows saving offline, through Save Page As in the browser.

Next Action – GTD to do list app. Nice code viewer in the app.

Persistence Technique 1
Modern browsers keep dhtml DOM tree intact during a File Save Page As

Keep you data in the DOM tree
myHiddenDataDiv.innerHTML=bigString
Whenever user saves the HTML page, you’re ok

Might not work in Safari

Persistence Technique 2

Flash 8 Storage
Flash to JavaScript bridge
Seamless!Except, when you hit squantum level storage usage (Brad Neuberg)

Persistence Technique 3

IE’isms
IE persistence
IE offline data
(but nobody uses it)

Persistence Examples

DOM Page Saving Tehcnique
- IddlyWiki & Friends
Num Sum
Next Action

Flash storage technique
AMASS demos, Tiwywiki.

You need Synchronization in addition persistence
- can use data/record level semantics, track deltas, change requests, not changes; INSERTs only; unique ID gen. OR just punt

You also need a client side API – VB style? No – Rails Style? You can get tw write once run anywhere. Do do that you’ll need SQL on both sides – we know it on the server, but what about the client? Will Firefox have something?

TrimPath Junction

A MVC Framework for JavaScript
raiels-like API with client-side SQL
Designed for write once run anywhere – server runs Rhino
Designed for pluggable client-side storage.

eval and with in JavaScript – changes dynamic scoping.

Why care about with?

Domain specific mini languages are easy – JSP, ASP, SQL are examples of mini-languages.

HST Templage engine
JST==JavaScript Templates 297 lines of code.

TrimQuery SQL Engine – RexExps to transform SQL to TQL

Technorati Tags: ,

[etech06] Steve Yen (TrimPath) – Web Apps Without the Web

TrimPage Junction Framework

NumSum – a web-based spreadsheet. A single page app. Allows saving offline, through Save Page As in the browser.

Next Action – GTD to do list app. Nice code viewer in the app.

Persistence Technique 1
Modern browsers keep dhtml DOM tree intact during a File Save Page As

Keep you data in the DOM tree
myHiddenDataDiv.innerHTML=bigString
Whenever user saves the HTML page, you’re ok

Might not work in Safari

Persistence Technique 2

Flash 8 Storage
Flash to JavaScript bridge
Seamless!Except, when you hit squantum level storage usage (Brad Neuberg)

Persistence Technique 3

IE’isms
IE persistence
IE offline data
(but nobody uses it)

Persistence Examples

DOM Page Saving Tehcnique
- IddlyWiki & Friends
Num Sum
Next Action

Flash storage technique
AMASS demos, Tiwywiki.

You need Synchronization in addition persistence
- can use data/record level semantics, track deltas, change requests, not changes; INSERTs only; unique ID gen. OR just punt

You also need a client side API – VB style? No – Rails Style? You can get tw write once run anywhere. Do do that you’ll need SQL on both sides – we know it on the server, but what about the client? Will Firefox have something?

TrimPath Junction

A MVC Framework for JavaScript
raiels-like API with client-side SQL
Designed for write once run anywhere – server runs Rhino
Designed for pluggable client-side storage.

eval and with in JavaScript – changes dynamic scoping.

Why care about with?

Domain specific mini languages are easy – JSP, ASP, SQL are examples of mini-languages.

HST Templage engine
JST==JavaScript Templates 297 lines of code.

TrimQuery SQL Engine – RexExps to transform SQL to TQL

Technorati Tags: ,

[etech06] Disconnection Tolerant Ajax

the problem -

Web 2.0 mantra:
- Apps run on server
- client is just a communication and display device

Ajax assumes constant connectivity

Connectivity may be flaky or slow or unavailable.

Leads to a style of work that can be termed Frequently Connected Computing
- a presumption of network availability
- bot both planned and unplanned outages occur
- you want to continue some work during disconnections

drive-through-internet.org

To do this, apps have to be disconenction tolerant and delay tolerant.

Hw to do this?
- put more of the interface on a single page
- do serious error checking
- don’t lose user input

Reduce number of pages -
In disconnected mode you don’t want to:
- change pages for routine operations
- rely on server data for routine operations
- fail mysteriously or verbosely on update errors

Leads to single-page apps, but with Ajax backend.
- Download “working set” with page
- this can be done with background ajax
- pace requests properly until page populated

- Structure UI, e.g. using tab-styled navigation
- don’t forget bookmarkability (update location.hash)

In error checking there are bugs in browsers you have to work around – error-protecting the error detection. Keep in mind that responses may not come back in the order they were sent.

Don’t lose user input – can be kept as page state (e.g. in text areas); JavaScript state (in variables) – both of those methods have problems if the browser or system closes. You can store it in cookies or in some storage made available by a plugin (like flash SharedObject).

PANIC – Persistency for Ajax in Networks with Intermittent Connectivity.

You need to plan for data changing on the server while you’re offline. Use conflict resolution strategies, like server-based generation numbers an dlocal generation numbers. THe cookie size limitation is a problem.

Proof of concept implemented on Prototype library, server parts based on Rails before_filter.

Technorati Tags: ,

Real Google VPs use Pine for email

Terry Gray sends along this tidbit (click on the quote from Marissa Mayer) from Fortune Magazine, by Marissa Mayer, Google’s VP of Search Products and User Experience:

I don’t feel overwhelmed with information. I really like it. I use Gmail for my personal e-mail — 15 to 20 e-mails a day — but on my work e-mail I get as many as 700 to 800 a day, so I need something really fast.

I use an e-mail application called Pine, a Linux-based utility I started using in college. It’s a very simple text-based mailer in a crunchy little terminal window with Courier fonts. I do marathon e-mail catch-up sessions, sometimes on a Saturday or Sunday. I’ll just sit down and do e-mail for ten to 14 hours straight. I almost always have the radio or my TV on. I guess I’m a typical 25- to 35-year-old who’s now really embracing the two-screen experience.

Technorati Tags: , ,


subscribe

Pages

Latest tweets

interesting links

What I’m listening to

March 2006
M T W T F S S
« Feb   Apr »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Follow

Get every new post delivered to your Inbox.