Communities
|
Social Applications
Networks
Knowledge Base
Support
|
|
C-Level Executives
Other Roles
|
|
Support
Education
Partner
Other Tasks
|

Oracle Labs
Sun Labs Lively KernelSun Labs Lively Kernel
IMPORTANT: The latest versions of the Lively Kernel are available under the MIT open source license at current release page, and very latest sources. This web site hosts the earlier 0.8.1 release with its associated technical documentation and interactive tutorial.
IntroductionThe Sun Labs Lively Kernel is an interactive web application development environment developed at Sun Microsystems Laboratories. The Lively Kernel supports desktop-style applications with rich graphics and direct manipulation capabilities, but without the installation or upgrade hassles that conventional desktop applications have. The system is written entirely in the JavaScript programming language, a language supported by all the web browsers, with the intent that the system can run in commercial web browsers without installation or any plug-in components. The system leverages the dynamic characteristics of the JavaScript language to make it possible to create, modify and deploy applications on the fly, using tools built into the system itself. In addition to its application execution capabilities, the Lively Kernel can also function as an integrated development environment (IDE), making the whole system self-sufficient and able to improve and extend itself dynamically.In a nutshell, the Lively Kernel is a fully interactive, visual application development and execution environment on a web page.
MotivationThe main goal of the Lively Kernel is to bring the same kind of simplicity, generality and flexibility to web programming that we have known in desktop programming for thirty years, but without the installation and upgrade hassles than conventional desktop applications have.The Lively Kernel places a special emphasis on treating web applications as real applications, as opposed to the document-oriented nature of most web applications today. In general, we want to put programming into web development, as opposed to the current weaving of HTML, XML and CSS documents that is also sometimes referred to as programming. A key difference between the Lively Kernel and other systems in the same area is our focus on uniformity. Our goal is to build a platform using a minimum number of underlying technologies. This is in contrast with many current web technologies that utilize a diverse array of technologies such as HTML, CSS, DOM, JavaScript, PHP, XML, and so on. In the Lively Kernel we attempt to do as much as possible using a single technology: JavaScript. We have chosen JavaScript primarily because of its ubiquitous availability in the web browsers today and because of its syntactic similarity to other highly popular languages such as C, C++ and Java. However, we also want to leverage the dynamic aspects of JavaScript, especially the ability to modify applications at runtime. Such capabilities are an essential ingredient in building a malleable web programming environment that allows applications to be developed interactively and collaboratively. InfrastructureThe Lively Kernel runs in supported web browsers without installation or any plug-in components whatsoever. The system utilizes the JavaScript engine, graphics capabilities and asynchronous networking features that are already available in commercial web browsers today. In general, one of our goals has been to leverage existing technologies as much as possible.A unique feature of the Lively Kernel is a graphics library called Morphic. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as displays, fonts and color maps. A key goal of Morphic is to make it easy to construct and edit interactive graphical objects, both by direct manipulation and from within programs. The Morphic user interface framework was originally developed for the Self system at Sun Labs, but it later became popular also as part of the Squeak Smalltalk programming environment. The Lively Kernel brings the flexibility and power of Morphic also to JavaScript developers and to web application development in general.
Main featuresThe main features of the Lively Kernel include:
What can you do with it?The Lively Kernel allows you to do pretty much everything that you would expect to do in a conventional desktop programming environment. The main difference is that in the Lively Kernel everything takes place in a web browser.Utilizing the features described above, you can build conventional, desktop-style applications that run on the web. Utilizing the capabilities of the Morphic user interface framework, you can also build desktop-like environments and systems in which numerous applications and widgets run simultaneously in a regular web browser. How do I get it?The Sun Labs Lively Kernel is alive on the web, meaning that you do not download it or install it. If your browser supports the Lively Kernel (see the list of supported web browsers below), then merely clicking on the Enter Lively Kernel link causes the system to come to life in your computer. You may see some static elements on the screen but, by default, everything there is alive and changeable.Where is the source code or binaries?The entirety of the Lively Kernel is written in JavaScript, a dynamic language that uses no binary files for execution. The Lively Kernel does not require any installation or plug-ins, since the necessary JavaScript engine is already part of your web browser. As soon as you click on a link to start the system, all the Lively Kernel code is loaded into your browser and running. At some point we may compress the files to make for faster startup but, if so, we will still make the full uncompressed sources available on this site.For your convenience, we have made the source code of the 0.8.1 release available here as a ZIP file. The very latest source code is available at http://livelykernel.sunlabs.com/. Supported web browsersThe Lively Kernel is intended to run in every commercial web browser client with no plug-ins or installation whatsoever. However, because of differences in the underlying graphics and other capabilities of various web browsers, we only support a limited set of browsers and browser versions. We have tested our system on Windows XP and MacOS using the following browsers:
IMPORTANT! The Lively Kernel requires SVG support and does not run on Microsoft Internet Explorer without extensions. An experimental Microsoft Internet Explorer port, requiring an additional web browser plug-in, is available here
Publications and VideosThe following links provide further information about the project and its background:
Technical documentation:
Videos:
ContributeJoin our mailing list to find out what people want and what they are working on. If you produce a bug fix or enhancement, post it on the mailing list to share it and to proffer it for inclusion in future releases.CautionThe Sun Labs Lively Kernel is research software. It may be remarkable in various ways, but it is not production software. Rather, it is an experimental system for turning the web as we know it into a universe of objects that are active, accessible, changeable; in short, lively.We are making the Lively Kernel available as open source software to encourage further exploration by academics and adventurous developers, and we anticipate rapid progress toward future versions of the system that are not only lively but also well-behaved. CreditsThe Sun Labs Lively Kernel is the result of a cooperation between four experienced software developers, all frustrated with the state of the web programming practice today: While developing the Lively Kernel, we have received help from various other people. We would especially like to thank Henrik Heino, Mikko Kuusipalo, Kristen McIntyre, Feetu Nyrhinen, Richard Ortiz, Pekka Reijula, and Stephen Uhler for their valuable contributions. We would also like to thank Linda Bohn and Mario Wolczko for their invaluable assistance during the project.Intellectual heritageThe idea of the Lively Kernel was inspired in part by the success of the Squeak Smalltalk programming environment. In this regard, we owe a debt to all the people who designed that system. The specific choice of a Morphic-style graphics architecture was inspired by the simplicity of such an architecture manifested originally in the Self system and later in the Squeak system. For historical references, refer to the following documents: |
