|
|
Week
2:
READING:
Out
of all the readings so far, there are three concepts that stuck
hard:
_1 Designers should consider how a device affects both the locus
and periphery of the user's attention. Good design
will tie both factors into the core functionality of the device.
Great design will enable the device to intuitively
move between locus and periphery, enabling 'calm' interaction.
_2 This field is still in its emergent stages, and so its especially
important to employ tested techniques for measuring the true nature
of a device. Industrial design offers such tools through prototyping
stages as well as usability testing and observation techniques.
_3 The average westerner uses 40 embedded computers every day; The
alarm clock, microwave, fax machine, cell phone, elevator, LCD screen
etc. At which point do we stop categorizing a computational device
as a 'computer'? Perhaps when a computer is designated (confined?)
to compute towards a singular functionality (or closely related
functionalities). Perhaps when the interface includes a form that
relate to its functionality (such as the paper-tray in the fax machine).
I'm sure that the two aspects mentioned above (_1 and _2) strongly
relate to this.
XPORT:
I got the XPort circuit up and running with my home-network. Here
are some pointers to remember:
-
My router uses DHCP, so I wanted to use a dynamic IP for the xport
rather than hardcoding it (which would be an advantage if i try
to plug this into 99% of other home networks).
I used this java server/client by tom in order to recognize the
IP of the xport. The only change i've made to his code is commenting
out the first 'package' command, and the rest worked like a charm.
On the xport side, i've entered these settings:
|
[SERVER
MENU]
IP
Address : (000) .(000) .(000) .(000) // this forces dynamic IP allocation
Set Gateway IP Address (N) N //
this forces dynamic IP allocation
Netmask: Number of Bits for Host Part (0=default) (8) // means: 255.255.255.0
Change telnet config password (N) N
Change DHCP device name (not set) ? (N) N // Every computer on a DHCP
network has a name.
//
You can change this if you want to give the
//
XPort a fancy name.
[CHANNEL 1 MENU]
Baudrate (9600) ?
I/F Mode (4C) ?
Flow (00) ?
Port No (10001) ?
ConnectMode (D5) ? // Automatically connect to the IP below,
which happens to be my main computer
//
running Toms TCPIP software. This is how i discovered the DHCP IP.
Remote IP Address : (192) .(168) .(000) .(100)
Remote Port (10001) ?
DisConnMode (00) ?
FlushMode (77) ?
DisConnTime (00:00) ?:
SendChar 1 (00) ?
SendChar 2 (00) ?
Eventually Ill have the XPort automatically send its IP to an email
address, or just post it on some site on the net. Until then, this
will have to do.
Other things i would want to remember:
- The 7805 on the breadboard will get hot. get a heat sink
- Use command prompt, telnet xxx.xxx.xxx.xxx 9999 (x's
are IP) to set up the XPort, instead of using the HyperTerm
restart XPORT+hold x key scheme.
- Once hooked up, the xport setup java app could be accessed from
IE, but for some reason not Firefox. ( http://xxx.xxx.xxx.xxx ).
Here are the urls that i used:
- Tom's
xport site
-
Lantronix manuals
- Tom's
simple TCPIP server
URL's for moving forward:
- Uploading
custom applets to XPort
- More
code examples for XPort/Java
|
Week
3:
READING:
The
Physical Surrogates idea - I can't figure out why for the love of
god would i want to use one of these things. With that said, I liked
the image-blurring technique that was implemented; showing space
in a blurred/pixelated manner so you could detect motion but not
details. The level of visual obstruction can be modified depending
on the relationship between the two sides.
Regarding
'smart home' appliances: They promote an unhealthy lifestyle that
revolves around the words 'speed' and 'remote', and not 'comfort'
as the geeks and salesmen of these products want you to believe.
The potential users of these technologies may want these
devices but certainly don't need them. What these people
really need is to change their (probably american) work-centric
lifestyles. As these devices are aimed towards mid-hi income individuals,
I think its safe to say that they can all 'afford' not using any
of these 'time-saving -- remote-enabling' devices and instead get
to know their kids face to face. For example - Instead of trying
to remotely cook and monitor the kids through some radio gizmo,
how about inviting the kid to the kitchen and prepare dinner together.
Wouldn't that really result in a smarter home?
|
Week
4:
PAIRS
ASSIGNMENT:
In my mind this assignment is about establishing a truly functional
protocol between two decentralized nodes in a system. As I found
out, this becomes a difficult task if one wishes to achieve professional
grade functionality and user interface design. Doria and I decided
to build a simon-says game. The system will have 3 led's and 3 corresponding
buttons. First player will hit one button start of the game. The
corresponding light will turn on the second user's console. The
second user will have to match that LED with a corresponding button
press, and then add a new one to the sequence. In return, the first
users get's a sequence of two strokes which she has to mirror, then
adding the third one.. etc. etc.
Furthermore, 3 additional LED's will be used to show the score.
Each player gets 3 points (3 lit LED's). Upon loosing a round, one
light turns off. When all 3 LED's are off, the player looses the
game.
Finally , a status LED will let each user know weather its their
turn to send a sequence. This LED will turn on after the opponents
sequence has fully played through, and will turn off when the appropriate
number of stokes has been entered by the users.
Other small details which turned out to be more important then any
of the above:
- Signals that depict a losing/winning rounds. Best solution is
to implement sounds that correspond to winning/losing situations.
Moving down on a minor/chroma scale is associated with losing. Fast-paced
ascending notes on a major scale is associated with winning.
- Hand shaking: While the game worked well with both of us in the
same room, i can see many problems occurring with a truly remote
networked environment. Maybe tom should have mode us demonstrate
the projects with one of us in a separate room.
FRAMEWORK -> PROCESSING+TCPIP SERVER:
http://www.pitaru.com/itp/netobjects/download/TcpServer_ITP/
Developing this assignment required to run the same code on both
xport circuits. That made the debugging procedure a bitch, so i
divided to implement tom's tcip-ip server in processing. This allows
me to test one-xport circuit against a processing interface that
is easily modified. I think this code may help other's as well during
production.
|
Week
5:
MIDTERM
ASSIGNMENT:
Nurit and I had a TV respond to a chat taking place on the server,
by dynamically changing its content to fit the general vibe of the
chat. The premise is that many people leave the TV open as ambiance
while chatting online (which is true for most people i know). Why
not have the TV adopt itself to the vibe in the room? Why not?
Language analysis can be tricky as the same word can be used in
different contexts: 'i'm so happy we're together' vs. 'i'll never
be happy with you' . This could be done by using context dictionaries,
some of which are available online. Interestingly enough, Chat lingo
[use of emoticons and abbreviations] provides us with some pretty
precise indications of the general vibe in the chat room. By analyzing
these signals, we make the TV change its content: Comedy central
when the mood is cheerful, Playboy for sex-chats etc.
For the presentation, we used canned material from famous movies
rather than switch channels. The engine was continually scanning
for a combination of the current vibe, in context of the previous
vibe. for example - a sad conversation may have turned violent,
so we search for sad-violent content. Or - a happy conversation
has turned sad, so we look for a heartwarming comedy etc.
More on this soon..
|
|
|