last update: 2008-12-15
- What is it?
- Development status
- System Requirements
- Installation / Deinstallation
- Download! Gimme!
We got (and still get) quite some feedback for this project! Check (among others):
PhotoPolis is a completely new way to browse through your photo-library! The program builds a city out of your photos by combining them to "houses" (one house representing a certain time - e.g., the second week of March, 2004) and quaters. So, you can follow a street and see on both sides the photos you took the last year, or compare the christmas-photos of the last years. So you can rapidly browse through your collection - and if you want to see some of the images closer, just hit a key and get a slideshow of the photos in a house.
PhotoPolis is completely open-source and under the MIT license (thanks to our university, the LMU munich, and especially Sebastian Boring and Professor Andreas Butz for the permission to publish this program!). It should run on most common platforms, but was tested only with WindowsXP and Mac OS X.
PhotoPolis was written during the course "3D Praktikum" at my university, the Ludwig Maximilian University in Munich. It was not written entirely by me, but together with two fellow students and friends, Tilman Beer and Julius Bahr, who made the course great fun and the result impressive. There is a website dedicated exclusively to PhotoPolis: PhotoPolis-home. Go there to find even more information about the concepts and development of PhotoPolis. PhotoPolis is open-source - if you want the source, just visit SourceForge!
The work on this project is finished. We will try to cleanse the code from any bug you show us, but I'm afraid there won't be any new features :/
- Windows XP (SP2 recommended)
- Java 1.5 or newer
- .NET-framework 2.0 or newer
- PentiumIII or better
- A dedicated graphics card with as much memory as possible
- For large image-libraries: >100 MB on C for temporary files
- Mac OS X
- Mac OS X 10.4 Tiger or newer
- Java 1.5 or newer
- A Mac with a G3, G4, G5, Intel Core processor or better (Note: Photopolis was only tested on Intel-based Macs.)
- A dedicated graphics card with a lot of memory (128 MB recommended). (Note: Photopolis will run on Intel Macs with Intel Integrated Graphics, however Photopolis will run very slowly with more than 400 photos.)
Just some screenshots. The first and second screenshot show a city representing my complete photo archive. The third shot shows the "map" view - the city from above; the red blob marks the user's current position. The last screenshot was taken in the "gallery"-mode (and what you see there is a cooking trial of mine ;) ).
Windows: Unzip anywhere. Create a folder "C:\cities" (not on all machines necessary). Start by doubleclicking "PhotoPolis.jar" or entering "java -jar PhotoPolis.jar" in the command line and the apropriate folder. Please use the later method, if you encounter any problems, because some additional status-messages are just displayed in the command-line window.
Mac OS X: Just mount the PhotoPolis image and launch the installer.
Before you can watch your images, you must PhotoPolis create a city first. This means that PhotoPolis finds all the images in the specified directories, sorts them and creates smaller versions of them. Creating a city may take quite some time, but is only necessary once!
So, assuming you're running WindowsXP, you start "PhotoPolis.jar" and get a simple window containing just two buttons.
Press "Create new city"! Now, you are supposed to enter the name of the city you want to create. We recommend, you create a test-city first - to see, if everything works. You can build cities as big as you want later - the only constraint is the power of your machine! When you have entered the name, press "Select Images & Start". Now, a directory-select dialog pops up. Select a directory containing only few images for now and press "OK". Now, the conversion-process starts (and may take a few minutes). You can see the progress at the now visible window containing a status bar.
When the conversion has finished, the "select city" frame should be visible. This frame shows you all cities, you have created so far (and allows you to delete them). At the moment, there should be only one city - the one you just created. Select the radio-button besides it and press "Start".
Now, PhotoPolis loads all the images from the city (actually the just created, smaller versions of them) into the memory of your graphics card; this may again take some moments. After that, you are in your city and face the city sign of PhotoPolis. You are free to roam through your city in the style of first-person-shooters using the following controls:
- mouse, arrow keys: change the direction you are looking
- left mouse-button: select a house/image
- right mouse-button: hold to switch from direct to indirect (cursor) mouse pointing
- f5: toggle fullscreen mode
- w, a, s, d: move forwards/backwards or strafe
- q: Hold to move faster
- space bar: in gallery: pause/unpause slideshow. else: activate jet-pack
- f: turn flashlight on/off
- m, tabulator: toggle map-mode
- enter: when a house is selected, jump to gallery-mode (beginning at the selected image)
- h: show help-screen
- esc: when in gallery: exit gallery; else: quit PhotoPolis
The interface contains some augmentations that are supposed to aid you when navigating to the city: Your current position is always visible in the bottom-left corner. Also, there is a compass on top of the window that shows, in which direction you are currently looking: If "+ YEAR +" is on top, you are looking towards higher years = into the future. So, earlier years lie behind you. Thus, you are standing in the "October"-street of 2005 looking towards earlier months in screenshot 1 from above. The field in the lower right corner shows information about the currently selected house as, for example, how many pictures were loaded. Also, you can see here, which image of this house is selected - if you press return, the slideshow will start with this image.
Also, the city itself aids your navigation: There are road-signs everywhere depicting your current position. The currently selected house is brighter than the others and bounces up and down - and the cube showing the selected image in the house has a blue frame and is slightly bigger than the other cubes.
|Windows: PhotoPolis.zip (5.3 MB)|
|Mac OS X: PhotoPolis.dmg (5.7 MB)
Apple changed the install-script in MacOS X Leopard (10.5)! The current version should work again - if not, please contact me or try the previous version on PhotoPolis-home!
- Creating a city takes forever!
- Give it time! The creation of a city means that every picture in the folder is analyzed, compressed to a standard resolution and stored in the cities folder. Although this process is highly optimized and multithreaded, it still needs some time. To check, whether it works at all, please try a folder containing just a few pictures.
- Creating a city doesn't work at all!
- Not good. If you're running windows, please make sure that there is a "c:\cities"-folder. If that didn't help anything, please contact Julius (he's the one who wrote the Java code that handles the city-creation) or me. If you have any error-messages or other indicators for what went wrong, please include them in a mail!
- I get extremly few frames per second
- The city you created is most likely too big for the memory of your graphics card to hold. Every photo is stored in the GPU's memory at startup of the program and is supposed to stay there as long as the application runs; however, if there are just too many photos to fit in the GPU-memory, the system keeps some photos just in the RAM of your computer. So, if the magic border is broken, some photos must be copied from RAM to GPU-memory (what is really slow). No big deal? Well, the images from RAM replace images in the GPU memory - if these weren't rendered before, they need to be copied, too, and so on. Worst case: Nearly all pictures get copied on demand when they are rendered - and that kills your performance.
So, what can you do? Two things: Buy a graphics card with more memory ;) or create smaller cities. Another solution would be, that we reduce the resolution of the textures case-sensitively - that is a ToDo, so perhaps you're lucky in close future.