AlexandreVazquez

Alexandre Vázquez

Contact information

Project

  • Project Name:

Add RDP support to Vinagre

  • Project Description:

The goal of this project is to include the RDP Protocol in the default Ubuntu Remote Desktop Viewer, Vinagre. The RDP o Remote Desktop Protocol is a proprietary protocol designed and implemented by Microsoft and it is the first option used by Windows users. There are many open-source applications that support RDP. Probably the most notorious one is tsclient, included in Ubuntu's default installation. The idea is to include tsclient's RDP-related features into Vinagre, which is a better and more capable viewer. If full RDP support is added to Vinagre, tsclient will no longer be necessary and could be excluded from the default installation. Furthermore, integrating RDP in Vinagre will allow easier maintenance and testing.

  • If you would be willing and able to do other projects instead, which ones?

I'd be glad to collaborate in any other project that improves the user's experience with Ubuntu. I chose the RDP project because it is the one I find more interesting and challenging, but my intention is to collaborate with the Ubuntu community so I wouldn't mind to do any of the other projects.

  • Why did you like this idea?

As a computer engineer specialized in distributed systems design and implementation, the field I like the most is the low level side of distributed applications. I am an RFC freak that loves the way machines talk to each other. I've been studying the TCP/IP protocol suite for years and I just love it. Working on RDP will be really interesting because it will allow me to explore a different kind of protocol and get to know the way remote desktop applications really work.

On the other hand, participating in the Ubuntu development community will give me the opportunity to get my hands on real life application development and work with skilled developers.

Also, I like the idea of working on an application that is already very mature. Adding functionality to it, rather than building an application from scratch, will allow me to focus on the real problem and not waste a single minute doing all those common tasks that a new development project involves. .

  • Please describe a tentative project architecture or an approach to it:

Taking a look about the vinagre source code we can see a plugin folder with all the plugin that it supports at the moment. Also, it gives you an 'template' of a new project. The architecture will be the same that the other plugins that exists in the vinagre git branch. Knowing the best way to implement the RDP features will be neccesary take a look at the tsclient and adapt it, fix it and improve it. When this will be done, we can include our code as a vinagre plugin.

  • Give us details about the milestones for this project


| MILESTONE | WEEK |

| Read documentation and get familiar | Weeks 1, 2 |

| with the codebase. | |

| Plugin design | Week 3 |

| Plugin implementation | Weeks, 4-8 |

| Testing & bug fixing | Weeks 9-11 |

| Finish documentation and cleanup | Week 12-End |


  • Why will your proposal benefit Ubuntu?

In my opinion, adding full support for the RDP protocol is essential because it will allow users to easily interoperate with the Windows Operating System (sadly, the main OS in the world), and hopefully increase the number of users that switch to Ubuntu (pretty much the same thing that happened when full NTFS support was added).

Open Source

  • Please describe any previous Open Source development experience

Since I started College, I have developed a great number of applications. The first ones were simple but writing them taught me the basics of application programming and computer based problem solving. In these 5 years I've been writing more and more complex applications, mixing many different technologies and paradigms.

To name a few of these applications, I've developed a Java2C++ compiler, a distributed pattern recognition software, a Gnutella P2P servent, or a RPC-based file storage service.

One of the most complex applications I've written is a full DVB-T viewer for GNU/Linux. It was written in C++ and used the Qt Framework. The application is two years old but its code is available on-line. It is hosted on launchpad. Check my profile for details.

Finally, I'd like to say that I can write in a few programming languages, including, Java, C, C++, Python, Modula-2, C# or Lisp.

  • Why are you interested in Open Source?

I think the Open Source approach is the better way to write software because having access to the code significantly reduces the number of bugs in the software and offers the possibility to programmers around the globe to contribute ideas and code.

Additionally, in a complex and networked world like ours, collaboration is essential. Big achievements are accomplished by groups of people that work together, not by individuals on their own.

Availability

  • How long will the project take? When can you begin?

Summer of code officially starts on May 24 but I could start earlier if it's necessary. The project will be finished in 3 months.

  • How much time do you expect to dedicate to this project? (weekly)

Around 40 hours a week.

  • Where will you based during the summer?

At home, in Spain. I have a broadband Internet connection so I am completely available though the Internet to work on the project. I can be always on the net and working on the project.

  • Do you have any commitments for the summer? (holidays/work/summer courses)

No. I have planned my holidays for October, so I will be completely free during the summer.

Other

  • Have you ever participated in a previous GSoC? (describe your project)

No.

  • Have you applied for any other 2010 Summer of Code projects? If yes, which ones?

Yes, I'm appling to a GNOME Project related to GNOME Shell and Getting Things GNOME. * Why did you apply for the Google Summer of Code ?

I am about to complete my Computer Engineering degree and I think now it's the best moment to start collaborating with the open-source community. I've been using open-source software for the last 5 years, and I think now it's the time start contributing to it.

* Why did you choose Ubuntu as a mentoring organisation?

I've been using the Ubuntu distribution since Ubuntu Brezzy and I want to offer my help to pay for all the pleasure and satisfaction that the Ubuntu team has given me in all these years.

  • Why do you want to participate and why should Ubuntu choose you?

I think I am a motivated and skillful student. I don't want to sound arrogant but I am the student with the highest scores in the Polytechnic Engineering School that I study at. There are many people much more talented than me in the world, but I think I'm worth a try for this project. I can assure that I am going to do my best so the project succeeds. GSoC is a huge opportunity for me and I hope you give the chance to participate in it.

GSoC/2010/AlexandreVazquez (last edited 2010-03-28 18:11:03 by 84)