Software Tools
UNIT-5
Software tools : Specification methods, interface – Building Tools. 8
Interaction Devices –Keyboard and function keys – pointing devices – speech
recognition digitization and generation –image and video displays – drivers.
 Software tools used in HCI are applications or programs that help designers and
 developers create user interfaces, test their usability, and evaluate their
 performance. Some of the commonly used software tools in HCI are
 Specification methods - These are methods used to specify the GUI, such as
  grammars, state transition diagrams, or task models. They provide a way to describe
  the structure, behavior, and functionality of the interface.
Interface building tools - These are tools that allow designers to create and modify
  the interface using graphical or textual elements, such as widgets, menus, buttons,
  etc. They can be either low-fidelity (such as paper sketches or mockups) or high-
  fidelity (such as interactive prototypes or final products).
   Interaction devices - These are devices that enable users to interact with the
  interface, such as keyboards, mice, touch screens, speech recognition, etc. They can
  affect the usability and accessibility of the interface, depending on the user’s
  preferences and needs.
 Evaluation tools - These are tools that help measure and improve the quality of the
  interface, such as usability testing, user feedback, analytics, etc. They can provide
  quantitative or qualitative data on the user’s satisfaction, efficiency, effectiveness,
  and errors.
                       What is Software Tool?
•       A software tool is a system program that interfaces a program with the entity
    generating its input data or interfaces the results of a program with the entity
    consuming them.
•    It is a set of computer programs used by developers to create, maintain, debug, or
    support other applications and programs.
     It can be code editors, language libraries, debuggers, performance analysis tools, GUI
    designers, etc.
•        There are some factors that need to be considered before selecting a software tool
    like the usefulness of the tool, company criteria, integration of one tool with another,
    etc.
•       Software tools assist in all the activities of the software lifecycle.
•      These are used to accomplish and investigate the business processes, document the
    development process, and optimize all the processes.
•        These help developers easily maintain the workflow of the project.
               Evolution of Software Development Tools
• The evolution of software development tools
  has been driven by the need to improve
  efficiency, accuracy, and collaboration in the
  software development process. As software
  development has become more complex and
  specialized, tools have been developed to
  address specific needs and challenges.
software development tools have evolved significantly over the past several decades, as advances
    in technology have led to new capabilities and improved performance. Here are some key
    milestones in the evolution of software development tools:
The 1960s: The first computer programming languages, such as FORTRAN and COBOL, are
    developed, along with early text editors and compilers.
The 1970s: The rise of personal computers and the development of new programming languages,
    such as C and Pascal, lead to the creation of more advanced software development tools,
    including integrated development environments (IDEs) and debuggers.
The 1980s: The introduction of graphical user interfaces (GUIs) and the widespread adoption of
    personal computers leads to the development of tools that are easier to use and more
    visually appealing.The
The 1990s: The emergence of the World Wide Web and the development of new programming
    languages, such as Java and Python, led to the creation of tools for web development,
    including web browsers and HTML editors.
The 2000s: The rise of mobile devices and the development of new platforms, such as iOS and
    Android, lead to the creation of tools for mobile app development, including IDEs and
    emulators.
The 2010s: The proliferation of cloud computing and the emergence of new programming
    languages, such as Go and Swift, lead to the development of tools for cloud development,
    including cloud IDEs and containerization tools.
The 2020s: The rise of artificial intelligence and machine learning leads to the development of
    tools for developing and deploying machine learning models, such as notebooks and model
    serving platforms.
       Common Software Development Tools Types
  Software tools are programs or applications that assist in
   the development, testing, and maintenance of
   software. Some common software development tools
   include:
Integrated Development Environments (IDEs): IDEs are
   specialized software tools that provide a complete
   environment for software development, including a text
   editor, compiler, debugger, and other tools.
Source Code Management (SCM) tools: SCM tools allow
   developers to manage and track changes to their source
   code, as well as collaborate with other team members.
Debugging tools: Debugging tools allow developers
  to identify and fix errors in their code.
Test automation tools: Test automation tools allow
  developers to automate the testing process,
  making it more efficient and accurate.
Project management tools: Project management
  tools help developers to plan, track, and manage
  their software development projects.
Collaboration tools: Collaboration tools allow
  developers to communicate and work with other
  team members remotely.
Static code analysis tools: Static code analysis tools
  analyze source code for potential issues, such as
  security vulnerabilities or coding errors.
Performance analysis tools: Performance analysis tools
  help developers to identify and optimize the
  performance of their software.
Documentation tools: Documentation tools help
  developers to create and maintain documentation for
  their software projects.
Configuration management tools: Configuration
  management tools help developers manage and track
  software configuration changes.
Why do Software Development Tools Matter?
Below are some of the reasons for using software
   development tools:
Increases productivity: Software development tools matter
   because they help developers to be more productive,
   efficient, and accurate. They also help to ensure the
   quality and reliability of the software being developed.
Helps to create quality software efficiently: Software
   development tools are important because they help
   developers create high-quality software more efficiently
   and effectively. These tools can help with tasks such as
   writing and organizing code, debugging and testing code,
   and collaborating with other team members.
Saves time and effort: Good software development tools can save time
   and effort by automating repetitive tasks and providing helpful features
   such as code completion, refactoring, and debugging tools. This can
   allow developers to focus on more important tasks, such as solving
   complex problems and implementing new features.
Helps to write reliable and maintainable code: Software development
   tools can help developers write more reliable and maintainable code by
   providing features such as static analysis, unit testing, and integration
   testing. This can help prevent bugs and other issues from being
   introduced into the codebase and can make it easier to catch and fix
   problems when they do occur.
Supports team collaboration: Many software development tools include
   features that support team collaboration, such as version control
   systems, code review tools, and project management tools. These tools
   can help teams work together more effectively, by allowing them to
   track changes to the codebase, coordinate their work, and share ideas
   and feedback.
Range of tools provides variety: Different software development tools are better suited to
    different types of projects, programming languages, and platforms. Having a range of
    tools available can allow developers to choose the best tool for the job, and can make it
    easier to adapt to changing needs or requirements.
Where are Development Tools found?
Software development tools can be found in a variety of places, including online
    marketplaces, software development platform websites, and as standalone applications
    that can be downloaded and installed on a local machine.
Online marketplaces: Some popular online marketplaces for software development tools
    include the Apple App Store, Google Play Store, and Microsoft Store. These
    marketplaces offer a wide range of tools, including IDEs, text editors, version control
    systems, and more.
Software development platform websites: Software development platform websites, such
    as GitHub, GitLab, and Bitbucket, also offer a range of tools that are specifically
    designed for use with their platform. These tools may include version control systems,
    collaboration tools, and integrations with other software development tools.
Free or open-source tool: Standalone software development tools can also be downloaded
    and installed on a local machine. These tools may be available as free or open-source
    software, or they may require a purchase or subscription. Some popular standalone
    software development tools include IDEs, text editors, and version control systems..
       10 Best Software Development Tools
Below are some of the software development tools:
1. Git: A version control system that allows developers to track changes to their
    code and collaborate with other team members. Features include branching,
    merging, and merging conflicts.
2. IntelliJ IDEA: A popular integrated development environment (IDE) for Java
    development, with support for a wide range of programming languages and
    frameworks. Features include code completion, refactoring, and debugging
    tools.
3. Eclipse: Another popular IDE, with a focus on Java development but support for
    a range of other languages as well. Features include code completion,
    refactoring, and debugging tools.
4. Visual Studio: A comprehensive IDE from Microsoft, with support for a wide
    range of programming languages and platforms. Features include code
    completion, refactoring, debugging, and integration with other Microsoft tools.
5. PyCharm: An IDE specifically designed for Python development, with support for
    scientific computing and data science tools. Features include code completion,
    debugging, and integration with version control systems.
6. Xcode: The IDE for Apple’s platforms, including macOS, iOS, iPadOS, watchOS, and
    tvOS. Features include code completion, debugging, and integration with Apple’s
    development tools.
7. Android Studio: The official IDE for Android development, with support for building,
    testing, and debugging Android apps. Features include a visual layout editor,
    emulator, and integration with Google’s developer tools.
8. Node.js: A JavaScript runtime built on Chrome’s V8 JavaScript engine, allowing
    developers to run JavaScript on the server side. Features include support for
    asynchronous programming and a large ecosystem of open-source libraries.
9. npm: The default package manager for the Node.js runtime, allowing developers to
    easily install and manage third-party libraries and dependencies. Features include
    version management and automatic dependency resolution.
10. Gradle: A build automation tool for Java and other programming languages,
    allowing developers to automate the process of building, testing, and deploying
    their code. Features include support for multiple languages and platforms and
    integration with a range of tools.
          Interactive device
• QWERTY Layout
Dvorak layout
• ABCD Style Keyboard
•   Interaction Devices- Keyboard Layouts
•   QWERTY layout
•   – 1870 Christopher Latham Sholes
•   – good mechanical design and a clever placement of the letters that
•   slowed down the users enough that key jamming was infrequent
•   – put frequently used letter pairs far apart, thereby increasing finger
•   travel distances
•   Dvorak layout
•   – 1920
•   – reduces finger travel distances by at least one order of magnitude
•   – Acceptance has been slow despite the dedicated efforts of some
•   devotees
•   – it takes about 1 week of regular typing to make the switch, but most
•   users have been unwilling to invest the effort
• ABCDE style
• – 26 letters of the alphabet laid out in alphabetical order no typists
  will
• find it easier to locate the keys
• Additional keyboard issues
• – IBM PC keyboard was widely criticized because of the placement
  of a
• few keys
• • backslash key where most typists expect SHIFT key
• • placement of several special characters near the ENTER key
• – Number pad layout
• – wrist and hand placement
                                       Keys
•   – 1/2 inch square keys
•   – 1/4 inch spacing between keys
•   – slight concave surface
•   – matte finish to reduce glare finger slippage
•   – 40- to 125-gram force to activate
•   – 3 to 5 millimeters displacement
•   – tactile and audible feedback important
•   – certain keys should be larger (e.g. ENTER, SHIFT,CTRL)
•   – some keys require state indicator, such as lowered position or light
•   indicator (e.g. CAPS LOCK)
•   – key labels should be large, meaningful, permanent
•   – some "home" keys may have additional features, such as deeper cavity
•   or small raised dot, to help user locate their fingers properly (caution -
•   no standard for this)
          Direct-control pointing devices light pen
• – enabled users to point to a spot on a screen and to perform
  a select,
• position, or another task
• – it allows direct control by pointing to a spot on the display
• – incorporates a button for the user to press when the cursor
  is resting on
• the desired spot on the screen
• – light pen has three disadvantages: users' hands obscured
  part of the
• screen, users had to remove their hands from the keyboard,
  and users had to pick up the light pen.
•   Touch screen
•   – allows direct control touches on the screen using a finger
•   – early designs were rightly criticized for causing fatigue, handobscuring-
•   the- screen, hand-off-keyboard, imprecise pointing, and the
•   eventual smudging of the display
•   – lift-off strategy enables users to point at a single pixel
•   – the users touch the surface
•   – then see a cursor that they can drag around on the display
•   – when the users are satisfied with the position, they lift their fingers off
•   the display to activate
•   – can produce varied displays to suit the task
•   – are fabricated integrally with display surfaces
                                Indirect pointing devices
• mouse
– the hand rests in a comfortable position, buttons on the mouse are easily
pressed, even long motions can be rapid, and positioning can be precise
• trackball
– usually implemented as a rotating ball 1 to 6 inches in diameter that moves
cursor
• joystick
– are appealing for tracking purposes
• Graphics tablet
– A touch-sensitive surface separate from the screen
• Touchpad
– built-in near the keyboard offers the convenience and precision of a touch
screen while keeping the user's hand off the display surface
            Function Keys on Keyboard
• Function keys are on keyboard which cause operating system
   to command interpreter or an application to perform certain
  actions on the screen. There are 12 keys on the keyboard from
  F1 to F12. All keys are having different functions to perform. If
  you are using laptop then you have to press Fn key along with
  other keys from F1 to F12 for use.
• Previously, Apple Macintosh computers lacked function keys.
  Their new keyboards, on the other hand, have F1 through F12
  or F1 through F19 keys at the top. Some MacBook models
  include a Touch Bar, which displays digital function keys when
  the Fn key is pressed.
• F1 through F12 are the function keys on today’s standard PC
  keyboards. Some customized PC keyboards include 24
  function buttons labeled F1 through F24.
• F1 through F19 are the function keys on many Apple desktop
  computer keyboards with a number pad.
                                 Use of Keyboard Function Keys (F1 – F12)
•   F1 Key
•   F1 key is used to open help center. If you are using keyboard of your computer, then only
    pressing F1 will work, but if you are using your laptop keyboard then pressing Function key
    (FN) with F1 will open help center. With this help center, if you want to know about any
    software or application or anything you can get help from there.
•   F2 Key
•   F2 key is used to rename folder or file. If you want to change name of folder, then you don’t
    have to right-click on it, and then find rename option. You can simply click F2, and it will
    work properly. This function key will save time of use.
•   Alt + Ctrl + F2 command opens document window in Microsoft Office. In Microsoft office
    Ctrl + F2 displays print preview window. In Microsoft excel Alt + F2 opens ‘Save As’ window.
    Shift + F2 add comment box in Microsoft Excel.
•   F3 Key
•   F3 key is used to search application on computer or laptop. If you are doing it on your
    laptop, then pressing function key (FN) and F3 together will work. It will take you to search
    box where you can search application.
•   Another use of F3 is that if you want to search text while using web browser, then also this
    key is used to search text. In Microsoft Word, Shift + F3 transform text from upper case to
    lower case or all capital letters.
•   F4 Key
•   F4 key does not work alone. Pressing only F4 will not work whether it is on computer or
    laptop. Pressing Alt + F4 together works to close current application which is open on
    screen. Also, pressing both keys together while on desktop screen, then there shut
    down, restart option appears.
•   Alt + F4 used to close current window. If no program is open, it shutdown dialog box.
    Ctrl + F4 used to close active window.
•   F5 Key
•   F5 key is used to refresh screen. When you want to refresh screen, you have to go to
    desktop screen and then click refresh button, but F5 will simply do this work. Going to
    web browser, you want to refresh that website or that screen, F5 will refresh that. This
    will save time of user.
•   F6 Key
•   F6 key is used to decrease volume if you are using this on laptop. If you are searching on
    web browser, and want to jump to any URL, then F6 will work. In Microsoft word, Ctrl +
    F6 toggles between various documents
•   F7 Key
•   F7 key is used basically in MS Office apps like PowerPoint, excel to find grammar
    mistakes in it. In Microsoft Office, Shift + F7 opens Research window.
•   F8 Key
•   F8 key is used to go in safe mode. For example, if you are starting your laptop, then
    pressing F8 there will help you to go in safe mode. If you are using this key on word, then
•   F9 Key
•   F9 key alone has no work in Windows. It is basically used in MS Word with Alt
    and Shift. In Microsoft Word, Ctrl + F9 and Alt + F9 build mail merge
    document.
•   F10 Key
•   F10 key also does not have any use in Windows. It is used in MS Word with
    Shift. Pressing these both keys together, shortcut menu appears on screen.
    Shift + F10 used to open up the menu window, similar to right-click on mouse.
•   F11 Key
•   F11 key is used for full screen. If you want to use your browser then open that
    browser and press F11, for full-screen mode and can be get back to original
    screen by pressing ESC.
•   Shift + F11 adds a new sheet in Microsoft Excel, Ctrl + F11 used to add new
    macro to the workbook. In MS Office program Alt + F11 invokes Microsoft
    Visual Basic window.
•   F12 Key
•   When pressed, without FN key on laptop, then laptop will go in flight mode.
    F12 key basically does not have any use on computers. It is used in MS Word.
    When pressed, it automatically shows dialog box to save file.
•   In MS Office, Shift + Ctrl + F12 open Print window. Ctrl + F12 used to open a
•   How the keys are organized
•   The keys on your keyboard can be divided into several groups based on function:
•   Typing (alphanumeric) keys. These keys include the same letter, number,
    punctuation, and symbol keys found on a traditional typewriter.
•   Control keys. These keys are used alone or in combination with other keys to
    perform certain actions. The most frequently used control keys are Ctrl, Alt, the
    Windows logo key , and Esc.
•   Function keys. The function keys are used to perform specific tasks. They are
    labeled as F1, F2, F3, and so on, up to F12. The functionality of these keys differs
    from program to program.
•   Navigation keys. These keys are used for moving around in documents or webpages
    and editing text. They include the arrow keys, Home, End, Page Up, Page Down,
    Delete, and Insert.
•   Numeric keypad. The numeric keypad is handy for entering numbers quickly. The
    keys are grouped together in a block like a conventional calculator or adding
    machine.
                                          Pointing Devices
•   In the early days of computers, commands and data were input via a keyboard. On early
    computer monitor screens, the text entry position was denoted by a blinking underscore or
    vertical bar, called a cursor. At first, users had no control over the location of this cursor;
    later, directional arrow keys and key commands allowed users to select text entry points. In
    more recent operating systems that utilize a graphical user interface (GUI) , the cursor still
    indicates the point where text may be entered, but it is also a visible and moving on-screen
    pointer controlled with an input device, such as a mouse. The computer operator uses
    the pointing cursor to establish where the position indicator cursor should be placed, or to
    select a program to run or file to view. Typically, the pointing cursor appears on the screen
    as an arrow.
•   Since early computer use keyboard commands were difficult to learn and cryptic to non-
    computer specialists, computer manufacturers and software developers quickly embraced
    the point-and-click interfaces first popularized by the Apple Macintosh. However, keyboard
    arrows were no longer adequate as a way to move a cursor around the screen. The point-
    and-click concept required the user to move something that would cause a corresponding
    movement on the screen. This led to the development of input devices such as the mouse,
    the joystick, and other tools for controlling on-screen movement of the cursor. Although
    the mouse and its descendants are not replacements for the keyboard, they do
    supplement the keyboard in tasks for which it is ill suited.
•   Common Pointing Devices
    Common pointing devices used to control on-screen movement include computer
    mice, touch pads, touch screens, joysticks, graphics tablets, and trackballs. Some of
    these devices, including the mouse and the joystick, can be added to a computer
    system according to the needs of a user. Other devices, such as touch screens, are
    integrated into specialized computer systems designed for particular purposes.
•   Computer Mouse.
     A computer mouse is a small, hand-held, interactive input pointing device that,
    when rolled over a flat surface, controls placement of the cursor on a computer
    display. A computer mouse is analogous to a live mouse in that it is palm-size and
    mouse-shaped, with rounded corners. Originally, all mice were connected to
    computers with a wire suggestive of a tail; however, cordless mice are also
    available now.
•   A mouse can be a one-, two-, or three-button device. After a user positions the
    cursor on the computer display by moving the mouse, screen action can be
    controlled by single or multiple clicks of the mouse buttons. Screen icons can be
    activated with one click, or dragged across the computer display by a single click
    that is held as the mouse is moved from one location to another.
•   Touchpads.
•   Where using a mouse would be awkward, such as in a laptop computer configuration,
    or cursor movement is more important than characters, touchpads have become
    popular. These are generally built into a computer unit, and they often include clickable
    buttons that correspond to the buttons of a mouse. Beneath the top layer of the
    touchpad are two or more layers separated by a non-conducting dielectric ; each layer
    contains a grid of electrode rows and columns. The different layers create a capacitance
    (electric field) between them that may be drastically changed by the electric field of a
    human finger either touching or moving near the touchpad. Changes in capacitance are
    measured 100 times a second and translated into cursor movement.
•   Touch Screens.
•   A touch screen is a computer display screen that is sensitive to human touch, allowing
    the screen to function as an input pointing device. The user touches the screen itself to
    cause some action to take place.
• There are three types of touch screen technology. A resistive touch
  screen panel is coated with a thin, metallic, electrically conductive
  and resistive layer that causes a change in the electrical current
  that is registered as a touch event and sent to the controller for
  processing. A surface wave touch screen uses ultrasonic waves that
  pass over the touch screen panel. When the panel is touched, a
  portion of the wave is absorbed and this change in the ultrasonic
  waves registers the position of the touch event and sends this
  information to the controller for processing. A capacitive touch
  screen panel is coated with a material that stores electrical charges.
  When the panel is touched, a small amount of charge is drawn to
  the point of contact. Circuits located at each corner of the panel
  measure the charge and send the information to the controller for
               Speech recognition
Speech recognition is an interdisciplinary subfield
  of computer science and computational linguistics that
  develops methodologies and technologies that enable
  the recognition and translation of spoken language
  into text by computers. It is also known as automatic
  speech recognition (ASR), computer speech
  recognition or speech to text (STT). It incorporates
  knowledge and research in the computer
  science, linguistics and computer engineering fields.
  The reverse process is speech synthesis.
                                     History
•   Pre-1970
•   1952 – Three Bell Labs researchers, Stephen Balashek, R. Biddulph, and K. H. Davis built
    a system called "Audrey" for single-speaker digit recognition. Their system located
    the formants in the power spectrum of each utterance.
•   1960 – Gunnar Fant developed and published the source-filter model of speech
    production.
•   1962 – IBM demonstrated its 16-word "Shoebox" machine's speech recognition
    capability at the 1962 World's Fair.
•   1966 – Linear predictive coding (LPC), a speech coding method, was first proposed
    by Fumitada Itakura of Nagoya University and Shuzo Saito of Nippon Telegraph and
    Telephone (NTT), while working on speech recognition.
•   1969 – Funding at Bell Labs dried up for several years when, in 1969, the
    influential John Pierce wrote an open letter that was critical of and defunded speech
    recognition research.This defunding lasted until Pierce retired and James L. Flanagan
    took over.
•   Raj Reddy was the first person to take on continuous speech recognition as a graduate
    student at Stanford University in the late 1960s. Previous systems required users to
    pause after each word. Reddy's system issued spoken commands for playing chess.
• mid-1980s IBM's Fred Jelinek's team created a voice activated
  typewriter called Tangora, which could handle a 20,000-word
  vocabulary Jelinek's statistical approach put less emphasis on
  emulating the way the human brain processes and understands
  speech in favor of using statistical modeling techniques like
  HMMs. (Jelinek's group independently discovered the
  application of HMMs to speech.) This was controversial with
  linguists since HMMs are too simplistic to account for many
  common features of human languages. However, the HMM
  proved to be a highly useful way for modeling speech and
  replaced dynamic time warping to become the dominant
  speech recognition algorithm in the 1980s
• 1987 – The back-off model allowed language models to use
  multiple length n-grams, and CSELT used HMM to recognize
  languages (both in software and in hardware specialized
  processors, e.g. RIPAC).
• 1984 – was released the Apricot Portablewith up to 4096 words
  support, of which only 64 could be held in RAM at a time.
• 1987 – a recognizer from Kurzweil Applied Intelligence
• 1990 – Dragon Dictate, a consumer product released in
  1990 AT&Tdeployed the Voice Recognition Call Processing
  service in 1992 to route telephone calls without the use of a
  human operator. The technology was developed by Lawrence
  Rabiner and others at Bell Labs.
• In the 2000s DARPA sponsored two speech
  recognition programs: Effective Affordable
  Reusable Speech-to-Text (EARS) in 2002
  and Global Autonomous Language
  Exploitation(GALE).
• Dynamic time warping (DTW)-based speech
  recognition
                      Speech generation
– Michaels and Wiggins (1982) suggest that speech generation is
"frequently preferable" under these circumstances:
• The message is simple.
• The message is short.
• The message will not be referred to later.
• The message deals with events in time.
• The message requires an immediate response.
• The visual channels of communication are overloaded.
• The environment is too brightly lit, too poorly lit, subject to
severe vibration, or otherwise unsuitable for transmission of
visual information.
• The user must be free to move around.
• The user is subjected to high G forces or anoxia
                Audio tones, audio libation, and music
•   – Sound feedback can be important:
•   • to confirmations
•   • offer warning
•   • for visually impaired users
•   • music used to provide mood context, e.g. in games
•   • can provide unique opportunities for user, e.g. with
•   simulating various musical instruments
•   Displays – Small and Large
•   • The display has become the primary source of feedback to the user
•   from the computer
•   – The display has many important features, including:
•   • Physical dimensions (usually the diagonal dimension and depth)
•   • Resolution (the number of pixels available)
•   • Number of available colors, color correctness
•   • Luminance, contrast, and glare
•   • Power consumption
•   • Refresh rates (sufficient to allow animation and video)
•   • Cost
•   • Reliability
      Usage characteristics distinguish displays:
• • Portability
• • Privacy
• • Saliency
• • Ubiquity
• • Simultaneity Display technology
• • Monochrome displays
• – are adequate, and are attractive because of their
  lower cost
• • RGB shadow-mask displays
     Display Devices in Computer Graphics
• The display device is an output device used to represent the information
  in the form of images (visual form). Display systems are mostly called
  a video monitor or Video display unit (VDU).
• Display devices are designed to model, display, view, or display informatio
  n. The purpose of display technology is to simplify information sharing.
• Today, the demand for high-quality displays is increasing.
• There are some display devices given below:
• Cathode-Ray Tube(CRT)
• Color CRT Monitor
• Liquid crystal display(LCD)
• Light Emitting Diode(LED)
• Direct View Storage Tubes(DVST)
• Plasma Display
• 3D Display
Cathode-ray Tube (CRT): Here, CRT stands for Cathode ray tube. It is a technology which is used in traditional
     computer monitor and television.
Cathode ray tube is a particular type of vacuum tube that displays images when an electron beam collides on
     the radiant surface.
Component of CRT
Electron Gun: The electron gun is made up of several elements, mainly a heating filament (heater) and a
     cathode. The electron gun is a source of electrons focused on a narrow beam facing the CRT.
Focusing & Accelerating Anodes: These anodes are used to produce a narrow and sharply focused beam of
     electrons.
Horizontal & Vertical Deflection Plates: These plates are used to guide the path of the electron the beam. The
     plates produce an electromagnetic field that bends the electron beam through the area as it travels.
Phosphorus-coated Screen: The phosphorus coated screen is used to produce bright spots when the high-
     velocity electron beam hits it.
There are two ways to represent an object on the screen:
Raster Scan: It is a scanning technique in which the electron beam moves along the screen. It moves from top
     to bottom, covering one line at a time.
A raster scan is based on pixel intensity control display as a rectangular box on the screen called a raster.
Picture description is stored in the memory area called as Refresh buffer, or Frame Buffer.
Frame buffer is also known as Raster or Bitmap. Raster scan provides the refresh rate of 60 to 80 frames per
     second.
For Example: Television
 The beam refreshing has two types:
Horizontal Retracing
Vertical Retracing
When the beam starts from the top left corner and reaches bottom right, and again
return to the top left, it is called the vertical retrace.
It will call back from top to bottom more horizontally as a horizontal reversal.
      Advantages:
      Real image
      Many colors to be produced
      Dark scenes can be pictured
      Disadvantages:
      Less resolution
      Display picture line by line
      More costly
2. Random Scan (Vector scan): It is also known as stroke-writing display or calligraphic
display.In this, the electron beam points only to the area in which the picture is to be
drawn.
It uses an electron beam like a pencil to make a line image on the screen. The image is
constructed from a sequence of straight-line segments. On the screen, each line
segment is drawn by the beam to pass from one point on the screen to the other,
where its x & y coordinates define each point.
After compilation of picture drawing, the system cycle back to the first line and create
            What are Display Drivers?
• Display Drivers are the components that make the
  interaction between your computer and your hardware
  possible. Some programs require the use of specialized
  display drivers, such as video games and image
  manipulation applications. Advanced display drivers are
  necessary for media programs that rely on the visual
  display to function properly. Without them, a software
  program may crash, fail to load, or crash altogether. In
  these situations, it is important to have the proper
  display driver installed before continuing to use your
  computer.
• A display driver is a software or hardware interface
  that provides the necessary connection between
  your computer’s display and the microprocessor or
  controller. Many devices come with display drivers
  built in, and some have driver verification built-in. In
  some cases, software upgrades detect your device
  and provide an updated driver. In such cases, you
  might not need to update your display driver every
  time you install a new version of your software. But
  it is important to always update your display driver
  to ensure it works with your computer.