IRIS Browsers FRD - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

IRIS Browsers FRD

Description:

See attached screen shot of Firefox. ... Mozilla Firefox cannot be embedded (yet) Runs on a ... GRE based, no plans yet to support firefox. New, but stable ... – PowerPoint PPT presentation

Number of Views:157
Avg rating:3.0/5.0
Slides: 30
Provided by: open8
Category:
Tags: frd | iris | browsers | firefox

less

Transcript and Presenter's Notes

Title: IRIS Browsers FRD


1
IRIS Browsers FRD
File Web
2
Contents
  • Personas
  • Requirements
  • Issues and Options
  • Roadmap and Dependencies

3
Personas
  • Desktop Users
  • IRIS end users that are currently using IE,
    FireFox, Opera, Windows Explorer and other
    browsers.
  • IRIS Browser
  • Requirements for browser functionality and
    hooks for seamless browser integration into
    IRIS.
  • IRIS Apps
  • Need basic html rendering Ex CALO Chat, Inspect
  • CALO Integration
  • Apps which interact with the browsers for
    learning, instrumentation and automation.

4
Requirements Desktop Users
  • Robust, fast performing, responsive UI
  • Ease of use
  • Same UI actions/features found in standard
    browsers
  • Features which make web browser a compelling
    alternative to standard browsers
  • Bookmarks/Preferences
  • Navigation/History/Toolbar
  • Standards compliant
  • HTML, CSS, SSL, Certificates
  • Plugins (Flash, Java), JavaScript, edit-copy
    text, print nice-to-have, maybe a requirement in
    future

5
Requirements Desktop Users
  • Requirements for File Browser
  • Minimum requirements
  • Delete/move file/directory, rename, navigation
  • Launch file/executable
  • Do we need all the features of Windows Explorer
    in IRIS?
  • Search, change directory structures, undo,
    edit/copy/paste, preview file content, view
    properties of file, change permissions/security,
    create new document of type X, launch
    file/executable, etc.

6
Requirements - IRIS
  • Embedded UI
  • Embed web browser window into IRIS
  • Embed different components of file browser into
    IRIS panes.
  • Browser automation and instrumentation
  • Programatically direct browser to a URI
  • Browser events
  • user actions, document events, progress
    notification
  • Customize user interaction
  • IRIS has its own way for prompting/notifying/query
    ing the user and we want to use IRIS's method
    instead of the browsers.
  • Ex put our own menu in when user right clicks on
    a link

7
Requirements IRIS (cont)
  • Low memory footprint/overhead
  • Do not want to bog down IRIS
  • Web browser hooks
  • Instruct web browser not to follow custom IRIS
    links/form submits and handle those links in IRIS
  • Embed IRIS UI objects in web page is nice-to-have
  • Pass in String/Stream to browser
  • UI Requirements
  • Drag Drop
  • Drag Drop links? Content? - not required now
    but nice-to-haves

8
Requirements - CALO
  • Instrumentation and Automation
  • Document controls
  • View URI/file, load, stop
  • Scroll to anchor, Page up/down, Find text in
    document
  • Note Find text can be performed via 1st param
    below
  • Document inspection
  • Retrieve page content, all text in page, current
    url, HTTP headers, post data (if any), target
    frame if frames are used, mime type, title,
    colors, date modified, all links in a document
  • Ideally, retrieve equivalent of View page info
    on standard browsers (Firefox, IE). See attached
    screen shot of Firefox.
  • Ideally, be able to walk the DOM of the page
    through standard DOM API

9
Requirements CALO (cont)
10
Issues Options
11
FileBrowser Status
  • Integrated into IRIS, works well
  • Some issues, needs some testing
  • Error notification still happens on some XP
    machines when scanning drives
  • When changing folders in the main view, the
    bottom left folder view does not sync
  • Support move file(s)/directory? Other
    requirements?

12
Other FileBrowser solutions
  • Not much out there...
  • JavaExplorer
  • http//sourceforge.net/projects/javaexplorer/
  • Features MDI, Viewing and saving Images (JPG,
    GIF, BMP), Viewing of any other file as text,
    Multi disk/directories selection, copy, delete,
    search, FTP Sites access as local disks...
  • Doesn't work too well...

13
Calpa Status
  • Already integrated into IRIS
  • Stable, well maintained
  • Has some bugs we found
  • Latest version (2.021) may fix some of these bugs
  • Probably best free java browser when it comes to
    small footprint, performance.
  • Htmlbrowser open source
  • Missing key html tags, not good with tables
  • Does not support all of CSS

14
Embedded Mozilla Status
  • Mozilla Firefox cannot be embedded (yet)
  • Runs on a stripped-down version of GRE
  • However, we can still embed mozilla with firefox
    browser features, we just don't get the stripped
    down lighter GRE
  • WebClient (Blackwood)
  • http//www.mozilla.org/projects/blackwood/webclien
    t/
  • Backed by Sun, under development, part of mozilla
    code base
  • Does not support Mozilla 1.6 yet
  • Slow development

15
Embedded Mozilla Status (cont)
  • JRex
  • http//jrex.mozdev.org/
  • MPL 1.1/GPL 2.0/LGPL 2.1
  • GRE based, no plans yet to support firefox
  • New, but stable
  • Have working demo with 1.6 mozilla debug build
  • Javascript, ssl, plugins work

16
JRex vs Webclient
  • Similar capabilities/goals
  • Both GRE based with modules for browser
    components
  • Work on Linux, Windows, Mac
  • JRex yet to be fully tested on Mac, but should
    work
  • Differing goals
  • Webclient is pluggable with IE or Mozilla and
    has a common API shared by both
  • JRex is much more stable and feature rich
  • JRex is actively looking for volunteer developers
  • Webclient may be more promising, but still too
    new and development is slow

17
CALPA vs Mozilla Desktop Reqs
  • Both fast performing, responsive UI
  • Mozilla has some advantage being native, but
    Calpa seems to perform comparable
  • CALPA refresh causes screen to flash
  • May be able to fix with buffering, and may be
    fixed in CALPA 2.021
  • CALPA is lacking in features found in Mozilla
  • No support for scripting of any kind
  • Does not support ssl, standard plugins
  • Can't visit https//calo.sri.com
  • Both support print capabilities

18
CALPA vs Mozilla IRIS Reqs
  • Embedding
  • CALPA embeds seamlessly
  • Mozilla is not easy to embed, but doable
  • Building Mozilla is painful, takes a long time
  • Automation and Instrumentation
  • Straightforward for both
  • Mozilla has prompt API, not sure if it works yet
    though
  • Can substitute right-click menu
  • Memory footprint/overhead
  • CALPA clearly has less, 1M.
  • Mozilla Debug build uses 15M
  • Need to get more realistic figure from Mozilla
    release build

19
CALPA vs Mozilla IRIS Reqs
  • Hooks
  • CALPA and Mozilla have required APIs/Events
  • JRex API for passing html string
  • Mozilla nsIDocShell interface has it, should be
    easy to add Jrex wrapper
  • GRE API for registering custom content handler
  • Ex app GRE has this, need to verify this
    works with JRex
  • UI Requirements
  • Don't know if Mozilla/Gecko supports Drag Drop
  • However, can get mouse move/press events from
    Gecko
  • CALPA can embed IRIS UI objects
  • May be hard to do this with Mozilla

20
CALPA vs Mozilla CALO Reqs
  • Document controls in both
  • Document Inspection in both
  • JRex has full access to the DOM using w3c's DOM
    API
  • GRE has APIs for getting page info, but are they
    visible from Jrex?
  • Jrex can show the page info views, need to
    determine if the info is accessible via an API
  • CALPA also APIs
  • Less featured than Jrex/GRE, but can still get
    the info we want

21
CALPA vs Mozilla Summary
  • Advantages/Disadvantages of CALPA
  • Less work integrating into IRIS
  • Better seamless integration with IRIS
  • Lightweight
  • Not feature-rich, is not compelling for end user
  • Advantages/Disadvantages of Embed. Mozilla
  • One of the best standards-compliant browsers on
    the market
  • More heavyweight, how much?
  • More research/development time needed for IRIS
    integration
  • Still many unknowns from a development standpoint

22
Recommended Path
  • Evaluate Mozilla embedded using JRex
  • Use existing demo as a start
  • Pending more research to work out hard issues
  • Estimate 1 week dev time, worth the risk
  • If Mozilla can't do it, we go with Calpa
  • Join the JRex developer team
  • Help fix bugs/add features
  • Contributions back to Mozilla community
  • We can still use both Calpa and Mozilla
  • Don't want to eliminate this possibility
  • May switch to Webclient some day when that is
    stable
  • Build process/packaging is almost identical to
    JRex

23
Roadmaps Dependencies
24
IRIS 1.3 Milestones
  • Use existing FileBrowser for file browsing
  • Work out hard issues for JRex up front
  • Issues listed in Tasks
  • Full instrumentation/automation
  • OAA APIs
  • Browser neutral IRIS API
  • Wrap IRIS Java API around JRex APIs
  • Allows us to swap another browser implementation
    and only have to change the IRIS code in one
    place
  • Integration of browsers into IRIS Architecture
  • Drag Drop, Relations

25
Future Long Term
  • Switch to webclient?
  • Keep an eye on webclient status
  • Use multiple browsers in IRIS?
  • In some cases, we may still want to use Calpa?
  • Ex small simple java browsers like the ones in
    CALO Inspect

26
Tasks
  • Evaluate JRex and embedded GRE issues
  • Hooks for IRIS requirements
  • string html
  • intercept links, app handling
  • Platform support
  • Verify JRex works on RH, Panther
  • Drag Drop
  • via GRE API or mouse events
  • Ease of installation/bundling with IRIS
  • Memory footprint/overhead
  • Customize prompting

27
Tasks (cont)
  • Evaluate JRex and embedded GRE issues
  • Work with JRex developers if any new wrappers
    need to be written
  • If it can be done using Mozilla/GRE/xpcom, it is
    not hard to write a wrapper for a Jrex API
  • Check out features of mozilla firefox
  • How is it better than using GRE with add-ons? Can
    we embed firefox with its lighter GRE?
  • Pick web browser based on GRE evaluation
  • Or, should we go with a dual-browser solution?
  • Evaluate JavaExplorer or other solution

28
Tasks (cont)
  • Implement browser API for IRIS that all IRIS code
    uses
  • We might switch to webclient, so wrap adapters
    around the JRex code
  • Write implementation for Browser API
  • Integrate IRIS user prefs and bookmarks
  • Can implement bookmarks in IRIS if we want, or
    use Mozilla's bookmarks
  • Integrate IRIS Arch/UI pieces with browsers
  • Drag Drop, Relationships, ...

29
JRex Demo
Write a Comment
User Comments (0)
About PowerShow.com