Student projects wanted!
By Petr Dvorak on Jun 22, 2009
The university/student projects have their own specifics. One of the most visible one is that the innovation and enthusiasm is often combined with rather weak software engineering and poor execution. I know it from my own experience. When I and my team of three students started our software project at the MatFyz (Charles University in Prague), we had to deal with a lot of issues on our own.
For example, we were looking for the right development tools and for the infrastructure for our project... As we didn't have much practical experience with this, we ended up with our own instance of wiki (MediaWiKi on a free hosting), we used our own issue tracker (really - I am serious, we wrote our own PHP application just for the purpose - yeah, we were... young...), we placed our code in the Mercurial repository located on our faculty server and we used Google Groups as an alternative to the mailing lists.
If we had to make the same decisions these days, all our questions would be answered by words: "Use NetBeans and Kenai..." Want to know why?
What does Kenai.com give you? Generally speaking, Kenai.com is an on-line place for your projects. More specifically, if you decide to start your project on Kenai, you get an instance(s) of:
- a version control system (SVN, Hg, git)
- an issue tracking system (Bugzilla, Jira)
- mailing lists and forums
- chatroom (Jabber)
- other features, in my opinion less relevant for the student projects
What does the NetBeans IDE give you (except for a great IDE)? A tight integration with Kenai.com... Kenai.com is not just a "web page", it is a set of web-service APIs and the NetBeans IDE is a client to the web service.
What does it mean practically? That you can create a project in the NetBeans IDE and share it on Kenai quickly. It also means that your friends can easily join the project and they can get an access to all the features the project has (repository, chatroom, issues). You can chat from the IDE as well as submit or read issues from the IDE...
A sample of how it works for you/students
Lets show how simple it can be on a model example... Assume you have a team of 3 students: Peter, Philip and Kate. Peter (the smartest one...) decides that the team should use the Netbeans IDE as a development tool and Kenai.com for the infrastructure. We can assume that the project will be a JavaSE application, to keep it simple (it is not a precondition, it can be PHP/C++/... as well).
Peter is already registered on Kenai.com (he is the one who suggested to use it, after all) and so he can start the development and share the application. Meanwhile, the other members of the team proceed by the free online registration on Kenai.
Step 1 - create a project
Peter starts his NetBeans IDE and he creates an empty JavaSE application. When the application is created, he right-clicks the project's node in the Projects view and invokes "Share on Kenai" action. He fills in some basic data (project's name, description, ...) and he chooses a license (project will be on-line, visible to anyone - this step is needed). Then he clicks "Finish" button of the wizard and he does not need to care any more - the project is created with a subversion repository, sources (empty, at the moment) are checked in, bugzilla issuetracker is available as well as the wiki, chatroom, web forum and some basic mailing lists...
Note: SVN and Bugzilla are used by default for the quick "Share on Kenai" method. Of course it is possible to create a new Kenai project (from the IDE) that uses Mercurial or Jira, for example (see Team>Kenai menu)... Also, other features (more repositories, for example) can be configured via the on-line interface (visit Kenai.com for details)...
Step 2 - Set up the team
Once Philip and Kate are registered on Kenai.com, they can participate in the project (theoretically, they can join any Kenai project at least as the "observers"...). The easiest way to join the project Peter just created is to let Peter know about their Kenai nicknames (to send an e-mail to him). Peter can add anyone in his project via the web interface and give that person the "developer" role...
... ok, assume that Peter added Kate and Philip in his project... So from now on, there is a project on-line with 3 members who have at least a "developer" role (Peter is "admin"...). Once users are added in the project, they receive an e-mail about this fact and they can login to Kenai service from the NetBeans IDE...
Step 3 - Everyone has everything from now on
Philip and Kate start the NetBeans IDE and they login to the Kenai service from the IDE (Team>Kenai>Login to Kenai). Once they are logged in, the Kenai dashboard opens and they can see the project Peter created instantly (it is a project they are members of). They can easily get the sources - this is the first thing they probably want to do... Then they can develop and check the sources in as if they were working with any other svn repository... No special repository configuration is needed, everything "just works". Furthermore, all team members can submit issues directly from the IDE (and see the issues that are submitted). They can enter the chatroom and exchange some quick words, they can also go to wiki (opens in the web browser) and edit it (which is likely Philip's job, he is not very good in coding, after all)... or they can answer their professor's questions on the mailing list/forum...
What do we want from you?
Plain and quick answer - your projects and your comments about the NetBeans/Kenai integration, submitted issues are welcome too.
We will give you the infrastructure for free and we will take care of the technical stuff, you will provide a meaningful content and great innovative applications so that the service gains attractivity and fame. It really is so simple, no mystery... This is one of the many ways how the cooperation of big IT companies with you students can look like...