Hey everyone,

I'm currently designing a software, which is trying to organise your life.

You are able to create rich text notes, voice memos, sticky notes, to-do lists etc. One can write his/hers whole lecture notes as a text note so I expect lots of data.

Now to store each note in memory seems like a bad idea from performance point of view, so I thought it would be better if I could store the each data in a file, and every time I want to display it to the user, I could fetch it using its path, and read it on the spot. And if any changes are made, I overwrite the given file.

Now the issue is, I'm not entirely sure how to store that data. I'm thinking about making files that have two sections, "#SETTINGS ... TITLE;some_title; DATE_CREATED;some_date... #END_OF_SETTINGS /n #DATA ... text ... #END_OF_DATA" sort of thing. For the voice memo the data would be empty, but in #SETTINGS section would be a path to .mp3 file which can be loaded to the software.

I also thought about storing all this data in XML format, but then I'm stuck thinking there are so many ways to go about it, and I can't figure out the best one. So I'm wondering if anyone of you guys could suggest a good way of structuring this sort of file storing.

Of course a path builder class will be implemented that will maintain a coherent file structure with directories and sub-directories.

Any input is appreciated,
Thank you!