Lively Kernel canvas
//null// empty doit
Config.modulesOnWorldLoad.push('lively.WikiWidget')
nullfalsetruenullfalse
falsenullfalsetrue15nullfalse
Readfalsenull
Editfalsenull
nulltruefalsetruetrue
1truetruetruefalse
WelcometoLivelyKernel28null
ThisisaninstallationoftheTracsystemforLivelyKernel.Itisusedtogatherpiecesofdocumentationandandbugreports,however,wehopethatitissoonreplacedbyourownwiki.161null
StartingPoints28null
•ThepreviousTracwikipageandtheofficialSunMicrosystemsWebpageonresearch.sun.com.•Mailinglist.•SourcesthroughtheViewVCwebinterface.•Directaccesstooursubversionrepository.•Aliveworkspaceofversion0.8.5.•AnexperimentalInternerExplorerport.•LivelyWiki.•Starttheverylatestversionfromtherepository.•New!Anexperimentalcanvasversion(seeSupportedbrowsersbelow).168null
Introduction34null
TheLivelyKernelisanewwebprogrammingenvironment.ItwasdevelopedatSunMicrosystemsLaboratoriesandisnowavaiableasopensourcesoftware.TheLivelyKernelsupportsdesktop-styleapplicationswithrichgraphicsanddirectmanipulationcapabilities,butwithouttheinstallationorupgradehasslesthatconventionaldesktopapplicationshave.ThesystemiswrittenentirelyintheJavaScriptprogramminglanguage,alanguagesupportedbyallthewebbrowsers,withtheintentthatthesystemcanrunincommercialwebbrowserswithoutinstallationoranyplug-incomponents.ThesystemleveragesthedynamiccharacteristicsoftheJavaScriptlanguagetomakeitpossibletocreate,modifyanddeployapplicationsonthefly,usingtoolsbuiltintothesystemitself.Inadditiontoitsapplicationexecutioncapabilities,theLivelyKernelcanalsofunctionasanintegrateddevelopmentenvironment(IDE),makingthewholesystemself-sufficientandabletoimproveandextenditselfdynamically.1610null
Motivation34null
ThemaingoaloftheLivelyKernelistobringthesamekindofsimplicity,generalityandflexibilitytowebprogrammingthatwehaveknownindesktopprogrammingforthirtyyears,butwithouttheinstallationandupgradehasslesthanconventionaldesktopapplicationshave.TheLivelyKernelplacesaspecialemphasisontreatingwebapplicationsasrealapplications,asopposedtothedocument-orientednatureofmostwebapplicationstoday.Ingeneral,wewanttoputprogrammingintowebdevelopment,asopposedtothecurrentweavingofHTML,XMLandCSSdocumentsthatisalsosometimesreferredtoasprogramming.166null
AkeydifferencebetweentheLivelyKernelandothersystemsinthesameareaisourfocusonuniformity.Ourgoalistobuildaplatformusingaminimumnumberofunderlyingtechnologies.ThisisincontrastwithmanycurrentwebtechnologiesthatutilizeadiversearrayoftechnologiessuchasHTML,CSS,DOM,JavaScript,PHP,XML,andsoon.IntheLivelyKernelweattempttodoasmuchaspossibleusingasingletechnology:JavaScript.WehavechosenJavaScriptprimarilybecauseofitsubiquitousavailabilityinthewebbrowserstodayandbecauseofitssyntacticsimilaritytootherhighlypopularlanguagessuchasC,C++andJava.However,wealsowanttoleveragethedynamicaspectsofJavaScript,especiallytheabilitytomodifyapplicationsatruntime.Suchcapabilitiesareanessentialingredientinbuildingamalleablewebprogrammingenvironmentthatallowsapplicationstobedevelopedinteractivelyandcollaboratively.169null
Infrastructure34null
TheLivelyKernelrunsinsupportedwebbrowserswithoutinstallationoranyplug-incomponentswhatsoever.ThesystemutilizestheJavaScriptengine,graphicscapabilitiesandasynchronousnetworkingfeaturesthatarealreadyavailableincommercialwebbrowserstoday.Ingeneral,oneofourgoalshasbeentoleverageexistingtechnologiesasmuchaspossible.AuniquefeatureoftheLivelyKernelisagraphicslibrarycalledMorphic.Morphicisauserinterfaceframeworkthatsupportscomposablegraphicalobjects,alongwiththemachineryrequiredtodisplayandanimatetheseobjects,handleuserinputs,andmanageunderlyingsystemresourcessuchasdisplays,fontsandcolormaps.AkeygoalofMorphicistomakeiteasytoconstructandeditinteractivegraphicalobjects,bothbydirectmanipulationandfromwithinprograms.TheMorphicuserinterfaceframeworkwasoriginallydevelopedfortheSelfsystematSunLabs,butitlaterbecamepopularalsoaspartoftheSqueakSmalltalkprogrammingenvironment.TheLivelyKernelbringstheflexibilityandpowerofMorphicalsotoJavaScriptdevelopersandtowebapplicationdevelopmentingeneral.1612null
Mainfeatures34null
ThemainfeaturesoftheLivelyKernelinclude:Smallwebprogrammingenvironmentandcomputingkernel,writtenentirelywithJavaScript.Inadditiontoitsapplicationexecutioncapabilities,theplatformcanalsofunctionasanintegrateddevelopmentenvironment(IDE),makingthewholesystemself-containedandabletoimproveandextenditselfonthefly.Programmaticaccesstotheuserinterface.OursystemprovidesprogrammaticaccessfromJavaScripttotheuserinterfaceviatheMorphicuserinterfaceframework.Theuserinterfaceisbuiltaroundanevent-basedprogrammingmodelfamiliartomostwebdevelopers.Asynchronousnetworking.AsinAjax,youcanuseasynchronousHTTPtoperformallthenetworkoperationsasynchronously,withoutblockingtheuserinterface.Whatcanyoudowithit?TheLivelyKernelallowsyoutodoprettymucheverythingthatyouwouldexpecttodoinaconventionaldesktopprogrammingenvironment.ThemaindifferenceisthatintheLivelyKerneleverythingtakesplaceinawebbrowser.Utilizingthefeaturesdescribedabove,youcanbuildconventional,desktop-styleapplicationsthatrunontheweb.UtilizingthecapabilitiesoftheMorphicuserinterfaceframework,youcanalsobuilddesktop-likeenvironmentsandsystemsinwhichnumerousapplicationsandwidgetsrunsimultaneouslyinaregularwebbrowser.1617null
HowdoIgetit?34null
TheSunLabsLivelyKernelisaliveontheweb,meaningthatyoudonotdownloaditorinstallit.IfyourbrowsersupportstheLivelyKernel(seethelistofsupportedwebbrowsersbelow),thenmerelyclickingontheEnterLivelyKernellinkcausesthesystemtocometolifeinyourcomputer.Youmayseesomestaticelementsonthescreenbut,bydefault,everythingthereisaliveandchangeable.Whereisthesourcecodeorbinaries?TheentiretyoftheLivelyKerneliswritteninJavaScript,adynamiclanguagethatusesnobinaryfilesforexecution.TheLivelyKerneldoesnotrequireanyinstallationorplug-ins,sincethenecessaryJavaScriptengineisalreadypartofyourwebbrowser.Assoonasyouclickonalinktostartthesystem,alltheLivelyKernelcodeisloadedintoyourbrowserandrunning.Atsomepointwemaycompressthefilestomakeforfasterstartupbut,ifso,wewillstillmakethefulluncompressedsourcesavailableonthissite.Foryourconvenience,wehavemadethesourcecodeavailablehereasaZIPfile.1611null
Supportedwebbrowsers34null
TheLivelyKernelisintendedtorunineverycommercialwebbrowserclientwithnoplug-insorinstallationwhatsoever.However,becauseofdifferencesintheunderlyinggraphicsandothercapabilitiesofvariouswebbrowsers,weonlysupportalimitedsetofbrowsersandbrowserversions.WehavetestedoursystemonWindowsXPandMacOSusingthefollowingbrowsers:•Safari3-Recommendedforbestperformanceandqualityofexperience•GoogleChrome-NowthebestsolutionforWindowsusers•Firefox3(stillsomebugsleft)•Firefox2(severalbugsandveryslow)ThebrowsersaboveprovidesupportforScalableVectorGraphics(SVG),agraphicslibrarythatweuseastheunderlyinglowlevelgraphicsinterface.TheSVGinterfacesarehiddenfromtheapplicationdeveloper,butourimplementationrequiresanSVG-compatiblegraphicsengine.Toendusersanddevelopers,theLivelyKernelisanenvironmentthatisbasedpurelyonJavaScript,notSVG.BecausetheLivelyKernelrequiresSVGsupport,itdoesnotcurrentlyrunonMicrosoftInternetExplorer.HoweveryoumaywishtotrytheexperimentalportabovethatusestheRenesisSVGpluginfromExamotion.1614null
WehavejustreleasedanexperimentalportoftheLivelyKerneltotheCanvasAPI.BecauseCanvasisarelativelynewstandard,thisportwillonlyrunonWebKit,Chrome,andMineField,andthoseonlyinsomecases.Weanticipatereliableandperformantoperationofthisportafterabitofshakedown,andwhenthenextversionsofSafariandFirefoxbecomeavailable.163null
PublicationsandVideos28null
Thefollowingresearchpapersprovidefurtherinformationabouttheprojectanditsbackground:16null
•WebBrowserasanApplicationPlatform:TheLivelyKernelExperience•UsingJavaScriptasaRealProgrammingLanguage•WebApplications-SpaghettiCodeforthe21stCenturyVideos:164null
•LivelyKerneltalkatGoogleonJanuary24,200816null
Caution28null
TheSunLabsLivelyKernelisresearchsoftware.Itmayberemarkableinvariousways,butitisnotproductionsoftware.Rather,itisanexperimentalsystemforturningthewebasweknowitintoauniverseofobjectsthatareactive,accessible,changeable;inshort,lively.162null
WearemakingtheLivelyKernelavailableasopensourcesoftwaretoencouragefurtherexplorationbyacademicsandadventurousdevelopers,andweanticipaterapidprogresstowardfutureversionsofthesystemthatarenotonlylivelybutalsowell-behaved.162null
Credits28null
TheSunLabsLivelyKernelistheresultofacooperationbetweenfourexperiencedsoftwaredevelopers,allfrustratedwiththestateofthewebprogrammingpracticetoday:161null
•DanIngalls•TommiMikkonen•KrzysztofPalacz•AnteroTaivalsaariWhiledevelopingtheLivelyKernel,wehavereceivedhelpfromvariousotherpeople.WewouldespeciallyliketothankMikkoKuusipalo,KristenMcIntyre,RichardOrtiz,PekkaReijula,andStephenUhlerfortheirvaluablecontributions.RobertKrahnandJensLincke,ourinternsfromPotsdam,haverecently(Aug-Sept2008)madegreatprogresswithaFabrik-likeprogrammingkit,andawonderfulSVN-basedWikisubstrateforthelivelykernel.WewouldalsoliketothankLindaBohnandMarioWolczkofortheirinvaluablesupportthroughouttheproject.1610null
Intellectualheritage28null
TheideaoftheLivelyKernelwasinspiredinpartbythesuccessoftheSqueakSmalltalkprogrammingenvironment.Inthisregard,weoweadebttoallthepeoplewhodesignedthatsystem.ThespecificchoiceofaMorphic-stylegraphicsarchitecturewasinspiredbythesimplicityofsuchanarchitecturemanifestedoriginallyintheSelfsystemandlaterintheSqueaksystem.Forhistoricalreferences,refertothefollowingdocuments:164null
•DirectnessandlivenessintheMorphicuserinterfaceconstructionenvironment•HistoryofMorphic161null
Enjoy![BR]TheLivelyKernelTeam161null
Brainstorming28null
•ModelPins•JensRobertObstacles•NewModelProposal•wiki:CommandKeyHelp•ProfilingHelp•ProjectTasks•LivelyFabrik•NamespacesModulesAndRequire•SystemBrowser•LivelyWiki169nullnulltruefalsetruetrue
1truetruetruefalse
truefalsenullnullnullnullfalsenull47