Acknowledgements

The ideas presented in this dissertation are synthesized from various approaches that have been proposed over the years in software industry and other active fields of research.

I drew my inspirations from the teachings of great many people which include my tutors, colleagues and friends. Many specific ideas have emerged from many informal conversations I have had with friends, blog posts I read and conference talks I watched most of whose names have escaped me. But attribution has been duly noted wherever I could identify them. I express my gratitude towards everyone who have helped shape my thinking and approach towards software development.

My views about software development has been greatly transformed by works of Alan Kay, Alan Perils, J.C.R Licklider, Seymour Papert, Joe Armstrong and Rich Hickey and their principles on software development. Their ideas have helped me form the bedrock for shaping my views toward creating software. I am deeply indebted to the Clojure community for producing quality software and instilling in me some of the best philosophies produced in the software community. A more comprehensive list of all the technologies used can be found in the appendix.

My ideas about metaphors and conceptual integrity come from George Lakoff, Mark Johnson, Fred Brookes and Donald Norman.

I am grateful for the work of Edward Tufte's work on data visualization which served as a source of inspiration for the work in unifying visual interfaces.

I am deeply indebted to my tutor, Phillip Lord for allowing me to embark on his journey. His advice on software development and time management turned out to be of great value for the project. The code authoring tools he has developed for my code editor of choice Emacs made code annotation a far smoother experience. His continuous support has impacted both the tangible and intangible aspects of the project in more ways than one.

It was a great thing having my friends and colleagues to discuss the dissertation with at different stages of the project. I would like to thank Benjamin Brown, Moad Abouzamazem, Alexander Filipov and Achint Soni for their support throughout the project.

All code developed towards creating this ecosystem has been open sourced and I look forward to see what comes of it.