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.