CaitlinWhisner

Caitlin Whisner

Contact information

  • Your Name: Caitlin Whisner

  • Email Address: c.k.whisner@eagle.clarion.edu

  • IRC nickname: caitlin_ (not registered)

  • Launchpad ID: ckwhisner

  • Skype username:

  • Webpage/blog:

  • College-University: Clarion University of Pennsylvania

  • Majors: Computer Science, Information Systems

    • I also can be reached by BlackBerry PIN #30FF97FD.

      I am currently a senior at Clarion University of Pennsylvania with a dual major in Computer Science and Information Systems. I have had formal education in C++, Java, Assembly, C#, and Visual Basic; as well as HTML, CSS, VBScript and some Javascript in high school. Outside of school, I have explored Python, C, and other web development. I have also had high level networking classes (N+ and CCNA levels) and database classes with SQL. I have some examples of my code: a Memory Manager Emulator and a Peace process program, both written in C++. I also have a Programmer's Calculator written in Java. Currently, I am working on a large 3-D game in C# for my Software Engineering class. I am also a graduate of Pennsylvania Governor's School of Information, Society and Technology of 2006.

Project

  • Project Name:

    • Developer Hub
  • Project Description:

    • The Developer's Hub will be a lightweight application that will connect Ubuntu developers to important resources sprawled across the web. It will be able to help out beginning Ubuntu developers find their place in Linux, as well as help from more experienced programmers. It can connect programmers to each other, helping spur more Open Source projects. It will interface with LaunchPad, Ubuntu One, and Ubuntu Forums to provide everything the user needs.

      It will be primarily based on a help and resource engine. What libraries do I need? Where I can find x snippet of code? These are the type of questions this application will help answer. It will also feature a custom Linux-related only search engine, providing fast and accurate information. The application can also be very helpful to new users. The power search will include Ubuntu Forums, Bug Reports, and other reputable how-to and troubleshooting sites, making an easy-to-use window to the depths of information available online.

      As a stand-alone application, it will give users the most convenient way to find help on the fly. Part of the Gnome (and later KDE) will include a small, uninterrupting search box and quick, stress reducing answers. It will not take up the screen space, system resources, or time required to search for help online. Also, because it is an application, it will have access to the terminal - something new users might be a bit intimidated by. When a simple fix is necessary (such as a single line of commands), the program can execute it for the user. Then it can provide a relevant website with more information, or allow the user to chat with more experienced users to find additional help.

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

    • Yes, I find the "TestDrive Front End" project very interesting. It would be great to work with virtual machines and gain experience in them. Also, I would love to work on "GNOME centralized file sharing administration" because of my particular interest in operating systems programming. The "Ubuntu One KDE Client" sounds like a very interesting challenge that I would enjoy meeting. I would be very excited to work with Ubuntu in any project.

  • Why did you like this idea?

    • I feel it can help a great deal of users of all levels of expertise. A user could find a simple fix or in-depth programming theory discussion. This application can help remove the "I don't know how" excuse for not switching to Linux. A move to Ubuntu will be made simpler for non-experienced users.
  • Please describe a tentative project architecture or an approach to it:

    • The application will be split into two distinctive layers. The "bottom" layer will interface with the network and provide access to the online features. It will also be responsible for rendering the web features, including web pages and forums. Much of this will be created using the API's available. It can also be broken down further, into two sections: network interfaces, web rendering (including necessary languages, not just plain HTML), specific API's and instant messaging. The latter three will be based upon the network interface. Time permitting, it will also feature file transfers and possibly be made available for other environments.

      The "top" layer will be the user interface. It will create a platform for beginning developers to access Ubuntu Forums, tutorials, development guides and many web resources all in one place.

      Other aspects of the program will be web based. The Linux search, for example, will be hosted online and then rendered in the application. I plan on implementing basic help in the program using web pages. The basic help will expand on the already present Ubuntu help, as well as provide relevant linked in Ubuntu Forums and other help sites. It will be a very simple interface that can easily be used in a smaller-sized window. This help will also be available on the web (servers permitting). For testing purposes, I can use server space allotted to me by the university.

  • Give us details about the milestones for this project:

Already Completed:
1. Custom Linux Power Search (1/10)

TODO:
1. Connection to Web Interfaces

  1. Rendering the Web
  2. Rendering specific interfaces
    1. LaunchPad

    2. Ubuntu One (?)

2. Create GNOME Interface

  1. Correct Web Rendering
  2. Thoroughly Test API's
  3. Integrate Forums & Custom Search

    1. Custom Search Tweaking
  4. Mini-Search Pop-Up
  5. Integration with Gnome-Panel

3. Web-based Content
4. Instant Messaging
5. Create KDE Interface

Like TODO:
1. File Transfers
2. Other Desktop Environments
3. Extensive Offline Help
4. Automatically respond to errors
5. Other Ubuntu based and Debian based Linux Distros?
6. Edubuntu and Programming Student specific editions?

  • Why will your proposal benefit Ubuntu?

    • This will serve as a great help for all users. I hope this will help attract more developers and users to the Ubuntu operating system. Getting started developing will be easy for new or confused users. Also, experienced programmers will have an opportunity to help their fellow developers.

      For example, say Sue is a new user to Ubuntu, and perhaps taking a first look at it on a friend's computer. She was very impressed with the Evolution Mail icon sitting on the panel, and wanted to try out her email in Evolution. She has a Windows Live type email address, and is not sure exactly what information she needs in order to make it work in Evolution. She clicks on the Developers Hub, and types in Evolution Windows Live. Immediately, a small, non-invasive window pops up with all the accurate port numbers and server information she needs. Later on, she decides she wants to try an Ubuntu Live CD on her own computer. She's not sure exactly where to look to see if there are additional hardware drivers for her system. She clicks on the Help Icon again, types in hardware drivers, and a small window pops up asking her if she would like to load the Hardware Drivers preferences. Now she's thinking, Ubuntu is so easy, why did I wait so long to try it?

      Mary is a freshman Computer Science major who uses Ubuntu at home. Her first assignment is to write a user interface in C#. She's unsure if there was an open-source C# IDE because it was developed by Microsoft. She used the Developers Hub to find out that MonoDevelop was an IDE for .NET languages. It provided a button for her to open the Ubuntu Software Center and find it. Later, unsure of the syntax of an event handler, she used the Developers Hub again to find a snippet of code for her text box.

      Both of these users would benefit by the stand-alone help made available by the Developers Hub. It will help the move to Ubuntu for beginning users that are getting used to Linux. Developers have come to favor Ubuntu just for that purpose, and this will help them along. I believe that once first-time users realize how simple and easy Ubuntu is to work with, they will make the permanent (or semi-permanent) change.

Open Source

  • Why are you interested in Open Source?

    • I believe that all science and research benefits whenever information is shared between peers. Open Source allows for information in computer science and development to be seen and used so that it furthers individuals' goals and projects. Not only does it provide a great service by giving away free software, helping other fields, but lets the little guy get his hands in on a big project.

Availability

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

    • This project should take up to two months to complete, depending on the number of features I can implement. Extending that date in order to create more features would not be a problem. I can begin May 9th.
  • How much time do you expect to dedicate to this project?

    • I will be able to work on this project between 25 to 30 hours per week, possibly more if required.
  • Where will you based during the summer?

    • I will be at home.
  • Do you have any commitments for the summer?

    • I am going to take four online summer classes. They will be "gen ed's" and will not require the time and energy of high level classes. I will be taking them two at a time, starting in June. Also, I am planning on taking my GRE's at some point this summer.
  • Please designate a back up student (in case you need to withdraw your application)

Other

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

    • No, I have not applied for any previous Google Summer of Code programs.
  • Why did you apply for the Google Summer of Code?

    • I would really love to join this program and have an opportunity to give all my attention to developing Open Source projects over the summer.
  • Why did you choose Ubuntu as a mentoring organisation?

    • I have loved Ubuntu since the first time I tried it. I find operating systems to be an extremely interesting topic of computer science, and want to gain as much experience working with different aspects of them as possible. I have been using Ubuntu for a couple years now, and hope to entice other users. Also, using Unix servers at school helped me learn a great deal about Linux, and quickly.
  • Why do you want to participate and why should Ubuntu choose you?

    • I have an unique academic experience in a full spectrum of computer topics and concepts. I will be able to bring my experience working with networks and information systems with my programming and programming theory knowledge together in order to benefit one of my favorite things in the world: Ubuntu. It will not only be a great learning experience that I'm sure I'll love, but also it will hopefully attract more potential users and developers to Open Source and Ubuntu.

GSoC/2010/CaitlinWhisner (last edited 2010-04-09 04:11:10 by h189)