Home

Awesome

Viewfinder

This is the complete source for the Viewfinder server and iOS and Android apps as they existed at the time the Viewfinder service was shut down. We're releasing this code in the hopes that it can be of utility to others, either as an archaeological resource or to pick up the baton and start running with the Viewfinder vision again.

The Viewfinder engineers' days are now filled with other priorities and we won't be able to provide support or bug fixes for this code. The code is not as clean nor as well tested as you might find in other open source projects. Yet it is the reality of what was produced by a startup.

That said, there is quite a bit of interesting code to look at:

Setup

We use subrepositories, so after cloning (or pulling any change that includes a change to the subrepository), you must run

$ git submodule update --init

Many of the following scripts require certain PATH entries or other environment variables. Set them up with the following (this is intended to be run from .bashrc or other shell initialization scripts; if you do not install it there you will need to repeat this command in each new terminal):

$ source scripts/viewfinder.bash

Server

To install dependencies (into ~/envs/vf-dev), run

$ update-environment

To run unit tests:

$ run-tests

TODO: add ssl certificates and whatever else local-viewfinder needs, and document running it.

iOS client

Our Xcode project files are generated with gyp. After checking out the code (and after any pull in which a .gyp file changed), run

$ generate-projects.sh

Open the workspace containing the project, not the generated project itself:

$ open clients/ios/ViewfinderWorkspace.xcworkspace

Android client

The android client is unfinished. To build it, run

$ generate-projects-android.sh
$ vf-android.sh build