You appear to think that your question is about algorithms and/or development methodologies. Let's take care of the obvious first, a development methodology is:
A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.
Questions about development methodologies are expected to be about topics like, for example, prototyping, incremental development, agile methodologies, etc. Although as Mark notes there's a colloquial sense to development methodology, since Programmers is a site for professional developments, let's go with with the formal definition instead.
As for the algorithms part, although there isn't a formal and strict definition of what an algorithm is, this one is good enough:
In mathematics and computer science, an algorithm (originating from al-Khwārizmī, the famous Persian mathematician Muḥammad ibn Mūsā al-Khwārizmī) is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.
The fact that you say you'd love to see an answer as an algorithm, doesn't make it a question about algorithms.
The original version of the question was also not constructive:
What kind of questions should I not ask here?
You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.
Your questions should be reasonably scoped. If you can imagine an entire book that answers your question, you’re asking too much.
If your motivation for asking the question is “I would like to participate in a discussion about _”, then you should not be asking here. However, if your motivation is “I would like others to explain _ to me”, then you are probably OK. (Discussions are of course welcome in our real time web chat.)
To prevent your question from being flagged and possibly removed, avoid asking subjective questions where …
- every answer is equally valid: “What’s your favorite __?”
- your answer is provided along with the question, and you expect more answers: - “I use _ for _, what do you use?”
- there is no actual problem to be solved: “I’m curious if other people feel like I do.”
- we are being asked an open-ended, hypothetical question: “What if __ happened?”
- it is a rant disguised as a question: “__ sucks, am I right?”
Looking for "the best", without clearly defining what that means for you leads to equally valid answers (and when that happens, the more popular answer wins, but popular doesn't necessarily mean useful - for example: Bieber). You were providing two valid answers in your question and expected more answers, without clearly telling us why the two methods you've already found didn't work. And, as you've mentioned in the comments, this was more of a curiosity question than a question about an actual & practical problem. All of the above, made it extremely open ended.
However, in the current version of the question you are telling us why the two solutions don't work for you, and you've further defined the problem. You are not simply looking for the incredibly vague "best" and by giving us detailed explanations of why the two methods don't work for you, you've stopped people from proposing other methods that have the same problems, making the question quite less open ended.
I am still not convinced that your question qualifies as a high level design problem, however since you fixed the more important problems, who cares what I think? Can't promise it won't get closed again, but even if not convinced I'm willing to err in the side of re-opening this one, just for the effort alone.
Lastly please don't try to argue for your question by pointing to other questions, the best that can come of it is that the other questions will be closed as well (if they are indeed similar to your own). Instead focus on arguing for your question on its own merits.