A Spreadsheet Client for Web Applications

There is an increasing gap between web services and web applications. While web services communicate via typed interfaces (e.g., using WSDL and SOAP), many web applications still rely on untyped, manually programmed forms in the restricted HTML widget set. These limitations cause developers to resort to HTML with client-side scripting, resulting in applications that can be hard to maintain. The goal of our work is to close the gap and ease maintenance by providing a browser technology that relies on declarative specifications and supports a fully typed interaction model. To this end, we have implemented Spreans, a type-aware spreadsheet that edits hierarchical data, supports a rich widget set, and includes browser functionality by implementing an interface to web services. The use of Spreans as a browser replaces the main uses of client-side scripting (calculations, constraint checking, and UI embellishment) by declarative specification, thus simplifying maintenance.