</COMMENT> No JDK 1.1 support for APPLET!!

Programming Assignment 1 Version 2 - Indeterminacy (old version)

So often we collect home movies but never really give ourselves the opportunity to look at them again. Or perhaps looking at home movies feels awkward compared to just renting one at the video store. In the future, we'll envision our television sets, computer, pictures frames to be all combined into one large flat-panel screen display that displays collages to our own liking. Instead of the television cable stations choosing what programs we look at and when, users will be able to define what gets shown on our panel screen. Why not collage our home pictures when we are not looking at T.V. or using the screen as a computer monitor? Or even better, why not have a collection of home movies and have a collage display still images (choosing movie frames at random) from our movies? This way, we will be readily surrounded by art that essentially we have created, but yet is generated dynamically and derived from our home movie collection. As users, we control the content of our collage but an algorithm will determine what gets displayed from the raw content that we provide.

Currently, three movies are being shown in the above collage. I chose "Analyze That", "Divine Secrets of the Ya-Ya Sisterhood", and "The Majestic" simply because these were movies that depicted everyday life... there are people in the movie whose faces we can discern and capture to create a still image. The program randomly chooses one of these three movies at any time, creates a still image, and displays that particular frame on the canvas. All three movies continuously loop and play in the background.

Two buttons are provided at the top of the display: Color and Scale. Each gives the user some form of control... but yet limits that control that they can possess. On the one hand, the user is able to color the movie or have it scaled to a different area, yet is unable to determine which movie gets scaled or recolored. In addition, the user doesn't have any control over the magnitude of the scaling, or the color that gets blended into the movie. These scaling factors and colors are randomly generated using a standard Math function to determine these values. Currently, rescaling a still image takes a bit of time to accomplish before the actual scale factor appears on the text box. This is because we are actually resizing the movie while it is still playing. Since the canvas must be redrawn to reflect the new scaling, some of the previously collaged still images for that movie may be removed from the display. Also, during scaling, still images are continuously being added to the collage. Since the movie is playing in the background, every now and then, sounds from the movie will be played for a second or two, until another movie is chosen to be placed on the collage.

However, room for improvement exists in developing this idea of creating our own collage. I envision this application to be playing in someone's living room whenever their flat panel display is not in use. Perhaps some of the issues regarding slow image scaling will be resolved in a stand-alone application vs. an online network connection. I hope to allow the user to have better control in determining how this collage works, and perhaps users can add their entire collection of home movies, let the algorithm generate which movies get collaged, and let the user have more control on how the collage looks by changing the effects of each image, and not just displaying a still frame. Furthermore, once a user sees a still picture of interest in the periphery, and is curious about the source of this image, the user can click on that still image and the particular movie can play.