Team 0 is better than Bob Saget
Fluency Design
MP3 Sorter
Starting Points (from the email)
1/ Fluency needs to have some form of (visual) widget containment so that
an author can build a normal-looking interface for a user to use.
2/ Fluency needs at least one (non-visual) widget to read in files, or at
least file names from some directory structure, or to fetch files over
the web, or both. It also needs something to write out files.
3/ Fluency needs at least one (non-visual) widget to act as the backend for
a (visual) widget that would allow the user to navigate a file system (or
possibly the web) to find at least one cache of mp3s to become the mp3
database.
4/ Fluency needs some way to hook that (non-visual) db widget to various
(visual) widgets (example: listboxes) in a Fluency-buildable user interface.
5/ Fluency needs some way for the author to hook together various pipes to
accomplish the various subtasks (which means that Fluency needs several
special-purpose pipes adapted to the task of selecting and sorting).
(Note that with the Strategy pattern already supported by General Pipe
that may not be hard at all...)
6/ Fluency needs some (at least internal) (non-visual) widget to proxy a
(at least simple) database. The db might be embedded, in-memory, or
offline. Licensing is an issue. Consider also ease of use and whether it's
heavyweight or not, and if it needs a lot of configuration before use.
How we (Team 0) do all this
1/ We do widget containment in the bad way. Tree structure. Visual container.
2/ This would be a fairly straightforward widget to code, as all it would handle is basic file I/O, possibly with an extra level of abstraction to handle file data from the internet, NFS, etc.
3/ This would be a simple recursing widget which accepts a starting point, and then recurses through all lower directories, until it finds a suitable amount of MP3 data. There could also be an option that chooses whether to stop on the first directory found that meets the conditions, or to keep going until all levels are exhausted.
4/ A pipe?
5/ Is there a pipe like this yet?
6/ We suggest in-memory, open source license, lightweight, low-configuration
Features
MP3 Features
- read in or otherwise fetch the set of mp3 files and determine their names
- file names should populate some visual widget's display
- select and mark various mp3s as belonging to any one of several groups
- output the markup
Fluency Features
- savable
- reimportable
- reeditable
Comments (1)
Sep 14, 2006
Aaron Sarazan says:
Action Items identified (Sep 14 2006) Spend some time in the codebase; try to id...Action Items identified (Sep 14 2006)
-Spend some time in the codebase; try to identify any existing components we could use for the MP3 sorter
-Specifically, we'll need a non-visual widget to encapsulate a sorting algorithm