Lo-Dash joins the Dojo Foundation!

We’re pleased to announce that Lo-Dash is the newest Dojo Foundation project! An in-depth Say Hello to Lo-Dash blog post provides a thorough overview of the project, so I won’t replicate those details here… go read the excellent post.

Thanks to John-David Dalton, Kit Cambridge, and Mathias Bynens for creating a fast, efficient JavaScript utility belt, and for making it available to the world to use under the very open, friendly, and IP-clean terms found with all Dojo Foundation projects!

Maqetta

Maqetta was officially announced today as the newest Dojo Foundation project. There’s a nice Maqetta eWeek article, and below is the full press release for the newest project to join the Dojo Foundation:

IBM Contributes Maqetta – HTML5 Visual Authoring Tools – to Open Source Community
Free Web Hosting and Downloads Available at Maqetta.org

ARMONK, NY – 10 Apr 2011: IBM today announced the open source contribution of Maqetta to the Dojo Foundation. Maqetta provides WYSIWYG authoring of HTML5 user interfaces using drag/drop assembly, and supports both desktop and mobile user interfaces.

HTML5 is an umbrella term for dozens of new features that ship in modern browsers (desktop and mobile) that allow rich user interfaces, graphics, multimedia and fast performance using open standards. HTML5 ships in the latest versions of Microsoft Internet Explorer, Mozilla Firefox, Google Chrome and Apple Safari, and on modern smartphones, including iPhone, Android, RIM Blackberry and Windows 7 Mobile.

The Maqetta application itself is authored in HTML5/Ajax, and therefore runs in the browser without requiring additional plugins or downloads. Some Maqetta features include:

  • a WYSIWYG visual page editor for drawing out user interfaces
  • drag/drop mobile UI authoring within an exact-dimension device silhouette, such
    as the silhouette of an iPhone
  • simultaneous editing in either design or source views
  • deep support for CSS styling (the applications includes a full CSS parser/modeler)
  • a mechanism for organizing a UI prototype into a series of “application states” (aka “screens” or “panels”) which allows a UI design to define interactivity without programming
  • a web-based review and commenting feature where the author can submit a live UI mockup for review by his team members
  • a “wireframing” feature that allows UI designers to create UI proposals that have a hand-drawn look
  • a theme editor for customizing the visual styling of a collection of widgets
  • export options that allow for smooth hand-off of the UI mockups into leading developer tools such as Eclipse
  • Maqetta’s code base has a toolkit-independent architecture that allows for plugging in arbitrary widget libraries and CSS themes

The Preview 1 release of the Maqetta application is available for the community to use for free at the open source project’s Web site, maqetta.org. Alternatively, users can download builds that they can install on their own servers.

The primary target users for Maqetta are user experience designers (UXD) within Enterprise development teams, with the goal of improving overall team efficiency around HTML5 application development. To support Enterprise team development, Maqetta’s extensible architecture allows plug-in widget libraries and plug-in CSS styling themes,
including company-specific libraries and themes. Maqetta includes a sophisticated and extensible CSS theme editor.

“By contributing Maqetta to Dojo Foundation as open source and free hosted software, IBM hopes to build a community of users and open source developers working together towards strong visual tools for creating HTML5-based user interfaces. Our targets are the desktop web, the mobile web and cross-platform installed mobile applications,” David Boloker, CTO, Internet Emerging Technologies, IBM. “We see Maqetta as particularly attractive to enterprise development teams where UI designers need to work in partnership with development teams.”

IBM has donated the technology to the Dojo Foundation, which hosts more than a dozen open source initiatives, including the Dojo Toolkit, RequireJS, CometD, EmbedJS, Persevere, Wink Toolkit, and OpenCoweb.

“The Dojo Foundation is excited by IBM’s open source contribution of Maqetta, which fills a major hole in the HTML5 ecosystem around visual tooling. Maqetta is a great complement to other initiatives at the Dojo Foundation, particularly our mobile initiatives such as dojox.mobile, Wink Toolkit, EmbedJS, and integration of these with PhoneGap” said Dylan Schiemann, President at the Dojo Foundation and CEO at SitePen. “The technology will make it easier for new developers to get started with various HTML5 technologies, including other Dojo Foundation initiatives such as the Dojo Toolkit and our emerging mobile widget sets.”

The Maqetta project was launched inside of IBM to address its own needs for more efficient development of desktop and mobile applications. The initial requirements and feature set for Maqetta were defined by IBM’s various product teams in partnership with IBM’s Design Leadership team.

“Strong visual tools are essential towards improving IBM’s efficiency at delivering compelling and intuitive user interfaces. IBM offers hundreds of leading-edge software applications, nearly all of which provide advanced user interfaces running in the browser.” said Karel Vredenburg, Director, IBM User Interface Design. “Inside IBM, Maqetta will be our strategic tool for designing and reviewing user interfaces, both desktop and mobile. It will help our product teams comply with our internal user interface standards and guidelines and will help our customers extend and customize our products.”

Maqetta mockups are actual running HTML5/Ajax applications that can be modified incrementally by developers into a production application. The Maqetta project is working in partnership with Eclipse Foundation’s recently announced Orion project (developer tools in the browser), and is making use of the Orion source code editor. Optionally, Maqetta workspaces can be easily exported into Eclipse-based developer tools, such as the Eclipse Workbench or IBM Rational Application Developer.

The majority of the Maqetta application is authored using open standard browser technologies (JavaScript, HTML, CSS). The Maqetta application includes a simple REST- based server that is implemented using Java and OSGi, and can be integrated into JEE Enterprise servers such as IBM WebSphere Application Server.

“Browser-based tools represent the new frontier. Last month we launched OrionHub for source development in the browser. We are excited about the integration between Maqetta’s designer features and Eclipse Foundation’s initiatives around developer tools, including both our highly popular Eclipse IDE and our emerging Orion project.” said Mike Milinkovich, Executive Director of the Eclipse Foundation. “We look forward to ongoing collaboration and technology sharing between Maqetta and our various initiatives at Eclipse.”

Maqetta includes a web-based review-and-commenting feature where authors can invite team members to provide feedback via blog-style comments or on-screen annotations. For mobile development, Maqetta allows the author to choose among various mobile device silhouettes so that the user interface can be designed in the context of the actual size of the target device.

“Maqetta is both timely and important. As development becomes distributed and data moves to the cloud, it’s natural for development to move there too. The browser-as- platform is what Dojo has always strived to achieve, and Maqetta fills a critical need to make that a reality. I’m happy and proud that the Dojo Foundation can serve as a home for this important work” said Alex Russell, co-founder, Dojo Toolkit and Software Engineer at Google.

The Maqetta application is currently at preview level. By engaging with the community with Maqetta at an early stage, IBM hopes to collaborate both on product requirements and on open source development, with the goal that future releases of Maqetta will deliver strong tools for UI design and an efficient workflow between UI design and production development.

Dojo Toolkit Version 1.6 Released

The Dojo Foundation’s namesake project, the Dojo Toolkit, has just released version 1.6.

Of greatest interest on a foundation-wide level are support for a few things that will appeal to other projects:

  • Dojo WebSocket: A simple API for working with WebSockets and other real-time Comet techniques. There are already very solid examples on using this with CometD and Persevere.
  • Object store: Rethinking data stores in a manner that’s generally easier to work with and more flexible than dojo.data. The concepts here are directly relevant for the work being done in Persevere. I’d love to see the work here applied to EmbedJS, Wink Toolkit, Lucid Desktop, General Interface, Zazl and DWR as well.
  • CommonJS AMD: Dojo now supports the CommonJS AMD format for defining modules. This is the future of making it extremely easy to mix and match modules between projects, and across environments such as client-side and server-side. Already implemented in OpenCoweb, Persevere and RequireJS, I expect we’ll see relevant activity in AnimeJ, Wink Toolkit, General Interface, and Lucid Desktop.

Check out the full list of Dojo 1.6 features. Also, be sure to check out Dojo Mobile, which is on target for the overall Dojo Foundation Mobile Roadmap.

EmbedJS

EmbedJS is a JavaScript framework for embedded devices (mobile phones, TVs, etc.). It takes a different approach than other frameworks by shipping just the code needed for each device.

The project is the latest to join the Dojo Foundation, and the project traces its origins to the Dojo Toolkit. Started by the great team at uxebu, one look at the EmbedJS documentation should seem very familiar to users of Dojo Core. The focus to date has been on delivering very small subsets of Dojo targeting specific mobile device platforms, as well as adding in key HTML5 and CSS3 features essential for building great mobile apps.

For more information, visit the EmbedJS web site, view the EmbedJS source code on github, or watch a recent video on EmbedJS by Nikolai Onken.

The OpenCoweb Project

The Dojo Foundation has welcomed another project to our community. The OpenCoweb Project is focused on the development of the Open Cooperative Web Framework. This new JavaScript framework builds upon CometD to enable “cooperative web applications” featuring concurrent, real-time interactions among remote users and external data sources. The framework handles remote notification of user changes, the resolution of conflicting changes, and convergence of application state using an operational transformation algorithm.

The technology in OpenCoweb can be applied to a variety of solution areas such as:

  • E-Learning or Distance Learning
  • Call Center Support
  • Financial Analyst Briefing
  • Healthcare / Telemedicine
  • Online collaborative authoring and editing
  • One-on-One (Manager/Employee) Reviews

Currently, OpenCoweb leverages several Dojo Core Modules for class declaration and loading as well as a few other minor utilities. As OpenCoweb matures to better support mobile solutions, the team expects to refactor the framework to eliminate unnecessary dependencies. We are currently looking to embrace the Asynchronous Module Definition (AMD) spec to ensure compatibility with various web toolkits (e.g., Dojo 1.6, jQuery).

For more information, visit the OpenCoweb project web page. For details about the framework, see the documentation and source code.