
{center}
{subhead} AMIGA Technology Brief{def}{p}
Article by AMIGA
{left}
{p} {p}

Copyright by AMIGA{p}
Amiga Product/Technology Brief{p}
July 16, 1999
{p} {p}
{bold}Introduction{nobold}
{p} {p}
The vision and mission of Amiga is to make computers and the Internet
a natural part of everyday life, by creating an industry-standard
operating environment for current and future consumer computing
devices that enables a wide range of innovative Internet services.
We use the term "operating environment" purposely, as this software
infrastructure extends the traditional operating system to provide a
host environment for a new class of portable applications
applications that exist in a pervasive networked computing
environment, and provide transparent access to Internet content and
services. In essence, we are defining a new distributed home
computing environment that enables a user experience that is much
more accessible than today's personal computer experience. This
environment will tie together personal computers, information
appliances, set-top boxes, next-generation multimedia convergence
computers and game machines, and a host of other computing devices to
define the next phase in the evolution (revolution!) of computing.
{p} {p}
The products under development at Amiga include:
{p} {p}
 Amiga Operating Environment (Amiga OE) - a distributed software
 architecture that extends traditional operating systems to provide
 a rich user experience, support for pervasive networking, and a
 framework for portable applications that transparently access
 Internet content and services.  A subset of the Amiga OE,  the
 Amiga Information Appliance Environment,  is portable to a wide
 range of computing devices and information appliances.
{p} {p}
Amiga Multimedia Convergence Computer (Amiga MCC) - a
hardware/software platform specifically designed to meld outstanding
multimedia performance, a new level of ease of use, transparent
access to the Internet and, through home networking, access to a
growing family of Amiga-compatible devices around the home.  The
Amiga MCC will be distributed in two formats:  an integrated
multimedia convergence computer, and a standard ATX motherboard.
Both include the Amiga OE, an underlying OS, and support for digital
video/DVD, 3D graphics, surround sound, and emerging broadband and
home networking standards.  The Amiga MCC is intended to serve as
both a great platform for multimedia applications such as 3D gaming
and digital video integration, and as the hub for a next-generation
distributed home computing environment.
{p} {p}
{bold}Technology Philosophy and Overview{nobold}
{p} {p}
Amiga's long-term business success calls for a combination of
technology innovation, and technology integration. We are
integrating underlying technology components such as next-generation
CPU's, micro-kernel operating systems, graphics and GUI libraries and
frameworks, graphics/video/communications chipsets, wired and
wireless home networking subsystems, and object-based development
environments, in order to focus our resources on technologies that
add unique value to the Amiga Operating Environment. These
value-added technologies include:  user interaction paradigms that
are far simpler, and much more intelligent, than today's personal
computer paradigms; a "virtual appliance" model that allows software
applications to easily migrate to multiple hardware configurations;
support for pervasive and transparent networking and Internet
connectivity; and the underlying AmigaObject architecture that
implements and exposes all of the above.
{p} {p}
This short technology brief is intended to provide a very high-level
overview of the development direction and technology choices being
made by Amiga, and will be supported by more in-depth whitepapers and
product documentation as the new Amiga products are introduced in the
marketplace. In this document, we overview:
{p} {p}
 AmigaObjects and the Amiga Operating Environment{p}
 Amiga MCC Operating System{p}
 Graphics, Multimedia and GUI Frameworks{p}
 Pervasive Networking{p}
 Software Block Diagram{p}
 Amiga MCC Hardware Architecture{p}
 Development Tools and Applications{p}
 AmigaObjects,{p}
 and the Amiga Operating Environment
{p} {p}
AmigaObjects are the foundation on which all Amiga Operating
Environment services are built. AmigaObjects provide powerful
component building blocks that allow developers to rapidly create
impressive and powerful Amiga applications. AmigaObjects furthermore
enable integration of a wide variety of different technologies under
one umbrella. Networking is intrinsic to AmigaObjects, which means
that AmigaObjects are free to move around on the network or use
network resources. The AmigaObject architecture by virtue of this
flexibility enables a new class of "net-aware" applications where
there is no clear boundary between a device and the network.
{p} {p}
We have chosen Java (Sun Microsystems) as our primary programming
language for portable applications based on AmigaObjects (of course,
C and C++ will also be supported for native MCC applications).  With
Java technologies such as kJava, pJava, Java2 and Java Enterprise
Edition, AmigaObject technology can be embedded in devices as small
as hand-held computers and scale all the way to large servers. This
is a truly revolutionary approach to computing; an approach we
believe will change the face of computing.
{p} {p}
The AmigaObject technology serves as the foundation for all objects
in the Amiga Operating Environment. The power and flexibility of the
AmigaObject naturally extends to all other objects in the
environment, thereby giving all objects in the system network
transparency and the ability to proliferate across the network.
{p} {p}
As mentioned above, AmigaObjects also integrate other technologies
into our framework. In particular, we make extensive use of as 3rd
party technologies where appropriate. Examples include Java, Jini,
OpenGL and several audio and video codec's. This enables Amiga to
focus its engineering efforts on the AmigaObjects and the Operating
Environment and less on creating technologies that already exist.
{p} {p}
{bold}Amiga MCC Operating System{nobold}
{p} {p}
One of our convictions is that modern operating systems are just one
component of the new age in computing.  The value proposition is no
longer just the traditional OS, but an overall environment providing
intelligent power and transparent services for the end user. While
the information appliance portion of the Amiga Operating Environment
is portable, and will be ported to a number of operating systems by
Amiga and Amiga's OEM partners over time, we needed to make an OS
foundation decision for the Amiga MCC.
{p} {p}
There are a number of very interesting OS choices in the marketplace,
and it is fair to say that we have evaluated them all over the past
year.  From traditional RTOS vendors such as Wind River and QNX, to
BeOS from Be Systems, to Sun's JavaOS built on Chorus, to Linux.  As
has been previously announced, we had been working for some months
with QNX Software Systems to try to adapt the QNX RTOS to the needs
of a next-generation multimedia convergence computer.  At the same
time, we had also been working with key members of the Linux
community to evaluate the pros and cons of Linux. As we focused on
building a successful business proposition, it became apparent to us
that more and more of our technology partners and software vendors
were encouraging us to focus on Linux as our underlying OS kernel.
While we were impressed with some of the technology elements in QNX
(and BeOS and Chorus, for that matter), we felt that it will be
difficult for a proprietary operating system to attract the broad
industry support required to be successful over the coming years.
{p} {p}
Linux has been picking up substantial momentum over the past year as
a viable, open alternative to Windows in the marketplace. Over the
past year, Linux usage has more than tripled, with both large vendors
and start-ups adopting Linux as their OS foundation. The growing
commitment to Linux applications from a wide variety of software
vendors, and the growing development and availability of Linux device
drivers from hardware and peripheral suppliers, make it a compelling
choice. Also, as we ported our higher level operating environment
and AmigaObject architecture to Linux, we discovered significant
performance advantages in the Linux kernel in areas such as
distributed object invocation. And, no small advantage, Linux is
probably the most stable operating system available in the market.
{p} {p}
For all of these reasons, we have decided to build the
next-generation Amiga MCC platform on top of a Linux OS foundation.
We would be remiss in not acknowledging that there are issues to
overcome with Linux, as there were with all of the other OS choices
we evaluated. For example, there were concerns with TCP/IP
performance, which are being resolved, and concerns about the
required disk and memory footprint. As anyone knows who has looked
at Linux, the overall system is quite large. However, as we build
our OS foundation, we are subsetting Linux to meet our needs, and are
now confident that disk and memory requirements are quite reasonable
(Linux is starting to appear in a wide variety of information
appliance devices, and there is even a version of Linux that runs on
the Palm Pilot!). There are also various other performance issues
with Linux that we are attacking,  as with the original Amiga, we are
tightly binding the OS kernel to a specialized, high-performance
hardware architecture that resolves ma ny of the concerns that we,
and the Amiga community, have had with existing Linux
implementations.  The momentum building behind Linux, and the
resources around the world being applied towards fixing various
issues, gives us confidence that this will turn out in the end to be
the right choice.
{p} {p}
{bold}Graphics, Multimedia and GUI Frameworks{nobold}
{p} {p}
The technology strategy for graphics involves developing key
partnerships with companies currently producing state-of-the-art
component products. Amiga leverages the development efforts of these
organizations to deliver the product capabilities to Amiga customers.
For example Amiga is working with ATI to incorporate next-generation
3D rendering technology into the MCC (see the Hardware Architecture
section).
{p} {p}
The widespread acceptance and momentum of OpenGL makes it the solid
choice as a 3D API to exploit hardware rendering capability. In
addition, the latest Java 2 releases have extended capabilities for
3D scene manipulation, advanced imaging, and overall media
coordination. AmigaObjects are being developed to give users
device-independent control of these various media through Java
objects which in turn access graphics hardware acceleration through
OpenGL whenever possible or appropriate. It is important to
understand that, when discussing AmigaObject or Java access to
hardware-accelerated API's such as OpenGL, care is being taken to
ensure that the higher level software does not "get in the way" when
accessing the underlying hardware.  As with the original Amiga, it is
the tight integration of software and hardware that provides overall
system performance.
{p} {p}
The technology strategy for multimedia is essentially analogous to
that for graphics. The hardware delivery system for digital
multimedia may be a 3D graphics engine, a DVD decoder including MPEG
2 and AC-3 digital surround sound, or broadband Internet. For a
complete solution, the underlying hardware must be powerful enough to
both capture and play back audio/video streams. To accomplish this,
Amiga is developing partnerships with the leading hardware
manufacturers of these technologies. AmigaObjects are being developed
to give developers device-independent control through Java. The
Java-based AmigaObjects invoke methods to access appropriate levels
of special hardware assistance and acceleration. In cases where there
is not a widely accepted API such as OpenGL, Amiga and partners are
writing a number of these methods in native code as necessary. As
with 3D, a tight integration of software and hardware will provide
outstanding support for streaming media.
{p} {p}
The Information Appliance portion of the Amiga Operating Environment
will be hosted on a wide range of devices, and the interactional
natures of these devices can be expected to differ widely. It would
be foolish to try to design a single interface for a palm-sized
device with a small, touch-sensitive, grayscale display and a
relatively slow wireless network connection; a set-top box with
remote control and TV display; and a traditional, multimedia desktop
computer with full keyboard, mouse, high-resolution monitor, and
broadband networking; it is doubtful that any single design could
meet the needs of the users of all these devices. Instead, we are
implementing a design environment that will insure a clear sense of
consistency of interaction across devices, while respecting the
physical constraints of the device on which a particular interface
appears. We will also minimize the effort to which developers must
go to create virtual appliances able to run on a wide range of
products.
{p} {p}
With regard to windowing environments on the Amiga MCC, we are
leveraging a combination of technologies from Linux and Java. At the
lowest level (managing the bits on the screen), we are using the
latest Linux X Windows window system. Most users and developers will
never see X Windows directly (unlike older UNIX systems, when X
Windows was somewhat cumbersome). However, the use of X Windows will
allow both new applications and standard Linux applications to run
seamlessly on the MCC. Sitting above X Windows are a growing number
of window managers that will be available on the MCC, and Java
developers will have access to the portable Java Swing GUI classes
that hide the underlying windowing complexity under a modern
programming model. Finally, there will be a suite of end-user
workspaces, including a new Amiga Workbench being designed at Amiga.
There are already a number of interesting desktop environments
available for Linux, and it is our intent to contribute the Amiga
workbench to the open source move ment, and encourage the creative
Amiga and Linux communities to modify, enhance, replace, and
generally get creative when it comes to next-generation desktop
environments (we believe that one of the disadvantages of today's
Windows and Macintosh personal computers is the "closed" nature of
their desktop environments).
{p} {p}
{link fe9}CLICK{end} to read the rest of this article.