I have developed a consolidated system that enables people to (re-)design interactive graphics in a collaborative, creative workspace. This system is novel compared to previous systems because users can explore and author graphical content with the ability to re-use and re-design projects created by other users, hence, encouraging an example-centric model for authorship. The question is whether or not this system catalyzes the design process, which is two fold: does the system help people create content that they would previously not have, or, does it help them create content faster than they would have previously? To test the system a number of studies were done ranging from in-person studies on UC Berkeley campus to deployment on Amazon's Mechanical Turk. Users were directed to a website with a series of specific tasks that walked them through the user interface and taught basic concepts for authoring content. After initial tutorials, users were asked to take what they learned to create projects based on a list of requirements. User studies showed that this system is not only usable, but also its collaborative model is definitely successful and encourages creativity.
User studies conducted using this software have shown that example-centric workflows catalyze the creative process.
Scientific content increasingly relies on the presentation and authoring of complex multimedia diagrams and figures, sometimes interactive, to convey information in a non-textual way. Wikis and user-generated hyperlinked content have both been very successful in the case for text---this is what I aim to do for computer graphics. Today there are new emerging online collaborations beyond Wikis and software development, penetrating various fields such as video, music, and animation. Today the internet's content is primarily user-generated content, hence, developing intuitive systems that streamline this creation process is at the core of this project. Particularly, my goal is to enhance the way people create and access computer-generated graphics by developing a multi-media browser, with an open-authorship interactive framework enabling consolidated contribution from millions of users.
In this system, a user can re-use content within 1-3 clicks.
The implementation thus far is an interactive web browser with 2D graphics editing built in (3D coming soon) where users can upload and manipulate objects in a networked, collaborative project space. Objects can also be tagged and linked with various forms of meta-data for search, encouraging re-use. This platform can be thought of as a simultaneous exploration and creation engine, providing users with built-in multimedia tools and search functions to author, view, and edit existing projects hosted online. People can view content or contribute to the space of projects with open and controlled access. Projects can also be embedded within other projects with a single click allowing various sub-projects to be placed within larger structures or assemblies. This platform will eventually form the virtual world encyclopedia for the modeling of complex, embedded 3D visualizable data sources, with interdisciplinary education as its primary goal.
Search, edit, create all in the same context
The Network is Read and Write
Users can collaborate with open and closed access
Accumulation of user-contributed tools can help catalyze the creative process.
Point-and-click interface to generating hypermedia.
Using Facebook, Amazon's Mechanical Turk, and UC Berkeley students, I was able to test 26 people on the system.
The task was to design a restaurant floorplan.
Proof that the example-centric model works
Network, Graphics, and Filesystems Technologies
For robustness, the platform is composed of four parts: the database, the servers, the tracker, and the client. Using the MySQL C API, a mysql interface integrates with the server. The server handles the MySQL database connections, TCP/IP socket connections, and contains all cached files. The Server communicates directly with the client. The server is started by the tracker, and maintains a connection so that a new server is spawned when a server goes down. The tracker's job is also to connect clients with a random server from the set of servers so that on average the load is evenly distributed.