aWireframeML - Application Wireframe Markup Language

Application Wireframe XML and reference software/stylesheets. This project aims to create a xml schema for defining application wireframes. The goal is a methodology and programming language agnostic format. Wireframes are used during the requirements phase of software development to create a functional representation of the to-be application.

Wireframes are used as an effective tool to elicit true application requirements versus "look and feel" requirements (which can later be fleshed out by building upon the wireframe to create a prototype) from [non-technical] users. Wireframes are useful for nearly every type of software or process development effort as well as a brainstorming tool for developers.

Status: Alpha / Request for Comments

Example: Hello World

Wireframe?

Wireframe TinkerToy Example

OK, So what can I do with aWireframeML?

In theory...

  1. You create a wireframe (in your favorite tool that can save in aWireframeML format) -- maybe this tool is a web app made of simple forms and text that you can collaborate with end users -- maybe it's a windows app with pretty drag and drop shapes. The important point is that you don't do this in a vacuum. As you are creating it, be sure to work closely with your users.
  2. Then use a code generator (maybe same tool) OR pass it off to developers as a specification to create a prototype foundation.
  3. This code could be in Perl, PHP, Cold Fusion, J2EE, .Net etc... It could be a web, WIN32, X11, WAP, etc... application.
  4. Everyone reviews the prototype. This could be an iterative process.
  5. If all is good in the world you would now have classes/stubs/sub routines/etc... that you could quickly flesh out. Maybe at this point you use a different programming language. Maybe your prototype was a web app that you could share around the world, now you generate the framework for your target (a WIN32 thick client.)
  6. The advantage of this approach versus a design document is that your users have buy in and full agreement on requirements. You have a self documenting and working prototype. This means less defects and rework, more efficient use of development time. (note: you will usually not generate production level code from a wireframe -- however it may be used to create the basic structure to build upon)
  7. This is just a simple example of a process -- modify it to fit whatever methodology (waterfall, RAD, XP, FLiP, Catalyst, J2EE, etc..) you like.
  8. There are other things you can do to complement this process (personas & goals, storyboarding, design reviews, etc...)

Why is aWireframeML here?

Help Out!

Application Wireframing Reference Sites

Not what you were looking for? Here are some other XML Schemas for defining applications:

free hit counters
NetFlix.com logger