Amiga Product/Technology Brief
July 16, 1999
The vision and mission of Amiga is to make computers and the Interneta 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 thenext phase in the evolution (revolution!) of computing.
The products under development at Amiga include:
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.
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 white papers and product documentation as the new Amiga products are introduced in the marketplace. In this document, we overview:
AmigaObjects(TM) 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 architectureby virtue of this flexibility enables a new class of "net-aware" applications where there is no clear boundary between a device and the network.
We have chosen Java (TM 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-heldcomputers 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.
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, there by giving all objects in the system network transparency and the ability to proliferate across the network.
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.
Amiga MCC Operating System
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.
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.
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.
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 therewere with all of the other OS choices we evaluated. For example, therewere 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 many of the concernsthat 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.
Graphics, Multimedia and GUI Frameworks
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).
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.
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 togive 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.
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.
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-Window window system. Most users and developers will never see X-Window directly (unlike older Unix systems, when X-Windows was somewhat cumbersome). However, the use of X-Window will allow both new applications and standard Linux applications to run seamlessly on the MCC. Sitting above X-Window area 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 movement, 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).
The near future will bring more high-speed broadband Internet service to homes via cable modems, xDLS and other new technologies. The industry is standardizing on technologies for home networking, giving consumers the ability to connect products throughout the home using standard homewiring and wireless digital high-speed options.
Amiga-enabled products will support these standards and seamlessly connect to each other while leveraging the entire home through our distributed object technology. We are integrating emerging standards such as HomePNA by Broadcom/Epigram into the Amiga Operating Environment, using standard phone lines in North America homes. Several initiatives are also being pursued in Europe and Asia, which we continue to monitor. We are also investigating the front-running technologies for digital wireless networks for the home environment. Most regions of the world will standardize on a form of 2.4Ghz digital wireless networking like that of Proxim's which we will support as they become adopted by the industry. With the new Amiga object technology and integration of these standards, the home will become "the computer", including seamless high-speed connection to the Internet.
With AmigaObjects being the foundation for all object services and supporting distributive processing in the Amiga Operating Environment, networking naturally becomes pervasive. There is no distinction between devices (e.g. hard disks) found local to a computing element or an equivalent device found somewhere on the network. The Jini technology from Sun Microsystems addresses many of these problems with an architecture that enables instant connectivity of devices to the network such as disk drives, printers, scanners, cameras, etc. We are encapsulating Jini technology for the types of devices where it works well, and are providing complete AmigaObject solutions forservices not supported effectively by Jini. We'll provide more detailson the pervasiveness of network services at a later time.
The actual choice of transport is unimportant to the software and application architecture. We expect to support most of the popular networking standards, such as Ethernet, modem, HomePNA, HomeRF, IEEE 1394 and other digital highspeed networking over time. The only real issue is one of bandwidth: lowerbandwidth connectivity tends to limit the quality of services that can be offered. As you can see from the hardware section, we're actively working on providing high-bandwidth networking in our base system, thereby enabling a new generation of net-aware applications and products.
Software Block Diagram
The Amiga MCC is being designed to support state-of-the-art multimedia while leaving the PC legacy baggage behind. The MCC will have DVD, high-performance 3D, Ethernet-based home networking, digital and traditional analog video and audio, and USB ports for digital peripherals. It will have room for at least 2 hard drives, 2 PCI slots, 7 USB ports and an open drive bay for enthusiast options such as Zip and Jazz drives.
There is significant momentum for USB (Universal Serial Bus) in the industry. USB is a digital 2-way interface that supports up to 10Mb/s. This allows game controllers to support high-speed interactivity, including features such as force feedback so when you are driving the car the wheelwill push back on you. It allows hot detection of devices such as keyboards, printers, scanners, cameras, game controllers, storage devices, etc. Infact, the USB standard supports up to 127 peripherals on a single port. For this reason we do not intend to support the legacy serial, parallel, PS/2 or analog game ports. You can always add USB hubs for more devices, and there are converters to the old buses (e.g. USB to parallel) for your legacy peripherals that you might not want to get rid of for a while. There are even efforts under way to make the next version of USB work up to 100Mb/s.
The industrial design for the MCC has been done by Pentagram, a leading worldwide industrial design firm. Several concept sketches (out of approximately 12 that were considered) have been previously released, and the final industrial design will be shown at the upcoming World of Amiga and AmiWest shows.
As the foundation and hub for the Amiga computing revolution, the AmigaMCC will be delivered in two formats: an integrated computing system withan attractive industrial design and separate monitor option; and a standardsize ATX format motherboard for systems vendors, software developers and enthusiasts who want access to MCC functionality in other configurations with greater expandability.
We have selected a very exciting CPU for the MCC, which is at the heart of a next-generation processing subsystem. The CPU subsystem will provide more than just traditional central processing services - having chosen Linux and Java as two of our fundamental software building blocks, we wanted a CPU subsystem that could be highly tuned for a Linux/Java software base, while also running classic Amiga applications. We are still understrict confidentiality constraints, and cannot disclose information about the CPU at this time. However, we believe the selection of this technology will give us a unique advantage for the Amiga.
As mentioned earlier, the MCC will include a very high-performance 3D graphics subsystem, support for streaming media integration, and support for the emerging home networking standards that will become pervasive over the next two years. Following is a partial list of features under development in the MCC hardware architecture:
Development Tools and Applications
We are working with several leading development tool and applications software suppliers to ensure that there are great tools and applications for the Amiga OE and the Amiga MCC. One of the key reasons that we chose Linux for the underlying operating system of the MCC is the tremendous growth in Linux-based tools and applications, many of which will be available for the Amiga MCC. Similarly, our choice of Java for the Amiga OE was partly driven by the fact that there are some very powerful Linux-based Java development environments that are either already shipping, or will be shipping over the coming months. The Amiga MCC will instantly be one of the best-selling Linux-based systems in the marketplace, and it is the intent of Amiga and its partners to ensure that these tools are available on the MCC.
Obviously, we are not at liberty to disclose the release plans of other companies. As we move closer to the Amiga OE and Amiga MCC ship dates, companies developing applications and tools for the new Amigas will announce their own plans to release software for the Amiga.
We believe that the Amiga Operating Environment will power a wide range of next-generation computing devices. The Amiga MCC as the foundation, will set the standard for multimedia convergence computers in the emerging home computing environment.
This brief in no way documents all that is happening at Amiga. We have several exciting things in development that we would like to disclose tothe community and will as our partners will allow. The decisions that are being made are focused on the future while keeping our eyes on today and yesterday. Hopefully this brief has given you an insight to our direction.