Jan 29, 2005 CS99 PROJECT REPORT Price Appreciation Of Limited Edition Goods Sold Through Online Systems On The Basis Of Traffic Analysis. Group Leader – Song Ye 1. LIST OF PARTICIPANTS a. Michael Morris and Diede Van Lamoen i. Will work as a team to tackle both the technical and non-technical aspects of this project. There is no current plan to have one of us write the paper and the other do the implementation work. b. Achievements i. Week 1 1. This week we got access to the MySQL database provided by the CS department. 2. We began work on the PHP backend for image file uploading. 3. Worked on the reading of preference files that will define the categories into which images will be sorted. 4. Implemented a PHP script that reads the images in the uploads file and appropriately files them into our directory structure. Furthermore, this script collects metadata about each image and will (not yet implemented) store this information in the database 5. We also put time into sketching out some of other interfaces that will be necessary to manage the site/system. 6. We put some time into designing the database structure 7. Personal contributions (Michael) a. I put most of my coding time into file I/O, and managed to get some of our preliminary preference files working. b. For the database design I worked to clarify the types of data that will be relevant to each database entry. c. Worked on the design of the upload management page with Diede 8. Personal contributions (Diede) a. Worked on spec for db tables b. Worked on navigational layout of webpage and management system c. Worked in reading of default preferences from file d. Developed PHP for organization of image files e. Setup foundations for image metadata collection ii. Week 2 1. We have initialized our database and are now able to updated with image meta data from the upload page. 2. We are integrating our php into a pretty site template, to give the site some visually punch. 3. Diede has designed and integrated the homepage for the site. 4. Michael has written some php that converts the uploaded images into thumbnails for faster web display 5. Personal contributions a. Michael i. jpg ->thumbnail script ii. helped write php to update database with upload metadata b. Diede i. Work on integration of php and site design ii. Creation of a homepage template iii. Finished upload php so that it now sends collected data to the sql database 2. 3. 4. PROJECT PROBLEM DEFINITION: Limited edition goods sold through traditional retailers, be it photographs, pottery, or other works of art, tend to appreciate in price as availability decreases. One particular area where price appreciation is highly visible is that of photography. Ansel Adams, a world famous photographer will often sell the nth photo of a limited edition series for up to ten times the amount of the first print. Many photographers including Ansel Adams have started utilizing virtual galleries on the web to increase their sales. Whereas with traditional galleries, the gallery sales personal can get a very good impression as to which items are highly popular there is no feedback build into online galleries. In addition, even in traditional galleries, prices increases of works based on perceived popularity are arbitrary and based almost entirely on the experience of the sales staff. Consequently, we are proposing to develop as system which uses extensive traffic analysis and economic theory to determine which items to appreciate and to what extent. REPORT ON MEETINGS a. Jan 28 i. Present: Michael, Diede, Song Ye ii. Discussed project with Song to see if he would be interested in advising us. Song responded favorably. iii. Discussed the database format and decided that we should be able to stick with a two table implementation, second table containing price history information. iv. Talked about the possibility of coding this project in the extreme programming style. Need to do further research on the matter. v. Song mentioned the possibility of writing scripts that could test our work step by step as we continue through the project. We are unsure if we can justify the time to develop a full blown testing suite given the relatively small scale of this project. b. Jan 31 i. Present: Michael and Diede ii. Group coding and designing session iii. Main focus was on finishing the upload interface and getting the site template online. iv. Faced some obstacles with writing of files from the PHP script, but determined that the problems we faced had to do with the fact that web requests are handled by user:Apache and thus file permissions needed to be properly set as to give both Apache and ourselves control over the file. METHODOLOGY Backend: Consists of an upload script which reads all images in the 'upload' folder and is supplied with an optional category name If a category name is specified the images are filed in a directory bearing the category name (if the directory already exists we add the files to that directory, prompting to overwrite files if they too already exist). If a category isn't specified it goes into the ‘other’ category. It then adds the path and meta information into the mysql database. (optional) depending on the how we progress we will add image processing to upload script meta data includes - ‘id’ (unique id as assigned by MySQL) - ‘date’ (upload date) - ‘totaledition’ - ‘sold’ (number sold) - ‘hits’ (number of views) - ‘filename’ (max len 255) - ‘price’ - ‘artist’ (max len 50) - ‘comment’ (max len 512) - ‘gallery’ (path to gallery directory of image) once the files are added the correct category directories, the upload directory is cleared. Frontend: pulls relative data from mysql database to fill front page template with one large image labeled featured image (most popular). Also a menu is seeded on the basis of the category directories. User either selects the featured image (note on every image read we upgrade times viewed with the exception of the front page which doesn’t up the hit count for the featured image) or a category. If the featured image is selected we open the individual picture template which retrieves the relevant data from the database and ups the hit count. If we select a category we go the category template which builds a thumbnail gallery for all the images in a given category directory. Upon selecting any of these images we go to the single picture template as described above. If the user decides to buy an image (by hitting buy) it is added the shopping cart (Please note that in the interest of time we plan on using a prewritten shopping cart system). Only once the user decides to check out do we increment the actual buy count of the image. cron-price script: (price determining system) This script will contain all the algorithms dealing with the price appreciation. on an interval basis (probably once every 24 hours - midnight) the script runs through every entry in the database. it looks at the total hit count/total bought/number of prints sold in relation to amount of time the edition has been available/ and how far along we are into the series of a particular photo. The evaluation of these metrics will be combined into a score. we then compare this score against our pricing index. if we determine that the price needs to be increased the mysql entry is updated, if not the entry is left as is and we proceed to the next entry. 5. 6. PROGRESS MADE a. STEPS COMPLETED i. Upload management page and script is complete b. STEPS TO BE DONE FOR THE WEEK i. Fine tune thumbnail creation script ii. Store image path in database entry iii. Write homepage PHP that puts most popular images upfront iv. Work on other web interfaces for our system c. Write MySQL DB initialization script PROJECT MANAGEMENT a. SCHEDULE OF PLANNED MEETINGS i. Will meet Feb 7 to work on deliverables. b. COORDINATION i. Diede and Michael will work side-by-side on db initialization and creation of needed we interfaces.