« January 2006 | Main | March 2006 »

February 25, 2006

Arduino - Workshop Feb 25

arduino software is open source.
runs on both mac and windows.
contains a hardware serial port - enables the serial data to be read even if when you're in the middle of any PIC operation.
no software serial. Can only send and receive serial on port 0 and 1 (through the pins or through the serial plug).

Arduino programming:

TWO WAYS TO ASSIGN PINS:
#define LEDPin 13;
int LEDpin = 13;

ROUTINES:
setup() - beginning
loop() - loops throughout

SOME FUNCTIONS:
beginSerial( baudRate ) - setup serial (in the setup function) with the inputed baudRate
digitalWrite( LEDpin, HIGH ); - make LEDpin turn on
analogVar = analogRead( varPin ); - reads analog input from varPin pin into analogVar variable
printByte( byte ) - prints byte out through the serial port
printInteger(value)
printNewline()
delay (1000) - pause for 1000 mili-seconds
pinMode( pin, mode ) - sets the given pin to the given mode (INPUT, OUTPUT) - would usually be used in the setup() part of the program.

DATA TYPES:
integers
booleans
floating point numbers

When installing the arduino board, remember to install the driver in your computer. Once installed, go to Tools -> serial port menu. Then plug in the arduino board, check again -> USB serial port

/dev/tty.usbserial-1B1 =>this is usually the name of the port on a MAC.
On the PC the COM ports will show up => usually the arduino will use the last COM port (with the highest number). Can double check this at Control Panel->System->Device Manager->Ports and see which devices are connected at which ports

verify button- compiles code to a binary file

can put 8-16V into the board. The 9V pin is the same amount of Voltage as the plugged power adaptor. Never put a power adaptor with a negative center (must be positive center).

Jumper - toggles between USB power and power from the adapter (can program the board without another power supply, just using the usb power -> except for running motors, which need more amperage).

AVR programmer - use it to put the initial program onto the arduino board.

If we get problems, find the file: arduino->preferences.txt file, check the serial.download_rate (19200 or 9600). Make sure its 19200. This is for the AVR programmer to be able to talk to our board and program the initial base software.

burn.command unix file
./burn.command (on the command line in order to program the chip)

ls /dev/tty.* - to get a list of all the serial ports (to check that the serial port is working when the arduino is plugged into our computer).

Posted by Gilad Lotan at 02:08 PM | Comments (0)

February 23, 2006

Networked Game Assignment

We created a 2-player game that is controlled with 4 potentiometers (2 for each player), each controller uses an Xport (with the following code) to connect to a python script on the itp server (in the cgi-bin). This script parses the message from the PIC (the two readings from the pots), and writes them to a .txt file (important not to put the .txt file in the cgi-bin folder-> otherwise processing can't open it!). We run a processing app which reads both data files and uses the information from the potentiometers in order to place the two players at the appropriate spot on the screen.

There have been problems with the itp server/timing. Best would be to have our own little server (next time!), but also every time the we send information to the server, to cut off the connection (sending the ascii character '4' - "serout[4]") and then time is not wasted on the server talking back to the PIC chip. It is also extremely wasteful to have the .txt files in between the communication.

some photos from today:

IMG_1914.JPG IMG_1920.JPG
IMG_1921.JPG IMG_1924.JPG

Min's blog (including video)

Posted by Gilad Lotan at 01:05 AM | Comments (0)

February 22, 2006

GLArt - Lesson #6

GLInteger()- to set how many bits to allocate to each stack. If we want to Push/Pop more, use GL_MAX_MODELVIEW_STACK_DEPTH to find out how big our stack is.

When modeling, a lot depends on the normals. If we want hard edges, and sharp hangles we need more normals.

.obj file from Maya - encoded in a .txt file. We get all the vertice (v), texture coordinates (vt), normals (vn) and faces.

Look into Display Lists in OpenGL - (GLART_6_displaylist example) - put anything that's not going to change in a displaylist. when re-using the same geometry, better to use a displaylist. For spheres its better.
Look at creating sockets (video sensing & networked objects)

H/W - think of something to do over two classes. Think ahead of time of an effect that you want to get to.
pixel-by-pixel

Posted by Gilad Lotan at 06:39 PM | Comments (0)

February 21, 2006

External Data Scraping - Feb 21

Can use RSS feeds (borrow info) or scrape HTML code (steal info).

RSS feeds available for craigslist / flickr / nytimes / upcoming
Use a Perl script that scrapes information from an RSS feed into your database.

Scraping weather for instance-> use a .pl file (perl), go to a website - get("http://....") and then extract the important information from the returned string.

regular expressions - parsing the web page that we get -> tutorials at

http://regular-expressions.info/perl.html
http://virtual.park.uga.edu/humcomp/perl/regex2a.html
http://www.anaesthetist.com/mnm/perl/regex.htm

Posted by Gilad Lotan at 08:09 PM | Comments (0)

February 20, 2006

Flesh

Some interesting effects I managed to make this week with random shapes and colors, using textures from photos I took in Paris last spring.

cubes8.jpg

cubes11.jpg

The effect is nice, but not quite there yet. I want to somehow randomize the cube shapes, and to create something more organic.

Some effects I made with last week's assignment:

fan1.jpg

fan4.jpg

fan3.jpg

Posted by Gilad Lotan at 02:18 PM | Comments (0)

Design Expo - Feb 20th, thoughts

From an article about Wikipedia in China - "Wikipedia is special because other places don't have this kind of discussion, at least not such an intellectual discussion. It's a place where people with different backgrounds interact," said Shi, a prolific contributor to the Chinese Wikipedia. "But that wasn't even our goal. Our goal was just to produce an encyclopedia."


Looking at Wikipedia entries I realize how important it is to keep track of all this information and to have this 'hub' where people store and update their stories. Just from spending 10 minutes reading the Myanmar page I learned so much information. These are all virtual webpages. But what if each piece of information represented a physical space/spot. The connection between this information and the physical space seems very important to me.

E-politics is also a very interesting route to take. Virtual democracy, where the majority is obvious and truly represents the users of the application.

Clay's reactions and notes on PNN:
- The RSS part of the application we can take for granted. I've been playing around with Netvibes this week, and amazingly its almost IDENTICAL to what we were envisioning. It is also important that we keep that one layer of friends almost as a 'filter', so its not just friends of friends of friends, but what's important to the people around you might be important to you. And you can only directly affect the people around you. It is interesting to use the Internet only as a transport layer this way, for our information, and as a connection between people, but not have the application open and free for everyone and anyone. Basically, if we take on this project, we should concentrate on the distribution part of it and not the aggregation part.

For next presentation - we should put the important points on cards, and then sort the cards out into a logical presentation.

Posted by Gilad Lotan at 12:56 PM | Comments (0)

Etch & Sketch Net. Game - Feb 20th

Some things from today:

1. Getting the python script to work was a drag. Little mistakes like tildas and slashes in the wrong places. Also very important to keep the file prefernces at 755 and NOT 777!

2. We realized that we needed to put our data file (data1.txt) in the main directory, because processing couldn't grab data from within it when it was in the cgi-bin library.

Basically what we decided to do is connect two controllers (each with two potentiometers), through the WWW, to our python script which then writes the pot values into the data1.txt file (situated in itp.nyu.edu/~gl637). Then we will get a precessing app that will constantly check these values and change the graphics of the game according to them. The processing bit is not quite there yet, but is on its way. I'm unsure about the line & space drawing, but am sure its not hard. Will try to have a ball bounce around too... aaargh!

IMG_1810.JPG

IMG_1811.JPG

IMG_1812.JPG

IMG_1813.JPG

IMG_1814.JPG

IMG_1815.JPG


Posted by Gilad Lotan at 03:48 AM | Comments (0)

February 19, 2006

LanguaGet

Here is my proposal for a mobile phone translator app.

midterm copy.jpg

Posted by Gilad Lotan at 01:04 AM | Comments (0)

February 18, 2006

readings

David Isenberg
The need to communicate is primary, like the need to breathe, eat, sleep, reproduce, socialize and learn. Better connections make for better communication. Better connections drive economic growth through better access to suppliers, customers and ideas. Better connections provide for development and testing of ideas in science and the arts. Better connections improve the quality of everyday life. Better connections build stronger democracies. Strong democracies build strong networks.
F2C:Freedom to Connect begins with two assumptions. First, if some connectivity is good, then more connectivity is better. Second, if a connection that does one thing is good, then a connection that can do many things is better.

Global Voices aims to redress some of the inequities in media attention by leveraging the power of citizens’ media. We’re using a wide variety of technologies - weblogs, wikis, podcasts, tags, aggregators and online chats - to call attention to conversations and points of view that we hope will help shed new light on the nature of our inter-connected world.
“We believe in free speech: in protecting the right to speak — and the right to listen. We believe in universal access to the tools of speech.

To that end, we seek to enable everyone who wants to speak to have the means to speak — and everyone who wants to hear that speech, the means to listen to it.”

Q: What is a bridgeblogger?

A bridgeblogger is someone who uses her weblog to increase understanding between people from different countries or cultures. Bridgebloggers sometimes are people who write about their home countries for a global audience, like Jeff Ooi in Malaysia, Issac Mao in China or Big Pharaoh in Egypt. Often they’re expatriates, like Hossein Derakshan, who writes about Iran from Canada, or Ory Okolloh, who writes Kenyan Pundit from Cambridge, MA. And sometimes bridgeblogs are written by people who are passionate about another culture, even though they have no ethnic link to that nation - your hosts Ethan and Rebecca both fit that description.

Not every blog written about politics, global cultures or current events is a bridge blog. A blog about Basque politics, written in Basque for a Basque audience is probably not bridging between cultures - a blog about Basque politics written in Basque and Castellano might well be. A blog written by Basque and Castellano speakers to encourage communication between the two groups certainly would be.

We are trying to create a global index of bridge content. For examples of what people are trying to do with these index pages, see Ghana, Antarctica or Morocco.

Feel like watching a nation? Please add your name next to the country in the list below, and add the page itself to your watchlist (follow the "Watch this page" link once you're looking at the page itself). Then watch the feeds listed on the page for new bridge sources, and add them to the page when you find them... or add your own favorite feeds to the list.


Posted by Gilad Lotan at 07:15 PM | Comments (0)

Independent Project - light & fabric testing

On friday, feb. 17th, Min and I got together to try out her lights with my fabrics. We got some nice effects, and have reached basic decisions on how to start this project.

We will build a small, frame-like sized box (5'x1'). I'm taking care of the thin piece of wood for the back, while Min will find out a good source for LED's.

We agreed on having the patterns in between the LED's and the fabrics move in order to create those great effects that we noticed, although I'm still not sure if its better to move the LED's themselves. But that might be too hard for a first stage, so might come later.
Its as if these lights act as "mini-flashlights", shining onto the different layers of fabric, through the patterns that we created. Gives an interesting 3d texture.

We haven't agreed yet on how to layer out the "grid" of lights.

Photos @ Min's Blog

I've started trying to get a Maya model of our box. Will be nice to try to visualize the shape & light positioning in order to make the right choices when we build it. I'm stuck not able to create a semi-seethrough fabric effect... But here's a VERY initial sketch.

shadowBox1.jpg


Posted by Gilad Lotan at 05:18 PM | Comments (0)

February 15, 2006

Lesson #5 - Texturing, 15.2.06

look at lwjgl documentation for mouse (functions to get mouse position).

Texturing has its own coordinate space in OpenGL. Images that are used for textures have to be powers of 2 (in size of length). The textures are stored in the GPU (graphics card)-> much faster. We need to map our texture space onto our model space.

lwjgl website - "devil" library - for optimized texture handling functions.

In OpenGL there is a need to flip the images.
In order to use alpha channels, we need to enable blending (GL11.glEnable(GL11.GL_BLEND)), and then define the GL11.glBlendFunc to set blending parameters.

- Zsort - sometimes we need to sort out the geometry ourselves (for z, depth), especially when dealing with alpha texures (in those cases when we need to turn off the automatic depth handling).

- MipMap - because of scaling up and down, we create a bunch of texture images from the biggest, smaller 4-5 steps and creates intermediate images. This makes the application look better.

* OpenGL renders lighting effects first, then texture, and this may dull the reflected highlights (specular), particularly affecting glossy materials. Use glLightModeli(GL12.GL_LIGHT_MODEL_COLOR_CONTROL, GL12.GL_SEPARATE_SPECULAR_COLOR) to have OpenGL render reflections after (on top of) the texture. (note: this is a 1.2 feature).

H/W:
Use materials & try Alpha.

Idea:
- create layers with peep-holes, where you can see into the other layers, depending on the movement of all the rest.

- different geometric shapes, each with parts of the body. Comes together every once in a while...

Posted by Gilad Lotan at 06:35 PM | Comments (0)

February 13, 2006

Feb 13th meeting

Main ideas:

- Real time learning (of software) through other people's usage of the program. This should somehow be extended to learning languages... or anything. Best if you could learn passively, through another person's actions.

- P2P phone application - connects between needs of people in the same location (ikea shared van...)

- visual display of map - geography of media coming in from different parts of the world.

Posted by Gilad Lotan at 01:07 AM | Comments (0)

February 09, 2006

Design Expo - Lesson #4, thoughts

Things that I liked, and thoughts that came up from today's lesson:
- physical exchange -> electronic notification. Is there some physical action that could use an electronic (digital) system to back it up? (postal). Physical action in 3rd world country-> can turn into something virtual. This leads to some options:
a) the 'personal news' idea that we had where each person can bring out their own personal story.
b) points of access to the network in 3rd world countries, where people would gather, mainly to receive data and receive education.

- In a free system, there will always be spam

- Is there a way to organize all of the data that we have so that we'd be the 'mesanenim' and each of us is in charge of our own personal 'desk'?

- I like the idea of a chip that's shut most of the time, and only when triggered, emits some signal.

- Multi-networks - doesn't depend only on a certain network. That's 'shakuf'

- telecom network that's under the ground? Possible? Which radio frequency?

- community system for crime prevention

- pen that's networked, uses magnets to guide its user. Learn how to write.

for next week:
20 min. presentation, visually rich, more sketches and diagrams. In the effects part, can have just single words on page. Try to script it a little more.

Posted by Gilad Lotan at 06:26 PM | Comments (0)

Light and Displays

This project is pretty cool (Blinkenlights). Basically people send in their images, which then get used in the facade of this building. Very simple execution -> relays, 8 floors each having several windows, each with 150W lightbulbs.

My personal favorite - G -
g.blm

Vectorial Elevation - Nice idea, but not taken to the max. I like the idea where people can affect this physical thing that's so huge in an actualy city of the world. But I don't think that these linear lights do the trick. If the outcome of the design had some more meaning, or could resemble an image, then it would be VERY cool.

I had an idea a few weeks ago for the MTV-U Darfur project - creating a picture-mosaic using MMS pictures that users send from all over the world. Having this be on a hugh billboard somewhere in the city, and the outcome of the picture being some photograph of the poor people in Darfur. This was to heighten people's awareness regarding the disaster that's happening there. A similar idea could be using a building's outside display, getting SMS/MMS feeds from random users. I just like it better when there's a meaning or certain image.

Jame's Clar's work is pretty amazing, visually.

here is another building display which I really like, in Barcelona.
foto_6232.jpg

Check previous 'Networked Objects' entry about the city of Hong Kong.

Posted by Gilad Lotan at 12:47 AM | Comments (0)

February 08, 2006

Mosaic / Shadows

This is a poster I walked by today. I like the style and look of the dress. A similar effect can be made using patterns and shadows. With more contrast it can look more 3D!

Image(42).jpg

This is the storefront for the Angel store in Central, Hong Kong. The facade is amazing and draws your attention immediately. I was thinking if the black dividers could change, as well as the colors behind them, it could be super-duper cool. Maybe more of an interactive display!

Image(01).jpg

Image.jpg

This is inside the new Lane Crawford store in Admiralty, Hong Kong. Designwise it is amazing, ... and... they have an interactive video display (video sensing, projection based).

Image(03).jpg

James Clar's work - created a visual clock with R,G,B colors refering to hours, minutes and seconds. AAARgh. Is there anything that hasn't been done already?

more ideas:
- to have a display that can sense people's names (through bluetooth) and do something with that text.
- put your fingerprint, and have a labyrinth-style display made from that image (of your print)

Posted by Gilad Lotan at 11:03 PM | Comments (0)

GLArt, Lesson #4 - Feb 8th, 2006

look at viewports in OpenGL - can adjust to different screens, as well as have a small window to work with (like a workspace).

Really great site for OpenGL functions

Really great site with all the geometry equations.

OpenGL Lighting explanation

Types of light:

Emitted light originates from an object and is unaffected by any light sources.

The ambient component is the light from that source that's been scattered so much by the environment that its direction is impossible to determine - it seems to come from all directions. Backlighting in a room has a large ambient component, since most of the light that reaches your eye has bounced off many surfaces first.

Diffuse light comes from one direction, so it's brighter if it comes squarely down on a surface than if it barely glances off the surface. Once it hits a surface, however, it's scattered equally in all directions, so it appears equally bright, no matter where the eye is located.

Specular light comes from a particular direction, and it tends to bounce off the surface in a preferred direction. A well-collimated laser beam bouncing off a high-quality mirror produces almost 100 percent specular reflection. Shiny metal or plastic has a high specular component, and chalk or carpet has almost none => like shininess.

Usually we will create materials that don't reflect a certaing color (just reflect whichever color light hits them). We just need to set how shiny they are (specularity).

H/W - light a sphere above a ground plate. Get different effects (snowball, pooltable ball, mirror ball... etc). Have a grid for viewports (maybe 4 different balls on the screen). Look at Monet and other impressionist paintings.

Posted by Gilad Lotan at 07:36 PM | Comments (0)

SciVIZ - Class #4

Paths, Cameras and Objects - can duplicate the camera (in the behavior screen) and create an object that moves on the path just in front of the camera (change position).

Set the default camera and views so that when published on the web it is what we wanted. category-montage-set as active camera (this chooses which camera will see the main view when having two windows).

creating buttons - resources->textures>hold the control key, and a button is formed. A button is on the screen, undependent on the viewing angle. (2D sprite) Then attach a behavior to the button (help-button). Interface->controls->'pushbutton' behavior, drag to the 'sprite' screen. Released material->choose the original chosen picture. drag 'set active camera' to the behavior of the button.

to jump between camera views - setup a transition camera. Key waiter (waits for a space), sequencer (like a switch), edit parameters (put the different camera views) -> then it works like a switch, different camera view for each different pin connecting between the sequencer and the parameter selector. Then connect the 'smooth transition between views' (this is like a third camera that jumps between the static camera views that we have). Can change the speed using the Bezier progression.

If we add a 'Translate' characteristic to the path, and choose the key, the user can control the angle of the camera view.

Can use two different kinds of sounds -
- 2d - background sound
- 3d - spatialized sound - relating to the space

Level manager -
level script - Global characteristics for our world. Can have
just music playing, sky, etc...


week 4 folder -

* can have user move camera paths interactively
* having a grid system - using colors, you can detect when an object crosses to a certain area on a map, the camera angles will change.
* island - look at how they created sound domes, and how they created the sky. Test the sound first on the demo file, then merge with our world file. After that we can change the paths.
* particles - emitter (like volcano), rain drops, clouds (built from many textures). Can have a particle emmiter, that emmits the particles while it moves on a path.
* photoshop /AE - can create a filmstip (the different frames of an animation). Then the particle emitter divides the .jpg into frames, and sort of creates an animation. Then using vorteces (opposite of magnets), you create the movement of the smoke (keep moving the vorteces).
* shader editor - can write and compile OpenGL code (through the Resources tab)
* camera tracking - c/c++ editor which connects to the webcam. Should try to use my pixel by pixel code!

- CAMTASIA - creates a movie from all the screen activity. Good for demos.


Posted by Gilad Lotan at 12:50 PM | Comments (0)

February 07, 2006

GLArt - Geometric modeling

This site is really cool for planning the plot scheme of a certain model.

Trying to recap my linear algebra, and infinitisimal math. Functions I got so far:

- circle - sqrt(9-sqr(x)) and + sqrt(9-sqr(x)) - this gives a circle with radius=3 centered at the origin.

- petal shape - going to try to make a petal shape using the sqrt(x) function. Draw it once for x=1 to 30. Then rotate 90 CCW, then draw the -sqrt(x) function.

Posted by Gilad Lotan at 11:54 PM | Comments (0)

February 05, 2006

"As You Like It" - Set Design: Feb 5, '06

Agreed with Jessica - previous suggested set too complicated.


Needs the design to be:
- simple, moveable (tourable)
- easier to rehearse (5 weeks in Hong Kong)
- a centralized playing space (raked stage in the center, that doesn't move). This is almost like a machine or a box (not a music box-cutsie) but elegant.

Shakespeare's AYLI is a social commedy about love and the nature of man. There's no grandeur, no heroism and no tragedy. Doesn't need to evoke those feelings, nor eternity => therefor doesn't require depth as a visual effect.

Can think about projections for the background, but solely as an add-on effect (dessert menu - when we finish with the meal, we can decide if we're gonna order).

Think about making a turning rotunda, like an umbrella, which can change the feel of the scene by a simple turn / lighting effect.

For reference, look at drawings of a book called struppel peter (stupid peter).

Posted by Gilad Lotan at 09:05 PM | Comments (0)

February 03, 2006

Independent Project

Meeting with Min brought up a lot of interesting facets of networked objects and interactive architecture.
Things to think about:

- using calm technology to somehow create the presence of time in a space. Why wear a watch or have to constantly look for a watch. Time is all around us, constantly there. An idea is to think of a way to visually have time around us, just not in an intrusive manner. An idea was to use patterns of shadows -> taking it back to the roots, when sundials were used in order to keep track of time.
(A reference to this idea is the lighting-time scheme on a skyscraper in Wan Chai, Hong Kong).

- another idea was to somehow create a new way to display visuals. We were both interested in mosaics, and piecing together different pieces that make a whole. We talked about the details that are seen when close by, but making a whole clear picture from faraway. Possibly usage of different materials. Building a modular display screen, that is based on this irregularity of structure, using LED's and glass/plexi. Also possible to project on something like this. Not sure what the use would be though. Maybe just a pretty thing to look at, like a mosaic is.

- I'd love to work with shadows. Casting shadows as patterns. Using them to create visuals, possibly animations / mirror images. Visually this has always attracted me.

- An idea i've been carrying for a while with me was to have a physical object (statue-like) that's connected to the web, and surfs the major news websites. Everytime a terrorist act happened somewhere in the world, the object would shout, or create a certain sound that would be heard only by people in its' vicinity. This is interesting because it gives a sort of feel and presence to people who hear it, not knowing exactly what's going on, but realizing that something has happened.

Website references:
- Jason Burges - deals with interactive spaces
- Zaha Hadid - Front page of his website - I like the use of curtains to project the face.
- Many of the things we talked about - Interactive architecture & Design

Some pattern photos i've taken (more to come...).

Some image references from mosaics and stained glass windows.

mosaic1.jpg

mosaic2.gif

mosaic3.jpg

mosaic4.jpg

mosaic5.jpg

mosaic6.jpg

stained glass.jpg

stained glass3.jpg

stained glass4.jpg

stained glass 5.gif


Posted by Gilad Lotan at 10:47 PM | Comments (0)

Inspiration from Feb 3rd meeting

Different thoughts of what we think will happen in a future world that's more connected came up today. Some personally very strong.

I've been to so many places that mean a lot to me, my family's history, and generally the world's history. Thinking of places where unimaginable disasters happened like Auschwitz, Hiroshima, and even Ko Phi Phi. What if greater connectivity meant that we can have certain places on earth connected (somehow physically). For instance, make a connection between Hiroshima and Pearl Harbor, both sides of the same event. So instead of having just a Japanese war memorial in Japan, and an American war memorial in Hawaii, somehow to show both sides of the story. This relates to a future world where one person can have the ability to broadcast his/her personal views to many people. Taking this idea to a different level, this could somehow connect between classrooms from different sides of the world. Generally, the idea of being able to offer education worldwide through the greater amount of bandwidth/connectivity is a dream.

I think this idea of keeping a place's history has immense potential. Need to research more.

Posted by Gilad Lotan at 10:38 PM | Comments (0)

February 02, 2006

Reading for week 2 - Open Source TV

Open Source Television

The internet is a medium for communication between humans (through computers). As humans, we are distiguished from apes by our flexible communicaion strategies, the essence of what makes us social beings. Language defines the scope of consciousness. Wittgenstein believed that all philosophy was a result of the imperfections of language. Orwell created Newspeak to portray the prison of a language which extinguished all political thought. By definition, communication is a social act-> hence a political act.

Information has to be free. When the Chinese try to create a "wall" to block free flow of information, an alternative spontaneously arises. In this sense, the Internet is endlessly protean and autopoeic. There is an interesting borderline here, between whats free and whats not. Should software be free? Should searching google be a free service? Should access to the internet be free?

As media consumers, we need to liberate ourselves from the anti-market forces of the free-to-air commercial networks, and, as creators and purveyors of audiovisual content, we need to free ourselves from the anti-market forces of commercial networks as programme distributors. In other words, we need to develop a comprehensive computational and emergent strategy to disintermediate the distributors of audiovisual media, directly connecting producers to consumers, and further, erasing the hard definition between producer and consumer, so that a producer’s product will only be identifiable by its inherent quality, in the eyes of the viewer, and not by the imprimatur of the distributor => GET RID OF THE MIDDLE MAN!
The digital TV is a great output device, but a lousy tuner, because the design of the device reinforces the psychology of spectrum scarcity. What we need, therefore, is a new device, which sits between the Internet, on one hand, and the digital television set, on the other, and acts as a new kind of tuner, thereby enabling a new, disintermediated distribution mechanism. The basic specification for this device is quite simple: it would be capable of locating, downloading and displaying audiovisual content, in any common format, on the viewer’s chosen display device.

Interface is communication, interface is a language, and the user’s fluency in that language determines their level of satisfaction as they interact with the device. Interactions do not occur in isolation. Every time a user interacts with a device, he brings with him the memory of all prior interactions with that device. Some of the best interfaces maintain a memory of their use, and employ persistent data to reconfigure their behavior. Interaction must be seen as a continuum; it is not a single event but an evolving relationship which, if properly constructed, evolves the interface as the user grows more familiar with it. “If you liked that programme, you’ll probably like this one as well.”

Technology that disrupts copyright does so because it simplifies and cheapens creation, reproduction and distribution. The existing copyright businesses exploit inefficiencies in the old production, reproduction and distribution system, and they'll be weakened by the new technology. But new technology always gives us more art with a wider reach: that's what tech is for.

Posted by Gilad Lotan at 08:39 PM | Comments (0)

NetObj - Lesson #3 - Feb 2nd, 2006

comments from readings:
======================
- Bridging between the physical and the virtual
- Real time tagging -> location awareness
- Devices talking with each other
- Embedded technology -> in natural parks, instead of building a visitor's center, add hidden technology that offers information.
- Telephone numbers are a relic. Not necessary anymore. Just need to reach a person. How can we do that? Maybe have tags on names in order to know which "Alice" we want to reach => One UNIQUE ID for everyone in the world.

I think its completely all about finding the right balance between technology and physicality.

* Look at the Yport (wireless Xport)
* Programmableweb.com/apis - look at this website

Posted by Gilad Lotan at 12:02 PM | Comments (0)

The Equator Projects - Their insight on Interaction

The Equator Project 's aim is to integrate physical and digital interaction. Everyone realizes that the computer is moving beyond the workspace. The Equator project is reasearching the possibilities to use this type of technology in homes, schooling, community care and city streets. Very similar to ITP, just a bit more "techy". On their website they do a good job at breaking up the conceptual thought behind "interaction". Some thoughts:

- Ambiguity - valuable for the user experience
- Brand (Stewart Brand) - timespan and ownership
- collaborative learning
- Domestic Ethnography -
- Historical view - how we model and interpret context. Declare that complete 'invisibility' for ubicomp is unachievable.
- monomedia - single overarching medium of human activity when different types of media joined.
- presence (through virtual environments)
- seamfulness - new opportunities lie in a design approach that reveals or takes advantage of the limits, gaps and variability of technologies that we often asume to be uniform and seamless.
- sense and sensibility - analysis of the relations between physical affordances, sensors and desirable activities.
- Sensing for exploration - sensor-based systems, and issues about their design.
- Transforms - relations created by physical-digital coupling.
- Traversals - mechanisms for creating transitions between virtual and physical realities.
- Understanding space - relationship between physical and virtual space (location-aware mobile systems, augmented reality & ubiquitous sensing).

Go back to look at this website!

Posted by Gilad Lotan at 12:42 AM | Comments (0)

February 01, 2006

GLArt - Lesson #3, Feb. 1st 2006

GL11.glEnable(GL11.GL_CULL_FACE)

If a polygon is drawn counter-clockwise (vertices drawn in counter-clockwise order), then the front side is facing us (right hand rule). When we enable culling later on (to save processing power), the back side of the surface will be invisible.

Matrix multiplication is the basis of 3d activities. Every time we change a perspective, the matrix that represents "our world" changes. We need to multiply our matrix with the vertex (x,y,z) in order to get the new position for this same vertex. This creates an effect of 3d movement through space.

3 transformations that occur:
- Modelview Matrix - This matrix is formed when we make the actual 3d model.
- Projection Matrix - This matrix is formed in order to create a 2d picture of this 3d model (bring it to our eyes). Acts like the LENS of the camera we're looking from.
- Viewport Matrix - This matrix deals with the screen you're seeing from. How big is the screen, and how much do we want to see. Defines the area inside our application window (which opens up when we run the program) - we actually say which part will have the world that we build. We can make it in different aspect ratios as well. Use this when we need to display our project in a different screen (with different ratios).

GL11.glOrtho - creates a frustum - a 2d view of the scene centered at 0,0. We define the six clipping planes. Things don't get smaller as they're farther away. Almost like creating a perfectly straight box around our scene -> the world has no perspective -> things look 2D. In Ortho mode, things can still appear to look 3d (depending on our viepoint angle & distance), although there is no perspective (things stay the same size, all lines are straight).

Display.setVSyncEnabled(true) - every time you draw to the screen, synchronize it with the display refresh cycle (Hz). This runs faster because the program is not waiting for the monitor to refresh the screen. Fast, but tearing is visible (because its sometimes drawing as the video card is doing its' refresh - usually every 1/60th of a second).

To Do:
1. Go over matrix multiplication theory.
2. Try to get some code for serial connection through JAVA (sockets) in order to add some Pcomp options into GLArt projects this semester. Look at Dan'O 's link.
3. Read this article about linear perspective in the renaissance.
4. Look at the following projection tutorial.

Ideas:
1. connect breath to a visual display (using a microphone & PIC) - open a flower, or making a propellor turn (to get a machine flying).
2. connecting physical movement to the display - accelerometer / light sensor / video tracking?

Posted by Gilad Lotan at 06:57 PM | Comments (0)

SciVIZ - Lesson #3

Creating paths in Virtools.

Backface Culling - when you look at the tube from the outside, you can see to the inside, but when your camera is inside, you cannot see anything from outside of the tube. Can use this to make a sort of sphere over the city of manhattan. Easier to work this way.

When making a camer in Virtools, we add a behavior to the camera that gives it a scripted behavior (this time to follow a given path in our world). More properties - Banking (the angle of the camera as it takes a curve), Click on z (to view front), check out the schematic of the behavior to see the scripting that can be done on the behavior.

Building blocks - controllers - keyboard controllers - we get many possible keyboard behaviors (keywaiter - we pick a key, then it waits for you to press the chosen key). It is possible to encapsulate scripted behaviors within themselves.

Data Import/Export - Its possible to save paths as an array of points. It is also possible to create a path using an array of points in a .txt file. Can use PHP for this in order to create interactive paths that feed off of a real-time live information resource.
Look at pathfinder - (1997) explorer on mars. A NASA project.

Online reference - can see all the help files for virtools.
.cmo - file which can be opened
.vmo - encrypted, can't be opened when put online

Posted by Gilad Lotan at 12:51 PM | Comments (0)