ContextPhone: a prototyping platform for context-aware mobile applications

Smart phones are a particularly tempting platform for building context-aware applications because they're programmable and often use well-known operating systems. There's a gap, however, between the operating systems' functionality and the features that application developers need. To fill this gap, we've designed and developed ContextPhone, a software platform consisting of four interconnected modules provided as a set of open source C++ libraries and source code components. ContextPhone runs on off-the-shelf mobile phones using Symbian OS and the Nokia Series 60 Smartphone platform. ContextPhone was developed using an iterative, human-centered design strategy. It thus helps developers more easily create applications that integrate into both existing technologies and users' everyday lives.