Loading in 2 Seconds...
Loading in 2 Seconds...
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
BAHSS BrowserA project 4 for future semesters Simran Basi and Siddharth Shah The problem The BAH browser from projects 2 and 3 was a good start, but it needed some refinements. • Add images • Make bQuery more workable by adding if/else • More dynamic – show/hide items, hover over items, have an address bar like REAL browsers
Domain Analysis We wanted to write more interactive, more dynamic pages for our users. Before, BAH had no support for Images or ImageLists. BAH did not have the ability to show and hide objects at will. The BAH browser did not give developers access to common events, like the user positioning the mouse over a particular object. There was only static linking to other pages, and no history.
Language Constructs We added new objects! Image, ImageList We added new attributes! visible, onhover We added new bQuery! _IF_, _IFNOT_, _IFNOT_IF For example:
This orange box is our base document Demo (Visibility and Hovering) <HBox fill="orange"> <HBox onhover="q('surprise'):visible('true')" fill="yellow" klass="button"> Hover for a surprise </HBox> <HBox fill="lightblue" visible="false" klass="surprise"> SURPRISE </HBox> <HBox fill="purple" klass="button" onclick="q('toggled'):toggleVisible()"> Toggle the green box's visibility </HBox> <HBox fill="green" klass="toggled"> I am a green box </HBox> </HBox> Hover over the yellow box to show a surprise This is the surprise: a light blue box that says SURPRISE The purple box controls the green one And here’s the green box!
Implementation We extended the BAH browser through additional attributes to provide more functionality and a better user experience. We added complex callbacks to increase responsiveness to user actions. We used method-chaining to implement a if/else/elif construct for bQuery.
What we are proud of We implemented embedded pages. This let us replace only the relevant portion of the DOM; the inefficient old way replaced the entire DOM. Mistakes Our ImageLists are manipulated with the arrow keys. The listeners are bound to the document itself, so only one ImageList can be on a page. What we would do differently We could detect when the mouse is over an ImageList and bind the keystrokes to that list.
You have only 6 slides. No font smaller than 28 points, please. No crz acrnyms n odr trix