Browsing: Programming Principles