Wednesday, June 9, 2010

Making Sense of Multitouch

[This post is by Adam Powell, one of our more touchy-feely Android engineers. � Tim Bray]

The word �multitouch� gets thrown around quite a bit and it�s not always clear what people are referring to. For some it�s about hardware capability, for others it refers to specific gesture support in software. Whatever you decide to call it, today we�re going to look at how to make your apps and views behave nicely with multiple fingers on the screen.

This post is going to be heavy on code examples. It will cover creating a custom View that responds to touch events and allows the user to manipulate an object drawn within it. To get the most out of the examples you should be familiar with setting up an Activity and the basics of the Android UI system. Full project source will be linked at the end.

We�ll begin with a new View class that draws an object (our application icon) at a given position:

public class TouchExampleView extends View {
private Drawable mIcon;
private float mPosX;
private float mPosY;

private float mLastTouchX;
private float mLastTouchY;

public TouchExampleView(Context context) {
this(context, null, 0);
}

public TouchExampleView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}

public TouchExampleView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mIcon = context.getResources().getDrawable(R.drawable.icon);
mIcon.setBounds(0, 0, mIcon.getIntrinsicWidth(), mIcon.getIntrinsicHeight());
}

@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);

canvas.save();
canvas.translate(mPosX, mPosY);
mIcon.draw(canvas);
canvas.restore();
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
// More to come here later...
return true;
}
}

MotionEvent

The Android framework�s primary point of access for touch data is the android.view.MotionEvent class. Passed to your views through the onTouchEvent and onInterceptTouchEvent methods, MotionEvent contains data about �pointers,� or active touch points on the device�s screen. Through a MotionEvent you can obtain X/Y coordinates as well as size and pressure for each pointer. MotionEvent.getAction() returns a value describing what kind of motion event occurred.

One of the more common uses of touch input is letting the user drag an object around the screen. We can accomplish this in our View class from above by implementing onTouchEvent as follows:

@Override
public boolean onTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN: {
final float x = ev.getX();
final float y = ev.getY();

// Remember where we started
mLastTouchX = x;
mLastTouchY = y;
break;
}

case MotionEvent.ACTION_MOVE: {
final float x = ev.getX();
final float y = ev.getY();

// Calculate the distance moved
final float dx = x - mLastTouchX;
final float dy = y - mLastTouchY;

// Move the object
mPosX += dx;
mPosY += dy;

// Remember this touch position for the next move event
mLastTouchX = x;
mLastTouchY = y;

// Invalidate to request a redraw
invalidate();
break;
}
}

return true;
}

The code above has a bug on devices that support multiple pointers. While dragging the image around the screen, place a second finger on the touchscreen then lift the first finger. The image jumps! What�s happening? We�re calculating the distance to move the object based on the last known position of the default pointer. When the first finger is lifted, the second finger becomes the default pointer and we have a large delta between pointer positions which our code dutifully applies to the object�s location.

If all you want is info about a single pointer�s location, the methods MotionEvent.getX() and MotionEvent.getY() are all you need. MotionEvent was extended in Android 2.0 (Eclair) to report data about multiple pointers and new actions were added to describe multitouch events. MotionEvent.getPointerCount() returns the number of active pointers. getX and getY now accept an index to specify which pointer�s data to retrieve.

Index vs. ID

At a higher level, touchscreen data from a snapshot in time may not be immediately useful since touch gestures involve motion over time spanning many motion events. A pointer index does not necessarily match up across complex events, it only indicates the data�s position within the MotionEvent. However this is not work that your app has to do itself. Each pointer also has an ID mapping that stays persistent across touch events. You can retrieve this ID for each pointer using MotionEvent.getPointerId(index) and find an index for a pointer ID using MotionEvent.findPointerIndex(id).

Feeling Better?

Let�s fix the example above by taking pointer IDs into account.

private static final int INVALID_POINTER_ID = -1;

// The �active pointer� is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;

// Existing code ...

@Override
public boolean onTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
final float x = ev.getX();
final float y = ev.getY();

mLastTouchX = x;
mLastTouchY = y;

// Save the ID of this pointer
mActivePointerId = ev.getPointerId(0);
break;
}

case MotionEvent.ACTION_MOVE: {
// Find the index of the active pointer and fetch its position
final int pointerIndex = ev.findPointerIndex(mActivePointerId);
final float x = ev.getX(pointerIndex);
final float y = ev.getY(pointerIndex);

final float dx = x - mLastTouchX;
final float dy = y - mLastTouchY;

mPosX += dx;
mPosY += dy;

mLastTouchX = x;
mLastTouchY = y;

invalidate();
break;
}

case MotionEvent.ACTION_UP: {
mActivePointerId = INVALID_POINTER_ID;
break;
}

case MotionEvent.ACTION_CANCEL: {
mActivePointerId = INVALID_POINTER_ID;
break;
}

case MotionEvent.ACTION_POINTER_UP: {
// Extract the index of the pointer that left the touch sensor
final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK)
>> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
final int pointerId = ev.getPointerId(pointerIndex);
if (pointerId == mActivePointerId) {
// This was our active pointer going up. Choose a new
// active pointer and adjust accordingly.
final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
mLastTouchX = ev.getX(newPointerIndex);
mLastTouchY = ev.getY(newPointerIndex);
mActivePointerId = ev.getPointerId(newPointerIndex);
}
break;
}
}

return true;
}

There are a few new elements at work here. We�re switching on action & MotionEvent.ACTION_MASK now rather than just action itself, and we�re using a new MotionEvent action constant, MotionEvent.ACTION_POINTER_UP. ACTION_POINTER_DOWN and ACTION_POINTER_UP are fired whenever a secondary pointer goes down or up. If there is already a pointer on the screen and a new one goes down, you will receive ACTION_POINTER_DOWN instead of ACTION_DOWN. If a pointer goes up but there is still at least one touching the screen, you will receive ACTION_POINTER_UP instead of ACTION_UP.

The ACTION_POINTER_DOWN and ACTION_POINTER_UP events encode extra information in the action value. ANDing it with MotionEvent.ACTION_MASK gives us the action constant while ANDing it with ACTION_POINTER_INDEX_MASK gives us the index of the pointer that went up or down. In the ACTION_POINTER_UP case our example extracts this index and ensures that our active pointer ID is not referring to a pointer that is no longer touching the screen. If it was, we select a different pointer to be active and save its current X and Y position. Since this saved position is used in the ACTION_MOVE case to calculate the distance to move the onscreen object, we will always calculate the distance to move using data from the correct pointer.

This is all the data that you need to process any sort of gesture your app may require. However dealing with this low-level data can be cumbersome when working with more complex gestures. Enter GestureDetectors.

GestureDetectors

Since apps can have vastly different needs, Android does not spend time cooking touch data into higher level events unless you specifically request it. GestureDetectors are small filter objects that consume MotionEvents and dispatch higher level gesture events to listeners specified during their construction. The Android framework provides two GestureDetectors out of the box, but you should also feel free to use them as examples for implementing your own if needed. GestureDetectors are a pattern, not a prepacked solution. They�re not just for complex gestures such as drawing a star while standing on your head, they can even make simple gestures like fling or double tap easier to work with.

android.view.GestureDetector generates gesture events for several common single-pointer gestures used by Android including scrolling, flinging, and long press. For Android 2.2 (Froyo) we�ve also added android.view.ScaleGestureDetector for processing the most commonly requested two-finger gesture: pinch zooming.

Gesture detectors follow the pattern of providing a method public boolean onTouchEvent(MotionEvent). This method, like its namesake in android.view.View, returns true if it handles the event and false if it does not. In the context of a gesture detector, a return value of true implies that there is an appropriate gesture currently in progress. GestureDetector and ScaleGestureDetector can be used together when you want a view to recognize multiple gestures.

To report detected gesture events, gesture detectors use listener objects passed to their constructors. ScaleGestureDetector uses ScaleGestureDetector.OnScaleGestureListener. ScaleGestureDetector.SimpleOnScaleGestureListener is offered as a helper class that you can extend if you don�t care about all of the reported events.

Since we are already supporting dragging in our example, let�s add support for scaling. The updated example code is shown below:

private ScaleGestureDetector mScaleDetector;
private float mScaleFactor = 1.f;

// Existing code ...

public TouchExampleView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mIcon = context.getResources().getDrawable(R.drawable.icon);
mIcon.setBounds(0, 0, mIcon.getIntrinsicWidth(), mIcon.getIntrinsicHeight());

// Create our ScaleGestureDetector
mScaleDetector = new ScaleGestureDetector(context, new ScaleListener());
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
// Let the ScaleGestureDetector inspect all events.
mScaleDetector.onTouchEvent(ev);

final int action = ev.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
final float x = ev.getX();
final float y = ev.getY();

mLastTouchX = x;
mLastTouchY = y;
mActivePointerId = ev.getPointerId(0);
break;
}

case MotionEvent.ACTION_MOVE: {
final int pointerIndex = ev.findPointerIndex(mActivePointerId);
final float x = ev.getX(pointerIndex);
final float y = ev.getY(pointerIndex);

// Only move if the ScaleGestureDetector isn't processing a gesture.
if (!mScaleDetector.isInProgress()) {
final float dx = x - mLastTouchX;
final float dy = y - mLastTouchY;

mPosX += dx;
mPosY += dy;

invalidate();
}

mLastTouchX = x;
mLastTouchY = y;

break;
}

case MotionEvent.ACTION_UP: {
mActivePointerId = INVALID_POINTER_ID;
break;
}

case MotionEvent.ACTION_CANCEL: {
mActivePointerId = INVALID_POINTER_ID;
break;
}

case MotionEvent.ACTION_POINTER_UP: {
final int pointerIndex = (ev.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK)
>> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
final int pointerId = ev.getPointerId(pointerIndex);
if (pointerId == mActivePointerId) {
// This was our active pointer going up. Choose a new
// active pointer and adjust accordingly.
final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
mLastTouchX = ev.getX(newPointerIndex);
mLastTouchY = ev.getY(newPointerIndex);
mActivePointerId = ev.getPointerId(newPointerIndex);
}
break;
}
}

return true;
}

@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);

canvas.save();
canvas.translate(mPosX, mPosY);
canvas.scale(mScaleFactor, mScaleFactor);
mIcon.draw(canvas);
canvas.restore();
}

private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();

// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));

invalidate();
return true;
}
}

This example merely scratches the surface of what ScaleGestureDetector offers. The listener methods receive a reference to the detector itself as a parameter that can be queried for extended information about the gesture in progress. See the ScaleGestureDetector API documentation for more details.

Now our example app allows a user to drag with one finger, scale with two, and it correctly handles passing active pointer focus between fingers as they contact and leave the screen. You can download the final sample project at http://code.google.com/p/android-touchexample/. It requires the Android 2.2 SDK (API level 8) to build and a 2.2 (Froyo) powered device to run.

From Example to Application

In a real app you would want to tweak the details about how zooming behaves. When zooming, users will expect content to zoom about the focal point of the gesture as reported by ScaleGestureDetector.getFocusX() and getFocusY(). The specifics of this will vary depending on how your app represents and draws its content.

Different touchscreen hardware may have different capabilities; some panels may only support a single pointer, others may support two pointers but with position data unsuitable for complex gestures, and others may support precise positioning data for two pointers and beyond. You can query what type of touchscreen a device has at runtime using PackageManager.hasSystemFeature().

As you design your user interface keep in mind that people use their mobile devices in many different ways and not all Android devices are created equal. Some apps might be used one-handed, making multiple-finger gestures awkward. Some users prefer using directional pads or trackballs to navigate. Well-designed gesture support can put complex functionality at your users� fingertips, but also consider designing alternate means of accessing application functionality that can coexist with gestures.

0 comments:

Post a Comment

Labels

'hungry' (1) "O" (1) (press (1) [N8/C7/C6/E7]apps (140) [N8/C7/C6/E7]games (169) $10 Off (1) $15 Rush Tickets (1) $50 Million (1) 1110V (1) 12 Days of Christmas (1) 12 seconds (1) 148apps (1) 1490LMT (1) 1950s. vintage advertising (1) 1955 (1) 2008 (1) 2009 Season (1) 2011 (1) 24/7 Wall Street (1) 3-D (1) 30th Anniversary (1) 319 Bowery (1) 3d checkers (1) 3D Compass Plus (1) 3G iPhone (30) 40cozy (1) 4445 Bash (1) 4ft12m (1) 4th of July (1) 50s (2) 5Inch (1) 6Volt (1) 70s (1) 7200mAh (1) 802.11n (1) 80s (4) 8Ounce (1) A Delicate Balance (1) A Long and Winding Road (1) A R Gurney (2) A Raisin in the Sun (1) A Rural Tragedy (1) A Stripper's History (1) A1185 (2) Aaron Copland (1) Aaron Tveit (1) ABC (5) About Last Night (1) about.com (1) academy awards (1) Academy of Music (1) Access Copyright (2) Accessories (12) Accordian Orchestra (1) ACE Awards (1) Ace Tennis (1) Aceh Recipes (3) acquire (1) acquisition (1) acquisitions (7) across (1) Acrylic (1) action (214) actor scholarship (1) ad sales (9) ad:edit (3) Adam Feldman (1) Adam Monley (1) address labels (1) Adjustable (1) Administration (1) AdMob (1) adobe (3) Adriana Lima (1) Adults (1) advance (1) adventure (247) advertisers (5) Advertising (17) affortable clothing (1) afp (1) Africa (1) ageekspot (1) Agnes De Mille (1) aim (1) Airport (1) Al Hirschfeld Theatre (1) Alan Ziter (1) alarm (2) Alberta (1) alert (1) Algerian Recipes (14) Ali (1) Alice Ripley (1) Alina Vacariu (1) all iphone wallpapers (2) all natural (1) all weird news (1) alliphonewallpapers (4) Allison Schulnik (1) AllLocking (1) allrecipes (1) almond bark (1) almond toffee (1) Almonds (1) alphabet blocks (1) AluminumSteel (1) Alvin Epstein (1) Amato Opera (1) amazon (3) AMC (1) america (1) American Symphony Orchestras (1) American Voices New Play Institute (1) Amherst (1) Amy Freed (1) Amy J. Carle (1) Anatomy (1) Ancestral Voices (1) anchor free (1) anchovies porridge (1) Ancient (1) Anders Cato (1) Andres (1) Android (126) Android 1.5 (15) Android 1.6 (10) Android 2.0 (3) Android 2.1 (2) Android 2.2 (2) Android 2.3 (1) Android 2.3.3 (1) Android 3.0 (2) Android Central (1) Android Developer Challenge (19) Android Developer Phone (2) Android Market (8) Angela Lansbury (1) angelina jolie (1) Angels in America (1) Animal Crackers (1) Anna Kournikova (1) Anna Russell (1) Anne Gottleb (1) Anne Undeland (1) Annie Get Your Gun (2) anniversaries (6) Anniversary (1) Announcements (39) announces (1) Antec (1) Anthony Amato (1) Antiques (1) Anton Kuerti (1) aposTouch (1) app craver (3) app shopper (1) app store (16) Appetizer (2) Appetizers (148) apple (515) apple apple iphone school (2) apple case (1) apple cider (1) apple crisp (1) apple insider (2) Apple iPhone Developer Conference (1) apple muffins (1) apple orchards (1) apple picking (1) apple tell (3) appleinsider (1) apples (2) application (277) Applications (201) applique shirts (1) Applying (1) appointed (1) appointment (23) appointments (11) appoints (1) Apps (26) apps for samsung wave (3) appstore (6) appulous (1) appventcalendar (1) aquacalendar.sisx (1) archives (1) Area Stage (1) arena (1) Arena Stage (10) around me (1) ars technica (6) Art (5) Art Basel Miami Beach (1) art collector (1) art direction (12) Art Miami (1) art of the iphone (1) Arthur Fiedler (1) Articles (28) artistic statistics (2) artists (2) arts (6) Arts amendment (1) Arts America (3) arts and crafts (3) Arts Boston (2) arts funding (2) Arts Grants (1) Arts Journal (2) Arts Journal Poll (1) Artstix (1) artwork (3) ashlees boutique (2) ashley simpson (1) ashley tisdale (1) ASME (2) association publishing (1) associtations. Canadian Press (1) AT T (2) Atlanta (2) Atlanta Performs (1) Atlantic Canada (1) Atlantic Journalism Awards (1) Atlantic Magazines Association (1) ATT (26) ATXmATX (1) ATXmATXITX (1) audience (2) audience development (2) audiences (2) audio (20) Audra Blazer (1) August Wilson (1) August: Osage County (1) Austin (1) AusTIX (1) autism (1) Automatic (1) autumn (1) Auxiliary (1) Auxin (1) Avatar (1) Avril Lavigne (1) Awakening (1) awards (23) awards. Western Magazine Awards (1) Awl (1) Ayaan (1) ayam kalasan singapore (1) b-to-b (1) B.C. (1) b2b (2) babes (2) babies (7) babo botanicals (2) baby (3) baby announcements (1) baby care (1) baby clothes (1) baby clothing (4) baby gifts (6) baby items (1) baby names (1) baby products (1) baby shower gift (1) baby showers (4) baby skin care (1) baby toys (1) baby wash (1) back to school (2) back to school lunch box (1) back to school promo (1) background iphone apps (2) Bad Dates (2) Bada (1) Bada Games (1) Bahraini Recipes (10) baked goods (1) baking (2) Baklava (10) Baliwick Repertory (1) ballet trocadero Mass MoCA (3) ballot question (1) Baltimore (1) Banana (3) banana crapes recipe (1) banners (1) Bar Refaeli (1) Barack and Michelle (1) Barack Obama (1) Barbecue (40) barefoot books (10) barefoot in portland (1) bark (1) Barrington Stage (7) Barrington Stage Company (6) Barrymore Theatre (1) Batteries (2) battery (10) BBC (2) beamme (1) bean bags (1) Bean Curd (2) Beatles Love (1) Beckett Estate (1) Beef (9) Beef Recipe (11) beer (1) beer glasses (1) beerbutton (1) Belasco Theatre (1) Belkin (4) Bench (1) Benefit (1) bento boxes (1) bento lunch box (1) Berkshire (2) Berkshire Beat (1) Berkshire Eagle (1) Berkshire Fine Arts (10) Berkshire on Stage (2) Berkshire Theaters (1) Berkshire Theatre Festival (15) Berkshire Theatre Openings (1) Berkshires (7) Berlin Metro (1) bestt free iphone games (2) beta (1) Betsy Dorfman (1) bible (2) Biblica (1) bibs (3) big top (1) Bill Irwin (1) Bill's Casino (1) Billion (1) billion dollar movies (1) Billy Holiday (1) bing (1) birds (1) birthday (1) birthday parties (1) birthdays (1) Biscuit (1) bivinteractive (1) bizjournals (1) Black (5) black eyed peas (1) black friday (1) black pepper (1) black pepper beef saos fried chicken (1) black pepper chicken cook (1) black pepper sauce seafood (1) Blackberry (39) Blackout (1) Blades (1) Blithe Spirit (1) Blockbuster (2) blocks (1) bloggers (1) Blogging (10) blogs (5) blorge (4) Blue Man Group (1) Bluegrass (1) bluetooth (8) Bluray (2) Bob Dylan (1) Bob Marley (1) Bob Merrill (1) Bog of Cats (1) bolt (1) bon cherry (1) Bon Jovi (1) bonjour family (1) books (5) Bosch (1) Bostix (1) Boston (6) Boston Ballet (1) Boston Center for the Arts (2) Boston MA (1) Boston Pops (2) Boston Symphony Orchestra (2) Boston theatre scene (1) Boston.com (1) boutique (1) boutique clothing (1) box.net (1) boy clothing (1) Brad Steele (1) Brand (1) Brandeis trustees (1) Brandeis University (4) branding (5) Braodway (1) bread (1) bread making (1) Bread recipes (4) Breakfast (2) breakfast for dinner (1) breakfast menu (1) breakfast recipes (1) Brian Dennehy (3) brian hogan (1) Brief (1) Britain (1) British artist (1) Broadway (17) Broadway discount (2) Broadway Discounts (1) Broadway League (1) Broadway revival (2) Broadway show (1) Broccoli (3) broken sculpture (1) Brooklyn (1) Brooklyn Museum (1) brought (1) brownies n butterflies (5) browser (19) Browsing (1) Bruce Jordan (1) Bruce Springsteen (1) BSO (4) BTF PLAYS (1) bubur gurih (1) bubur kacang ijo (1) bubur sukabumi (1) Bucheel (1) Buchel (2) budget (1) budget eating (1) budget recipes (1) burp cloths (2) business (1) business apps (1) business cards (1) Business Info (11) business insider (2) business week (1) business wire (1) busy (1) butterflies (1) Butterfly (1) butterfly mobiles (2) butterfly orb (3) butterfly wings (1) Buxton (1) c (1) C-R Productions (1) Cabaret (2) Cabaret Grimm (1) Cabbage (3) Cable (1) cadiwompus (2) Cake Traditional Fermentation (1) Calabarock (1) calculator (2) Caleb Hiliadis (1) Calling (2) Calvin Gentry (1) Camelot (1) camera (12) Canada Post (2) Canada Council (1) Canada Magazine Fund (1) Canada Periodical Fund (5) Canadian Geographic (1) Canadian Heritage (2) Canadian Journalism Foundation (1) Canadian Online Publishing Awards (1) Canadian Writers Group (2) Cancellation (1) canning (1) cardigans (1) Caretaker (1) Carla Gugino (2) Carnegie (1) Carnegie Hall (2) Carnival (1) Carolann Patterson (1) Carole Feuerman (1) Carole King (1) Caroline or Change (1) Carousel (1) Carrot (2) carrot juice (1) carrot puree (1) Carter (1) cartoon wallpapers (1) cartoons (1) Cashew nut (1) cats (2) cbc (2) cbs (1) cbs4 (1) CD (2) celebrities (1) Cell Phone (1) Cell Phone blocker (1) Cell Phone News (31) Center (1) CenterHTPC (1) Chad Allen (3) Challenge (1) Chandra Wilson (1) Change (1) channel web (1) Charger (1) Charity (1) Charles Giuliano (3) Charles Playhouse (1) Charles Randolph-Wright (1) Charlie Ergen (1) charlie's soap (1) charlotte con mahlsdorf (1) Charlotte St. Martin (1) chat (56) chat rooms (1) cheap iphone (1) Cheese (1) Cherish the Ladies (1) Cheryl Tweedy (2) chess with friends (1) Chicago (4) Chicago Musical (2) Chicken (35) Chicken Recipe (33) chicken tomato sauce (1) Chickory (1) childhood (34) children (17) children's shows (2) childrens art (1) Childrens books (2) childrens clothing (2) childrens cooking (1) childrens toys (1) chili dipping chicken (1) chili sauce fried chicken (1) Chinese Food (3) chinese worker (1) chocolate (5) Chris Anderson (1) chris pirillo (1) Chris Thile (1) Christine Ebersole (1) christmas (6) Christmas Carol (1) Christmas Desserts (30) christmas eve (1) Christmas Mains (8) Christmas Show (1) Christmas Sides (12) christmas specials (1) Christmas trees (1) Christopher (1) Chronicle (1) cio (1) Circle of theatres (2) Circulation (15) Cirebon Recipes (1) Cirque bug show (1) Cirque du Soleil (6) Citroen Osee (1) City of Pittsfield (1) Civilization (1) Clark Art Institute (2) classical music (2) CLB Media (1) cleaning (1) Cleveland (2) Clock (1) clocks (1) closes (1) closures (8) clothes (2) cnet (10) cnn money (1) Code Day (4) coffee (2) Cohoes (1) Cohoes Music Hall NY (1) cold (1) Colin Lane (1) Collection (1) collective bargaining (1) Collectors (1) Colonial Theatre (4) Colonial Theatre Pittsfield (6) color splash (1) colorful ecosystem (1) colour (1) CoMA (1) comfort food (3) comics (1) Commonwealth Opera Northampton (1) company (1) compatible (1) competitions (1) completes (1) components (1) Computer (2) Computer and Accessories (34) computer world (1) computers (1) Concepts (1) concert halls (1) Conde Nast (2) Cond� Nast (1) Conference Shakespeare Theatre Association (3) conferences (2) congress (1) Connect (1) Connecticut (1) consolidation (1) consumer reports (1) consumerist (1) Consumers (1) contemporary art (2) content-sharing (1) contests (2) contract-free (4) controlling diet (1) controversy (1) Cookbook (1) cooked meat (1) cookies (6) cooking (4) cooking for kids (7) Cool Stuff (1) cool tricks (4) Copley Square (1) copy paste (1) copyright (5) Coriander (1) coriander salad (1) Corn (3) cost of cable satellite (1) costs (1) costumes (2) coupons (3) courtesans (1) Couscous (2) covers (6) cowgirl chocolates (4) Crab (2) craft fairs (1) craft finds (1) crafts (5) crape (1) crayon wallets (1) crazy mike apps (1) Creamy Carrot and Orange Soup (1) create (1) creative clusters (1) creativity (2) Criss Angel Believe (1) crochet hats (1) crocheting (1) Crowns (1) crunch deal (1) crunch gear (1) csas (1) CSME (3) csn office furniture (1) csn stores (2) CT Ovo (1) Cucumber (5) Cucumber Recipe (1) cucumber salad (1) cucumber salmon salad (1) Cucumber with Chili Shrimp Paste (1) cultofmac (1) Cultural Alliance (1) cultural magazines (1) cultural nonprofits (1) Cultural Workforce Forum (1) culture (3) cupcakes (1) Curry (2) custom clothing (1) custom painting (1) custom publishing (1) customer service (1) cydia (2) dailytech (73) dali decals (2) Dame Edna tickets (1) Damien Hirst (1) Damn Yankees (1) dance (2) danica patrick (1) Daniel (1) Daniel Radcliffe (1) Danielle Lloyd (1) Dashboard (1) data (3) David A. Ross (1) David Adkins (1) David Alan Anderson (1) David Beditz (1) David Bryan (1) David Finkle (1) David Mamet (1) David Morse (1) David Rabe (1) David Shapira (1) Dayton (1) deal or no deal (1) deals (2) death (1) debuts (1) decade (1) deception (1) declaration (1) decorating (1) Delay (1) deluxe designs (2) demographics (1) denise milani (1) Dennis Hopper (1) departures (5) design (17) designer (1) designer fabrics (1) Desire Under Elms (1) Desire Under the Elms (2) Desmond Nani Reese (1) Dessert (7) Desserts (106) desserts on the cheap (1) Developer Days (1) Developer Labs (3) Developer profiles (4) developers (2) Developmental (1) deviant art (1) Diagnosed (1) Diane Paulus (1) dictionary (5) Did You Know 3.0 (1) diet recipe (1) digital (23) dinner recipes (1) direct mail (2) Dirty Dancing (1) discount seats (1) Discount tickets (26) discounted tickets (3) discounts (1) Disease (1) disease outbreaks (1) Dish (2) Dish Network (2) dishonest Ticketmaster (1) disney (6) distribution (1) do it yourself (1) documentaries (1) documentary filmmaker (1) dogs (1) DollHouse (1) Donal McCann (1) Donald Strachey (1) Donizetti (1) Doug McLenna (1) Doug Wright (1) doughnut muffins (1) downeast basics (1) downgrading (1) download music hutch (1) downloads (3) Downtown (1) dragon ball z (1) drawing (1) DREAM Act (1) dress up (1) drinking (1) drivetrain (1) dropbox (2) Duracell (1) dv2000 (1) dv2200 (1) dv6000 (1) dv6100 (1) DVD (1) DVDs (1) e entertainment (1) e-book (12) e-books (3) e-media (1) e-readers (2) Ear (1) East Berlin (1) East Haddam (2) East Java Recipes (4) easter (1) Easter candy (1) easy cheezy (1) easy cooking porridge (1) ebay (2) Ebb (1) eco friendly baby (1) Economy (1) econsultancy (1) ECTACO (1) Edition (2) editorial (10) Edmonton (1) education (1) Edward Albee (1) Egg Recipe (5) Eggplant (1) Eggs (5) Egyptian Recipes (68) Einstein (1) El Bosco (1) Elayne P. Bernstein Theatre (1) Elisha Cuthbert (2) Elizabeth Aspenlieder (3) Elyse Sommer (1) email (1) Employing Hope (1) emulator (1) en travesti (1) endowment (2) Eneloop (1) Engines (1) English (1) Entertaining Mr. Sloane (1) entertainment (3) environmental art (1) Equinux (1) Equus (2) Eric Hill (2) erichegwer (1) Ericsson (41) Estragon (1) Etch a Sketch Lite (1) etiquette (1) etsy (19) etsy shops (2) Etty Hillesum (1) Eugene Ionesco (1) Eugene O'Neil (1) European (1) eva longoria (1) eva mendes (1) events (13) Everything (1) Examiner (4) excessive commercials (1) Exit the King (1) expenses (2) experimental film (1) explorer (10) extend (1) Extended (1) Extreme Shepherding (1) eye tricks (1) fabric (1) facebook (3) fact checking (2) fairies (1) fairy house (1) fairy wings (1) Faith (1) Faith Healer (1) Falafel (26) Fall (11) fall clothing (1) family (2) Fandango (1) Faneuil Hall Marketplace (1) Faraday Cage (1) farm baby (1) farmers markets (1) farming (1) farms (1) Fascism (2) Fascist (1) fashion (6) fashion shoot (1) Fashion Show Mall (1) fatboy slim (1) fcc (1) felt (1) felt food (1) fergie (1) ferrari (1) festival (1) feta (1) Fettucine (4) fido (1) fierce mobile content (1) File (1) filipino food recipes (32) film (1) finalists (1) finance (5) FinancePLRcom (1) Financial (4) Fine Art Shipping (1) FINISH (1) Fiona Shaw (1) FIPP (1) firefly confections (2) Firmware (2) firmwares for samsung wave (1) Fish (6) Fish Balls (1) fish dive (1) Fish or Seafood Recipe (21) fish paste dipping (1) FisherPrice (1) flash (16) flashing (1) Flashing Method (1) flashing samsung wave (1) Flasing Tutorial (1) Flea (1) flower backpack (1) flowers (1) flu (1) fm radio (2) fm transmitter (2) fonts (3) football (1) Force (2) forcing (1) format Nokia 6600 (1) fortune magazine (1) Forty Magnolias (1) foxconn (1) Fragmented Orchestra (1) Frame (1) France (2) Franchelle Stewart Dorn (1) Francis X. Curley (1) Francisco (1) Frank Galati (1) Frank Theater (1) fre iphone video recorder (1) Free Beer Glasses Wallpaper (1) Free Ebook (1) free iphone (499) free iPhone 3GS (166) free iphone 4 (15) free iphone applications (12) free iphone apps (154) free iphone coding class (1) free iphone developer university (2) free iphone dock (1) free iphone games (26) free iphone kindle (2) free iphone porn (3) free iphone ringtones (7) free iphone skin (1) Free iPhone Synthesizer (1) Free iPhone tethering (5) Free iPhone Theme (1) free iphone unlock (2) free iphone video recorder (1) free iphone wallpapers (59) free ipod touch (2) free ipod touch apps (3) free mobile video (2) Free Nokia Unlock Codes (1) free phone calls (1) Free Preview Weekend (1) free satellite radio (1) free shipping (2) free sms (3) Free Stuff Online (1) free tv (3) free voice guidance (1) freeappalert (1) freebies (1) freedom (1) freelancers (6) freezer installer (1) Freida Pinto (1) Friction (1) friends (2) Front (1) full house (1) fun with magazines (1) funding (7) fundraising (1) fussy britches (1) future (2) futureshop (1) Fuzzies (1) Gabe Askew (1) Gail Burns (2) Gail Nelson (1) Gail Sez (1) Gala (1) gallery (1) Gallery 51 (1) Galt MacDermot (1) game salad (1) Games (549) games radar (1) Gaming (1) Garden (1) Garden of Earthly Delights (1) gardening (2) Garmin (2) Garmin n�vifone (2) Gary Sinese (1) Gay (1) gearlog (1) gecko (1) geek (1) geek sugar (1) Gendai Games (1) General (13) Gennady Rozhdestvensky (1) genome (1) Geoffrey Rush (1) George Bailey (1) George Hotz (2) Gerald Schoenfeld Theatre (1) Gestures (1) ggiphone (1) Ghosts (1) gift giving (2) gift guide (1) gift sets (1) gifts (5) gigaom (1) Gigotron (1) Gilbert and George (1) Gilbert and Sullivan (1) gilded age (1) Ginger (1) gingerbread house (1) girls (3) Girls Gone Weill (1) Gisele Bundchen (1) giveaway (13) giveaway winner (17) giveaway winners (1) giveaways (98) giveawys (1) giveways (1) gizards fried rice (1) gizmag (2) gizmodo (3) glee gum (4) global (1) Globe and Mail (1) glow iPod (1) go graham go (1) goats (1) Goeff Edgars (1) Goggle (1) Golden Globe (1) Goldstar (1) gonzo (1) good gravy (1) good gravy designs (1) Goodman Theatre (4) Goodspeed Musicals (2) Goodspeed Opera (2) google (14) Google Android (12) google app (1) google books (1) google earth (1) Google I/O (4) google latitude (1) google maps (1) google voice (3) gourds (1) GP952 (1) gps (3) GPS Nokia N9 (1) GPS Nokia N95 (5) Gr?vMe (1) grants (1) Graphic Mania (1) graphics (1) Great (1) Great Quesadilla (1) Greater Washington (1) Greater Washington DC (1) Green Beans (1) green cucumber (1) green pepper sauce chicken (1) Greylock Arts (1) Grilled Quesadillas (1) Grilled Salmon On Naan Bread with Lemon Yogurt (2) Grilling method (1) Grizzly Bear (2) Grocery (1) groundhog day (1) Grouper (1) growing up (4) growth (1) Growth (1) growth charts (1) guacamole (2) guest blogger (3) Guidelines (3) gummies (1) Guthrie Theatre (7) Guys and Dolls (1) gveaways (1) gyanin (1) Hair (1) hair accessories (3) hair clips (1) Hairspray (1) half price tickets (20) halftix (1) halloween (8) halloween 2010 (1) halloween apparel (1) halloween candy (1) halloween recipes (3) handmade (7) handmade toys (3) Happy Days (2) Happy Merry Jolly (1) Harold Pinter (1) Harris Burdick (1) Hartford (1) Hartford CT (1) harvest (2) hate tourists (1) have2p (1) Hawaiian Marketplace (1) Hayden Panettiere (1) HazelMail (1) HD (1) Headset (2) Health (3) Health and Fitness Software (12) health care (1) Healthy (1) healthy snacks (1) healthy cooking (1) healthy eating (6) Healthy Living (22) healthy recipes (2) Heart (1) Heather Robison and Hamish Linklater (1) Heather Woodbury (1) Help for Haiti (2) here films (1) hide and seek (1) Hieronymus Bosch (1) HighLine Ballroom (1) hindi movies (1) hiphone (1) Hirsi (1) History (1) Hitchens (1) hitler (1) hiya luv (1) Hmmm (1) Hmmm... (5) Holiday (5) holiday baking (1) holiday decor (1) holiday fairs (1) holiday feature (2) holiday gift guide (3) holiday gifts (3) Holiday music (2) holiday shopping (1) holidays (8) Holistic (1) Holmes (1) Holocaust (1) Holzer (1) home media magazine (1) home school teacher (1) HomeOffice (1) homeschooling (2) homoerotic (1) horses (1) hospital (1) Hot and Spicy Chicory Recipe (1) hot chili sauce (1) hot cocoa (1) hot fried rice (1) Hot Tix (1) Hotels (32) hotspots (1) Hours (1) hours watching ads (1) hours watching tv (1) Houston (1) how stuff works (1) how to (1) how to cook porridge (1) how to lose weight (1) How-to (22) HP (3) HTC (51) Huawei (14) Hubble (1) Hubbub (1) huffington post (2) Hugh Jackman (1) Hugo Bass (1) hulu (2) Hummus (32) Hundred (1) Hunter Center (1) Hunter Thompson (1) hup (1) hutch mp3 (1) hutch player (1) I Drink the Air Before Me (1) i4u (3) i8910HD/5800/N97/Mini/X6 (435) iad (1) iafrica (1) Ian McKellan (1) Ibsen (1) ice cream (2) ICFC318 (1) iGirl (1) ihound (1) ijiggles (1) illegal (1) illumina (1) illustration (5) ilounge (2) image processing (1) images (1) Imax (1) immigration (1) Imperial Theatre (1) Impressionism (1) In The Heights (1) Inauguration Quartet (1) InCarCables (1) included (1) Included (1) income tax (1) Incredibles (1) independence (1) independent (1) Indexes (1) India (14) Indiaaposs (1) Indian Recipe (3) Indigo (1) Indonesian Food (32) industry associations (4) indy bookstores (2) indy mags (3) infections (1) Inflation (1) info world (2) ingredient of pasta lasagna (1) Inherent Vice (1) innovation (2) Innovators (1) Input (1) Input methods (2) Insect (1) Inside (1) INsight Venture Partners (1) inspiration (1) Inspiron (1) installation (1) installous (1) intel (1) Intents (2) international editions (1) Internet (19) internet news (1) internet radio iphone (1) internships (3) into mobile (2) investigative journalism (2) invitations (1) io2010 (2) Ion blog (1) iPad (10) ipad sdk (1) iphone (519) iphone 21 (1) iphone 3.0 (10) iphone 3g (6) iphone 3g speeds (1) iphone 3gs (7) iphone 3gs problems (3) iphone 3gs video (1) iphone 4 antenna (1) iphone 4 jaialbreak (1) iphone 4 mock (1) iphone 4 problems (1) iphone 4 reactions (1) iphone 4 reception (1) iphone 4g (1) iphone ads (4) iphone alley (2) iphone app demo (1) iphone app review (2) iphone apps (4) iphone apps for parents (1) iphone battery life (1) iphone browser (2) iphone business (1) iphone buzz (1) iphone calendar (1) iphone camera (3) iphone canada (2) iphone carriers (1) iphone class (1) iphone commercial (1) iphone concepts (1) iphone contest (4) iphone contract (1) iphone costume (1) iphone daily (1) iphone data usage (1) iphone delay (1) iphone dev team (4) iphone developer (5) iphone download blog (1) iphone exclusive (1) iphone explode (1) iphone fail (1) iphone fake (1) iphone faq (1) iphone firmware (3) iphone footprint (1) iphone freak (3) iphone games (2) iphone girls (1) iphone gui (2) iphone hack (11) iphone hacks (6) iphone hardware upgrade (1) iphone hosting (1) iphone icons (1) iphone in canada (6) iphone japan (3) iphone joystick (1) iphone kindle (1) iphone language (1) iphone launch (2) iphone leak (3) iphone legal (1) iphone marketing (1) iphone memory (1) iphone mms (5) iphone mod (1) iphone modem (2) iphone monitor (1) iphone movies (1) iphone music apps (2) iphone nano (1) iphone os (11) iphone os 4.0 (1) iphone overheat (1) iphone patent (1) iphone platform (1) iphone predictions (1) iphone problems (2) iphone programming (2) iphone prototype (1) iphone psd (3) iphone radio (2) iphone rumour (7) iphone sales (2) iphone scam (1) iphone sdk (3) iphone security (4) iphone seo (1) iphone sms (1) iphone storage (1) iphone study (1) iphone suicide (1) iphone tethering (2) iphone theme for samsung wave (1) iphone time lapse test (1) iphone tips (1) iphone tracking (1) iphone traffic (1) iphone tv (3) iphone unlock (2) iphone video conferencing (1) iphone wallpapers (2) iphone warranty (1) iphone world (2) iphone worm (2) iphones talk (1) ipod touch (1) ipod touch firmware (1) Ipodmp3 (1) ipodnn (1) ipodtouchfans (1) iporn (2) Iraqi Recipes (14) Islam (2) Islamic (2) iSmashPhone (2) isteam (1) it world (1) It's a Wonderful Life (1) Italian Food (11) italkphone (1) itbusiness (1) iTRAVL (1) itunes (6) iTunes Store (5) itv (1) itwire (1) Itzhak Perlman (1) iZel (1) J Tormey (1) J.S. Bach mandolin (1) Jack Cutmore-Scott (2) Jacob's Pillow Dance (1) jailbreak (14) James and Kim Taylor (1) James Barry (2) James Cameron (1) James Michael Curley (1) James Taylor (2) Jane Hudson (1) Jane Jacobs prize (1) Japan (1) Japanese phones (5) jason chen (1) java (426) Java Apps For Samsung Wave (3) Jay Goode (1) Jaybirds (1) Jayne Atkinson (1) Jcobs Piillow (1) Jean Shepherd (1) Jeffery Self (1) Jehane Noujaim (1) Jehuda Reinharz (2) Jen Davis (1) Jenn Gambatese (1) jenna jameson (1) Jennifer Ellison (1) jennifer lopez (1) Jenny (1) Jepara Recipes (1) Jeremy Irons (1) Jerry Springer (1) Jerry Christakos (1) Jersey Boys (1) jessica alba (2) Jessica Biel (1) jessica simpson (1) jewelry (1) Ji Lee (1) Jim Charles (1) jkontherun (1) Joan Allen (1) Jobathan Epstein (1) Joe Hewitt (1) Joe Thompson (2) Joe Turner's Come and Gone (1) John Barrett (1) John Carmack (1) John Glover (1) John Goodman (1) John Rando (2) John Williams (1) joint ventures (1) Jones (1) joose box (2) joost (2) Jordanian Recipes (124) Joseph Jeffries (1) Joshua Bell (1) Joshua Dean (1) journalism (3) journalismdegree (1) journalist (1) Joyce Theatre (1) Jujamcyn Theatres (1) jukebox musicals (1) Julian Kuerti (2) Juliane Hiam (1) Julianne Boyd (3) July 4th (1) jvc (1) KA (1) Kander (1) kansas city (1) Karen Zacarias (1) Kate Maguire (3) katharine hepburn (1) Katie Johnson Cabaret (1) Katori Hall (1) Katrina Kaif (1) Katy Hill (1) Keeley Hazell (1) Keira Naughton (1) Keith Lockhart (1) Kevin Earley (1) Kevin Duda (1) kevin rose (1) keyboard (8) keylock (13) Kidder Smith (1) kids (10) kids activities (1) kids clothing (2) kids recipes (13) kids room (1) kindergarten (1) Kindle (1) Kingdom (1) Kirk Lynn (1) Kitchens (8) Knickerbocker (1) Knighthood (1) knit hats (1) Know Your Mobile (4) Knowliz (1) Kofta (16) Kooza (2) kristen kruek (1) Kuwaiti Recipes (10) kvj bible audiobook (1) Kweekies (1) LA Stage Allliance (1) la times (1) labels (1) labor day (1) labour-management dispute (2) Lake George Opera (2) Lake Shore Limited (1) Lamb (3) Lamb Recipe (3) Lampung Recipes (1) Language (1) Laptop (4) Larry (1) Larry Murray (10) Las Vegas (2) lasagna (2) latest (1) launches (28) Lauren Worsham (1) le Monde (1) league (1) Leap Year (1) learning toys (1) LEATHER (1) Lebanese Recipes (276) LED Sheep (1) Lee Breuer (1) legal (4) Lenox (4) Lenox MA (1) Les Liaisons Dangereuses (1) LesLiaisons Dangereuses (1) Lets golf 2 (1) Lettuce (3) Lever (1) LG (69) Lie Cheat Steal Fake It (1) life hacker (3) Lifetime (1) light (2) Liion (1) lindsey lohan (1) line extensions (2) Links (1) Lion King (3) Lisa Kron (1) literacy (2) literary journalism (2) Literature (1) Lithium (1) Lithiumion (1) Little Mermaid (3) little princess pea (4) liver fried rice (1) Living (1) Liz Canner (1) local food (1) Local Stations (1) locationbased (1) locker gnome (1) lockout (1) London (2) Long Island (1) Looped (3) Looped Broadway (1) Lorraine Hansberry (1) Los Angeles (1) lose weight article (1) lose weight seminar (1) Lost (1) love (1) loving shop (5) Lowell (1) Lucia di Lammermoor (1) luggage (1) Lumens (1) luna and larrys organic coconut bliss (2) Lunchbox (1) Lunchtime Theatre (1) lux dlx (1) Lyceum Theatre (1) Lynn Harrell (1) Lyric Stage (1) Lyric Stage Company (1) MA (1) MA Ovo (1) Ma561ga (2) Ma561lla (2) mabels labels (2) Mabou Mines (1) mac and cheese (1) mac daddy world (1) mac daily news (1) Mac Haydn Theatre (1) mac mega site (1) mac rumors (2) mac user (1) mac world (1) macapper (1) Macbook (2) Maccarone (1) Maclean's (8) macmost (1) Macsimum News (1) macworld (2) Mad Men (1) Madama Butterfly (1) made in the usa (1) Magawards (1) magazine business (1) magazine industry (2) magazine profiles (1) Magazine Publishers of America (1) magazines (1) Magazines Canada (8) magens bay designs (4) MagNet (2) MagsBC (2) Mahaiwe Performing Arts Center (3) Mail (1) mailing rates (1) Main Course (37) Main Dishes (312) Main Squeeze Orchestra (1) Mainboards (1) Majestic Theatre (1) make money (3) make stable money (1) make use of (1) make your own kits (1) Malay Food (2) Maluku Recipes (2) Mamma Mia (1) management (3) Manitoba magazines (2) manolo blahnik (1) mapquest (1) Marceau (1) Marcel (1) Marco Brambilla (1) Margaret Gibson (1) Margot Kidder (1) Marilyn Abrams (1) Marisa Jara (1) Marissa Miller (1) Mark Favermann (1) market watch (2) Marketing (1) marketing 101 (1) marketing pilgrim (1) Marsha Mason (1) Martha Clarke (1) Martin Lawrence (1) Mary Poppins (2) masakan itali (1) mashable (6) Mass Moca (5) Mass Moca and Jacobs Pillow (1) Mass MoCA Film Series (1) Massachusetts (1) match.com (1) Matt Wade (1) Matte (1) Matthew Lombardo (1) Maude Mitchell (1) Maureen McGovern (1) Maverick Arts (1) May Poppins (1) Mayor (1) mcafee (1) mccain (1) MCLA (1) Measure for Measure (1) meat sauce (1) Media (3) media planners (1) Media Post Group (1) Meego (1) megaapp (1) megafart (1) megan fox (1) Melbourne Australia (1) Meltdown (1) memory (8) Men Fake Foreplay (1) Meredith Corporation (1) Merrimack Repertory Theatre (1) Mesothelioma (1) messenger (5) Met Player (1) metrics (1) Metropolitan Opera (2) mexican (2) mexican food (2) Micahael Greif (1) Michael Arden (1) michael jackson (1) Michael Patrick Thornton (1) Michael Rush (2) Michelle Candice (1) mickey mouse (1) Micro (1) Microsoft (10) microsoft office (1) Midnight (1) MidTower (1) Mike Dugan (1) million (1) mime (1) Minetta Lane (1) mini shopper clutch (1) Minneapolis (2) mint (2) Miranda Hope Shea (1) miranda im (1) Miranda Kerr (1) Miscellaneous (72) ML03B (1) MLM Films (1) mobile (3) mobile appy (1) Mobile Browsers (1) mobile crunch (1) mobile devices (1) mobile entertainment (2) mobile flash (2) Mobile games (5) Mobile Internet (2) Mobile operators (39) Mobile phone Tips (1) Mobile Phone Tricks (1) mobile phones tricks (1) mobile wire (1) mobiles (1) moconews (1) Mohawk Theatre (1) Molly Smith (2) mom's group (1) Momix (1) Monica Bellucci (1) Month (1) Moonwalking (1) Moroccan Recipes (194) mossberg (1) Most Expensive (26) Most Expensive Foods (14) most wanted app (1) Motally (2) motherhood (3) mothering (1) mothers (3) motion sensitive ad (1) Motorola (96) Motorola Unlock (1) Motorola Unlock code (1) Mount (1) Mountain View (1) Mouse King (1) Movie Gallery (1) movies (1) MP3 (1) MPA (1) MS500BLK (1) muffins (3) Mullins Center (1) Multi;oader (1) Multilingual (1) multimedia (1) multitasking (1) Munich (1) Murray (1) Museum (1) Mushroom (2) music (37) music video (2) Musical (2) Muslims (1) my artsy baby (2) MYOPENPC (1) MySpace (1) Mystere (1) N8/C7/C6/E7 (330) Naan Bread (1) Naional Summit on Arts Journalism (1) names (1) Nancy Coyne (1) naptime (1) Nashville (1) nasi goreng ati (1) nasi goreng kampung (1) nasi goreng lezat (1) nasi goreng panas (1) nasi sambal goreng (1) natasha thomas (1) Nathan Lane (1) National Endowment Arts (3) national film board of canada (1) National Magazine Awards (1) National Post (1) National Summit Arts Journalism (1) natural baby (1) natural gum (1) Navigation (1) navigation app (1) Navigator (1) nbc (2) nbc bay area (1) NDK (6) NDrive (1) NDrive Germany (1) NDrive Italy (1) NDrive Poland (1) NDrive Portugal (1) NEA (3) Nearly (1) NEH (1) neowin (2) nes (1) Netflix (3) New York City (1) new england (1) new hampshire (6) new iphone (5) New Jersey (1) New Nokia (3) New Orleans (1) New Rep (1) New Victory Theatre. String ensemble (1) New Year (1) New York (1) New YOrk City Ballet (2) New York Drama Critics Circle (1) New York Times (1) newborn skin care (1) Newly (1) News (13) newsoxy (2) newspapers (7) newsstand (3) newsstands (1) Nexflix (1) Next Issue Media (1) Next to Normal (3) Nexus One (2) nic (1) nice porridge (2) Nicholas (1) Nicholas Martin (1) Nicholas Nickleby (1) Nick Cordero (1) nicole richie (1) Nicole Scherzinger (1) nielson survey (1) Night Cries (1) Nikki Sanderson (1) Nimbuzz (2) no contracts (1) no credit card (1) No on 1 (1) Noel Coward (1) nokia (440) Nokia 5230 (1) Nokia 5530 (496) Nokia 5800 (499) Nokia C2-01 (1) Nokia C3 (2) Nokia C7 (1) Nokia E5 (1) Nokia E63 (12) Nokia E7 (5) Nokia E71 (1) Nokia E90 (2) Nokia N8 (53) Nokia N9 (1) Nokia N900 (4) Nokia N95 8GB (2) Nokia N96 (1) Nokia N97 (495) Nokia Siemens Networks (25) Nokia WP7 (1) Nokia X2-01 (1) Nokia X6 (495) Nokia X7-00 (2) Noodles (5) Nora (1) North Adams (8) North Adams Transcript (1) North Strip (1) North Sumatra (3) northeast (2) Northern (1) Not enough memory (1) Notebook (1) Notebook/laptop (3) notecards (5) NOW (1) NTT DoCoMo (1) nude (1) nursery (2) nursery art (5) Nutcracker (1) ny times (1) obama (3) obituary (4) Obopay (1) octopus (1) Of Mice and Men (1) office (7) Ohio (1) Oklahoma (1) Olympia Dukakis (1) OMDC (2) OMMA (1) On the Other Hand Death (1) onesies (2) online (8) ootunes (1) open mic (1) Open source (1) OpenGL ES (2) Opera (11) opera mini (2) Optimization (10) orabelle baby (3) Orange (16) orange puree (1) organic bath products (1) organic coconut bliss (1) organic foods (2) Organization (1) organizers (1) Orgasm Inc (1) Oriental Recipe (4) Original Cast Recording (1) original painting (1) Orion Society (1) oscar (1) oscars (1) Other mobile phone brands (37) Other Recipes (43) others (4) Out at Arena (1) Ovo (2) Ovo review (1) PA3534U1BRS (1) Pablo Schreiber (2) pac man (1) packaging (1) Packs (1) paddington bear (1) Pagagninni (1) Pageant (1) paid iphone apps (7) painting (1) paintings (1) Palestinian Recipes (116) Palm (1) Pam McKinnon (1) Pamela Anderson (1) Pamela Kurstin (1) pandora (1) Pangea Day (2) Pantech (6) PAPA Center (1) paper (3) paper collage (1) paper goods (5) paper products (2) paperwhites (1) Paprika (1) parenting (1) Paris 1890 Unlaced (1) paris hilton (1) parties (1) partnerships (1) Party (1) party planning (1) Pasta (13) pasta fagioli soup (1) pasta lasagna (1) Pasta Recipe (19) Pastries (20) patent infringement (2) patterns (1) Patti LuPone (1) Pavilion (1) Pay What You Can (1) pay-for-use (3) Paypal (1) pc magazine (2) pc world (4) PCEverything (1) pcmag (2) pcworld (4) PDA (1) PDA / Pocket PC (47) PDQ Bach (1) peach crisp (1) peaches (1) peeps (1) Penne (7) Pennsylvania arts cultural tax (1) pepsi (1) Performance Lab (1) performances (1) performing arts (2) Peter Gil-Sheridan (1) Peter Pan (1) Peter Schaeffer (1) pets (1) PetSafe (1) Phantom of the Opera (1) Pharos (1) Philadelphia Cltural Alliance (1) Philadelphia Cultural Alliance (1) Philadelphia Orchestra (2) Philip LaPointe (1) Philip Sneed (1) Philips (8) Phone (1) Phone App (25) Phone cell (9) Phone cell;Bluetooth (1) Phone Schematics and Service (2) Phone Theme (7) PhoneEthernetCoaxial (1) phones review (1) photo (16) photographs (2) photography (5) photos (1) photoshop (1) PIB (1) Pierre Boulez (1) pillow pets (1) Pineapple (1) pink (1) Pinocchio (1) Pinterland (1) Pipes (1) piracy (1) pitch engine (1) Pittsburgh Arts Council (1) Pittsfield (2) PivotPlug (1) Pizza (1) Platinum (1) play (1) play.com (1) player (24) playing with fiber (2) PMB (1) Poached Salmon - Green Been with Cheesy Dills Sauce (1) Pocket (1) pocket gamer (8) Pocket Mime (1) policy (1) pom wonderful (1) pomegranate juice (1) ponche (1) pop culture (1) Popcorn (1) PopSci (2) porn star (1) Portable (2) Portfolio (1) Portion (1) position (1) Potatoes (3) Power (2) power lines (1) powerful (1) Prairie Home Companion (1) Prawn (1) PreCharged (1) preschool (1) presents (1) President (1) President Broadway (1) President Obama (2) press conference (1) press freedom (1) pricing (1) primakow (1) print-to-web (6) printing (4) privacy (1) Privacy Policy (1) Private Lives (1) Prize (1) Proactiv (1) problems (1) product reviews (1) production (2) professional development (13) programming (2) projections (1) promo codes (1) promotion (11) promotions (16) proseo (1) Protection (1) Protector (1) ProtectorDual (1) Protectors (1) Protest (1) Protests (1) prweb (2) Psychiatric (1) Psychiatry (1) ptmoney (1) Public (1) Public Theatre (1) Publick Theatre (2) publishers (2) publishing (1) publishing models (2) Pudding (1) pumpkin chocolate chip cookies (1) pumpkin soup (1) pumpkins (4) puppies (1) Purplera1n (1) pussycat dolls (1) puzzle (161) Pwn2Own (1) pwnage (2) Qatar Recipes (8) Qatayef (4) Quebecor (2) Quebecor Media (1) Queer as Folk (1) quesadillas (1) quick online tips (1) Quick Search Box (1) quicken (1) quickpwn (2) quilting (1) quilts (2) quiz (1) quote (43) R (1) Racine's (1) racing (21) Radio (1) Radio City (1) Ralph Fiennes (1) Ramadan Desserts (12) Ramadan Recipes (46) Randy Harrison (6) Rangers (2) rapid (1) raspberry (1) raspberry cream cheese heart tarts (1) Rattle (1) Reaching (1) reader-written content (1) Reader's Digest (1) readership (2) reading (5) readwriteweb (1) real business (1) reasons (1) Rechargeable (1) recipe to lose weight (1) recipes (13) Recovery Act (1) Red Bull (1) Red Chamber (1) redesigns (7) redeyechicago (1) redmond pie (1) reference books (1) relaunches (5) release (5) release) (1) religion (1) Remembering (1) Remote (1) remote car start (1) remove app (1) Rental (1) replace (1) Replacement (1) research (17) resep mushroom (1) resep pasta (1) Resolution (1) Resources (1) restaurant food (1) Restaurants (14) retro (2) reveals (1) Reviews (8) Rice (12) rice porridge (1) rice recipe (2) Richard Box (1) Richard Griffiths (1) Richard Kornberg (1) Richard Ooms (1) Richie DuPont (1) Rickrolled (1) rights (3) rim (1) ringtone (6) Ringtones (1) RN873 (1) RNC (1) Rob Melrose (1) Rob Ruggiero (4) Robert Belushi (1) Robert Falls (1) Robert Frost (1) Robertson case (3) Rodgers and Hammerstein (1) Roger Rees (1) rogers (2) Rogers Consumer Publishing (1) Rolling Stone (1) room decor (1) Rose Art Museum (4) roselyn sanchez (1) Roundabout Theatre (1) rpg (66) rujak manis (1) rujak pedas (1) rujak pengantin (1) rujak ulek (1) Rupert Everett (1) Rush PR News (1) Rushdie (2) RV02BW (1) Ryan Lammer (1) S60v3 (111) s8500XXJID (1) s8500XXJK1 (1) safari (2) Salad (52) salaries (1) Sally Wingert (1) Salman (2) Salmon (4) salmon yogurt (1) Salsa Fresca (1) Salted Fish (1) Saltimbanco (1) Sam Worthington (1) sambel ayam goreng (1) sambel goreng ayam (1) sambel terasi (1) Sample code (1) samsung (119) Samsung Omnia HD (21) Samsung Wave Apps (4) Samsung Wave Free Apps And Games (1) Samsung Wave Games (1) Samsung wave theme (3) Samuel Beckett (3) San Diego Theatre League (1) Sandisk (3) Sandwiches (10) sandys baking memories (3) santa claus (2) Sanyo (2) sara jean underwood (1) Sarah Taylor (1) Saratoga (1) Sasha Anawalt (1) Sassy (1) Satanic (2) satwaves (2) Sauce - Relish - Dressing (12) sauce for fried chicken (1) Saudi Recipes (64) Save Me (1) saving money (4) Scale (1) scare machine (1) Scarlett Johansson (1) school (2) science (2) scones (1) Scopes Trial (1) scott tissue (1) scrapbooking (2) screensaver (29) SDK updates (19) second (1) Secondstage (1) Secret (1) security (9) sepia (1) September (1) Serena (1) Series (3) Serrano (1) services (1) Sesame (1) sew-fantastic (2) sewing (2) sexy iphone app (1) sexy iphone wallpaper (29) Shaker Hymn (1) Shakespeare (2) Shakespeare and Company (7) Shakespeare Company (3) Shakespeare Theatre Association of America (1) Sharp (1) Shawarma (6) Shazam (3) Shear Madness Boston (1) Sheath (1) Sherlock (1) shipments (1) shipping (1) shoes (1) shooting (97) shop feature (1) shopping (2) shopping handmade (1) Shorts (1) shotgun house (1) shout me loud (1) show closings (1) showcase (1) Showcase Mall (1) shows (2) Shrek the Musical (1) Shrimp (2) Shubert Theatre (1) siblings (1) sickness (1) Side Dish (4) sidelines (1) Silly (1) silly bands (1) SilverStone (1) SILVERSTONE (1) sim card (1) sim-free iphone 3gs (1) simon blog (1) simple fried rice (1) simple making porridge (1) simple salmon yogurt (1) simple sauce chicken (1) single copies (5) sirius buzz (1) sirius radio (4) Sirloin (1) sisters (3) skincare (1) skype (5) slacker radio (1) slash gear (1) Slate (1) sling box (1) sling player (2) slumdog millionaire (1) SMART (1) smart canuck (1) smart house (1) smart phones (1) Smarter (1) smartphone (4) smartphones (1) Smithereens (1) smoking (1) smoothies (1) sms chat 3rd (1) sms chat download (1) sms messenger (1) Snack (5) Snafu (1) Snapper (2) Snapshots (1) snaptell (1) snow (3) snowday (1) snowman (1) snowstorms (1) snuggie (1) soap (1) soccer (1) Social (2) social gaming (1) social media (3) social networking (1) Sofia Vergara (1) softpedia (5) Software (25) Solid Sound Festival Tickets (1) Solo Recipes (1) Solution (1) song (1) Sonim (2) sonos (1) Sony Ericsson (90) Sony Ericsson Satio (26) sorry (1) Sounds (1) Soup (5) South Kalimantan (1) south park (1) South Sulawesi (1) Southwest Night (1) SPAC (1) Spaghetti (4) SpeakEasy Stage (2) Special (1) special effects (1) special interest publications (1) Spectacular (1) Speech Input (1) speeddate (1) Spelling Bee (1) Spike Jones (1) Spinach (5) Spirituality (1) sponsors (1) Sport (1) sports (65) sports theatre (1) spotify (3) Spring (3) Sprint (2) squarespace (1) Squid (5) St. Ann's Warehouse (1) STAA (2) Stage (1) Stage West (1) stagehands (2) Stainless (1) Standard (3) stanford (5) starbucks (1) started (1) stay at home moms (1) Steak Recipe (3) Steel (2) Stephen (2) Stephen Petronio Dance (1) Steppenwolf (5) Stereo (1) Sterling and Francine Clark Art Institute (1) steve jobs (3) Steven Wright (1) still (1) stimulus bill (1) Stir-fry (8) Stock (2) Stockbridge (2) stocking stuffers (2) Story (1) Stratford Shakespeare Festival (1) strawberries (1) stream games (1) stream videos (1) Street (1) strike (3) student class 2009 (1) subscriptions (4) subscriptons (1) summer (8) Summer 2009 (1) sun (1) Superhero (1) superman (1) Supply (1) Surefire (1) Surge (3) SURGE (1) Survival of Serena (1) Susan Sarandon (1) sustainable (1) swap (1) sweaters (1) sweet chili dipping (1) sweet grass farm (1) sweet orange soup (1) Sweet Potatoes (2) symantec (1) symbian (321) symbian music player (1) symbian^3 (341) Symphony Hall (1) Symphony Orchestra (1) sync iphone (1) synthtopia (2) Syrian Recipes (150) System (1) T Mobile (11) T-Mobile (8) T. Rowe Price Group (1) tables (1) tablets (4) Tag Sale (1) Tagines (32) Take Me Out (1) Takeovers (2) Tallulah Bankhead (2) Tanglewood (3) tap tap revenge (4) tarts (1) Tate (1) Taylor (1) Taylors North Adams (1) tea (1) tech crunch (3) tech dirt (1) tech flash (1) tech mixer (1) tech radar (1) tech worlds (1) techburgh (1) techeblog (1) Technical (2) Technical Requirements (1) technology (7) TED Conference (2) Teehan+lax (1) Tehra Dark Warrior (1) Tel Aviv (1) television (2) television watching (1) Tenderloin (1) Tennessee (1) tent (1) terminal (1) terrible twos (1) Terry Teachout (1) tethering (1) Texas (1) text messaging (1) Text-to-Speech (1) texting (1) tg daily (1) Thaindian News (1) thank you cards (1) thanksgiving (1) The Acting Company Romeo and Juliet (4) the actor (1) The Bach Project (1) The Colonial Theatre (1) the grand horizontals (1) the guardian (1) The Intelligent Homosexual�s Guide to Capitalism and Socialism with a Key to the Scriptures (1) The Intelligent Homosexual�s Guide to Capitalism and Socialism with Key to the Scriptures (1) the iphone blog (12) The Ladies Man (1) The Lt Dan Band (1) The Metropolitan Opera (2) The Mikado (1) The Performanace Lab (1) The Producers (2) the register (1) The Salon (1) the standard (1) the story tree (1) The Tempest (2) The Waypoint (1) The Wrestling Patient (1) the www blog (1) theater (2) Theater Collective (1) Theater Development Fund (1) Theaters (1) Theatre (3) Theatre Bay Area (1) theatre dance music (3) theatre district (1) Theatre Etiquette (1) theatre music dance (1) theatres and concert halls (1) TheatreWorks (1) Theme / Wallpapers (10) Themes (66) theremin (1) Theresa Reebeck (2) third (1) third-party iphone applications (1) This Wonderful Life (1) Thomas (1) Thomas Pynchon (1) Thosiba (1) Three (1) Ticket Agents (1) ticket brokers (1) ticket buying iPhone (1) ticket discounts (3) ticket prices (1) ticket sales (1) ticket scalpers (1) Ticketmaster (2) Ticketplace (1) Ticketron (1) tickets (4) tila tequila (2) Tim O'Brien (1) Time Out New York (1) times of india (1) Tina Landau (1) Tina Packer (3) Tips (13) Tix 4 Tonight (1) Tix Bay Area (1) TKTS (3) TL2EW6 (1) tmc net (1) To Kill a Mockingbird (1) toddler clothing (1) toddlers (3) toffee (1) Tofu (1) Tom Coburn (1) Tom Morris (1) Tomato (4) tomtom iphone app (1) Tony Kushner (2) Tony Kushner premiere (1) Tony Kushner quotes (1) Tony Simotes (1) Toonwarz (1) top 10 (1) top iphone apps (2) top iphone news (2) Topics (3) Toronto (1) Toronto Life (1) toronto star (1) torrent freak (4) torrents (2) Tortilla (1) Toshiba (5) touch (464) touch arcade (1) touchterm (1) toward (1) Tower (1) Toxic Avenger the Musical (1) Toxie (1) toys (4) Tracey Moffatt (1) tractor (1) Tracy Jan (1) trade (2) Traffic (1) train timetable (1) Training Ground for Democracy (1) transactions (2) Transcontinental (5) Transcontinental Media (1) Translator (1) Transparent (1) transvestite (1) trash talk (1) travel diary (1) traveling with kids (2) treats (2) Trent (1) Treo | Centro (14) trick or treat (1) trips (2) trocks (2) truffles (1) Trusted (1) trusted reviews (1) trustees (1) tuaw (2) tubestick (1) tunecast (1) Tunisian Recipes (2) Tupelo Press (1) Turkey (1) Tutorials (12) tuttles barn (1) tutu (1) tutus (2) tv (2) tv.com (1) Tweet (1) tweet baby designs (2) tweetdeck (1) Twilight (1) twilight movie (1) Twitpay (1) twitter (7) Two Keys (1) two little tots (1) Two Weeks (1) TwoDisc (2) Typeapos (1) UAE Recipes (12) ubergizmo (1) Uiq (6) Uiq3 (32) ultrasn0w (2) Underground Atlanta (1) union (2) Union Square (1) unions (1) United (1) Universal (1) universe (1) unlimited data (1) Unlock code for mobile phones (1) unlocked iphone (1) Updates (1) upgrading samsung (1) Ursula Mayes (1) US Senate (1) USA (1) usa today (2) USC (1) User Interface (17) ustream (1) utorrent (2) vacations (1) valentines day (7) valentines day recipes (1) Valerie Harper (3) vandalism (1) vanessa hudgens (1) Vanessa Redgrave (1) vator (1) vcard (1) Veckatimest (1) Vegetable Recipe (9) vegetarian (1) Ventfort Hall (1) Venture (1) verisign (1) Verizon (20) Verses (2) Version (1) Vertu (1) Veterans (1) Victims (1) video (11) videoegg (1) Videos (152) Vietnam Plays (1) Vince Gatton (2) Vincent Delaney (1) vintage (2) vintage clothing (1) vintage living (1) vintage pearl (1) violin (1) viral video (1) Virgin Mobile (1) viruses (1) vision (1) visual (1) visual arts (2) Vivian Matalon (1) Vladimir (1) vlingo (1) Vodafone (4) voicemail (1) voip (1) Vonage (1) vote (2) Waiting for Godot (5) Waiting for Godot Opera (1) wal-mart (1) Wales (1) wall decals (1) wall decor (1) wall street journal (6) Wallet (1) wallpaper (1) Wallpapers (3) Wallpapers for samsung wave (1) wallswitch (5) WalMart (2) WalMart Economy (1) War on Terror (2) Washington (2) Washington DC (1) washington post (2) wayback (1) weather (1) web (3) web and print (45) web burning (1) web date info (1) web resources depot (1) wedding apps (1) wedding invites (1) weekends (1) weelicious (1) Weigh (1) West Java (3) West Kalimantan (1) West Nusa Tenggara (1) West Sumatra (2) Western Magazine Awards (2) Weston Playhouse (1) wett giggles (1) What May Fall (1) WhatTheFont (1) White (2) White House (1) white iphone (1) white noise (1) whole grain (1) Why Buy Used Cars (1) Widget (26) Widgets (43) wifi (25) Wilco Mass MoCA Tickets (1) William Coe Bigelow (1) William Finn (1) William Gibson (1) Williamstown Theatre (2) Williamstown Theatre Festival (3) windows 98 (1) Windows Mobile (13) windows mobile 7 theme (2) Windows phone 7 theme (2) winners (3) winnie the pooh (1) Winter (2) wired (6) wirless and mobile news (1) wirless week (1) Wolfenstein (1) Women of Will (1) women's clothing (1) wool (2) word of mouth (1) Word on the Street (1) World (2) world view (23) World Wide Developer Conference (5) worldaposs (1) Writer 1272 (1) writers (2) Writers' Union (1) writing (1) WTEN (2) WWDC (5) X284G (1) xbiznewswire (1) xltblog (1) xm radio (4) xmas (1) XPERIA (43) xscale (1) Yahoo (6) Yasmnina Reza (1) year in review (1) yellowsnow (1) Yo Yo Ma (1) yoga (1) yogurt (2) Yogyakarta Recipes (3) You Tube (1) youmail (1) Young Frankenstein (1) youtube (4) yowza (1) zdnet (4) Zeitgeist (1) zoss designs (3) Zumanity (1) ZumoDrive (1) Zurin Villlanueva (1)