Your Questions Answered: Q&A About Norway

Watching online and international news coverage since the terrorist attacks in Norway on July 22nd it has become abundantly clear to me that people outside of Norway are having a hard time understanding our culture, our history and most importantly right now our reaction to what has taken place. I’m not particularly surprised by this – for outsiders, and especially North Americans – Norway must seem like a bizarre country where everything is turned on its head. And in many ways it is. Our culture, our politics and our attitudes towards social and political issues are fundamentally different to those of our fellow people on the other side of the Atlantic.

There is also a serious problem with translation. Norwegian is a notoriously complicated language with many dialects and two official and very different written languages. It is also a language that relies heavily on reference. Many words and sentences taken out of context lose their meaning completely and auto translation solutions like Google Translate often have a hard time making heads or tails of them. In addition there is a cultural translation barrier. Many words, when translated, turn into words with a different reference. And when that happens meaning is lost.

In an effort to help non-norwegians understand what is happening over there in my home country I will answer questions and find reference materials and links for anyone interested right here on this site. If you have a question, if you are looking for information or if you are confused about something, leave a comment below and I will make every effort to answer you. I’ll post all the questions and answers in this post as a running log so come back as it gets updated. I’ll also do the same for all questions asked through social media including Twitter (@mor10), Facebook and Google+ (gplus.to/morten). You can also send me a question directly through the contact form.

*Updated from the top*

Q: Do you think he wrote his “manifesto” himself? Is Roid Rage being talked about in the Norwegian press at all?

A: From reports it sounds like the manifesto is a patchwork of different content. In the preface he also says something to that effect. It is heavily littered with quotations from published authors and bloggers, some of it cut and paste, some in edited format. There is also a section, referred to as a “diary” that is clearly his own work. The last entry there is on July 22nd a few hours before the attacks. Some experts have said it is impossible that he could have written it all himself but I think it is the work of one person. As for roid rage there hasn’t been too much talk about it. Though he did take steroids he doesn’t look big enough to have gotten to that stage IMHO.

Q: What kind of camp took place on Utøya exactly?

A: The AUF summer camp is not a camp in the sense that most North Americans think of camps. It is a gathering of the regional members of the AUF (youth branch of the Norwegian Labour Party) to discuss and formulate policies. It is not as some have suggested an indoctrination camp run by the Labour Party to fill young minds with political propaganda. The Utøya camp is run by and for the members of the AUF and the AUF actually owns the island. A point of interest: Many of the policies and opinions held by the AUF and its members do not correspond to those of the parent Labour Party. There are often quarrels between the two and the AUF in general tends to be more radical and left wing than the Labour Party.

Questions by Cord Jefferson in preparation for his excellent article Why the Norway Shooter May End Up Serving a Life Sentence:

Q: As I understand it, Norwegian law says that nobody, regardless of crime, will be sentenced to longer than 21 years in prison

A: “Life in prison” in Norway is 21 years with a possibility of parole after half the sentence is served. However there is a discussion taking place that the terrorist will be tried for Crimes Against Humanity, paragraph 102, for which the maximum sentence is 30 years in jail. If he receives this maximum sentence he will be released after 30 years unless something changes.

An alternative is to send him into what is called “forvaring” or “containment”. This has a maximum length of 10 years but after this the courts can extend the containment in 5 year increments indefinitely.

The one thing that is a certainty is that there will be no reintroduction of the death penalty. Norwegians don’t consider the death penalty an actual penalty.

Q: Are you comfortable with the idea the perpetrator might only receive 21 years, or would you like to see something more severe? What is justice to you?

A: I am a strong believer in the Norwegian legal and penal system. The system focuses on rehabilitation and restoration, not just punishment and retaliation. Many a murderer has served his or her sentence and is now free to roam and contribute to society. And in all but the most unusual cases these people get on with their lives and are not a continuing problem. In an extreme case like this however I don’t see a future in which the legal system will let the accused out. I imagine they will find some way of keeping him locked up indefinitely under the current legal statute.

Am I satisfied with this? Assuming he is held until the end of his life at age 80, yes. This guy should be made an example of. He should sit in jail, preferably in solitude, and serve as proof that even though he committed the worst crime against the country since World War II, and even though he treated his victims inhumanely, we, the society, will still treat him as a human being. He should be held without visitation rights, without access to news, letters or anything else from the outside. He should be left to spend the next 40 years contemplating the fact that his actions didn’t lead to the outcome he wanted.

I think in all of this the key is that last sentence. We, as a society, have to make sure the acts of this man do not produce the results he was looking for. And to do that we need to treat him as the cowardly criminal he is: with humanity. I pity him for his lack of understanding of the human condition.

Together is our only option

Sun rising over smoky water in NorwayWhen 600 young minds gathered on an idyllic island to form policies and opinions about the future, their own and that of their country, the last thing on their minds was that that future would hold a rain of bullets, devastation, and death. In a short few hours in the late afternoon on a lazy summer Friday their world, and the world as a whole, changed forever. Lives were lost. Innocence was lost. The very fabric of reality seemed to tear, showing a glimpse of a harder, more brutal existence. One in which we fear our neighbours for what they might do to us. One where communities were built to protect us from “the other”. One in which force and violence was the only solution. The world of Hobbes, of Nietzsche, of the individual, alone in the masses.Only the tear was permanent. Burned into facades of buildings by a massive explosion. Ripped into the bodies of the next generation by bullets. Forever imprinted on our retinas as we watched in horrified disbelief.

Is this the world we live in?
Can this really happen?
This cannot happen.
This will not happen.

While the families of the countless victims of the worst terrorist attack in the history of Norway try to cope with their loss it is up to us to take stock. What is this world we live in where people kill? What have we become that makes us capable of such atrocities? What has our society become that the massacre of human lives seems just in the pursuit of an ideological goal?

We have lost our way. Not from God or Allah or Marx or Rand. We have lost our way from humanity. We have forgotten who we are and what we can do. We, the people, the only people, have the capacity for greatness. Yet we resort to petty quarrels over ideology, territory and possession. We have become greedy. Self righteous. Self absorbed. We have lost our way.

I am drawing a line in the sand. And I hope you will stand with me. This ends now.

From this day forth I will do my part to make things better, to make us better. I will speak up against violence. I will speak up against oppression. I will speak up against injustice. I will  speak up against indifference. And I will speak up against those who use division and antagonism to pit one against the other, that use words like “us” and “them”, who draw the world in black and white. And I will help them see that division makes us half of a whole. That we are all in this together. No situation has a single cause and no cause has a single effect. In all our actions, no matter how small, wel play our part. And if we all make that part a positive one, one without prejudice, ideology or personal gain, we will all be better for it.

This is not a political manifesto, not a religious doctrine, not a moral dogma. This is humanity, pure and simple: Race, colour or creed we are all sisters and brothers, born of our mothers. We are in this together and together we must make it work.

Together is our only option.


NB: There is a memorial planned for anyone who wants to gather about this event at the Scandinavian Community Centre in Burnaby on Sunday July 24th at 12:30pm.

Scan­di­na­vian Com­mu­nity Cen­tre
6540 Thomas St
Burn­aby, BC
V5B 4P9

WordPress 3: Building Child Themes – new course at Lynda.com

LEGOs used as illustration for the WordPress 3: Building Child Themes course on lynda.comChild Themes are by far the easiest way of creating a new look and introduce new functionality to a WordPress powered site. By creating a WordPress child theme you get all the benefits of the parent theme while gaining the ability to create custom styles, custom layouts and custom functions just for you.

In May 2011 I went to Ventura, California to record my new course WordPress 3: Building Child Themes for lynda.com. The course takes you through the entire child theme building process – from picking a parent theme to creating new styles and layouts, customizing and adding menus, sidebars and footers, integrating the Featured Image (post thumbnail) functionality throughout the theme and even adding custom jQuery functions. Here’s a sneak preview:

The course and its materials were created to make it easy for everyone to get started customizing WordPress sites and comes as a direct extension to my WordPress 3 Essential Training course (also available from lynda.com). Although the course uses the Twenty Ten theme as the parent theme all the code samples and techniques demonstrated can be used to build child themes from any other theme.

I’m very excited to announce this new course and I hope you like it too. If you’re not already a member of lynda.com you can get a 7 day trial membership by visiting lynda.com/trial/rand-hendriksen.

Go forth and start child theming!

 

Your Blog is Boring and Your Photos Suck – Slides from our Northern Voice 2011 presentation

Photographer extraordinaire Syx Langemann and I decided to team up for a presentation on the fine art of photo blogging at the Northern Voice 2011 conference. Above is our slide deck for you to enjoy.

Warning: The slides contain nudity.

The Open Source Quiz Show at Make Web Not War

As a Community Partner of Make Web Not War which happens in 3 days in Vancouver we’ve been asked to provide some entertainment in between sessions. Not wanting to disappoint we’re hard at work putting the final touches on our contribution: The Open Source Quiz Show.

Think you know Open Source? Feel like your brain is overflowing with trivia about all things non-proprietary? Ready and willing to prove you are the Number One Go To Person For Anything Open Source? Then this contest is for you.

We need 4 contestants, so if you feel the call of the stage this is your time to shine.

Oh, and there will be some cool prizes courtesy of Make Web Not War and Microsoft.

Drop a line in the comments, tweet me at @mor10 or the Make Web Not War team at @webnotwar and put your name in the hat to participate!

User behaviour and interaction tracking with IOGraphica

IOGraphica map of a 3 hour projectDuring Sara Summers‘ talk Get Real! Sketch, Prototype, and Capture Great Ideas with Expression Blend and SketchFlow at MIX11 the question of recording user interaction and mouse behaviour on a prototype or a real application or website. In the talk Sara touched on how you can use SketchFlow to record user interaction with active elements such as buttons, but the question concerned live tracking of all mouse movements – i.e. where the user moves the mouse to, where she leaves it to rest and generally how she navigates the site. That made me realize I never got around to writing an article on how I do this with the free art tool IOGraphica so I guess it’s time I do just that.

What does your mouse tell you about your tools?

When you build applications or websites you (should) spend a lot of time thinking about how to make the user interface as intuitive as possible. That means placing navigation and key elements in the most obvious places and make them so that the user finds them easy to interact with. But there’s an additional layer to this process, and it is one that is usually ignored unless you are working for a large company: Actual live user behaviour.

Let me give you an example: Say you design a website with the main menu on the top left and a call to action button on the middle right. This configuration would likely lead to the user first moving her mouse up to the top left and then down to the middle right. Because most web users start their web surfing by placing the cursor at the front of the web address window it means you have created a situation in which they make a left reclining V movement to interact with the site. This is inefficient, but you are not likely to ever know because all you see are the actual actions (click) on the website. To discover this created behaviour you need to actually watch the mouse move in real time or record it.

Recording what matters

If you are working for a huge company with a UX department you likely have the fancy, advanced and expensive tools to do proper real-time interaction and behaviour tracking. But chances are you’re not and those tools are both well beyond your reach and also well outside of the scope of your work process. Typically this is solved by either doing live interaction testing where you literally sit and watch someone else work with the site Big Brother over-the-shoulder style or on a separate monitor or you record the session with a tool like Camtasia for review later. Both of these processes gives you some idea of what’s going on, but they are neither time effective nor conclusive. To be frank watching people surf the web and interacting with applications is mind numbingly boring and it’s exceptionally hard to glean anything from it.

More importantly though, the real-time watching procedure doesn’t actually provide what you need which is a map, taken over time, showcasing overall trends in behaviour. In other words, it’s really just a solid waste of time. This is where IOGraphica comes in.

Using an art tool to make valuable data

My experimentation with IOGraphica, a tool created by Anatoly Zenkov and Andrey Shipilov, actually started out of pure curiosity. I had seen an article on the tool hailing it as a way to create cool art from your day-to-day work routine. IOGraphica is a simple Java app that runs on your computer and records all mouse movements, pauses and clicks for however long you want it. You simply download it, boot it up, click the play button and work normally. It has some very basic settings to turn mouse pause recording on and off and to add the desktop as a background but beyond that it’s as simple as can be. If you take a break you can hit the pause button and when you’re done you simply stop it and save the image.

What you get from IOGraphica is a visually stunning image of your mouse behaviour over the recording time period. With the mouse pauses turned on it looks a bit like a highly organized random doodle with ink spots all over the place.

The description of the app as a tool for making art is accurate – the output has an artistic flare and you could definitely print and frame it, but there is a much more important use for it: IOGraphica gives you a clear and often quite surprising picture of how people actually behave on a site or application. And because it is recorded over an extended period of time you uncover strong trends and get a very clear idea of whether your tools, layouts and designs are organized in a way that makes sense to your users.

The image above shows my interaction with PhotoShop over a 3 hour period while I was working on a redesign of a site. I recorded it to test IOGraphica, but once I saw what came out of it I realized I’d gotten way more than I expected. Looking at the map I saw that my workspace layout was quite inefficient. The largest clustering was in the middle where the actual design work took place, but there was also a lot of traffic going to the top left and bottom right corners. This is where I had my tools and layers respectively. On closer inspection I also found that I often traversed the entire diagonal of the screen from tools to layers or vice versa, the longest distance possible without making any curves.

Two things became obvious: First of all I am far less good at using keyboard shortcuts than I thought. Secondly the default position of the tools is inefficient. For quicker work and less mouse movements I should place the tools and layers directly next to one another. Now imagine what the same process will say about your apps and sites.

IOGraphica user interaction recording scenarios

Incorporating the IOGraphica tool into your user behaviour tracking (and incorporating user behaviour tracking in your overall design process) is a simple process, and it’s one you can do either locally or remotely. It requires the Java Runtime Environment (JRE) which is about a 5 minute download and install. IOGraphica itself is a standalone application consisting of one executable file and requires no install. There are versions for Windows, Mac and Linux.

Once you have the application, simply start it, choose whether you want to record pauses or not and click the Play button. If the user needs a break or has to leave the application you can pause the recording temporarily. When the testing is over simply stop the recording and save the file. You can then choose to save it just as a behaviour map or as a behaviour map with the desktop as a background. Or you can do both. Since the application doesn’t record the desktop itself you simply place the application or website you are testing in the front view and save it to get the map superimposed.

The key to making this work is to ensure that the user only uses the application or website being tested and that the recording is done over an extended period of time. Longer time means a more statistically relevant result.

Because of the nature of IOGraphica you don’t actually have to be present when during the testing, and you don’t have to do it on your own computer. You can simply send IOGraphica or its link to your tester along with the application or site to be tested and some basic instructions and have them do the actual test on their own time. Because it runs in the background and is dead simple you’ll end up with valuable data from multiple sources and you can do some pretty advanced testing without ever leaving your office.

Cool, eh? I think so.

 

MIX11 Day 2: Phone Innovation, Standards and Kinect for Everyone

A Kinect for everyone

A tag for tracking: #ms_mix11_svwe

Keynotes at conferences can be hit and miss at times. You have to know your audience, both what they want and how they want it served, your timing has to be exactly right and there has to be a strong balance between content and humour. All of these points were achieved, if not to perfection than at least to a level over and above what I’ve seen before today. And that’s not just because every attendee at MIX11 this year gets to walk away with a Kinect and the promise of tools to build Kinect applications for the PC in the near future.

The first 2/3 of the day 2 keynote at MIX11 was, not surprisingly, focussed on the future of Windows Phone 7 and Silverlight (not necessarily connected). Microsoft’s reboot in the phone market has really started to take off and because of this there is now a larger push than ever to roll out new features and capabilities for developers to build on and users to use. I’m not a phone developer so this is not technically interesting to me, but as a phone user I can say that what is being introduced in the next Windows Phone 7 update, code named “Mango” for some unknown reason, will help developers create better user experiences and more interesting applications for the phone and will provide the end user with a smoother and more intuitive experience. Both of which are great.

When it comes to Silverlight and the future Silverlight 5 release there are also great things on the way that will result in more immersive user experiences and capabilities.
But for me it was the last 3rd of the keynote that stood out. It was dedicated to Kinect on Windows. Kinect is, or rather was, a tool created to facilitate a more immersive and controller less gaming experience, but it didn’t take long for developers to realize that the true potential of the little weird bar lay not in gaming but in interaction with data in general. For my own experience Chris and I have been talking about what Kinect would do for PhotoPivot.com for some time but we’re not the only ones. And when the devices hit the street developers immediately started exploring ways of opening them up to develop new PC based applications. In response to this Microsoft is now set to release developer tools so that everyone can build Kinect based applications for Windows, which means the home computer. This is a game changer.

On stage there were demos of a Kinect controlled reclining chair, a helmet mounted Kinect used to help blind people navigate and a universal telescope. But that’s just scratching the surface. The Kinect not only makes your entire body an input device but also has the capability of taking voice commands meaning with the right application in the background it can do away with any other user interface. I can’t quite put into words how exciting this is. And to kick off the innovation every attendee at the conference got their very own Kinect to take home. Pretty cool. So expect an avalanche of crazy new user experiences using the Kinect once the developer tools are released in May.

Personally what stood out on this second day of MIX11 was the focus on open standards and web standards in general. Yes, there were tons of sessions on Windows Phone 7, Azure, .NET and other Microsoft-centric topics, but there were also a large variety of sessions on general topics like the new canvas tag in HTML5, the UX lightning series and a talk about the Web Standards Sherpa site by the Web Standards Project.

Of these I’d say the Web Standards Sherpa talk is a must-see for anyone working in the web world. Web standards are what binds us together and it’s more important than ever to keep them in focus.

Check out my continuously updated photostream from MIX11 on Flickr.

MIX11 – Day One Recap

HTML5 mattersEvery MIX conference has an overreaching theme it seems. In 2008 – my first year – the theme was the Dev-Igner – the developer – designer hybrid – and how that person was going to find a place in the web development universe. This was spurred on by the launch of Silverlight and all the tools associated with it. 2010 (I didn’t go in 2009) was all about Mobile and the launch of Windows Phone 7 later that year. This year the focus is HTML5, illustrated by the picture above. It may seem surprising, it may be confusing, but it actually makes a lot of sense.

For anyone not working within or closely associated with the Microsoft universe the seemingly sudden shift to a focus on web standards, open source and interoperability may seem as a sudden and irratic shift. But it has actually been going on for a long time. It’s just that with the release of IE9 just a few weeks ago Microsoft suddenly went from being the reason why web standards and cutting edge web technologies couldn’t be implemented to a company leading the way and in many respects leaps and bounds ahead of the competition. So with that in mind the focus on HTML5 isn’t so strage after all.

The first day of MIX in many ways felt like a formal staking out of a new path for Microsoft. Yes, there was the ever present celebration of the .NET framework and all the technologies associated with it, but there was also an inescapable and refreshing focus on open standards, forward thinking and interoperability. If there was any doubt, the keynote, and the sessions that followed made it pretty clear that Microsoft is now fully backing open source, being it based on .NET, JavaScript, PHP or whatever other code language you swear by. And that’s a good thing. No. That’s a great thing. It means we are moving forward and can start pushing the limits rather than working on making everything comply with old and broken applications. And more importantly it means us open source programmers have well and truly been let in from the cold and accepted as equals.

The sessions I attended on the first day were on infographics, HTML5 standards and JavaScript – all non-platform specific, all cutting edge, all promising. And even the Ask the Experts session carried with it a vibe of moving forward together to make amazing things happen on the web.

Not to sound like a crazy cheer leader or anything, but the future looks bright. Or to put it in my own humble terms: Microsoft has seen the light and is accepting what we have known all along: Web standards and open source is where the future lies.

I’m really looking forward to the Keynote tomorrow where there are rumours they will be announcing some cool stuff that will make our startup PhotoPivot.com even more revolutionary.

Oh yeah, if you haven’t done so yet, go to PhotoPivot.com, check out the app and sign up for the beta. That was just my little plug.

Check out my continuously updated photostream from MIX11 on Flickr.

Custom Page Templates in TwentyTen


With the release of WordPress 3.1 came a new version of the stock TwentyTen theme with some subtle changes, most importantly the move of all the loop elements in the templates (the code that runs through the database and gathers info like title, date, author, categories, content, images etc) into their own files. In the first release of TwentyTen this was restricted to just the single post view (loop in loop-single.php) but now it also extends to among other files the page tempalte (loop-page.php).

The problem arises when you want to create custom page templates. Previously all you needed to do was copy the page.php file and make the changes you wanted in the loop. But with the new system copying the page.php file alone won’t let you make any changes to the loop, just the overall structure (header, sidebar, footer etc). To make changes to the loop you have to either copy the loop code out of loop-page.php and into your custom page template or use a conditional statement along with the is_page_template() function in the loop-page.php file to detect that a custom page template is being used and then make the changes. The video above demonstrates both approaches.

IE9 Pinned Sites for WordPress

Design Is Philosophy pinned sites functionalityWith the release of Internet Explorer 9 came a new and very cool feature that can greatly enhance the user experience for frequent visitors and also increase exposure for sites that activate it. The feature is called Pinned Sites and lets you turn any website or even web page into a customized pinned item on the Windows 7 toolbar.

What I like about this feature is that it runs of non-intrusive meta tags and JavaScript so that although it only works in IE9, it doesn’t interfere with other browsers. It becomes a value added experience for IE9 users but it doesn’t take anything away from people who do not use IE9 or don’t have Windows 7 as their operating system. Progressive enhancement I believe they call it

Last Saturday I did an hour long demo of this feature and how to build it into a WordPress site. The example in question was this very site and now I’m going to show you how you can make  your own WordPress site pinnable too.

Pinned Sites and why they matter

So what is a Pinned Site in IE9? The idea is simple: You open a site in IE9, grab the tab for that site and pull it down to your Windows 7 task bar. If the site is pinnable it will dock onto the taskbar with a custom icon like you see in the grab above. When the user then clicks the icon, a custom IE9 window will open just for this site. The size and even element colour of that window can be defined by the site owner. The result is that the website becomes more like a native application on the computer and this in turn leads to increased stick time (49% for the Huffington Post), more exposure and higher returning visitor rates. Whether you like IE9 or think it’s the worst thing since sushi falvoured gum the reality is site owners will benefit from this functionality. But I digress.

Making your site pinnable

To set up basic pinned site functionality you need a high quality favicon and access to your theme files. If you have both you’re good to go.

Because the pinned icons on the taskbar are larger than the regular ones I recommend using X-Icon Editor (free online tool) to generate the icon and create it for all four standard sizes (64×64, 32×32, 24×24 and 12×12). I also recommend creating it from a high quality and high contrast PNG file so it looks nice regardless of the background.

Once  you have the favicon.ico file save it to your current theme folder so it lives alongside index.php and all the other files. Once that’s done it’s time to crack open header.php in your theme folder and get to work.

To get the favicon to work add the following code right before the end head tag:

<link rel="shortcut icon" href="<?php echo get_bloginfo('template_url') ?>/favicon.ico" />

Assuming you placed the favicon.ico file in the root of your theme folder this will automatically add it as a favicon for all browsers, even really old ones. Note that if you already have a link with rel set to shortcut icon like this you’ll create a mess. You should only have one favicon link in your theme, but most WordPress themes including TwentyTen don’t have one so you should be fine.

Next, to make the site pinnable we’re going to add five meta tags directly underneath:

<meta name="application-name" content="Your Site Name" />
<meta name="msapplication-tooltip" content="Tooltip message" />
<meta name="msapplication-starturl" content="http://www.YourSite.com" />
<meta name="msapplication-window" content="width=600;height=600" />
<meta name="msapplication-navbutton-color" content="#colour" />

The above code is pretty self explanatory. Just swap out the content values with your own preference. The msapplication-window tag controls the size of the custom IE9 window that opens when you click the button.. The msapplication-navbutton-color tag controls the colour of the navigation buttons in the window as in the image above.

With the favicon code and these five meta tags included in your header your site will be pinnable. That really is all there is to it. But you can do a lot more!

Adding Jump Lists

Pinned SitesIf you look at the image to the right you’ll see there are two custom links in the jump list (right-click on the icon) for my pinned site under Tasks: Code of Ethics and Mor10 on Twitter. These are generated with an additional custom meta tag as below:

<meta name="msapplication-task" content="name=Link Name;action-uri=http://www.YourSite.com/YourLink.html;icon-uri=http://www.YourSite.com/custom.ico"/>

Again it’s pretty straight forward: You just insert your own content and links in the name, action-uri and icon-uri variables and you’re good to go. I placed all my custom icons in the images folder under my theme and used a dynamic link for them. For the Twitter link my meta tag looked like this:

<meta name="msapplication-task" content="name=Mor10 on Twitter;action-uri=http://www.twitter.com/mor10;icon-uri=<?php echo get_bloginfo('template_url') ?>/images/twitter.ico"/>

Adding dynamic Custom Jump Lists displaying the latest 5 WordPress posts

Adding static links is all well and good, but the Pinned Sites functionality also allows you to add custom Jump Lists. This is done through JavaScript. The basic function, which is still static, looks like this:

<script language="javascript">
	function AddJumpList()	{
		try	{
			if (window.external.msIsSiteMode())	{
				window.external.msSiteModeCreateJumplist("Custom Jumplist Title");
 
				window.external.msSiteModeAddJumpListItem("Title", "http://www.YourSite.com/link", "http://www.YourSite.com/custom.ico");
 
				window.external.msSiteModeShowJumplist();
			}
		}
		catch (error)
		{
		}
	}
	AddJumpList();
</script>

Unlike the meta tags before this is straight up JavaScript which means all browsers will try to run it even if they don’t support the function. For this reason I’ve added a conditional feature detection script that makes sure the browser supports msIsSiteMode before running it.

To add new items in the Custom Jump List you just copy and paste the window.external.msSiteModeAddJumpListItem() function and change the title, link and icon attributes.

But that’s just static lists. For this feature to be meaningful it needs to have dynamic lists that show the most recent posts from the site, right? For that we’re going to use some hard coded PHP and a custom WordPress loop to create the jump list items dynamically. That loop looks like this:

<?php
	$featuredPosts = new WP_Query();
	$featuredPosts->query("showposts=5");
 
	while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>
		window.external.msSiteModeAddJumpListItem("<?php the_title(); ?>", "<?php the_permalink() ?>", "http://www.YourSite.com/custom.ico");
 
<?php endwhile; ?>

As you can see it’s a simple WP_query that calls the 5 most recent posts and then uses the title and permalink attributes to populate the jumplist. Just to state the obvious: You can use any query you want to poll any content you want here. You don’t have to stick with my boring loop.

With this custom loop inserted the full Dynamic Custom Jump List function looks like this:

<script language="javascript">
	function AddJumpList()	{
		try	{
			if (window.external.msIsSiteMode())	{
				window.external.msSiteModeCreateJumplist("New Posts");
 
				<?php
					$featuredPosts = new WP_Query();
					$featuredPosts->query("showposts=5");
 
					while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>
						window.external.msSiteModeAddJumpListItem("<?php the_title(); ?>", "<?php the_permalink() ?>", "<?php echo get_bloginfo('template_url') ?>/images/news.ico");
 
					<?php endwhile; ?>
 
				window.external.msSiteModeShowJumplist();
			}
		}
		catch (error)
		{
		}
	}
 
	AddJumpList();
</script>

Assuming you have an icon named news.ico in the images folder under your current theme this code produces a dynamic custom jump list displaying the titles of your five most recent posts, each with an icon, that points directly to that post.

Cool? I think so. Now pin my site and add the functionality to your own!