Lately I come across what I think not uninteresting problem which is a good exercise for the usage of Dynamic. Assume you have files in a directory structure (a tree) like the one you find in the AddOns/Packages subdirectory. Here a snip of it
Packages/BarCharts |-- Charts.m |-- Charts3D.m |-- Kernel | `-- init.m |-- PacletInfo.m `-- Usage.m Packages/Benchmarking |-- Benchmarking.m |-- Kernel | `-- init.m `-- PacletInfo.m Packages/BlackBodyRadiation |-- BlackBodyRadiation.m |-- Kernel | `-- init.m `-- PacletInfo.m What I would like to have is a dynamically updating row of PopupMenu's which let's me select a file or directory like this

There should be a possibility to select directories (like the Benchmarking/Kernel) directory as well. Note that not all PopupMenu's are always visible. Their number depend on the depth of the selected file/directory. For instance consider this case

What I tried so far is to extract all files with FileNames and use Gather and replacement rules to convert them into a tree-structure. In this tree structure you can access then different levels and update the PopupMenu's in dependence of each other.
I'm really keen to see nice* ideas of others.
*short, interesting, intuitive, mind-boggling