Do Software Engineers like Multimedia ?
[Masahito Hirakawa:Faculty of Engineering,
Hiroshima University, Japan]
Multimedia is here to stay as a very integral
part of our personal, education, and business
ventures.
Considerable research is being conducted:
* Development Multimedia Tools
* Development Multimedia Systems
* Development Multimedia Products
Definition:
"Multimedia is computers using multiple
media to let people deal with information
naturally".
"Fable of 6 blind men & elephant... each
blind man perceived something completely
different - nose as snake, leg is tree
trunk, tail as a rope, but none comprehend
the whole" [Ramesh Jain; Editor in Chief;
IEEE MMI Magazine; 1994].
Survey:
Given 10 experts in Multimedia would result
in 10 different options [Sorel Reisman;
IEEE MM Magazine; 1998]
In the scientific community, we know
Multimedia is recognized as one of the most
important topics. However, Multimedia is not
widely understood by engineers.
Other fields such as User-Interface, Database,
Operating Systems are intrigued with
Multimedia. Network engineers are busy
developing systems using Multimedia, but to
what end?
What is the opinion of Software Engineers?
The assumption is that Multimedia is not the
mainstream for software engineers:
* What is the perception of Multimedia?
* What are the activities in Software
Engineering?
* What is Multimedia doing to bridge the
Software Engineering gap?
* What is the anticipated future of
Multimedia Software.
* Where is Software Engineering Headed?
* Is Software Engineering Independent from
Multimedia?
Traditional vs Multimedia Views:
Figure 1 demonstrates one perceived
relationship between traditional applications
and Multimedia applications:
One perception Software Engineers have of
Multimedia applications is that they are
smaller than traditional applications.
Therefore, multimedia must have little value?
(Fig 1-a).
However, the actual difference between
multimedia and traditional applications is not
size but the user base (Fig 1-b).
Systems should be simple & uniform and enable
users to efficiently perform intended tasks.
Traditional Applications (key features):
(Fig 2)
* Simplicity - the system should be
intuitive and simple to use.
* Uniformity - the system implementation
should be consistent.
* Efficiency - the system should adequately
perform the specified task.
Multimedia applications(key features):
(Fig 2)
* Identity - yields clear and concise
recognition of system to users.
* Creativity - system should help users
create new ideas.
* Respect - software developers respect
users & users respect those who developed
the system.
Software Development Changes from Multimedia:
* Cannot simply change user interface.
* Cannot simply change look & feel.
* Instead, consider the model for
developing software.
* User's goal often different from
anticipated.
An accountant's goal:
* View of company:
> Process Invoices Efficiently.
* View of accountant:
> not look stupid.
> not make mistakes.
> have fun.
The misconception made by software engineers
traditional applications is that we don't
always understand the end user's point of
view. Our goals are often distorted in favor
of the company's interests.
Multimedia principles:
* Explore the power for multimedia for
better software engineering.
* Explore software engineering issues in
the development of systems involving
multimedia.
The potential of multimedia is found through
the software development tools using
multimedia. Examples are found in the
following products:
(Fig 3, Slides from BX and IDS)
* Visual Programming.
* Software Visualization.
* Algorithm animation.
* Benefits of Reverse Engineering.
* Tools for creating platform independent
multimedia systems.
Java - good general purpose programming
language tool, because it offers platform
independence.
Using visual programming software engineers
can easily develop multimedia by arranging
objects on the screen.
Software as a Product:
(Fig 6)
The idea of uniting producers, consumers and
designers came from the work of an Arts and
Crafts Movement initiated by William Morris in
the 19th century.
* Goal was to make products more user
friendly.
* User Interface includes every interaction
that a user has with a product.
* Importance of integrating user interface
design and industrial design.
New types of user interfaces:
* Should software engineers learn graphics
design, or should graphics designers learn
how to write software?
* Aim of industry is quality of product.
* Wait, tools will evolve where detailed
programming skills are not needed.
Multimedia Products: (Voice Applications)
Motorola - VoxML for voice applications
Existing technology attempts to read words and
links from existing HTML pages in order to
encode voice access into web content. This is
not an efficient means for voice presentation.
Web pages not well suited for voice interface.
VoxML language allows web developers to use
familiar programming skills for easier
development.
Developers having basic web skills can build
effective speech interfaces in sites w/o
having to become experts.
Features:
* A common approach using markup language
* Allows developers to add speech to Web
* Input produced via recognition of end-
users voice and output is produced via
text-to-speech technology
* User accesses applications via microphone
* Reduces the time it takes to develop
voice applications from weeks to days.Multimedia Products: (Embedded Systems)
[EETimes; March 1, 99; Developers embrace net
opportunities; Bernard Cole]
Developers of embedded systems discover
network opportunities.
A new type of embedded hardware where the
processor and operating system provide network
oriented services.
A variety of functions can be adapted to
embedded systems:
* Browsers
* Servlets
* Remote Monitoring
* Send-Email
* Dynamic Downloading
Servlets are software programs that reside on
an embedded device, allowing anyone to access
it from standard browser.
The benefits are in updates, monitoring,
repair, and upgrading software from a remote
site.
Remote monitoring enable software developers
to diagnose and monitor the behavior of a
system without having to travel beyond the
office.
Multimedia Products: (Embedded Systems-cont)
Send-email is another feature of embedded
technology. This eliminates the need for a
browser to access the device for information.
As an example, a printer could automatically
send status reports for service on such things
as low toner, paper jams, and over temperature
conditions.
Java enabled servlet's provide additional
download features for testing and source code
updates. This feature shortens development
time because it is simple to generate HTML
pages through the servlet API.
Multimedia Products: (Graphic Bridges)
[EETimes; 2/1/99; Graphics framework bridges
systems; Shawn Hopwood]
Software Engineers have recognized that
superior hardware acceleration yield
opportunities in advanced 3-D Graphics.
Problems:
* Graphics programming is difficult
* Users want more realism and interactivity
Fahrenheit is a new standard developed by
Microsoft and Silicon Graphics.
* Provides simplified means for development
of graphics based applications through
convenient API's.
* Full portability across unix and windows
platforms
* Offers a tree-like data structure in
which a scenes can be described in terms of
geometry, textures, and lighting.
* Frees the programmer from intricate
graphics windows design.
* Delivers optimization for interactive 3D
graphics.
Multimedia Direction (Inprise Products):
[C++ Builder 4 merges Corba, COM, ; PC Week,
2/8/99; Martin Heller]
Inprise anticipates needs of software
engineers with the market of Corba and COM
development tools.
(COM =3D Component Object Model)
(ATL =3D Active Template Library)
C++ Builder 4 highly productive environment
for software engineers.
Inprise (Borland) Corp's C++ Builder merges
Corba & COM development. C++ Builder from a
windows platform enable development of
distributed CORBA Applications.
Drag & Drop features provide two way visual
programming.
Facilitates Visual C++ toolset using Active
Template Libraries for COM development.
Improves manual code writing w/ code
completion tools:
compiles code in background as developer
generates symbol tables, headers, etc.
Multimedia Direction (Rational Products):
[PC Week, 1/25/99; Rational Restructures
Wares; Antone Gonsalves]
Rational anticipates the needs of software
engineers with the market of Studio Suite
development tools.
Rational recognizes the importance for
software engineers to share data throughout a
project(requirements->development->testing).
Rational restructured developer suites:
Suite AnalystStudio
Suite TestStudio
Suite DevelopmentStudio
Realizes the significance of software change.
For example, tools found in TestStudio enables
project engineers to efficiently plan testing
scripts based on requirements.
* Plan test scripts for each requirement
* Notify the user if a requirement changes
* Measures the percent of code coverage
during functional and regression test.
Rational Rose offers modeling. Includes
seemless integration w/ Visual Studio which
enables software project teams to share
analysis and design information over the
internet. Multimedia Direction (Micro Focus Products):
[PC Week, 1/18/99; Micro Focus, Elemental
retool their wares for distributed enterprise;
Antone Gonsalves]
Micro Focus's latest version of NetExpress, a
development tool used for distributed
computing platforms has been enhanced w/
remote debugging and graphical editor for
building GUI's.
Remote debugging tool is considered a very big
feature with software developers, because
customers are spread throughout the country.
"We can send executable code out to the client
in any state and can observe it executing via
the telephone line and do any debugging we
need to do".
Conclusion:
The industrial era gave birth to a Machine
Age. It was during the World Wars when
machines played a dominant role in our lives.
This new era enabled people to use motor power
at home. Today, Multimedia presents a new
type of Machine Age called the World Wide Web.
The World Wide Web is quickly becoming the
worlds repository for data. Engineers of all
disciplines have come to appreciate its
potential and together are seeking new and
innovative means to grasp its power.
Interactivity is expected to be the next great
bonanza in multimedia. It introduces new
possibilities of interacting with people in
formerly unknown, yet direct ways making this
industry even more exciting.
The prediction for Computer Science is a shift
from the algorithm to interaction. But, in
order to make this happen, we must establish
methodical, architectural, and efficient
toolsets that support software engineers.
Software engineers and Media Developers must
join in a unified approach. For the creation
of multimedia applications is more complicated
than traditional applications. Human Computer
Interaction (HCI) must not be considered just
an add-on but a key part of the application.
Software and Media Engineers should share in
the research and rewards of multimedia.