I came across Ankit Ahuja’s blog today and saw his Twitter Wordle blog post. For those of you who don’t know, Wordle is a simple online application that lets you create word clouds from text files or websites, emphasizing words that are used more often. I wanted to make my own but couldn’t find the right resources from the site, so I ended up doing a Google search for a script that would allow me to download all of my tweets into a text file. I found a python script by Zach Seifts that I ran after downloading BeautifulSoup, a Python HTML/XML parser required to run the script. Nick helped me tweak it a little bit so that it worked. Here is the code that I used:
import time
from urllib2 import urlopen
from BeautifulSoup import BeautifulSoup
# Replace USERNAME with your twitter username
url = u'http://twitter.com/USERNAME?page=%s'
tweets_file = open('tweets', 'w')
for x in range(10*10000):
f = urlopen(url % x)
text = f.read()
text = text.replace("sc'+'ript", "script")
soup = BeautifulSoup(text)
f.close()
tweets = soup.findAll('span', {'class': 'entry-content'})
if len(tweets) == 0:
break
[tweets_file.write(t.renderContents() + '\n') for t in tweets]
# being nice to twitter's servers
time.sleep(5)
print "working...Page",x
tweets_file.close()
This exported all of my tweets into a text file that included all @ replies and HTML tags. Since Wordle would easily pick them up, I had to get rid of all HTML tags and @’s so that they wouldn’t dominate the word cloud. To do so, I used Emacs to create macros that automatically found and deleted them, leaving only raw text that I could plug into Wordle. The result is this glorious Twitter Wordle cloud à la @chloester:


How many ways can you use Google Earth?
What can Google Earth tell us about interface navigation design? Today, I’ve covered several basic navigational methods within Google Earth. It is a free software that allows you explore the earth and view satellite images, maps, terrain, etc of just about anywhere in the world. Google Earth is available for PC/Mac and iPhone/iPod Touch. I will also be reviewing Google Earth using a Wiimote and two different GlovePIE scripts.
There are four basic navigational controls in Google Earth:
(Note: Pitch is tilting the Wiimote up/down. Roll is tilting the Wiimote left/right. IR refers to the Wiimote’s infrared motion sensing capabilities, i.e. pointing on an xy plane.)
Zoom
Slider on right (mouse click)
Scroll wheel up/down (mouse)
Right click up/down (mouse)
Ctrl+Shift+Up/Down (keyboard)
=/- (keyboard)
Pinch (iPod gesture)
Double tap (iPod gesture)
+/- buttons (Wiimote)
B+IR (Wiimote)
Pan
Hand wheel (mouse click)
Drag (mouse)
WASD (keyboard)
Up, Down, Left, Right (keyboard)
Drag (iPod gesture)
Pitch/Roll (Wiimote)
A+IR (Wiimote)
Tilt
Up/down on eye wheel (mouse click)
Ctrl+Drag up/down (keyboard/mouse)
Shift+Drag up/down [centered] (keyboard/mouse)
Ctrl+Up/down (keyboard)
Shift+Up/down [centered] (keyboard)
Tilt up (iPod gesture)
B+Pitch (Wiimote)
Rotate
Round slider (mouse drag)
Left/right on eye wheel (mouse click)
Right click left/right (mouse)
Ctrl+Drag left/right (keyboard/mouse)
Shift+Drag left/right [centered] (keyboard/mouse)
Ctrl+Left/right (keyboard)
Shift+Left/right [centered] (keyboard)
2-finger rotate (iPod gesture)
B+Roll (Wiimote)
A+B+IR (Wiimote)
It’s quite interesting to note that the Wiimote, as a tangible user interface and game controller, is used similarly to keyboard and mouse gestures. The buttons act as a keyboard replacement, and the Wiimote’s IR capabilities are used for pointing as in a mouse. However, when relying on the Wiimote’s accelerometers (pitch/roll), the functions are more gesture-based, i.e. rotating and tilting the Wiimote to create similar functions on the screen.
If there are buttons or keys involved (keyboard/mouse, Wiimote), they will inevitably be used in interface navigation. The iPod Touch, which features mainly a touch-screen interface, uses intuitive finger gestures for navigation. These devices are designed for a purpose with a specific type of interaction in mind, and the Wiimote’s is gaming-related. For example, in a bowling game, a computer’s interface might involve clicking and dragging to roll the ball, the iPod Touch would require a “rolling” gesture with the device as if one was throwing it as a bowling ball (ex. iBowl), and a Wii game would involve a similar rolling gesture with the Wii remote (Wii Sports Bowling).
One of the research questions that my thesis tackles is, how can we move beyond using the Wiimote as a traditional game controller (similar to function mapping, like on a keyboard), and take advantage of its gesture recognition features? For inspiration, we can look to the kinds of gestures used in Wii games. We can design applications where gesture-based interaction is more intuitive than a point and click interface. Similarly, we can take an existing application (like Google Earth) and re-map its functions to fit a gesture-based user interface.