Friday, November 18, 2011

Browser Features

Sai Baba Vinayakaya Namah!
-------- -----------------

If we wanted to create a new browser software,


The top 5 things that a browser must do:

*Brainstorm*
  • Understand HTTP : Send Requests and receive responses
  • Talk to TCP/IP: Talk to the networking API of the OS, mostly TCP/IP
  • Render the response: Render the response received
    • To do this, it might need to understand *some technologies* [Modern browsers understand *HTML*, CSS, JavaScript, XML, Text]
    • This means parsing HTML, CSS, Executing JavaScript
    • This also means DOM support
  • Display the rendered response: Output it to the display window
  • Display basic image types

[This list may vary!] --------------------------------------------------------------------------------------- Questions we could ask when we are to prepare the list... I had problems deciding on the last feature. So i wrote these down. Also, as software is driven by motivation, it depends on who is developing it. All the questions pertain to the features present in modern browsers. Lets say in SCRUM, We can call it as a Feature Backlog, we may prioritize this list and work off the backlog. Core design goals must exist for a team. Does it need Cache? Does it need security? Does it need Cookie support? DOes it need settings? Does it need plugins and plugin support? Does it need developer tools? Does it need to be fast? Does it need to have parental controls? Does it need Privacy? Does it need Bookmarks? Does it need History? Does it need Crash Recovery? Does it need popup blocker? Does it need toolbars? Does it need Save and Printing? Does it need to be extensible? Does it need to run on many OSes? Does it need to run on many types of devices: ex=mobile? Does it need to fully implement HTTP? Does it need to adhere to various standards? W3C(HTML, CSS), JavaScript Something to blow you away -------------------------- Feature Comparison List of variuos browsers on Wikipedia http://en.wikipedia.org/wiki/Comparison_of_web_browsers Popular Browser Features ------------------------ http://www.mozilla.com/en-US/firefox/features/ http://www.microsoft.com/windows/internet-explorer/features/faster.aspx http://www.google.com/chrome/intl/en/more/features.html http://www.opera.com/browser/features/ http://www.apple.com/safari/features.html Notes: -------- Looking at the various features in different browsers at a high level can help us prepare the above list also. The above list was brainstorming. Most of these are common to all modern browsers. Cache control is dependent on HTTP[Cache control section of HTTP RFC] Cookies are often set up by many websites without plugins we cannot deal with other types of files. ex: mpg, swf,...[MIME of http] Speed depends on a lot of factors [roundtrips, cache, internet speed, how rendering is done etc..] Lot of potential security risks are known and popups are very annoying Giving user control and the ability to customize is important for any software. One feature of firefox i like: Crash recovery[it looks like even, IE and Chrome have it. My IE just recovered from an unexpected error and restored the last browsing session] [Developer tools in modern browser have revolutionized the way web development takes place] A lot of mayhem as occured in the development of the WWW or the Web.Browser competition has made browsers implement their own HTML tags, JavaScript events etc, in the days of the browser wars. But modern browsers tend to emphasize their adherence to standards. This had a lot of impact on the web-developers in the past and it still does in some cases today. Is HTML 5 an example? There's a lot of things going on with each technology in W3C. Modern browsers adhere to most standards, but often treat some parts in inconsistent ways, causing developers issues. Interesting stuff in browsers: Firefox: 3.6.13 --------- Tools -> addons(add-on manager) Tools -> Options (all settings live here) Tools -> PageInfo(media, cookies, how many times visited etc..) Tools -> Error Console Help -> About Mozilla Firefox -> Credits -> Contributors Tools-> Downloads IE 8 -- File -> New Session View -> Security report View -> Caret browsing View -> International Website Address Tools -> InPrivate Filtering Tools -> SmartScreen Filter Tools -> Compatibility view Tools -> Internet Options Tools -> Pop-Up Blocker Tools -> Developer tools Tools -> Addons Help -> About Internet Explorer -> Cipher Strength Chrome 8 -------- Menu->About Google Chrome -> Chromium (open-source project behind Google Chrome) Menu->Tools -> Developer tools Menu->Tools -> JavaScript Console Menu-> Options Menu->Tools -> Extensions Menu -> New InCognito Window

No comments:

Post a Comment