Montage: A Proven HTML5 Framework for App Development

Today, I’ll explain why Montage is great for app development. I’ll also touch briefly on Ninja, the HTML5 Authoring tool, and Screening, the automated testing tool. It’s the existence of these two tools that allow me to throw up the word “Proven” in this post’s title. (Also, if you haven’t yet, don’t forget to read yesterday’s post about why Montage is a great solution for Flex developers looking to join the HTML5 world.)

A year ago, I was given a preview by the Motorola Mobility team behind all this great stuff. During that meeting, many things struck my core:

  1. Caliber of the dev team working at Motorola Mobility
  2. Thought process that went into the framework design
  3. Amount of effort/support put into the project
  4. Supporting tools to aid the app developer
  5. Experience from building those tools in Montage

As you’ll see, it was the combination of all these things that softened my hardened heart against the HTML5 technology I was wary of. I was completely surprised at that meeting. I expected something different and thought I’d walk away thinking Motorola didn’t get it. Instead, my experience was quite the opposite.

Caliber of Dev Team

I’m not going to go through each team member, one by one. Instead, I’m going to talk more about the composition of the team and what that meant to me.

The first thing that is very clear is that the team comes from different tech spheres, the two biggest being Apple and Adobe.

On the Montage (i.e. the framework) side of the house, you have veterans of Apple. These are people who have worked on WebObjects, Core Apple Frameworks and  are the HTML5 gurus that made Apple’s website look so good. These are people who already have an understanding of what application developers need to do their job. When you give them feedback, you rarely get the: “Why would you need something like that?” response, which is typical for a framework maker who hasn’t built many applications.

On the Ninja/Screening (i.e. the tools) side of the house, you have veterans of Adobe. These are people who have worked on Flash Authoring, QA and product management. For them, it’s not a question of “What would a HTML5 authoring tool need?” It’s more of a matter of, “We know what an authoring tool needs, how fast can we get something into users hands to start getting feedback?”

Aside from those two camps, you’ll see people who have participated in W3C committees for various technologies. People who have invested significant portions of their lives, trying to make the web  a better place to do things.

The Framework Design

Montage is unique in the sense of how it uses many core web ideas in ways that just make sense.

There’s the .reel concept that I explained in yesterday’s post. It says, let’s use HTML to layout our component pieces, CSS to style those pieces/create effects, and let’s put the brains of the component into JavaScript. In addition, there’s a serialization process that takes place in a component. It uses JSON syntax that is familiar to any web developer these days.

In addition to client side stuff, Montage also uses Node.js to allow for JavaScript usage on the server-side.

All of this just points back to the fact that they thought things through. They said, “Hey, these great technologies already exist and people like them. How can we put them all together in a way that makes sense and will help others get things done fast?”

There are also some features that haven’t yet been built that have me even more excited. As they come to fruition, I’ll call them out so you can share the excitement.

Effort and Support

No offense to one man armies who build frameworks in the off hours. Many great products were born that way and so we love ingenuity like that. However, if you’re going to build an application that will cost hundreds of thousands of dollars to help run your enterprise, do you really want to gamble on this one guy? My experience has always been, no. Management does not like the idea of the lone maverick.

Motorola got that. They are an enterprise, so they know how enterprises think. Therefore, when I visited a year ago, I met a team of about 20. One had been working for almost a year on Montage and the others had joined him along the way. Now, here we are a year later. This is roughly 2 years of real world time that Montage has been under construction. But if you were count up the man hours involved, it is very significant.

Another thing that was interesting was who was behind the project at Motorola Mobility. This wasn’t some low-level employee, 20% project. This was a top secret team within the company funded by higher management who understood what the world needed. This helped the team recruit the caliber of people they got, because there was such great support internally.

Supporting Tools

There are two tools, Ninja and Screening, to support your Montage development efforts. The fact that they exist prove how serious of a tool this Framework is.

Ninja is the HTML5 authoring tool. Imagine being able to keyframe your HTML5 animations. Imagine being able to manipulate WebGL views for playback. Imagine being able to drag and drop components onto a canvas and manipulate their properties like you would in any other authoring tool. The power this provides an application development team is priceless. It allows you to build engaging web or mobile experiences in a very quick manner.

Screening is the automated testing tool. If you’ve done any serious development, you realize that automated testing is required. In the Flex world, automated testing is very hard and no solution is complete. The first time I saw screening in action almost made me cry. So many bugs and regressions would have never existed if I had a tool like this during my dev cycle. It is a tool that will become not only QA’s best friend, but one I think developers will use to ensure their code is better before handing it off to QA.

Proven Experience with Montage

The reason I use the word “Proven” is not because the tools prove that their serious about app development. While that is true, that would be a stretch. No, I use proven because Ninja and Screening are built *with* Montage.

In so many cases, application frameworks are built in a silo where the ideal conditions exist within the minds of the framework developers. The framework then gets used in a real world project and all hell breaks loose. “What were they thinking? How can I build an app with that logic in place?” I know a lot of the early frustration with the Flex framework was like that. (No offense to the Flex team as people. They were great and their intentions were good.)

What I like is that when the Montage team said, “Hey, we’re gonna need some tools to support the framework” someone (I don’t know who) must have said, “Well, then why don’t we build those tools with Montage to ensure that we’re making a robust and usable framework?” That person deserves a free dinner on me. 😉

This last little facet of the team/process is what sealed the deal for me. Not only are these guys trying to provide a framework to make our lives easier, they’ve also taken it upon themselves to put the framework through a few application development life cycles. They’re ironing out the kinks and rough edges so that we have a better framework when we embark upon our first Montage journey.

Wrap up

As you can see, Montage is not “just another HTML5 framework” as many stated on twitter yesterday. This framework is unlike any other framework (HTML5 or otherwise) out there. And to think, all of this stuff has happened prior to its first release. Can you imagine the great things they have planned for future releases?

It’s an exciting time to be an app developer: whether in the mobile space or web space. Your choices of toolsets are numerous and it’s hard to find which ones are really going to help you get the job done. For me, it’s pretty obvious that Montage is the top contender in the HTML5 world.

4 thoughts on “Montage: A Proven HTML5 Framework for App Development

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s