Re: [Rhythmbox-devel] GSoC iPod/MTP Player Plugin GUI Prototype



@Bastien

It's missing a few bits from this screenshot:
http://www.salling.com/MediaSync/mac/

Thanks, that's actually a really good reference, I will be adding in a Playlist selector.  However, with Podcasts it will need a selector for that too.  I'm guessing a treeview would be the best way to implement that?

- "preview" of the expected sync, as in the bar at the bottom. Ask
Christophe to finish his widget port

That is planned to go in also.  The picture I sent was the first mockup I have done (should have specified that).  Not sure what you are meaning about the "widget port", I will ask Christophe about that.


@Luca

I've a basic (and maybe stupid, I know) doubt about sync feature
between "mobile" player and Rhythmbox library: my player storage size
is 4 GB, my RB library is 15 GB... How could I sync them????

As Bastien suggested, I am planning to handle that with a Playlist selector (see above). And, in the case that too many items are selected to fit, I was planning on a dialog box warning.


@Surya

> It would help if you posted the details as to how you intend to implement all the features required. > Maybe you could put up your GSoC Application as it would likely have all the required information.

I've attached my GSoC Application. I've begun fleshing out some of the implementation details with Christophe over IM.
Most specifically:
- Clarifying that "unifying" the iPod and MTP plugins means. At this point I was thinking to implement a new source RBMediaPlayerSource, which both the RBiPodSource and RBMTPSource will inherit from, which could cut down on duplicate code between the two plugins. - We have also been talking about the UI. The current plan is to have a screen like the one above ( http://www.salling.com/MediaSync/mac/ ), located in the device's Properties panel, under the tab "Sync". There would also be a button for "Sync" on the right-click popup for the device, and one on the menubar when the device is selected, as the picture I sent out illustrates. If we want to make the "Sync Music", "Sync Podcasts" more obvious a drop-down list could be added to the Menubar's Sync button to provide those options more accessibility.

> The discussions on the nmap mailing list are really wonderful. The gsoc students have posted every minute detail as to how they would like to implement the features that they're supposed to. Weekly reports are sent to the devel list, with the progress and any changes to the original plan. > This would clarify a lot of doubts and also give you an opportunity for feedback directly from the users and other developers.

This is a good point. For Gnome we are sending in Weekly reports (every Monday) to the Gnome-GSoC Mailing list. From now on I can send that to this list as well, if people want.
Google Summer of Code 2009 - Application
Project:		GNOME Project
Applicant:	Paul Bellamy

Goal
-------------------------------
 - Revamp the Rhythmbox iPod/MTP interface, so that it is easier and more intuitive to use.
 - It should be able to recognize "identical" songs, and track new/removed songs.
 - It should be able to 'sync' your device, automatically (or on command).
 - Sync-ing backend should be as unified as possible between MTP and iPod players.
 - Should track/mark podcasts properly, as well.
 - Syncing behaviour should be flexible and customizable (iTune's primary failing).
 - Syncing behaviour should be automatic and powerful (iTune's greatest strength).

Components Affected
-------------------------------
 - Rhythmbox Package, Specifically the iPod and MTP plugins.
 - Rhythmbox UI

Benefits for GNOME Community
-------------------------------
 - Easy integration of Ipods and other Media Players.
 - Provide an intuitive interface for something which people use almost daily.

Reason for My Project Selection
-------------------------------
 - I use Rhythmbox as my main media player, and because of it's lack of ability to 'sync' my iPod, I switched to running Rockbox (on my iPod).  This is not an ideal solution, as I quite enjoy the default iPod interface.  As Eric Raymond said, "Every good work of software starts by scratching a developer's personal itch."  And, though some great headway was made with the new 0.12.0 "flood victim" release, Rhythmbox's iPod/MTP interface has a great deal of room for improvement.

Plan for Completion
-------------------------------
 - I feel there are three main areas in Rhythmbox's iPod/MTP handling that need addressing.
		- It needs a unified, simple, and intuitive GUI for 'syncing' with Portable Music Players, which complies with GNOME's HIG, and fits in with Rhythmbox's look and feel.
    - It needs an iPod 'syncing' backend, to eliminate duplicates, and track new/removed songs.
		- It needs an MTP 'syncing' backend, similar to the iPod backend.
 - See Tentative Schedule, below.
 - Because my college does not get out until later in the year, I have designated the time where college is still in session for Design and Planning work. I plan to begin Coding immediately after finals, in order to complete on schedule.

Tentative Project Schedule
-------------------------------
May 25 - Jun 01: Designing GUI
 - Decide how iPod/MTP interaction should act and feel, with respect to GNOME's HIG, and Rhythmbox's existing GUI)
 - Design GUI Prototype

Jun 01 - Jun 05: Design Sync-ing backend
 - Determine which aspects will be unified, and which will need to be player-specific
 - Resolve technical issues of tracking new/removed songs.
 - Resolve technical issues of finding/removing Duplicates.
 - Integrate design with existing Rhythmbox infrastructure.

Jun 08 - Jun 10: College Finals
 - My college ends Jun 10

Jun 11 - Jun 25: Implement Sync-ing Backend
 - Implement Unified aspects of Sync-ing Backend

Jun 26 - Jul 06: Implement GUI
 - Turn Prototype GUI into finalized GUI, which can be integrated with our unified syncing backend
 - Necessary at this stage in order to assist with testing and implementation of the Player-Specific items.

Jul 07 - Jul 20: iPod Backend Implementation
 - iPod integration
 - Transferring/Marking Podcasts properly, etc.

Jul 21 - Jul 27: MTP Backend Implementation
 - Items specific to MTP players

Jul 28 - Aug 10: "Fudge Time" to allow for unforseen problems.
 - This time is to be used where there is overflow from the other sections.
 - Or, if not necessary, debugging/refactoring can begin here.

Aug 11 - Aug 16: Debugging/Refactor code, improve documentation, etc.

Aug 17: Final Deadline


Why I Am the Best Choice
-------------------------------
 - Familiar with Rhythmbox Codebase
 - Have been learning from Jonathan Matthew on a patch, in order to become familiar with the project.
 - Some Glade UI Experience
 - Strong C/C++
 - Passion about the project, and a great desire to learn and grow as an open-source developer.

Past Experience in Open Source
-------------------------------
 - From a development standpoint, almost none.
 - From a usage and systems administration standpoint, almost 3 years.

Why Gnome?
-------------------------------
 - Gnome provides an easy and intuitive user interface for people new to Linux.  It is, quite simply, the desktop of choice for Linux users.

Patch I Have Written
-------------------------------
 - Bug 337438 â?? Information for flac files yields "unknown"
   - http://bugzilla.gnome.org/show_bug.cgi?id=337438



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]