Details on a couple Firefox GSoC projects

1 April, 2012 § 2 Comments

Felipe and I have been getting a lot of questions about the Fullscreen Mode and Silverfox projects for Google Summer of Code. This blog post should hopefully answer any questions that you have about the two projects. There are many more projects that are being offered by Mozilla. Please take some time to get to know the various projects and find one that interests you.

Fullscreen Mode

The picture on the right is a mockup of the Fullscreen Mode theme. This Google Summer of Code project is to implement the Australis theme for fullscreen browsing.

What is part of the project:

  • A curved and clipped back button that is the full height of the toolbar.
  • The forward button should slide behind the back button when it is disabled, similar to the current theme. This feature is called a “conditional forward button”.
  • The address bar should be a fixed width. The tabs should flex to fit the remaining space.
  • The mockup shows the overflowed address fading out. This would be a nice touch, but is not required.
  • The navigation elements (back, forward, address bar) should be on the same line as the tabs.
  • A button to access the Firefox menu is located at the end of the toolbar.
  • There should be a button after the Firefox menu to exit fullscreen mode.

What is not part of the project:

  • The curved tab design (Australis tabs) is not part of this project. Those may or not be complete in time for the project, and are part of the overall Australis theme work that is ongoing.
  • Completing the work for Windows, OS X, and Linux. We are only asking that a student work on one of the platforms for this project, although we only have mockups for Windows and OS X. I would prefer to find a student who wants to work on the Windows theme.
  • The web page below the toolbar (hopefully that was obvious :)).

Silverfox

Silverfox is the codename of a new feature meant to be an operation mode targeted to beginner users who are being guided on learning how to use the web. In this mode, most settings should be locked down, preventing the user from mistakenly tweaking settings or installing unwanted add-ons. It’s not meant to be a tightly controlled, irreversible-without-password setting, but rather a feature that will make it harder to accidentally break or deteriorate the Firefox experience.

This project will touch many parts of the Firefox codebase. For example, we’d like:

  • the ability to restrict installing, disabling, modifying add-ons
  • the ability to restrict adding, modifying, restoring preferences in about:config
  • the ability to block access to Preferences/Options, or possibly only showing a subset of less dangerous preferences
    • for example, when Silverfox mode is enabled, users shouldn’t be able to change proxy settings
  • and the ability to restrict customizing the toolbars.

Work for this project can be done in steps by approaching each of the aforementioned requirements one at a time. We’re not sure yet how Silverfox would get enabled on a user’s system, but we’re open to hear ideas.

Potential GSoC Projects

24 March, 2009 § Leave a comment

From searching through the available projects that are on the GSoC delicious list, I’ve come up with three potential ones that I’m going to look in to. By the end of the week I would like to have a project picked out and an application submitted to work on it.

Here are the three projects that have caught my eye, and why I would like to work on them:

VideoLan VLC: Qt Pimping

Some people that I work with have used Qt previously and I was amazed at the nice animations that were possible within Windows. And don’t forget the fact that the framework is cross-platform. The project says that you should have some Qt knowledge and C++ experience. I don’t have any Qt knowledge, but I do have the willing to learn.

AbiWord: Porting AbiWord from ANSI to Unicode

Internally AbiWord uses Unicode between methods, while the controls are all Microsoft ANSI controls. This project will look at converting the controls from the ANSI ones to Unicode. This doesn’t sound too tough, although when switching character-encodings, there are always bugs that manifest. Also, to make this a true internationalization effort, it should support “international” filenames and dragging and dropping of these files in to the interface. Some of the other benefits that come with switching from ANSI to Unicode will be better integration with the features of the NT platform and better support of the Multilingual UI (MUI) features of Windows 2000/XP/Vista.

Chromium: Extensions

Everyone that sits down at a computer has a different use for the internet and there are many ways to accomplish the same thing. Extensions allow for users to customize their setup and make their user experience better. There are API’s that need to be implemented and also unit-tests to go with it. The code for Chromium is written in C++. Downloading the source and getting it to build in VS2008 has been a learning lesson, but this looks to be a nice project.

What do you think about these projects? Is there one that sticks out to you that you think I should go forward with?

Google Summer of Code is upon us

22 March, 2009 § Leave a comment

I am currently looking for a Google Summer of Code (GSoC) project to participate in over the summer, particularly to get my feet wet with Python. This will be my first summer working on a GSoC project, and I will be doing so during the hours of 5pm – sleep, since I will continue to work full-time during the summer months in between semesters of my Masters in Computer Science at MSU.

I have used Python previously when I created a basic distributed checksum system for ensuring data integrity over time and am looking to see what interesting problems that are available for GSoC.

If you are l0oking to participate in GSoC, there is a delicious account set up with links pointing to all the different mentoring organizations and their project ideas that they have out there.

Where Am I?

You are currently browsing entries tagged with gsoc at JAWS.