Rocklyte Systems is a New Zealand-based software engineering company and creators of the Athene operating system and Pandora Engine. Athene is an object based operating system that is being developed for use in PC’s and embedded systems. The user interface is completely rewriteable and is capable of emulating other interfaces such as the Windows and Amiga desktop environments (developing your own, custom desktop GUI is a matter of writting a script!). The Pandora Engine is an all-purpose object oriented SDK, aimed at assisting developers in all areas of the technology industry and it also the base of Athene. The engine is based on Modular Object Oriented technology, which allows you to create true object oriented programs using almost any language. Athene and Pandora are available for both Windows and Linux. Read more for an interview with Rocklyte’s Paul Manias and two new screenshots, showing AtheneOS running under its newly released Windows version.1. Athene is available for Linux and Windows today. What about FreeBSD and/or QNX support?
Paul Manias: From what I have heard, Athene currently works on the BSD variants through Linux emulation. A native version for BSD is on the cards, but has a low priority given that BSD users can use Athene now. A version for the Macintosh is the top priority on the porting list and work will start on it in the first quarter of 2002.
Time allowances for a QNX port were considered earlier this year, but unfortunately there isn’t a lot of space on the development calendar to make an official commitment to a QNX version. While I don’t have enough reasons to make it a higher priority, QNX is one of my favourite UNIX based kernels and I would like to support it in the not too distant future.
2. How would you differentiate Athene from other similar projects and APIs, like GnuSTEP, Qt and Qube?
Paul Manias: Athene’s development environment is the Pandora Engine, which can be used with Athene or as an independent multi-platform SDK. It differs from most portable API’s in that it has been designed to provide a complete end-to-end solution for developers, i.e. everything from low-level I/O and resource management to full graphics support and extra features like script processing and data management. Most importantly, Pandora also has its own Modular Object Oriented design. It took four years of R&D on my part to perfect its design structure, so a lot of thought and experimentation has been put into the way it works, resulting in a very powerful and optimised environment. Rather than programming the system in C++, it was important for it to be developed in the most universal and efficient language on the market, C. Pandora can do a lot of things that are impossible in object oriented languages, primarily because you have an object manager working on behalf of the program, rather than having the program managing its own internal OO structure. This is an area where it beats Qt (C++ based), GnuSTEP (Objective-C based) and other language focussed development environments. You can use almost any non-OO language you like with Pandora and create an object oriented program that gives you a faster and more advanced application than if you were to write the same thing in an OO centric language.
Besides the very strong object orientation support, one particular feature that sets Pandora apart from all other development environments is the fact that it has very strong support for interprocess communication and the sharing of objects between applications. Combined with DML and Athene, large applications can be split into sub-tasks with almost no effort and protected in their own memory space (so a single application could consist of 5 or more tasks for example). In mission critical situations this can be something of a life saver. If one of your sub-tasks crashes then it doesn’t matter, so long as the application core is operational then the data is intact and the user can recover from problems that might normally result in complete data loss.
When comparing Athene to other operating systems, the most obvious difference is that it has been designed for multi-platform compatibility from the start. Since Athene was first released to the public, a few more multi-platform systems like Qube are coming out of the woodwork, but with a few years of R&D behind us, Athene is a little bit more mature. Athene also has an integrated XML/HTML foundation through the support of its native language, DML, which is used to build the operating system at runtime. This makes it particularly powerful in that it gives you the power to build your own system structure from scratch, which I often liken to building a structure out of Lego bricks. We provide the bricks (OO components), while the user just needs to supply the imagination. Even if you don’t have much creative insight, you can still use one of our pre-built environments or obtain something else that’s to your liking from a third party.
3. Is Athene really an operating system, or a desktop on top of an already running system, as in the case of Linux?
Paul Manias: Athene is a multi-platform operating system, which means that it’s both an operating system and a desktop system (depending on the base hardware and/or software that you’re running it on). In order to develop the system properly we’ve had to work ‘backwards’, which means designing it to run on existing operating systems first, then work back towards the development of a stand-alone version. It’s an unusual way to go about creating an operating system, but it gives us a larger user base to work from and that’s of key importance in growing our company as well as providing a larger market to third party developers. In the long term we’ll be much better off for having a widespread product base, so that’s why Athene is being developed this way.
For the record, Athene has its own process management routines, memory handling functionality, file management, deadlock aversion, object management, resource locking, message passing routines, hierarchical resource tracking etc. In other words, all the functionality required of an operating system has been programmed into Athene, not to mention some features that are not available in other systems.
4. Have any steps been taken towards making DML a widely accepted standard for other uses as well as Athene?
Paul Manias: Currently DML is already usable as an independent language, so it’s possible to download Athene and just use it’s DML processor to write native Windows and Linux programs. An installation archive for developers interested solely in DML is on the horizon, so it’s going to get a little push in that direction fairly soon.
The immediate future for DML is on the Internet and plug-ins will be available for it next year. Besides being a nice development companion to HTML, you’ll also be able to run existing Athene applications through your web browser, so developers will be able to distribute applications that can run inside web pages and on your desktop. Most developers want their applications to have as widespread coverage as possible, so we want to give them opportunities in areas both in and away from the operating system.
5. Please tell us about the markets you are interested in. Has the embedded world shown interest in Athene?
Paul Manias: Currently we’re concentrating on establishing a firm footing in the desktop market because the opportunities in this area are fairly wide ranging. Over time you’ll see us move into a lot of different markets because part of our goal is to get the product line onto an extensive range of platforms. We don’t want to be limited to any specific market.
In terms of the embedded world I’d like to push DML into the mobile phone and PDA market due to its ability to deliver application interfaces and content to small displays. HTML and WAP haven’t really worked here, and I think DML’s support for mathematical calculations, graphics positioning, display size detection and so forth allow the developer to write scripts that can adapt to different environments with minimum difficulty. If we make some inroads in this area then it wouldn’t be too long before you can run Athene on a few PDA’s.
6. It seems to be very easy to create GUIs with DML and Athene. How long would it take someone to, let’s say, create a BeOS look-alike system?
Paul Manias: Sure, building an environment isn’t too much harder than building a web page if you’ve learnt raw HTML. Generally speaking, the amount of time required to build a new Athene environment that’s modelled on an existing system depends on the complexity of that system and how far you want to go in emulating it. Creating a GUI can take about a week, but then you have to consider whether or not you want to duplicate any existing tools and applications normally found on the target system. In the case of BeOS, people would gripe at you if you left out the file system, so you’d have to be prepared to write some extra code that accurately emulates it. A perfectionist could spend up to 6 months building a complete environment, but then the Omega Workbench and Wintel 2000 environments only took about 3 weeks between them, so it really depends on what your goals are.
7. What a developer of Pandora and Athene will be using to program for, C or C++?
Paul Manias: As I mentioned earlier it’s not language focussed, so a developer can use any language to write a new program. For portability reasons we like to encourage people to use C because it’s the fastest and most platform independent language available today. At the end of the day though, it’s up to the developer to make a judgment call as to whether a particular language has priority over portability. Choice is important.
8. Are features like transparency, double buffering, OpenGL-enabled 2D desktop and other exotic and modern GUI low level techniques intergrated or planned to be integrated to Athene?
Paul Manias: Transparent and buffered window layers are currently supported. During the early stages of development, translucent (alpha blended) windows and shadow casting features were supported in the rendering interface but had to be removed (mainly due to the fact that native X11 functionality is used for graphics management, which doesn’t lend itself well to these features). Now that the Windows version is out, some time has been allocated to rewriting the rendering routines, so expect to see a new release in a few weeks that has these features enabled again.
Recently we’ve been looking at applying real-time Photoshop style filters to window areas, which looks very effective but tends to require a lot of processor power. Some basic effects like blurring can be very useful though, so you can expect to see these features creeping through in future releases. Vector based imaging is on the to do list (a’la OS X), as well as applied rotations and scaling. Translucent fonts appeared in the last release, which is nice if you want to overlay text on an image. The next big thing I’m looking forward to is the 3D support, but its going to be held back until the 2D engine is complete.
9. Are there plans to release Athene without the aid of XFree86 under Linux?
Paul Manias: The overhead of XFree86 has always bothered me given that Athene only needs a basic graphics library in order to function. The Linux version of Athene is still much more responsive than the Windows release as it can load executables and bind shared libraries a lot faster than Windows can, but it’s always been obvious to me that the speed of XFree86 is holding it back. In the interests of making the Linux version of Athene a better system, I’d certainly like to drop XFree86 in favour of a faster solution.
The only issue is that while there are more and more people feeling that continued improvements to XFree86 amounts to flogging a dead horse, at this stage the alternatives are limited. When Athene was first developed for Linux it used svgalib, but that had to be dropped due to its lack of hardware support. I have looked at DirectFB and the standard framebuffer support system this past week, but it doesn’t work out of the box and is difficult to set up, which leads me to think that the less-technical users would give up in attempting to install a framebuffer based version of Athene. For real speed I’d like native graphics drivers to be available for the Pandora Engine, but we can only afford to support one brand of graphics card (probably the Matrox G200 and G400). It would be the responsibility of the hardware manufacturers and the members of the Linux community to support more graphics cards in the Linux version of Athene. Anyone that is interested in writing native drivers for their own graphics card can always contact me and I can send them the necessary source files. With some collective effort I think that anything’s possible, but then the Linux community has always been a very fickle one :-).
10. What are the future plans for your products? What new features are you looking into?
Paul Manias: Early next year we’ll be producing a CD that is to contain the existing products and content, plus commercial material that is not available in the freely distributable version. This will officially mark the start of our entry into the commercial operating system market. We’ll stay committed to the release of freely distributable versions of the software though, because we want maximum filtration in order to give developers a reason to write software for Athene.
The next big step in terms of R&D will be the stand-alone version of Athene, but that’s about six months away. In the meantime you’ll see some major advances in the graphical interface, and some more attention will be paid to areas that have been neglected, like audio and networking. Now that the Windows version of Athene has been completed there will be new releases coming out every few weeks again, so you’ll have to keep an eye on the web site to see what’s coming next.
Damn OSnews. If you keep having all these neat articles, I’ll never find time to study.
There seems to be a very disproportionate amount of NZers developing languages and OSes these days The REBOL list is inundated with us so are the dev forums for lots of other ‘fringe’ (ie non linux, non windows) coding areas.
Personally I’d rather use REBOL/View over Athene any day – all those loverly little gui things like blurring, gradients etc are already there. Also Carl and Holger have mentioned on the Rebol mailing list that the next version of REBOL/View with Alpha blending and lots of other goodies is almost done
Heh.. sorry Rocklyte, I’m a GUI freak
The Solaris X-server can now support many graphics cards because it has an interface for XFree86 drivers. OSKit Mach can support many devices by using Linux 2.2 or FreeBSD drivers. Could a version of Athene for the Linux framebuffer, or a native Athene OS, get its hardware support this way?
Have any of you played around with this? Both the interface and the DML scripting system. How responsive is it? Is it interesting? Does it seem like a pretty interesting and complete API/package, or just like some weird markuplanguage visual basic?
I played with it, but not extensively. Why don’t you download it and check it out yourself? It is only 1.1 MB and it is available for both linux and Windows with an easy setup mechanism for both platforms.
This sounds like a nice way to deliver applications to users from within a hardware and OS-neutral environment. Given that, it sounds like they are trying to do a lot of the things that Sun originally set out to do with their Java platform. Any thoughts on how Athene/Pandora’s approach compares to Sun’s — in particular, how this system will avoid the pitfalls that seem to have marginalized Java into just server-side-scripting and toy applets?