End-User Development at Scale: Real-World Experience with Product Development for a Large and Engaged User Community
Google SketchUp is a 3D modeling tool that anyone can learn to use, and they do so in unprecedented numbers for an application of its type. Its populist position in the often esoteric world of 3D modeling has in no small part been enabled by the shared wants, needs and contributions of a large, vocal and committed user base. Unlike many more insularly built software applications, SketchUp’s development team cultivated this community of active user contributors in tandem with the software engineering effort right from the very earliest releases. Initially, this community grew in user forums and was concerned primarily with user-to-user training and troubleshooting. However, in recent years the SketchUp team has been experimenting with deeper end-user development in other areas of our product.
In this talk, I will share experiences and some success metrics in three specific project areas. First, Google’s “Your World in 3D” initiative, which is attempting to crowd-source the construction of a 3D model of every building in the world. Second, I will describe the design and implementation of SketchUp’s Ruby API and its use by the user community to extend SketchUp with powerful but specialized plugins. And finally, I will share experiences and success (and failure!) metrics around our team’s continued involvement in community cultivation through forums for the design, specification and prioritization of new feature development in the SketchUp client.