:backend: slidy
:max-width: 45em
-== summary title goes here
+== Front-End Evolution
* Client / Server Network Communication
* Buliding Interfaces
== WebSockets
-WebSocket - https://en.wikipedia.org/wiki/WebSocket
-
* Full-Duplex
- ** Data travels in both directions simultaneously.
- ** Full support for streaming API's.
- ** Only one connection to the server is required.
* Persistent Connections
- ** TCP Socket setup only required on initial request.
-* Supported by all major browsers
* Cross-origin support
-* Server handled with Apache Webockets Gateway
- ** https://github.com/disconnect/apache-websocket
- ** OpenSRF/src/gateway/osrf_websocket_translator.c
+* Supported by all major browsers
-== Catalog
+== Catalog Evolution
- * Catalog App
- * JSPAC
- * TPAC
+* Catalog App
+* JSPAC
+* TPAC
== Catalog App
* Single page (or close to it).
+ * Very slow to load
* Not deep-linkable
- ** Before browser push-state routing existed
- * Slow to load
- ** JS for all components loaded on the first page
- ** Not ideal for rural GA networks
* Web browsers still primitive JS support (speed, etc.)
== JSPAC
* A page per thing (search, record, etc.)
- * Deep-linkable and faster to load
+ * Deep-linkable
+ * faster to load
* JS-driven interfaces still very dependent on client and network.
- * JS is really taking off as a legitimate way to build UI's, better toolkits are born every day.
== TPAC
** Important for catalog since all types of patrons connect
* Move much of the processing to the server.
+== Staff Client Evolution
+
+* XUL Client
+* Browser Client
+
== XUL Client Deprecation
-* TODO: find notes on this
+ * TODO image
+
+ * XULRunner is the framework on which we built the Evergreen staff client.
+ * Version 14 of XULRunner, required by Evergreen, was released July 2012.
+ ** Latest version 41
+ * Remote XUL
+ * E4X (ECMAScript for XML)
+ * multipart/x-mixed-replace messages
== Move to Browser Client
-* TODO: find notes on this
+ * People know how to use browsers
+ * People know how to write code for browsers
+ * Browser competition
+