At a real keyboard this time.. I write way too much crap over a phone
(and I prolly write way too much crap in general; less chat and I'd have more time to code and design right? hmm.. my poor fried mind
It may not be obvious, but one thing I've been trying to avoid is 'over doing it'; ie: adding zip support, cramfs, and so on is all well and good .. but best avoided unless needed. (and being open source, someone might want to do it just for fun, but it is often better to _not_ do something and keep it simple.) There has in fact been lots of junk tossed in there, and then removed entirely -- less to get underfoot is better sometimes. ie: Less supported formats is easier for people to use, and means less unused code lieing around to bug-up. (Theres defiantely some minor memleaks and a few bugs (mostly bugs of omission) in there, but I'm just saying.. if we supported the half dozen file formats we went through, only one shoudl end up being used for 90%, and the rest would just be code 'in the way'.)
(You can see evolution in the design of course, with how the separation of disco-t and pxml-t drives me nuts; further, the really ugly structs in place for containing the parsed pxml data, and really the pxml xml spec altogether needs huge changes, but tat'd just delay stuff and we don't need any of that!)
So I am trying to resist doing anything 'too much'. For something to catch on, it should be simple _first_, and then when it catches on, you grow it. If you make a spec far too big, no one will read it. "tl;dr" syndrome. This is how RSS and such got off the ground.. barely a spec at all, so easy to implement.. bam. But you throw a big fat spec out, and _flop_.
So this is why I didn't define uninstall and other things; I don't even mention it. It is both best left out for now, a limit of the manpower we've had, and something that can be discussed and managed down the road. If I go and bring it up, I encourage more discussion, when really I want pnd's to ideally not even need an uninstall in the normal case.. It is not me being short-sighted, it is me deliberately trying to manage things so that they can be crafted better in the future. (You may disagree, and thats fine. Someone else can take it over once it ships, I don't care
So worry later, rather than worry now. The same as the great coding practice (from Kjnuth in fact) of .. optimize later, never early. Optimization and over-speccing means necessarily complicating things up front when you need it not complicated. LAter when you see how it is used in practice, you will know what needs optimization. (And certainly iso is fast and easy to work with, we had tonnes of performance issues when fiddling with other formas and layer. We've also had enough issues squeezing things into the kernels and such .. so many parts devved at the same time, gotta keep it simple.)
Anyway, this is why I'm a bit bullish about some things; it is better to keep small, and worry about growing it after we get something that works and shipped. I'm _very_ good at shipping things, which is rare. (That said, yes, I'd love to have more testing in this, and a dozen more hands, and free time from my little one to actually mull things over quietly once in awhile, but you make the best with what you have
So once we ship, I fully expect half of this stuff to get rewritten, and thats the way it should be. But not right now, it works pretty darned well so lets go with it
And definately keep up the ideas and log them; enhancements are good, and theres good folks in these forums, and dflem -- you definately seem like a good man on it when you can muster the time, so I expect to see you checking dstuff in down the road
jeff