Wowser-Browser
Create a basic web browser like Mozilla, Internet Explorer, or Safari. Although it may sound like a difficult assignment, Java Swing package is shipped with all the necessary classes to build one such browser easily. You do not need to worry about viewing complex web pages that contain forms, active scripts, or style sheets; instead, you should concentrate on the user interface you provide the user to do basic browsing tasks.
Specification
Write a web browser that allows users to locate, view, and manage web pages interactively.
As a minimum, your web browser should allow the user to
- enter a URL and view the associated web page
- navigate through their previously viewed websites using back and forward buttons
- keep track of favorite websites
- set a specific web site as a home page that appears when the browser is started the first time
- view multiple sites at the same time (either using a tabbed pane in a single window or separate windows)
- save the current web page to a file
Additionally, you group must include at least two of the following features
- manage and view RSS feeds
- cache web pages locally so they do not need to be reloaded every time
- view local files in addition to web sites
- search a website for a specific string
- more to be added soon ...
- any other features you have always wished your web browser had
Examples
This code online shows the basics of how to build a web browser --- how to construct a URL, view it, and follow links from its page. However, it is implemented in a single class, with the functionality tightly coupled to the GUI. You should learn from it how to do the basics of browsing, but not how to design a GUI-based program! In fact, your first task will be to re-design this code.
Additional examples will be given soon to show how to start on some of the project's extra features.
Deliverables
- Saturday, October 30 , Version 0.1, Design and Estimate is due
- Create a web site for your project that includes
- your team's vision for the project: your team name, each team member's primary and secondary responsibility on the project, your team's description of the role this software is intended to fill, including which extensions your team intends to implement --- think of this as the advertising on the box in which your software will be shipped.
- a list of issues that arise as you try to pin down the requirements, e.g., vague, ambiguous, conflicting requirements
- a description of the classes you envision as part of implementing this project
- an estimate of how long you expect it to take you to complete this project; include as specific a task list as possible to support your estimate (i.e., break each of the applications into several steps, the smaller the better your estimate will be)
- We will check this page frequently to check on your progress, so you will need to update this web site as you develop your project
- By Monday, you will need to meet with your mentor to present and discuss your design in detail
- Thursday, November 4, Version 1.0 of the program and project artifact is due
- This version should implement the basic required features
completely
- Your team as a whole must demo this program with a member of the
course staff before the Friday
- Monday, November 8 , Version 2.0 of the program and project artifact is due
- Wednesday, November 10, The project
analysis is due
Comments?