TODO List
UI Overhaul
- Switch to Document Based Application (Implemented in v0.3)
- Allow user to resize window (Implemented in v0.28)
- Allow user to add/remove columns (Implemented in v0.35)
- Allow user to specify download location (Implemented in v0.3)
- On Window close/Application quit, logout from the iTunes Server(s) (Implemented in v0.28)
- Progress bars during network operations (connect/database/download) (Implemented in v0.2)
- Save history of servers in an "Open Recent" type menu (Implemented in v0.3)
- Sort based on columns (Implemented in v0.25)
- Allow the user to login if the server requires authentication (Implemented in v0.3)
- Display error messages (90% implemented in v0.2)
- If a song already exists in download directory, prompt to overwrite/rename it (Scheduled for v0.40)
- Server Browser (Allow the user to add comments for a particular host, remove individual hosts from the server history, show rendezvous hosts, etc) (Scheduled for v0.40)
- Artist/Album Browser (ala iTunes) (Scheduled for v0.40)
- Bandwidth Throttle (Scheduled for v0.40)
- Add information to the Download Drawer, about the total amount queued, the ETA for the queue to be completed, etc (Scheduled for v0.40)
- Save connected hosts&downloads to a file, so incase of a crash the user may either resume their downloads, or properly logoff from the server (Scheduled for v0.40)
- Automatic logout after downloads (Through a preference setting) (Scheduled for v0.40)
- Rewrite playlist handling code -- There's no need to download all the metadata for the songs all over again, just request the itemid's .. then when the user selects that playlist, grab those itemids from the 'master playlist'. (Scheduled for v0.40)
Threading
- ... so the application doesn't appear frozen when busy (90% implemented in v0.2, 100% implemented in v0.3)
Java Performance
- Has issues when the playlist/database has > 10,000 items (Java runs out of memory) (Somewhat fixed in v0.2, although through cheating. Instead of requesting all of the items for a song, only request the ones we deal with. This should suffice until the feature where users can change the table columns is implemented)
- Have code return more descriptive values instead of returning true/false (99% implemented in v0.28)
Other
- Figure out how iTunes does authentication (if server requires it) (Implemented in v0.3)
- General code cleanup (On going process)
- Get a nice icon...
- Design a better webpage (May 17: the page is slighty better)
- Accept gzip-encoding (Implemented in v0.3 although currently disabled)
- Re-add code to determine if the session has expired (Introduced in v0.1, removed in v0.2, scheduled to be reappear in v0.40)
- Support utf8 characters (Implemented in v0.31)
- Finish the "Recent Servers" menu (Implemented in v0.31)