Update – It turns out Blast Radius–an interactive agency that worked on the Palm web site–also has an in-house toolkit called Mojo. The toolkit described below is the Blast Radius tookit and doesn’t seem to be related to webOS.
The new Palm Pre will be the first phone to use Palm’s new webOS operating system and the Palm Mojo framework. Apparently the SDK is in private beta at the moment, and there’s not a whole lot of information on Palm’s developer site. However, it looks like Palm has rolled out parts of Mojo on their site. If you visit the Palm Pre CES launch video page at Palm.com, and check out the source, you’ll notice they’re already including mojo.js:
<!-- GLOBAL JAVASCRIPT --> <script type="text/javascript" src="/assets/js/extlib/dojo/dojo.js" ... <script type="text/javascript" src="/assets/js/dist/extlib.js"></script> <script type="text/javascript" src="/assets/js/dist/mojo.js"></script> <script type="text/javascript" src="/assets/js/palm-config.js"></script> <script type="text/javascript" src="/assets/js/palm/global.js"></script>
I wonder if it’s a coincidence Palm also uses Dojo? Scanning the mojo.js file, here’s a list of mojo mentions:
mojo mojo.command.Behavior mojo.command.Behavior.execute mojo.command.Behavior._execute mojo.command.Behavior.getRequest mojo.command.Command mojo.command.Command.execute mojo.command.Command._execute mojo.command.Command.getRequest mojo.command.Command.onError mojo.command.Command.onResponse mojo.command.Rule mojo.command.Rule.condition mojo.command.Rule._execute mojo.command.Rule.getRequest mojo.controller.Controller mojo.controller.Controller.addCommand mojo.controller.Controller.addCommands mojo.controller.Controller.addIntercept mojo.controller.Controller.addIntercepts mojo.controller.Controller.addObserver mojo.controller.Controller.addObservers mojo.controller.Controller.getCommand mojo.controller.Controller.getCommandChain mojo.controller.Controller.updateObservers mojo.controller.Map mojoControllerMap mojo.controller.Map.getInstance mojo.controller.Map.mapController mojo.controller.Map.mapControllers mojo.controller.Map.setSiteMap mojo.controller.Param mojo.controller.Param.setValue mojo.controller.Request mojo.controller.Request.constructor mojoControllers mojo.distinct mojo.fireEvent mojo.helper.Events mojo.helper.ObjectQuery mojo.helper.ObjectQuery._createSchema mojo.helper.ObjectQuery.select mojo.helper.String mojo.helper.Validation mojoHelperValidation mojo.helper.Validation.execute mojo.helper.Validation.getInstance mojo.helper.Validation.isEmailAddress mojo.helper.Validation.isLength mojo.helper.Validation.isPostalCode mojo.helper.view.Error mojo.helper.view.Error.showElementErrors mojoHistory mojo.History mojo.History.getInstance mojo.History.setDefault mojo.History.setHash mojo.log mojo.Messaging mojo.Messaging.getTopic mojo.Messaging.publish mojo.Messaging.subscribe mojo.MessagingTopic mojoMessagingTopics mojo.Messaging.unsubscribe mojoModel mojo.Model mojo.Model.add mojo.Model.addObserver mojo.Model.contains mojo.Model.get mojo.Model.getReference mojo.Model.notify mojo.ModelReference mojoModelReferences mojo.Model.remove mojo.Model.removeObserver mojo.Model.set mojoObserve mojoObservers mojo.query mojo.queryFirst mojo.queryMatch mojo.service.Delegate mojo.service.Locator mojo.service.Locator.addService mojo.service.Locator.getService mojoServiceRegistry mojoServiceRegistry.length mojo.service.Service mojo.service.Service.constructor mojo.service.Service.invoke mojo.service.Service.setName mojo.service.Service.setParams mojo.service.Service.setUri mojoTemplateControllers mojo.toSentenceCase mojoValidationError mojoValidationGroup mojo.widget.Logger mojo.widget.Logger._enabled mojo.widget.Logger.log
[...] Sheppardson made the speculative connection between Mojo and Dojo in his article “Signs of Palm Mojo”. Here at Palm Pre School we have this knack of understanding subliminal messages, see “Palm [...]