Monday, October 1, 2007

week4 - Download and view image


the above link seems not working, still haven't figured out why, so here is a screenshot:

what this does is download Google's logo from Google's home page, darken the image by multiplying the RGB value of each pixel 0x777777.

comment of ChoRong's midterm idea

I was impressed by the idea of visulizing calendar in a map-like format. I am really curious and keeping thinking about what would it be like?

Thursday, September 27, 2007

Google Lays Out Its Mobile User Experience Strategy

http://www.informationweek.com/blog/main/archives/2007/04/google_lays_out.html

1. Understanding users, anywhere, anytime

2. Fits in your pocket

3. More personal than the PC

4. Consistency across modes

5. Localization is intensified

6. Integrated devices, modes, products

Tuesday, September 25, 2007

week 3 - Project Idea 3

Leave Sb A Gift

Hyeki described this mobile game to me, which is people search and find vitural items in physical space by having to physically getting the right position on map. The key technic is GPS. I like this idea, not neccessarily the game. I like playing the idea between vitural and physical and something outdoor.

So this inspired me have an idea of this application. It's so cool to leave someone a secret gift or anything somewhere in the city or anywhere on the earth! This thing is virtual, but you have to actually go to that place to get that thing someone else left for you. It could be on a bridge, it could be in a corner of city, it could be in the sea! Once you get the exact place, you will get the virtual object. It could be a message, it could be a web link where you have any online presence you want to give it to that person, or it could also be the next target!

week3 - Project Idea 2

Since our group (Hyeki, Shinyi and I) got a Nokia N95, I started to more think about some location based application/game.

Earth Graffiti
This project called MERIDIANS inspired me. The artist carried a handheld GPS (Global Positioning System) receiver to trace his movements by recording his position regularly along the journey. And then represented these data on map. The image below is one of a series, which all together is a quote "It is not down in any map; true places never are." See more images and the project here.


So I got some inspirations from this project. The app/game what i'm thinking about is, one by physically going from one place to another and another, can pinpoint his path on map. He can see the drawing on earth map in real time, so that he can determine where he goes next. Maybe he also can set the color and weight of stroke. The purpose for the user/player is to generate some interesting drawing. After the drawing, he can send the picture to web, where people can share what they draw and the stories during that process.
Or one can send those pin points(not entire drawing) to someone, with which the other person by physically following the path can reveal the drawing, over any long period of time he wants. Maybe someone want to say "i love you" to a person, or someone draws a little cake for a person's birthday gift. People can be very creative and imaginative of what they draw and what they do with it, also having a lot of fun.

Monday, September 24, 2007

Week3 - Canvas Responding Button Presses

I created this little app, where different sizes and degrees of color grey of square appear responding to certain button being pressed. For example, if button 1 is pressed, a square that is 1/10 of screen width wide and 1/10 of screen height high and very close to total black will appear. if button 9 is pressed, a square that is 9/10 of screen width wide and 9/10 of screen height high and less close to total black will appear.

Screen shots:
1. button 6 is pressed


2. button 4 is pressed

3. button 9 is pressed:

Source code:

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;

public class CanvasResponding extends MIDlet implements CommandListener {

// The MIDlet's Display object
private Display display;

// Flag indicating first call of startApp
protected boolean started;

// Our Exit command
private Command exitCommand;

protected void startApp() {

//for debugging
System.out.println("I'm starting!!! - " + started);

if (!started) {
display = Display.getDisplay(this);
Canvas canvas = new KeyFinderCanvas();
exitCommand = new Command("Exit", Command.EXIT, 0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
display.setCurrent(canvas);

started = true;

System.out.println("Application Started! Yay! - " + started);
}
}

protected void pauseApp() {
}

protected void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {
if (c == exitCommand) {
// Exit. No need to call destroyApp
// because it is empty.
notifyDestroyed();
}
}
}

//KeyFinderCanvas is a separate canvas which displays keys and codes
class KeyFinderCanvas extends Canvas {

static int[] keyCodes = {KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4,
KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9,
KEY_POUND, KEY_STAR};
static String[] keyNames = {"KEY_NUM0", "KEY_NUM1", "KEY_NUM2", "KEY_NUM3", "KEY_NUM4",
"KEY_NUM5", "KEY_NUM6", "KEY_NUM7", "KEY_NUM8", "KEY_NUM9",
"KEY_POUND", "KEY_STAR"};

static int[] gameActions = {
UP, DOWN, LEFT, RIGHT, FIRE,
GAME_A, GAME_B, GAME_C, GAME_D};
static String[] gameNames = {
"UP", "DOWN", "LEFT", "RIGHT", "FIRE",
"GAME_A", "GAME_B", "GAME_C", "GAME_D" };


int lastKeyCode = 0;

int lastX;

int lastY;

boolean pointer;

protected void keyPressed(int keyCode) {
lastKeyCode = keyCode;
repaint();
}

protected void keyRepeated(int keyCode) {
lastKeyCode = keyCode;
repaint();
}

protected void keyReleased(int keyCode) {
lastKeyCode = 0;
repaint();
}

protected void pointerPressed(int x, int y) {
lastX = x;
lastY = y;
pointer = true;
repaint();
}

protected void pointerDragged(int x, int y) {
lastX = x;
lastY = y;
pointer = true;
repaint();
}

protected void pointerReleased(int x, int y) {
pointer = false;
repaint();
}

protected void paint(Graphics g) {
g.setColor(0xffffff);

//this is not smart, instead of doing this - what would you do?
g.fillRect(0, 0, getWidth(), getHeight());

g.setColor(0);
if (lastKeyCode != 0) {
String keyText = "";
String keyName = null;

// See if it is a standard key
for (int i = 0; i < keyCodes.length; i++) {
if (lastKeyCode == keyCodes[i]) {
//keyName = keyNames[i];
g.setColor(i * 0x111111);
g.fillRect(0, 0, getWidth()/10*i, getHeight()/10*i);
break;
}
}

if (keyName == null) {
// See if it is a game action
for (int i = 0; i < gameActions.length; i++) {
if (lastKeyCode == getKeyCode(gameActions[i])) {
//keyName = gameNames[i];
break;
}
}
}

g.drawString(keyText, getWidth()/2, getHeight()/2,
Graphics.BASELINE|Graphics.HCENTER);

if (keyName != null) {
g.drawString(keyName, getWidth()/2, getHeight()/2 + g.getFont().getHeight(),
Graphics.BASELINE|Graphics.HCENTER);
}
} else if (pointer) {
g.drawString("(" + lastX + ", " + lastY + ")", getWidth()/2, getHeight()/2,
Graphics.BASELINE|Graphics.HCENTER);
}
}
}

Week2 - App I like

Mobile Map GPS Application

In last class I mentioned one of the mobile applications I like is a mobile map GPS app that I dont know the name of, which is installed on my friend's N80 phone, we travelled together for a couple of times, and we use it everytime. I like it, because it really help us a lot. There is a gps receiver and the app installed and running on the phone. GPS receiver takes position info in real time, transmits it to cell phone via bluetooth, your current geographical position get represented on a map on the screen. You can also pre set your route and it's represented by a red line. It also tell you how far are you from the next turning point and the street name of it.

Last time i said the mobile application that we use is free, well, i was particially wrong and particially right. The application is called TomTom, which is a commercial software, costs $150 only the application and map, on this hand I was wrong, but the application my friend got was a cracked version, so it was free. Yeah!

week 3 - Project Idea 1

Who Am I What I do Who Are You

I'm not so clear yet about what application i will make, but there is something there interests me, that is how do we perceive ourselves and how others perceive ourselves. I envision this could come out a mobile/web social app.

Things in my head
I always feel mobile phone is even closer to me than any other digital devices that i use, tv, computer, camera, mp3 player, clock, etc. It is such a personal and social thing, much more than a digital device. It's one of three things i always keep with me when i go out(the other two are wallet and key chain). I use it to talk to my family thousands of miles away, talk to friends, talk to people i want/need to contact, also being contacted by people i dont know yet. I keep it on all the time, even when i'm off at night. I use it to find ways when i first time travel to some places, either by a GPS app on my phone or just simply call a friend! It keeps all my contacts, which i have no idea at all. It alarms me at propriate time. It tells me time and date. It helps me do calculations. It helps me remember some numbers or texts. It's representing me at many times. I assume this is true for many other people.

Who am I is not a very easy question to answer, especially now. We are keeping a lot more identificaions than before, other than name, SS#, passport#, student ID, driver license#, home/work phone#, etc these traditional identifications, now we have email address, personal website url, flickr url, delicious url, youtube account, online bank account, credit card#, cell phone#, IM name, blog url, social network website account and many many others. To answer the question "who am I", we usually need to present those of our identifications in some way.

Other than those identifications, you also identify yourself via what you do. For example, you take photograph, you play yoga, you write articles, you program, you have many ideas that others never thought about, you tell funny stories, etc.

So people are interest in who you are and what you do. But people may have different perceptions of who you are or what you do from what you think. For example, you may think
you are a funny person, but others may think your funny stories always suck.

However, people are interested in who you are and what you do. Some people look for something in common, while others look for something totally different.


The App
So in terms of an application, I'm thinking of some application combined with cell phone and web. You have an online identity in a social network website, where you have some visual representations of what you think of and what others think of who you are and what you do, also you have these information synchrinized with your mobile phone, others physically near you can retrieve these info via bluetooth or other proper technique, so that both of you can connect offline or online.