fix
[oweals/gnunet.git] / RATIONALE
index e68dcb883f225cf6ec58b0ecdaa9f596a126ee8d..b37e1a2fe8b993596b692b201dfa34434fba00f8 100644 (file)
--- a/RATIONALE
+++ b/RATIONALE
@@ -234,6 +234,8 @@ PROBLEM GROUP 6 (FS-APIs):
 * If GUIs die (or are not properly shutdown), state
   of current transactions is lost (FSUI only
   saves to disk on shutdown)
+* FILENAME metadata is killed by ECRS/FSUI to avoid
+  exposing HOME, but what if the user set it manually?
 
 SOLUTION (draft, not done yet, details missing...):
 * Eliminate threads from FS-APIs
@@ -243,4 +245,47 @@ SOLUTION (draft, not done yet, details missing...):
 * Store FS-state always also on disk
   => Open question: how to do this without 
      compromising state/scalability?
+* Have API to manipulate sharing tree before
+  upload; have auto-construction modify FILENAME
+  but allow user-modifications afterwards
 
+PROBLEM GROUP 7 (User experience):
+* Searches often do not return a sufficient / significant number of
+  results
+* Sharing a directory with thousands of similar files (image/jpeg)
+  creates thousands of search results for the mime-type keyword
+  (problem with DB performance, network transmission, caching,
+   end-user display, etc.)
+
+SOLUTION (draft, not done yet, details missing...):
+* Canonicalize keywords (see suggestion on mailinglist end of
+  June 2009: keep consonants and sort those alphabetically);
+  while I think we must have an option to disable this feature
+  (for more private sharing), I do think it would make a reasonable
+  default
+* When sharing directories, extract keywords first and then
+  push keywords that are common in all files up to the
+  directory level; when processing an AND-ed query and a directory
+  is found to match the result, do an inspection on the metadata
+  of the files in the directory to possibly produce further results
+  (requires downloading of the directory in the background)
+
+
+
+
+SUMMARY:
+* Features eliminated from util:
+  - threading (goal: good riddance!)
+  - complex logging features [ectx-passing, target-kinds] (goal: good riddance!)
+  - complex configuration features [defaults, notifications] (goal: good riddance!)
+  - network traffic monitors (goal: eliminate)
+  - IPC semaphores (goal: d-bus? / eliminate?)
+  - second timers
+  - DNS lookup (goal: have async service; issue: still need synchronous 
+                resolution in places, current code may not be portable)
+  => code shrunk from 61 files to 34, 22k LOC to 15k LOC, 470k to 330k (with symbols)
+* New features in util:
+  - scheduler
+  - service and program boot-strap code
+* Major changes in util:
+  - more expressive server (replaces selector)