No buckets for me :-)
For the type of example you mentioned I agree in particular with mcogilvie. Be careful!
Personally I do not keep permanent "buckets" (folders, projects, tasks) that are based on "activity type" or "context type" or anything of that nature. Instead, all my stuff is organized in direct relationship to a concrete outcome (result). That helps me stay sane. The only slight exception I make to this is my AoR folders at the top level. And I also make exceptions for very short-lived "special context" efforts.
I would not consider "iphone improvements" to be an end in itself, i.e. not anything I would organize in a "bucket". If, for example, I wanted to be able to add a good pdf editor (or other snazzamatazz) to my iphone, then I would add that either as a single action (as mcogilvie said) or I would make it a part of some larger project for which pdf editing on the phone will be necessary. I would not even attempt to fundamentally organize everything that is iphone related in one common "bucket" just because they are all iphone related. But:
Sometimes - very often, actually - when I get close to actually doing things, it becomes highly desirable to make the best use of whatever "special context" I realize that I may need to temporarily create for one or more tasks. For example, if you had to open your iphone (mechanically), then it probably would make sense to make use of this special temporary context (to have the iphone open) and add all the snazzamatazzes you have decided on all in one go, right? Even though the various snazzamatazzes probably belong in different projects (for perhaps entirely different purposes and goals), they also belong together, practically speaking, in a micro-project that you might call "open iphone and add snazzamatazzes A, B and C"). Normally (in most software I have seen) you cannot really manage "multiple citizenship/multiple parents" for the individual tasks, so what I usually do is I do create a separate task or project - a "temporary bucket" if you will - for it, but I do not move the individual tasks from their original projects; I just list the various snazzamatazzes, and the projects they really belong to, in the task's notes. I leave the original tasks in their respective projects for being logged properly in my logbook and for the case that the special-context micro-project never comes to pass, and most of all in order to see the tasks clearly in their right environment if I review the project before I have gotten around to actually opening the iphone. I do not create "contexts" for these "special temporary contexts", because it is more messy, and I would need to remember to filter by each and every such special context all the time - better to have it as a task, visible straight on the regular list.