Don't get the wrong idea, lazy loading is not a bad thing, it's even the formal software design pattern. Lazy loading is the tactic of delaying the creation of an object, or some other expensive process until the first time it is needed. Although it's intended to use during software run time, I'll also use it during documentation and design time. I've started to write the design document but it felt so dry. That's why I'll do a little coding right a way, write documentation about topics that are hot at the moment and consolidate and expend from time to time.
So, what's hot now? In short, localization and application settings. Long story, I've started from the top, with the first thing that should happen when the application starts, the main screen. To fully realize a main menu I need the UI concept, localization and application settings (for interface size feature). I find old main menu good enough to be reused as is in v0.5 so I won't need new UI concept. Localization as mentioned in the last post is not so trivial and I should well define that feature. Application settings may not look as a big deal but they too have to be carefully defined. Idea is to support various UI implementations (one friend is/was willing to do in GTK) so app setting should support variable amount of UI settings.
I'll write in the next post how will localization and application setting work .