Michael Gaigg: Über UI/UX Design


Recommended usage of Dojo Topic (Publish/Subscribe)

Posted by Michael Gaigg

Communication between multiple object instances can be implemented using the global messaging mechanism of dojo/topic. It's like a centralized hub for publishing and subscribing to topics that are not bound to a particular object.

While the dojo reference guide documents a good usage example, I believe and strongly encourage you to implement pub/sub with the following signature:

// widget:
require(["dojo/topic"], function(topic){
	topic.publish("/filter/changed", this, { title: "My Blog", author: "Michael Gaigg" });
// controller:
require(["dojo/topic"], function(topic){
	topic.subscribe("/filter/changed", function (sender, args) {
		console.log("Title: " + args.title + " by " + args.author);

While the topic.publish allows you to define any combination of parameters I found passing two parameters - sender and args - the most consistent and useful:

  • The first parameter is the sending object, i.e. the widget instance (this) that originates the publish
  • The second parameter is an object literal of arguments

One could use the sender to implement conditions within the subscriber. But the biggest advantage by far is that the signature is always the same and the amount and order of the arguments can be neglected. The code becomes more readable and easier to maintain.

One more note: Any widget can publish topics but only the controller should subscribe to these topics and then redirect actions back to the appropriate widgets, that is without introducing widget-specific logic at the controller level.


T-Shirt: Trust me I’m a Designer

Posted by Michael Gaigg

Here is a must-have for all design geeks out there: Trust me I'm a Designer Tee Shirt!

And believe me, it's not only a vision test, it's a test in your faith as being a designer 🙂

Btw. I'm a designer and I approve this message.

Trust me I'm a Designer Tee Shirt

Trust me I'm a Designer Tee Shirt


Follow-up FAQ from my Talk

Posted by Michael Gaigg

I've received many questions after my talk about Web Mapping Application Interface Design – Best Practices and Tools at the Esri DevSummit in Palm Springs.

Following I try to answer them a little more in depth:

I'm a one-man-show, what can I do?

It's very common that one doesn't have the means to build up a UI/UX team that covers all skill sets needed for a comprehensive coverage of all design methods. In that case I recommend focusing on your strengths (what a surprise!) and trying to grow into the area you see the highest chances for adaption and integration.
Generally wireframing is a good choice because it's easy to learn, cheap to implement and gain high interest, it's also a fundamental step in any design.
Rapid prototyping is really important too. Get to know JavaScript frameworks like jQuery and dojo, familiarize yourself with CSS and CSS preprocessors.

When is Community Maps going to go live?

Community Maps is currently in private beta, planned to be released this month (April 2013). We are working on improving the registration pages next, then potentially expanding to other programs (Community TIGER, Community Hydro, ...)

Why should I use Balsamiq for wireframing

There are plenty of wireframing tools out there - you can even use PowerPoint (download my free PowerPoint stencils) - Balsamiq just happens to be very cost-effective (US 79.- per license), easy to handle and with a boat load of controls that can even be extended (download free map controls).
I love Balsamiq for other reasons as well, see some tips and tricks that make my designer life easier.

Why not use MS SketchFlow?

Besides some pros and cons I think the biggest no-no for using SketchFlow is the tight integration with MS Blend and therefore MS Visual Studio. A designer doesn't (and if he does, he shouldn't) think in development details and best practices, code re-usability or testing. Read more of my thoughts on that subject on MS Sketchflow meets Sketchables.

Why are 3 wireframe iterations enough?

Usually I recommend 2 rounds of wireframes (more rounds are ok during proposals). If you still cannot move on after 3 rounds of wireframes this is typically a good indicator that your project has some sort of underlying problem that you should detect and address right now.
Typical problem areas include:

  • No real user need
  • Too many cooks in the kitchen
  • Poorly defined requirements
  • Undecided project manager
  • Problematic client
  • Missing domain knowledge
  • Bad designer
Filed under: Conclusions No Comments

Web Mapping Application Interface Design – Best Practices and Tools

Posted by Michael Gaigg

These are my slides from the tech session held at the Esri DevSummit 2013 in Palm Springs, CA.

The session teaches participants best practices for reviewing, conceptualizing, designing and building user-centered mapping applications in a competitive business environment. Methods, techniques and tools for improving the user experience and designing useful and appealing front-end interfaces will be discussed.


Innovative Interfaces: Future of Farming

Posted by Michael Gaigg

John Deere has done a very nice job with a video called "Farm Forward – Future of Farming". The subject is directly related to design work I'm doing right now and it's fascinating to see that - futuristic features aside - most of the capabilities like combining weather data with GIS and field scouting exist already. Love it!



Posted by Michael Gaigg

When moving domains there will be a need to replace old url's and other strings to reflect the new names.

In my case the images of my blog articles were still pointing to the old domain which didn't physically exist anymore. Result: broken images and links.

Quick Solution

A quick SQL replace does the trick:

UPDATE blog_posts SET post_content = REPLACE(post_content, 'old-server.com', 'new-server.com') WHERE post_content LIKE '%old-server.com%'

This SQL statement is perfect for updating wordpress blogs that moved to a different domain/host.

Easy and efficient 🙂


Redesigning our internal Team Site

Posted by Michael Gaigg

Paper sketch draft

Paper sketch draft

I could have titled this post "The importance of sketching" or "Paper and pencil are still hip". The truth is, I didn't even realize about the fact that I do a lot of sketching on paper, as a matter of fact I just recovered my beautiful drawing from going into the shredder. I think the beauty of sketching on paper is that the ink just flows. Sometimes you don't even know where it will lead you when you start. It keeps you minimalistic, not too much detail can be crafted on a tiny piece of paper (at least I can't).

Graphical Design

Graphical Design

Once I had the draft in hands, it was just a matter of whipping the right amount of bootstrap with some custom HTML and funky JavaScript, voila, our internal team site came to life... So you could say that prototyping can be done in HTML without the need for wireframes, I still doubt that. Without at least the genius idea on paper I wouldn't be able to code as efficiently as I did.

The coding part was only the cherry on the pie, a quick logo, a menu, a hero unit, some blocks and fancy graphics, tadaaaaa. I used PHP to create a 'controller' with content being included on the fly. Yes, good old content, still working on that piece, but no worries, I got it under control 😉

How do you design? Do you sketch/wireframe? Or straight to code?


Esri Cup 2013 – We are the Champions…

Posted by Michael Gaigg

Winners of the Esri Cup 2013: Red Bull Redlands

Winners of the Esri Cup 2013: Red Bull Redlands

Finally a team was able to break the spell, GiS (Geeks in Soccer) were beaten for the first time in Esri Cup history and I am glad to say that it was us that eliminated them in a strong semi-final game (7:5) just to pave the way into the final.

The trophy found its way to where it belongs: my office ;)

The trophy found its way to where it belongs: my office 😉

Once again the tournament was great fun and an amazing "work" event. For the first time we played indoors which is a whole different game that favors the technical, futsal-style players.


IIS doesn’t recognize .json file

Posted by Michael Gaigg

If you ever wondered why you get a nasty 404 page not found or your app is struggling retrieving a file of type .json, here is why and how to solve it.


IIS doesn't recognize file of type .json; That's because by default IIS won't serve files that aren't of a known MIME type.


Set MIME type

Set MIME type

Add a MIME type to IIS (either per site or at server level) to allow it to serve that type of file.

  • Open IIS Manager and select server properties
  • Click the "MIME Types" icon
  • Click "New"
  • Enter Extension = "JSON" and MIME type = "application/json"

You are all set!

Tagged as: , , , No Comments

The best way to predict the future is to shape it

Posted by Michael Gaigg

This is an off-topic post which is nevertheless close to my heart and should concern us all: Climate Change.

With explicit permission I will re-publicize the keynote speech given by Prof. Hans Joachim Schellnhuber (director of the Potsdam Institute for Climate Change) at the state dinner in Doha, Quatar as part of the World Climate Summit COP 18, in presence of UN secretary-general Ban Ki-Moon, UNFCCC-chief Christiana Figueres, and Qatar's head of state the Emir H. H. Sheikh Hamad bin Khalifa Al Thani, accompanied by his wife H. H. Sheikha Moza bint Nasser.

This event marked the beginning of the high-level segment of the negotiations. He talked about "the three convenient untruths" of the public debate on climate change - and about "the laws of nature" which was much applauded.

The Laws of Nature – and the Laws of Civilization

Your Highnesses,
Your Excellencies,
Ladies and Gentlemen!

If decision makers wish to adopt evidence-based strategies, they must not ignore the

That is why I am most grateful to the hosts of this event for giving me the opportunity
to provide you with several crucial scientific insights regarding the climate-change
challenge. As you all know, the former US Vice President Al Gore disseminated in
2006 the famous narrative about an “Inconvenient Climate Truth”. Only two years
later, a dubious counter-narrative started to spread, propelled by an alliance of actors
interested in the vindication of inaction with respect to climate stabilization. This story
revolves around three “Convenient Untruths”.

The first one of these reads: “There is no global warming caused by mankind.”

What is the concrete evidence? Well, among the 13,950 peer-reviewed papers on the
subject which were published between 1991 and 2012, only 24 do not confirm that
there is a major anthropogenic greenhouse effect. In other numbers, the expert
information identifying mankind as the primary cause of contemporary climate
change outweighs the contradicting one by a ratio of

99.87 % : 0.17 %.

This is as far as objective research can get: only a lie could boast a 100 %

Conclusion: Climate physics offers no excuse for inaction.

The second convenient untruth maintains: “Breaching the 2°C line will cause no
significant harm.”

What is the evidence? Well, a recent flagship report of the World Bank portrays the
dire consequences of our planet warming by 4°C or more. The Potsdam Institute was
heavily involved in this integrated state-of-the-art assessment, and even we, the
researchers, were shocked by our findings. One crucial insight is that there will be no
sound economic and social development in the tropics and subtropics in a world
without climate protection.

Expressed in simple numbers again, the thermal difference between

4°C and 2°C

might translate into the cultural difference between a failing and a stable global
society, between a fair and peaceful planet and a world torn apart by climate injustice
and the thence-triggered aggressions.

Conclusion: Moral philosophy offers no excuse for inaction.

The third convenient untruth is the most vicious one and goes like this: “It’s too late
for climate stabilization at an appropriate level.”

Various arguments – often rather bizarre ones – are put forward to underpin that
declaration of environmental defeat. One prominent line of reasoning refers to the

1 : 193.

These numbers reflect the fact that 194 sovereign nations are negotiating here in
Doha an international agreement under the UN Framework Convention on Climate
Change, and the cynics ask, why should one single nation make a constructive step
forward if the other 193 drag their feet? Because of this ongoing global “prisoner’s
dilemma”, we have already passed the climatic point of no return, they say.

What is the evidence? Well, as the latest scrupulous analysis shows, the 2°C line can
still be held if every country makes an ambitious, yet realistic contribution. It goes
without saying that disengagement will not save the world. This simple insight can be
expressed in a sentence that rephrases the legendary admonishment by John F.

“Don’t ask what global climate protection can do for your country; rather ask what
your country can do for global climate protection!”

And there are indeed many nations that pioneer the transition to sustainability or try
to break the mould of business-as-usual. Let me mention just two of them:

Germany, my home country, has embarked on a bold journey that will make
renewable energy and resource efficiency the basis of its entire economy. And Qatar,
the host of COP18, has started now to massively invest into climate-smart agriculture
relying on solar desalination of sea water. These thriving nations move forward not in
order to reduce, but to enhance their prosperity.

Conclusion: Political economy offers no excuse for inaction.

Let me approach my bottom line now. As a physicist my work is guided by the laws of
nature. Extending these laws into the realm of civilization for the sake of climate
protection I can state the following principles.

The 1st Law of Capitalism: Don’t kill your customers!

The 1st Law of Socialism: Don’t kill your comrades!

And, overriding everything else:

The 1st Law of Humanity: Don’t kill your children!

Our generations will be judged by these laws in history. Please keep that in mind in
whatever you do – here in Doha and at home.

Page 3 of 2412345...1020...Last »