eg 2014 browser client presentation
authorBill Erickson <berick@esilibrary.com>
Wed, 19 Feb 2014 19:32:42 +0000 (14:32 -0500)
committerBill Erickson <berick@esilibrary.com>
Wed, 19 Feb 2014 19:32:42 +0000 (14:32 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
browser_client.txt

index 1a7c0dc..51fa9fa 100644 (file)
@@ -24,7 +24,7 @@ decision to choose a seemingly reasonable course of action backfires.
 
 '*' Consarn ye, XULRunner!
 
-== What's Wrong with XULRunner? ==
+== Why Can't We Update XULRunner? ==
 
 [role="incremental"]
   * We've been treating XULRunner like a development platform, which defines 
@@ -39,19 +39,34 @@ decision to choose a seemingly reasonable course of action backfires.
 [role="incremental"]
   * Remote XUL
     ** Gives XULRunner the power to read UI templates from the server
-    ** Template changes do not require desktop application updates
+    ** Changes to server-hosted template files are applied to the client
+       without the need for desktop application updates.
+    ** "Support for remote XUL has long been a potential security concern; 
+        support for it was disabled in Gecko 2.0." --
+        https://developer.mozilla.org/en-US/docs/Remote_XUL[Remote XUL Docs]
   * E4X (ECMAScript for XML)
     ** Used by MARC Editor
+    ** "E4X, an ancient JavaScript extension, has been removed. Implemented 
+        only in Gecko, it never got significant traction (bug 788293)." -- 
+       https://developer.mozilla.org/en-US/docs/Site_Compatibility_for_Firefox_21[Firefox 21 Site Compatibility]
   * multipart/x-mixed-replace messages
     ** Streaming responses
+    ** "Support for the multipart property and multipart/x-mixed-replace
+       responses has been removed from XMLHttpRequest. This was a
+       Firefox-only feature that was never standardized." --
+       https://developer.mozilla.org/en-US/docs/Site_Compatibility_for_Firefox_22[Firefox 22 Site Compatibility]
+
 
 == What do we do about it? ==
 
 [role="incremental"]
   * We have a significant amount of work to do, regardless of how we proceed.
   * Why not take this opportunity to improve our basic building blocks?
+  * After some lively debate amongst the developers and community members,
+    we have decided now is the time to move toward a browser-based staff
+    client.
 
-== Enter: The Browser ==
+== What's So Great Web Browsers? ==
 
 [role="incremental"]
   * Remote updates
@@ -64,19 +79,31 @@ decision to choose a seemingly reasonable course of action backfires.
     ** Real-time holds pull list on an iPad?
     ** Running reports in the browser built into your refrigerator?
   * Much of the staff client is already developed as individual web pages.
-  * Browser Features are publicly documented and di
+  * Browser Features are designed, documented, and implemented by a diverse
+    groups of people and standards bodies (w3c, etc.)
   * Browser support for a given feature is a good litmus test for long-term
     viability.
   * Good support for assistive technologies, like screen readers, etc.
   * Existing, proven tools for local template customization and translations.
-  * Deep links to resources (patrons, items, etc.)
+
+== What's So Great Web Browsers? ==
+
+[role="incremental"]
+  * We can keep our multi-tabbed interfaces
+  * It's easy to create deep links to specific resources (e.g. patrons)
 
 == What Challenges Come with Using a Browser? ==
 
+[role="incremental"]
   * Seemlessly printing to different printers
   * Secure file storage
     ** offline transactions
     ** workstation registrations
+  * The solution is a small, standalone service which can perform a few
+    basic tasks.  
+    ** This service will only be required on machines with special printing 
+       needs, machines that perform/upload offline transactions, and 
+       machines where the workstation name has to be locked down.
 
 == Browser Developer Tools ==
 
@@ -85,6 +112,8 @@ decision to choose a seemingly reasonable course of action backfires.
 
 == AngularJS ==
 
+AngularJS is JavaScript development framework project from Google.
+
 == Bootstrap CSS ==
 
 == Staff Client Prototype Project ==
@@ -97,7 +126,7 @@ image:images/browser-client-patrons.png[Patron Search]
   * http://yeti.esilibrary.com/dev/pub/web-staff-report.html[Prototype Report]
   * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:manifesto[Browser Client Development Manifesto]
 
-== Future Development ==
+== Additional Components / Development ==
 
   * WebSockets
   * https://bugs.launchpad.net/evergreen/+bug/1251394
@@ -109,9 +138,7 @@ image:images/browser-client-patrons.png[Patron Search]
 
 == WebSockets Streaming Example ==
 
-Patron Search via XMLHttpRequest vs WebSockets.
-
-https://docs.google.com/a/esilibrary.com/drawings/d/1zt3S0vaaRBLj2fmPKhQjFUZ0tpA9cWsjpwqD-8LHnvY/edit
+image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search]
 
 == WebSockets Streaming Example ==