Contents
Problems
storage mechanism
- User uploads to their upload dir
- imported files are moved to .imported and marked read only
- imported files are tagged with an ELFID, and any other useful metadata IDs
TODO
- drop bin on right
- static position relative to window
- all entities can be dragged into it
- different types of objects have different icons
- users
- artists
- albums
- tracks
- bin can be played, shuffled, downloaded, saved, loaded, etc.
- song grouping
- a ui that lets you drag an album's tracks around (or multiple albums) in a workspace
- you pile tracks into preset groups:
- not interesting
- top 3
- genre x and genre y
- or into anonymous groups that can then be tagged and shared
- views
- album cover view; hovering the cover shows tracks, and clicking a track starts playing it. (seekbar in frame below?)
- synchronizable databases (for "elfmesh")
- requires a better database (for caching and synchronizing)
- (?) could tokyocabinet be used to multiplex and synchronize databases?
Resources
Flash Audio Players
SoundManager2 Radial Visualization (using the canvas)
ELFIDs
Ideas
Head-Bop Index
uses the webcam to detect how much the user is bopping their head
Podcasts
Why not?
Shoutcast Rippers
Awwyeah. (with statistics gathering)
jQuery GUI Components
Drag'n'Drop Uploader (with graceful degradation)
- for trees of things
- for tagging
jQuery Nested Sortable (alternate version)
- for bucket (playlist) management
jQuery Fisheye (like the Mac Icon Dock)
- i dunno... maybe a cool view for album covers?
- for browsing
- for throwing things into buckets
- for detail view on buckets
- actions for buckets and tracks (edit, play, shuffle, etc.)
- dangerous operations and quick-text-entry (searching via a hotkey? tagging?)
- other users are currently listening to...
- for whatever
jQuery Selection via Rubber-Banding and Ctrl/Shift-Click
- ??
- date range for searches (albums between 1920 and 1929, uploads between last week and tomorrow, etc.)
- ??
- haha.. this is fun. maybe for sorting piles of things?
- help and such
- make the site all slick and dynamic, but you can still copy/paste the URL, and the back/forward buttons keep functioning too
- cropping!
jQuery Apps
Relay file manager
JavaScript Offline Local-Storage
- Everything!
- Transparently query the localStorage or the REST server, queue up writes when offline, keep database in sync.
Clients
AIR App
- drag/drop files to store on a server
- P2P listening (via server -- acts as cache)
- mixer
- playlist can flip over, revealing the DJ mixer app
- overlapping tracks blend together
- cropping lets you pick just the hook
Chrome Plugin
Surprisingly, Chrome looks like a great ELF platform.
The plugin could be a "Shortcut to Desktop App" Chrome process/window.
APIs that Chrome gives you:
Data Sources
RateYourMusic.com
Blip.fm
- download data
- correllate users with similar taste
- group blips by category
MusicBrainz / Freebase
Last.FM
MP3 Tagging
sweeper is a Ruby/Last.FM/id3lib-based MP3 autotagger.
