In previous blog posts I have been writing about openness, sharing and collaboration which are the basis for innovative environment. When people are physically in same place openness, sharing and collaboration happens in every day activities. People tend to socialize with colleagues, family and friends and they share their thoughts, opinions and comments.
When we come back to “virtual community” where people are spread all around the globe we need tools for collaboration. Everybody are familiar with different wikis, blogs, discussion boards and issue/task management systems which are basic collaborative tools. They enable sharing ideas, collaboration and increase openness. I think these tools are in place in Symbian community and they are quite well adopted by members. There are lots of entries in Wiki, lively discussions about technology in discussion forums where developers participate. I was thinking how Symbian Foundation could encourage members of the community to collaborate more in development activities?
Now when Symbian Foundation offers basic infrastructure for distributing information by wikis and discussion forums we could extend “the single source of information” to Symbian related projects. I was thinking about idea that in addition to basic communication infra Symbian could offer infrastructure for “incubation project”. The Project Infrastructure could contain version control services and information sharing services.
In practice if I wanted to initiate project which goal is to develop application for Symbian, I just create project and after that I have “project space”. Project space could contain version control for source code and “landing pages” where contributors could get information about tools, practices and so forth.
A good example is Eclipse.org and its list of projects. The list of project could be visible for everybody and developers could easily find interesting project where to start contributing. Also list of project could be a good source of new ideas for OEMs and other members in the community. In addition to that they could also sponsor the development of interesting applications.
My point is that if developer wants to start developing own application with the community, it must be easy. This would also boost innovativeness in the community.
How to boost collaboration in developing software? Mozilla Labs has very interesting project called Bespin which is collaborative development environment for web programming. I was wondering if this kind of approach could be useful also in Symbian development (in future)? I like the idea of development environment that is in “cloud” and I could easily start developing software without extra hassle. I just open web browser, log into my “project space” and start developing code in collaboration with other project members. In theory the collaborative IDE would offer “virtual pair programming environment” where developers could see written code in real time and give instant feedback, comments, opinions etc.
Of course there are obstacles before this kind of approach would be possible including device access, testing, etc. but I think that we need to think future possibilities too.
But that is something I was thinking recently.