Student projects wanted!

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?

Short introduction

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)
  • wiki
  • 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)...

Share on Kenai

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...

login dialog

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... ;)

Kenai dashboard

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...

Comments:

Petr,

I am glad to hear this, that Sun is doing everything possible to let the students make a smooth transition to the IT industry from college/univ. work environments.

Looking forward to read more about this from your blog. Good luck :)

Posted by Varun Nischal on June 23, 2009 at 04:22 AM PDT #

this is very useful to students that who want to do the live projects it will be very useful.thanks alot.

Posted by leeladhar on June 24, 2009 at 12:11 AM PDT #

The interesting thing is the apparent abandonment of java.net, a place that Sun pushed everyone so hard toward, but then completely failed to manage and expand.

Will Kenai be the next black hole of community Java projects?

Posted by Gregg Wonderly on June 24, 2009 at 04:17 AM PDT #

Gregg, if you want an opinion of 23 year old guy: Java.net was unusable for students (I am a student, so this is my view) because the service was not too friendly - it was not so easy to create a project, you actually had to understand the underlying technologies, you had to register in order to check out some sources, the web was rather ugly and hard to navigate...

Kenai is much easier to understand for students than java.net was... and most important thing (this is what the post is also about) java.net was not tightly integrated with the IDE that has a community of 650.000 users.

Generally speaking, the Kenai is much better positioned that the java.net ever was...

But you are right that only the time will show if it can be successful - noone can tell at the moment... Hopefully, it will have its solid place...

Maybe one more thought: It is true that Kenai is currently excellent in the sense that it is "developer oriented" (integration with IDE, awesome set of tools and services, ...) but on the other hand it is not so much "project owner oriented" (project/download statistics, wiki formatting customisation, web hosting, donation mechanism, etc.), which is IMO very easy to fix (I believe it is better to start this way than the other way around)...

Posted by Petr Dvorak on June 24, 2009 at 08:53 AM PDT #

Oh, and it is also opinion of a (23 year old) teaching assistant of the Programming I, II subjects at the Charles Uni in Prague, if that matters;-)... Kenai is something I would recommend to my students to use, java.net... I don't say it is horrible, but... probably not...

Posted by Petr Dvorak on June 24, 2009 at 08:57 AM PDT #

well after hanging around on Kenai, i found that it still lack of something i need. I still prefer google code's project hosting.

1 Code review. This is important for students, since not all of my mates can write high quality code. And i'm sure smelly code is the reason why a students' project failed most of time.

2 issue tracking system. i notice that kenai is using bugzilla/jira for build-in tracking system. This is powerful, but too complicate for us students to learn. @_@ on google code's issue tracking system everything is simple.

3 web interface is not as simple and clear as the IDE interface, @_@ or i'm just too fuzzy about it. i really love google code's web interface design. i can't hang over on my IDE all day, but i might hang over on my browser. So clear and simple web interface is certainly necessary.

I really wish i could use kenai, but i still prefer google code, even i am preparing for a Sun's research project. @_@

Posted by Mike on June 25, 2009 at 02:40 AM PDT #

Hi Mike,

thank you for some objective comments - only those can help us to improve the service.

1. Code review is something I am definitely for - I think it belongs to the open source development. While this is not on the server side, we are trying to allow "micro code reviews" from the IDE. In the development version of the Netbeans IDE, Jan Becicka implemented stack trace recognition in the chat... if you post a stack trace, links show up and you can navigate in the code (of course this does not have to be accurate if you have very outdated version of sources) and everyone can say where the problem could be (why the exception was raised). Also, you can send a "pointer" to the editor in the chat - if you do so, a link to the file you have currently opened (and to the current caret position in the file) is posted in the chatroom - this way, you can ask for a quick code review of some specific file/method ("Can you please look here? [link-2-code]").

2. I am personally not for a custom issue tracking system and like the current status (use of 2 well known issue trackers) better. However, I understand that the Bugzilla form has much more fields than a normal student's project needs. What I would be for is to create some web face-lift to the bugzilla interface (quick issue submission form) that would leave OS/Version/... on default values. The nice think about the NB IDE is that it unifies jira/bz face - you just submit the issue and you don't care for a tachnology... but still you can see all the fields - I understand the concern.

3. Yes, this is part of Kenai being what I called "developer oriented" service in one of my comment. Basically, I believe that \*\*\*the no. 1 benefit of using a Kenai is the sweet integration with the NetBeans IDE\*\*\*. Well, I have to say one thing now... When I was assigned to the NetBeans/Kenai project, the first mail I wrote to the Kenai team dev was: "Seriously you guys there, the web interface of Kenai looks like some average student's project..."... Then I was a bit ashamed of the fact I introduced myself this way but on the other hand I was then given the opportunity to see some new visuals (not finished, certainly nothing to announce) for the web UI and if it is ever implemented, it is 200% better than how it is now... If you really don't like the web ui, please read here: http://blogs.sun.com/projectkenai/entry/help_us_improve_kenai_s

Also, you can submit any issues and feature requests for the Kenai.com service here: http://kenai.com/jira/browse/KENAI and I sincerely ask you to do so, otherwise the service just won't improve.

Just to make the post complete, here is the Kenai.com overview where you can see what Kenai.com can/cannot give you: http://kenai.com/projects/help/pages/KenaiOverview

Btw what I don't like too much about the google code is the way they have done wiki - you click "wiki" link and you go for a list of pages, but this is just a small (and opinionated) issue...

Posted by Petr Dvorak on June 25, 2009 at 06:26 PM PDT #

I would be very interested in using Kenai for student projects, but what are the mechanics? Most student projects should be out of the public's sight, in some incubator area, and purged unless they graduate to something permanent. It should also be really easy for the instructor to make a large number of them every semester. Right now, Kenai tells me that I can create 5 projects total. Google Code has a limit of 10 projects. Neither of them is really workable for an instructor. (Of course, the students could be the project owners to work around those limits.) Keep up the good work!

Posted by Cay Horstmann on June 26, 2009 at 11:13 AM PDT #

thanks for your response Petr.

well, on code review, i don't think it should be on the client side without server side support. I recognize this because i'm going to exchange to Canada next semester and have to collaborate with my mates on the Sun's research project. As you see, there is no way to finish code review in a chat. -_-b

Anyway, i think kenai is a very promising stuff, yet not ready to take real students research project (like mine, which is sponsored by Sun) right now. \^_\^

Posted by Mike on June 27, 2009 at 06:48 PM PDT #

Cay Horstmann: This is probably my fault but there has been a little missunderstanding. The Kenai.com cannot be used for the small student projects that you as a teacher can create and give it to your students on a regular basis (it is not for "the homeworks"). It is for the "bigger" student projects.

As an example, I will use the subject "Software Project" from our faculty (faculty of mathematics and physics, Charles University in Prague).

http://is.cuni.cz/eng/studium/predmety/index.php?do=predmet&kod=NPRG023&skr=2008&fak=11320

Simply put... the goal of the subject is to teach students how to develop a larger software project in a team. Therefore, a team of 4-6 students is assembled and they have to implement a working and production quiality software, including the users and programmers documentation, all of this in a timeframe of 9 months.

The team choses the subject and it has to be approved by the faculty comittee.

!!! An example of a software that started as a software project at our faculty is for example the NetBeans IDE... !!!

These kinds of software projects do not have to be private and the instructor is not supposed to be involved in any way. Kenai can very well serve as the infrastructure in those cases.

By the way - we use CodEx system for automatic evaluation during the programming lessons at our university. If you are a programming class teacher (where "programming" = "writing algorithms", not "software engineering"), you can check if it matches your needs better;).

http://codex2.ms.mff.cuni.cz/project/doc/manual.pdf

btw: Codex started as a software project at our faculty too... :)

Posted by Petr Dvorak on June 28, 2009 at 07:46 AM PDT #

Mike: ... thank you for the impulse - the answer is to work harder on Kenai+Kenai/NetBeans integration so that I am able to convert you one day;)...

Posted by Petr Dvorak on June 28, 2009 at 07:51 AM PDT #

Cay Horstmann: Maybe one more idea - do you think it could work better if the university had "its own instance of Kenai application" (the same system, just the private instance, including the administration backend)?

Posted by Petr Dvorak on June 28, 2009 at 08:10 AM PDT #

Thinks to Sun microsystems for the useful tutorial that I'm used for my self-study,

and now lot of thinks to the kenai an the Netbeans teams for this project that is very useful for students

Posted by Salah Eddine on June 30, 2009 at 06:46 PM PDT #

Sun is really cool and it rocks by providing greater tools with its recent being Netbeans 6.7 and of course its integration with Project Kenai is very interesting and sounds great! Peter has made a significant contribution in this blog highlighting the importance and of course and the liveliness of this blog post is really great!Being an undergrad at India i am really happy that this has provided me a great opportunity to work with people and share their views easily

Thanks for this informational and inspiring blog post

Sree aurovindh
Sun Certified Web Component Developer

Posted by Sree Aurovindh on July 02, 2009 at 11:14 AM PDT #

sun microsystem is really helpfull for students for completing the projects. it provides the necessary tools for user to compile a projects...

Posted by mohana kannan on July 19, 2009 at 06:51 PM PDT #

Hi:
I want to a project in Netbeans but not getting exact idea for it.
I am a student and want to innovative and feasible.
pls give me suggestions for my project.

Posted by sakshi patil on September 08, 2009 at 04:27 AM PDT #

this is cool, this is what we want dude......

Posted by links of london on November 28, 2009 at 10:01 AM PST #

Post a Comment:
Comments are closed for this entry.
Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today