lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] Generating screenshots automatically


From: Greg Chicares
Subject: [lmi] Generating screenshots automatically
Date: Tue, 10 Feb 2009 01:54:12 +0000
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

New end users would appreciate annotated screenshots of the various
panels on lmi's tabbed dialogs. Those dialogs are all specified by
'skin*.xrc'. It's be really nice if we could automatically create
screenshots that use the contents of the WXXRC <help> tags, which we
have already written for every control, as the annotations.

Here, let me illustrate:

  <object class="wxCheckBox" name="EffectiveDateToday">
      <help>Synchronize effective date with current date</help>
      <label>Effective today</label>
  </object>

The screen looks kind of like this, in part:

  [unicode U+2611 "ballot box with check]
  |
  ☑ Effective today

which, as you see, I've already annotated as well as I can with
ASCII graphics. What we'd want is, for example:

  ☑ Effective today --> Synchronize effective date with current date

but in true graphics. Exquisite artistic refinement isn't necessary;
all we need is something that's legible and not too unattractive.
Here are examples that aren't too far from what I'm thinking of:
  http://www.tfhrc.gov/trnsptr/apr04/images/screenshot.gif
  http://www.lincolnbeach.com/screenshots/js_screenshot.jpg
and the second even displays an annotation as though it were msw
balloon help. Perhaps that's one feasible solution--somehow cause all
balloon help in WXXRC tags to be displayed simultaneously? I could
imagine presenting a pristine screenshot (no balloons) at the top of a
printed page, and a copy with all balloons at the bottom, so that it
wouldn't matter if balloons overlay and obscure some of the input
fields; that'd be good enough, I think. What users really want is a
set of printed pages that let them see the meaning of every field at
a glance (each wxPanel --> one page, one glance).

Of course there are other ways: e.g., surround the screenshot with
text, formatted in pretty much any manner, connected with lines:

  Freeform
  comments
        \
         \ +-----screenshot-----+
          \| [   ] Comments     |
           |                    |
           | ☑ Effective today | \
           +--------------------|  \
                                    \
                                  Synchronize effective date
                                  with current date

Another idea: let the traditional Talmud layout inspire us. Here's
the concept, expressed in English:
  http://keep2.sjfc.edu/staff/mherzbrun/Talmud%20page%20explained%202x3.gif
and in the middle of this page:
  http://ccat.sas.upenn.edu/rs/2/Judaism/talmud.html
we see an intriguing though non-traditional use of color, which can
substitute for lines and arrows: a pretty clever idea, I'd say.

What matters most is automation. And automation matters greatly for
lmi because we've got numerous 'skin*.xrc' files, and may have more
in the future, which makes it quite a tedious chore to do this all
by hand--and redo it whenever a screen (or a <help> tag's contents)
changes, which happens quite often.

Here's yet one more idea. Write a program that takes an '.xrc' file
as its parameter and does this:
  for each wxPanel in the file
    render the panel to '.png'
    write out [see below] all <name> attributes and <help> contents
First way: "write out" means render the text into the '.png' file,
below the screenshot of the panel. Second way: "write out" means
embed the '.png' in html as an <img>, and add text as <p>...</p>.
This idea emphasizes ease of implementation (I suppose), at the
cost of limiting the scope. Some manual touch-up would be needed,
say, to draw arrows connecting each control to its text. The value
of this idea (if it's easy enough to implement) is that such manual
touch-up is really easy--a child could do it--so the most tedious
part of the work is removed.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]