It seems software development continues to move through an continuous cycle of architectures. As mainframe systems moved into interactivity we used CICS systems to display pages of information to a thin-client terminal. As users demanded more elegant user experiences and power was cheaper on the desktop, we started using n-tier client/server models to push the display and application logic into the desktop. As we moved into the Internet age, web browsing brought us back into single pages of display. And now, as users once again want a better experience, we are moving back into a client-server model. The only difference is this time we’re not sending SQL via ODBC over the network, but rather JSON and XML over HTTP. User interfaces aren’t being built as Windows resource files, but in HTML, CSS, and JavaScript.