Monday, October 29

Adding the swipr menu to your documents

As you may or may not know, swipr comes with a number of menus (main menu and context menus). However, these are generally disabled when you first start to use swipr. To use the swipr menus in your documents, you will have to manually set the reference to the swipr stencil for each of your documents. I have not yet found a way to do this programmatically. And somehow, this reference is lost once you close your document. Through the help of Martijn van Welie (of interaction pattern fame), there now is a way to save the reference with your document. You still have to set it manually, but after that, it will be saved!

Just follow these 10 easy steps to enjoy everlasting swipr menus in your documents.

  1. Open your document. Let's reference this document as MyDoc.vsd from now on.

  2. Open the swipr stencil within your document (File -> Shapes -> My Shapes -> swipr_sfwf_070)

  3. Open the VBA editor (Tools -> Macros -> Visual Basic Editor, or Alt-F11)

  4. In the VBA editor, select your document in the project explorer (left top of the VBA interface)

  5. Open the wireframe document by double-clicking the ThisObject object.

  6. Open the dropdown labeled '(General)' and select 'Document' here. Some code will appear in the main window, don't worry about that.

  7. Still in the VBA editor, open the references dialog (Tools -> References) and locate the swipr stencil in there.

  8. Add the reference to the stencil by ticking the box for the swipr stencil, and close the references dialog

  9. Close the VBA editor (it will automatically save)

  10. Save your document (MyDoc.vsd). It should now have all the swipr menus (check to see if they work).

Main menu:

Context menu document explorer:

Context menu page tabs:

Context menu drawing:

Hope you will enjoy using the swipr menus!

Friday, September 21

swipr site back online!

After an embarrassingly long time of being offline, the swipr site is finally back online. The forum and the documentation have been migrated with the new site, so sme things look a little different. Also, be patient while the documentation loads, this sometimes takes quite a bit of time. A big 'thank you' to Victor for working on this and making sure the site was live before the EuroIA conference that's going on as I type.

Anyway, have a look at it, and please, if you have questions, suggestion or just want to help and make the documentation or swipr itself better, let me know! You can use the forums and of course email me.


Wednesday, May 30

swipr site is down

[It's all fixed now. Finally. So forget all the links in this blog post. Jacco]

As you may have noticed, the official swipr site ( is down. This has to do with some security issues surrounding the Mambo CMS.

I am working on resolving all of this, but in the meantime, the documentation and support parts are up and running:

  • swipr docs

  • swipr forum
Furthermore, I'm looking into another way of setting up a swipr site, for instance using Google Groups or SourceForge. If you have any ideas, suggestions and help to offer around this, please let me know!



Monday, February 19

Free swipr workshops in Las Vegas & Washington

As you may or may not know, the IA Summit 2007 will be held in Las Vegas, from the 22nd to the 26th of March. And I will be there, attending both pre conference workshops and the conference itself. The IA Summit has been very inspiring for me over the last couple of years, and the warm reception of swipr´s predecessor in Austin in 2004 has been a very important driver for me to create swipr and make it available to the IA community.

For this conference, I have proposed a free workshop to help people get started with swipr, but unfortunately, it was not accepted. This was partly because it was a proposal for a half-day pre-conference workshop, but free of charge. This doesn't fit with the normal way the pre-conf workshops are treated. However, I would still like to do some form of swipr promotion during the conference. So, if you are coming to the IA Summit, what would you like to see?

- Basic installation & setup of swipr;
- Examples of how to work with swipr;
- Help with your current problems involving swipr;
- Information on how to extend swipr with extra possibilities;
- Any other stuff you can think about.

If you are attending the Summit, and would like to get together to discuss any of the items mentioned, or anything else, please let me know, and also let me know when you would like to meet up. It seems that most of my Friday will be free, and there will be possibilities around Summit sessions aswell. As soon as I get an idea of how many people would like to see swipr, I can start to set up some sessions.

Also, I will be travelling back to Amsterdam via Washington. If anyone overthere is interested in a swipr presentation or workshop, let me know. I might be able to arrange something on the Thursday or Friday (29/30) after the IA Summit, if you're interested.

Hope to see you in Vegas or Washington!

Jacco Nieuwland
(info _at_

Monday, January 8

Creating a prototype with swipr

First of all, a very happy and succesful 2007 to all of you!

I've had a number of questions about how to create an actual prototype with swipr. The normal output is a clickable version of the sitemap or screenflow, with popups for all the wireframes. Within the popup window it is possible to jump from wireframe to wireframe, but people would like to show the prototype in a normal browser window, instead of in the popup. Of course, this is possible, and I'll show you how to do this here.

In the 'normal' export of swipr, a popup window is launched everytime the user clicks on one of the screen elements in the swipr screenflow/sitemap. This window opens the file fd_popup.htm with the screennumber as its argument.

To have a prototype that does not work in popup screens, you will need a new copy of the fd_popup.htm. This is a very stripped-down version of the original, without any of the tabs to show additional information. The only thing this new version does is load the correct wireframe image, plus it's related imagemap, based on the screennumber argument. This means yu will always need to start your prototype with a call to this new fd_popup and a valid screen number as its argument.

The way I normally do this is by creating a new 'prototype' directory on the same level as the wireframes and comments directories. You place the new and stripped-down version of fd_popup.htm. Then, you edit the title page for the swipr screenflow. This page normally contains a link to page 00 (or whatever is the first page in your sitemap/screenflow). You can add a new link to open the first page of your prototype. (see image below).

This will open the first page in the same browser window, and WILL NOT have any of the tabs that a 'normal' swipr wireframe has. An example can be found on the swipr website.

I hope this will help you in creating a proper prototype using swipr.

Thursday, November 9

Hyperlink locations are off

I have received a number of reports of mis-aligned hyperlinks within the swipr-generated output. (BTW, I need a good name for this output, anybody got any ideas?). The problems can be traced back to two seperate causes.

Cause 1: Text objects are extending beyond the exported image.
If you select all objects in the page, you will notice pink outlines for all objects. See if you can determine the left and top edges of the exported image (compare it to the wireframe image), and then check if there are objects extending to the left and/or top of those edges. If any of the objects extending these edges are NOT on the 'no_export' layer, you have found your problem. This is normally caused by text objects that have a non-text part of the object extending above or to the left of the image. make sure all borders of text objects fall within the visible edges of the epxorted image.

A quick insight into how swipr creates the imagemap file that sets the hyperlinks:

  1. Determine the upper left corner of exportable objects - For the current page, and all of its background pages, determine the upper left-most object. For text objects, this is the left top corner of the object, which is not necessarily the left top corner of the text itself;
  2. Find hyperlink objects - cycle through the objects on the current page and all background pages to find objects on the prototype layer and the comment icon layer
  3. Calculate location of hyperlinks - do some complicated calculations to convert internal Visio-based (bottom-left) locations to pixel-based (top-left) locations and dimensions;
  4. Write imagemap file - write this information to a javascript file to include in the wireframe popup.
In the first step, you see the left top location is calculated on the basis of a text object's location and size. However, when Visio exports images, it will only export the visible portion of a Visio page. This means that there is a differnece between the calculated left top corner and the actual exported left top corner of the image, when a text object stretches beyond the visible left or top border.

So, make sure all text objects are within the visible borders of the exported image, either by moving them, or by extending the exported image to include the full text object.

Cause 2: A non-standard DPI setting of the computer's display
A new problem that came to my attention this week is when the computer display's DPI setting (the resolution) is set to a nonstandard amount (120 dpi instead of the standard 96 dpi, for instance). Swipr does not react nicely to this. The screenflow part of the export is fine, it has taken the dpi setting into account, but the wireframe output does not take that into account.

For now, the only work-around is to do the swipr output generation on a machine with standard dpi settings.

I hope this solves some of your problems!

Wednesday, November 1


OK, so maybe I am overreacting a little bit, but last night we had our 100th download of swipr! This means that at least 100 people have probably installed it and looked at the demo project. I'm very curious to find out how many people are actually using it for a project at this moment.
As it happens, a number of former colleagues have started to use swipr here in The Netherlands. From them, I know that they are using it, although I have had to help them set up swipr to make it work for them. So how do I find out how many other people are using it?

One more question on my mind is this: at this time, over 170 people have registered for the swipr website. The only reason for them to do so at this moment is, as far as I can tell, to download swipr. However, only 102 downloads have happened so far. That means 40% of the people that register, do not download swipr. Is there a bug in my metrics set-up, or are people abandoning the process after they've registered? If anyone has experienced problem with the download, please let me know!