Mike's comments on mkws.js
[mkws-moved-to-github.git] / notes / 2013-06-24--todo
1 Adam, Wolfram, Jakub and I just had a ninety-minute meeting to look at
2 MKWS (the MasterKey Widget Set) and discuss how to progress it.
3
4 I won't bother trying to summarise the discussion, just the
5 conclusions.
6
7 1. We really like the concept, though Jakub is wary about the danger
8    of reinventing the wheel.
9
10 2. We're happy with the distinction between two levels of MK2
11    integration: MKWS for entry-level HTML programmers; and more
12    sophisticated customers who want more control can roll their own
13    MasterKey Client based on MK2-UI-core.
14
15 3. To avoid that wheel-reinventing, we want MKWS to itself be built on
16    the UI core. To pick a concrete benefit: Wolfram has invested some
17    effort to make MKWS multi-lingual; but had it been based on the UI
18    core, he could have put that work into the core, and all other MK2
19    UIs would have benefitted from it.
20
21 4. We plan therefore to re-engineer MKWS to use the UI core -- or,
22    which might be a faster route to the same destination, to redo the
23    MKWS work but starting from a core-based UI instead of from
24    JSDemo. (This is in accordance with the experimental nature of the
25    work we've been doing -- what we're currenty referring to as "the"
26    MKWS code is actually one of several threads within the
27    "experiments" directory.)
28
29 5. Because we want to enable smooth demos at ALA this coming weekend,
30    we are NOT going to begin the re-engineering until after ALA,
31    instead concentrating on getting the current MKWS experiment to
32    work as cleanly as possible.
33
34 6. We want to establishing some demo sites that use MKWS, ready to be
35    shown to prospective customers. We think the best approach is to
36    pick three sites that currently have no searching (for example,
37    Dennis's site and one of my own) and add minimal MKWS code to
38    each. Then Seb will be able to demo the small HTML/JS changes in
39    those sites.
40
41 7. To make these demos work, we will need to solve the problem of
42    cross-site scripting, allowing those sites to make Service Proxy
43    requests. This is the top programming priority (and what I will
44    start working on as soon as I've sent this message!)
45
46 8. After some back-and-forth, we decided that we would eliminate the
47    current use of jQuery. (We're not doing anything at all clever with
48    it -- basically just node-selection and HTML-building). Life is
49    simpler without the dependency, and the danger of colliding with a
50    different jQuery version in use on the customer's site.
51
52 9. We'd like to have mkws.js include pz2api.1.js on its own, so that
53    the customer's HTML only has to do a single JS include. Not a big
54    deal, but it just makes the demos look more lightweight.
55
56 10. We really like the explicitness of the configuration hash that
57    Wolfram's introduced, and the way it defaults intelligently when
58    elements of it are omitted (or indeed when the whole thing is
59    omitted). We'd like to add a config element that tells the results
60    page to pop up in front of the main website, like the Google CSE
61    results do on http://www.miketaylor.org.uk/
62