Ξεκίνησα λοιπόν να σχεδιάζω το catharsis καθορίζοντας πρώτα τι δυνατότητες θα μπορούσε να έχει. Μερικά απο αυτά είναι :
1. Καθορισμός ενός (ή και περισσότερων φακέλων) προς επίβλεψη απο το χρήστη.
2. Έξυπνη τακτοποίηση των "χύμα" αρχείων που βρίσκονται στους παραπάνω φακέλους, σε μία καθορισμένη θέση απο το χρήστη
3. Αυτόματη διαγραφή των άδειων φακέλων
4. Δυνατότητα λειτουργίας σαν daemon (συνεχής επίβλεψη και τακτοποίηση περιοδικά)
Για παράδειγμα δείτε την εικόνα :

Έστω πως έχουμε ένα φάκελο "Downloads" με τα εξής περιεχόμενα ( σχήμα 1. )
Downloads : photo.jpg music.mp3 myprogram.cpp mydocument.pdf
Έστω πως έχουμε καθορίσει το catharsis να επιβλέπει τον παραπάνω φάκελο ("Downloads") και έστω πως έχουμε καθορίσει τα αρχεία να τακτοποιούνται στον φάκελο "../Downloads/Auto-Managed". To catharis θα τακτοποιήσει τα αρχεία όπως φαίνεται στο σχήμα 2.
Έστω τώρα πως διαγράφω το αρχείο "myprogram.cpp" απο τον φάκελο "C++". Τότε το catharsis θα αντιληφθεί τον κενό φάκελο και θα διαγράψει όλο το path απο "Programming" και μετά (σχήμα 3).
Εάν διαγράψουμε και το αρχείο "mydocument.pdf" τότε θα διαγραφεί όλος ο φάκελος "Documents" αφου δεν περιέχει πλεον αρχεία και έτσι θα έχουμε το σχήμα 4. Αυτό γίνεται για να έχουμε όσο το δυνατόν λιγότερους φακέλους που αξίζουν την προσοχή μας.Εαν στο μέλλον προσθεθεί κάποιο αρχείο .pdf ή .cpp ή .c ή .docx κτλ τότε θα ξανα δημιουργηθεί το "Documents" και θα τοποθετηθεί το αρχείο στον κατάλληλο φάκελο.
Μπορεί να επεκταθεί σε δυνατότητες όπως για παράδειγμα να διαβάζει τα mp3 ID3 tags και να δημιουργεί φακέλους ανάλογα με τον καλλιτέχνη και ο,τι άλλο βάζει ο νούς μας. Το βασικό είναι να παραμένει ένα εύχρηστο και κατανοητό στην πλοήγηση και στην αναζήτηση, δέντρο αρχείων.
Έχω ξεκινήσει αυτό το project πρόσφατα και προς στιγμήν κάνει όλα αυτά που ανάφερα παραπάνω (στο διάγραμμα), αλλα έχω έλλειψη των υποστηριζόμενων formats και ίσως μια βιαστική υλοποίηση. Το catharsis είναι γραμμένο σε C++ (θεωρώ πως είναι πιο εύκολο να το αναπτύξεις αντιμετοπίζοντας το πρόβλημα με αντικείμενα). Θα ήθελα να το παραδώσω και σαν ιδέα και σαν μισή υλοποίηση στην κοινότητα για βοήθεια και ταχεία πραγματοποίηση, μια που δεν είναι κάτι το πολύ δύσκολο να το αναπτύξει κάποιος και θα έχει άμεσα αποτελέσματα στην καθημερινή εμπειρία με τον υπολογιστή μας. Τελειώνοντας ευχαριστώ και συγγνώμη για το μακροσκελές κείμενο
Ποιά είναι η γνώμη σας, τι προτάσεις έχέτε και ποιός είναι υπέρ αυτού του project; Πως θα μπορέσει να βοηθηθεί απ την κοινότητα;
PS Θα ήθελα να σας παραδώσω και τον πηγαίο κώδικα αλλα δεν ξέρω πως θα κάνω επισύναψη το αρχείο εδώ...κάποιος να μου πεί;





