eg 2014 browser client presentation
authorBill Erickson <berick@esilibrary.com>
Tue, 18 Mar 2014 14:10:48 +0000 (10:10 -0400)
committerBill Erickson <berick@esilibrary.com>
Tue, 18 Mar 2014 14:10:48 +0000 (10:10 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
browser_client.txt

index dd4c30d..5549c14 100644 (file)
@@ -2,7 +2,7 @@
 :author: Bill Erickson
 :email: berick@esilibrary.com
 :copyright: 2014 Equinox Software
-:duration: 35
+:duration: 40 
 :data-uri:
 :backend: slidy
 :max-width: 45em
 == Why Are We Talking About This? ==
 
 [role="incremental"]
-  * The time has come
-  * and gone
-  * The XULRunner version (14.0.1) used by Evergreen was released July 2012.
+  * Version 14 of XULRunner, required by Evergreen, was released July 2012.
   * As of February, the latest version of XULRunner is version 28.
+  * 14 releases of security fixes, bug fixes, speed improvements, and 
+    features we can't use.
 
 == Why Can't We Update XULRunner? ==
 
 image:images/jonah-api.jpg[Used The Documented API]
 
-Here we see a young Jonah Hill expressing frustration when his 
-decision to choose a seemingly reasonable course of action backfires.
-
 '*' Consarn ye, XULRunner!
 
 == Why Can't We Update XULRunner? ==
 
 [role="incremental"]
-  * We've been treating XULRunner like a development platform, which defines 
-    features for developers, and then maintains those features.
-  * XULRunner is more accurately a test bed for Firefox.  As browser
-    features evolve to fall in line with other browsers, unwanted features 
-    are discarded from Firefox and XULRunner.
-  * Too bad we are using some of those "unwanted" features.
+  * We've been using XULRunner like a development platform.
+// with published features which are maintained
+  * XULRunner is really a test bed for Firefox. 
+// as browser features are discarded, they are removed from XULRunner
+  * Too bad we are using some of those discarded features.
 
 == The Big Lost Features of XULRunner ==
 
@@ -103,16 +99,35 @@ decision to choose a seemingly reasonable course of action backfires.
     ** RFID pad
 
 == What do we do about this? ==
-  * The currently proposed solution is a small, standalone service which 
-    can perform a few basic tasks:
+
+  * The currently proposed solution is a standalone service, which
+    runs on the desktop and can perform a few basic tasks:
     ** Talking to printers
-    ** Writing files
+    ** Reading/Writing files
     ** Potentially interacting with 3rd-party applications
-  * Proof of Concept ("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]")
-    using Jetty, a small Java-based web service provider.
-  * Java is portable, has flexible printer support, and is easy to code.
+  * The goal is have a small, stable API that requires infrequent updates.  
+// as the code stabilizes, the updates will be less frequent
+  * If built correctly, it could potentially be shared and used by other
+    systems, like Koha.
   * *note:* Only required by clients that need these features.
 
+== Staff Client Prototype Project ==
+  
+  * Interfaces
+    ** Patron Search
+    ** Checkout
+    ** Items Out
+    ** Items on Hold
+    ** Checkin
+    ** Record Buckets
+  * http://yeti.esilibrary.com/dev/pub/web-staff-log.html[Prototype Dev Log]
+  * http://yeti.esilibrary.com/dev/pub/web-staff-report.html[Prototype After-Action Report]
+  * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:manifesto[Browser Client Development Manifesto]
+
+== Staff Client Prototype Project ==
+
+image:images/browser-client-patrons.png[Patron Search]
+
 == Browser Developer Tools ==
 
   * http://angularjs.org/[AngularJS]
@@ -126,6 +141,11 @@ decision to choose a seemingly reasonable course of action backfires.
     ** Bi-directional, streaming, long-lived connections
     ** Replacement (and then some) for multipart/x-mixed-replace
     ** http://blog.esilibrary.com/?s=websocket[Blog Series]
+  * Java / http://www.eclipse.org/jetty/[Jetty] for the Print and Storage 
+    service
+    ** Java is portable and has flexible printer support.
+    ** Jetty is a small "Servlet Engine and HTTP Server".
+    ** Browser can communicate directly with Jetty over HTTP / WebSockets.
 
 == WebSockets Streaming Example ==
 
@@ -133,17 +153,7 @@ image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search]
 
 XMLHttpRequest requires *102* OpenSRF messages; WebSockets requires *51*.
 
-== Staff Client Prototype Project ==
-
-image:images/browser-client-patrons.png[Patron Search]
-
-== Staff Client Prototype Project ==
-
-  * http://yeti.esilibrary.com/dev/pub/web-staff-log.html[Prototype Dev Log]
-  * 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]
-
-== So Let's Build This Thing!  ==
+== So Let's Build This Thing  ==
 
 Proposed staff client development project, divided into sprints.
 
@@ -161,16 +171,32 @@ Proposed staff client development project, divided into sprints.
 *Note:* The final product will be a mix of new Angular UIs and 
 existing web-based UIs.  Only the XUL interfaces being wholly rebuilt.
 
-== Sprint #1 Funded! ==
+== Sprint #1 Funded ==
 
 Development Partners
 
     * ...
 
+== Sprint #1 Progress ==
+
+  * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:dev_notes[Dev Notes]
+  * WebSockets code complete and call for testing [https://bugs.launchpad.net/opensrf/+bug/1268619[LP#1268619]]
+    ** Using WebSockets by default in the staff UI
+  * Proof of concept Print/Store service 
+    ("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]")
+  * Display Grids
+
+== Sprint #1 Pending Code, Research, and Questions ==
+
+  * JS integration of print/store server
+  * JS components for keyboard shortcuts
+  * Integrating existing HTML UIs with browser client
+  * Integrating the TPAC with the browser client
+  * Integrating web UIs into XUL to ease integration
+
 == Comments and Questions ==
 Bill Erickson <berick@esilibrary.com>
 
-
 ////
 vim: ft=asciidoc
 ////