Wednesday, December 15, 2010

On the need for anti-dogmatism: How climate change denial, wikileaks conspiracy theories, and medical dogmas are all rooted in viral memes

As a scientist, one of my deepest beliefs is that I must be open-minded to new evidence and willing to refine or even reverse my position on issues. I should be skeptical of all accepted wisdom and skeptical of the veracity of evidence in all aspects of life. The whole method of science is based on this. Society would be a lot better if our politicians and the populace at large adopted this way of thinking too.

The opposite way of thinking is being ‘dogmatic’ or closed-minded.

Unfortunately, some people who on the surface promote openness are in fact quite dogmatic. This would appear to be the case for Julian Assange, the Wikileaks founder, who appears to strongly believe in conspiracy theories regarding the US government. A very good article in the Globe and Mail explains that he holds these views despite apparent contradiction in the documents his own organization leaked. This growing evidence about Assange’s dogmatism has served to increase the negative opinion of Wikileaks that I expressed in my previous blog post. Don’t get me wrong: In future blog posts I will explain that I think there is an awful lot wrong with US government policy (and Canadian government policy too by the way). But my assessment of the evidence leads me to believe that the policy problems are caused by inherent problems in the system itself, rather than some imagined central conspiracy. However, as a good anti-dogmatist, I stand to be corrected.

There are dogmas in every field of human endeavour. Creationism and other religious fundamentalist views are clear examples. Other examples of dogmatism include right-wing views about the ‘obvious’ superiority of the private sector in all matters, or left-wing views about the ‘obvious’ need for governments to run or heavily regulate most enterprises. Hard-held convictions that harsh punishment will solve crime problems, or that poverty can be solved by government handouts, are both equally dogmatic.

Many people are dogmatic about climate change. I personally subscribe to the view that climate is indeed changing under human influence, and that this is indeed a critical issue. My position comes from reading the evidence. But I try not to be dogmatic: Reading what the other side has to say is important, as their may be grains of truth in what they say. Climate change deniers are dogmatic, but so are protesters who believe that you can accomplish meaningful change merely by protesting.

People are dogmatic about the right way to raise their children, or how to eat in a healthy way. Unfortunately these are areas where the evidence is conflicting and changing. Dogmatists tend to hold fast to a body of evidence. An anti-dogmatist such as myself must be willing to express an opinion based on a limited body of evidence, but must be equally willing change that opinion as new evidence arises.

Widely expressed medical wisdom (i.e. dogma) holds that fats in the diet are bad and that to avoid obesity, one should reduce total caloric intake. But in fact there is plenty of evidence countering that. I personally feel the evidence expressed in the book Good Calories Bad Calories is pretty convincing, so I tend to take a view that is opposed to the medical consensus (I know doctors who agree, but I am not a doctor, so please don’t take this as medical advice). I read new papers as they come out and notice that many of them include data on issues related to the medical dogma, but which don’t directly support or reject it. Nonetheless in the analysis of the results, the tendency is to repeat the dogma; an example is in this recent article.

Judy Johnson, a psychologist in Calgary, has an excellent blog on the topic of dogmatism. Her focus is the dogmatism of individuals, but it seems to me that dogmatism can be a self-reinforcing societal problem. A dogma can be a viral meme, that spreads and self-perpetuates, and can be as damaging as any other type of virus. People who are open-minded in many respects can hold dogmatic beliefs simply because there is little well-accepted evidence either way. They also might not know about counter-evidence, or don’t have the knowledge or time to assess it. Finally, they might be embedded in a society where expressing doubts can result in ostracism or worse. And I am not just talking about totalitarian regimes here; this can be a problem for small clubs, professional societies and democratic governments. People in these societies learn to be dogmatic, and learn to be offended by challenges to the dogma that they see as disparaging their society.

Even in my professional field there are dogmas: The waterfall method of software engineering dominated for many years, even though its originators didn't believe in it and many people deep down realized it did not work for large systems. Professors, government standards and books perpetuated this method until relatively recently, and some people still teach it since they are unaware of the counter-evidence. A similar viral meme in software engineering was the idea that extensive documentation is always good. The counter-evidence is that it gets out of date and that people rarely look at it. Another dogma held to this day by a minority is that formal (mathematical) methods of specification should be used for most if not all software. Discussions of particular models of software development such as model-driven development tend to provoke strong opinions both for and against.

I think that in many cases, the only way to eradicate a viral dogmatic meme is through careful and reasoned introduction by opinion leaders of stronger memes, coupled with the promotion of an evolutionary process where the best ideas of all the competing memes (perhaps including some aspects of the original dogma) can eventually emerge as the new ‘best practice’.

The meme in software engineering of ‘test-driven development’ for example is now competing with ‘formal specification’ as a good way to obtain many of the same benefits. In my Umple research I am trying to develop an approach that bridges the gap between code-driven and model-driven engineering.

In fact, this notion of ‘bridging the gap’ I think is essential to overcoming dogmas. Most climate change dissenters for example use economic dogmas (e.g. that economic growth is overwhelmingly important) to help rationalize their position. Perhaps the pro-economy and climate-crisis positions can be bridged by promoting a ‘growth of human well-being’ perspective. This would recognize that economics and climate are both drivers of long-term well-being. The same approach should be used by people trying to overcome other dogmas widely held in their society.

I will have more to say about specific dogmas (political, economic and technical) in future posts.

Thursday, December 9, 2010

Four iOS mapping applications


I regularly use four different iOS mapping applications. They all have their advantages.

Google Maps, the built-in app, is excellent. The integration with transit schedules in many cities is awesome. It’s main weakness is that it requires a data connection, so I use it very little in foreign countries where data costs are exorbitant. I would like to see the option for ‘+’ and ‘-‘ buttons to zoom in and out: The pinch gesture is awkward to use with just one hand, such as when holding something in the other hand, or riding a bike. I would also like the option to display alternative routes, just like in the Google maps website.

MotionX GPS is my main mapping application when I switch data off, or when I want to track my path or a set of waypoints. One can pre-load maps, at different resolutions, for places one intends to visit. It has a whole host of other features that also prove useful from time to time. Its most annoying issue is the splash screen that appears on startup. Its second-most-annoying issue is that when you select a waypoint and ask to show the map for that waypoint, you cannot keep the map at that waypoint. You are in a mode where you have to select 'done', after which the map jumps back to where it was. I have also found the detail in maps to be weak in some rural areas. It does have the ‘+’ and ‘-‘ buttons for zooming that I find very useful for one-handed operation. Hint: Learn what the 'zoom level' numbers mean; these appear at the bottom-right of the map. Knowing these numbers, and the amount of detail corresponding to each, will help you when pre-loading maps.

Topo Maps is excellent for detail when hiking in rural areas. As with MotionX GPS, one can pre-download the maps of the areas one intends to visit. It currently covers only North America though, and it is of little use in urban areas since there are no street names and the maps are older government-issue official maps.


Finally, I recommend Speed. This shows a speedometer at the top and a small always-centered version of Google maps at the bottom. This can be useful to see how fast you are traveling on a boat, train or bicycle. It could be improved by showing the current time and the path one has just followed (perhaps with different colours for different speeds on one’s path). An ability to display only km/h on the dial, would be appreciated.

Sunday, December 5, 2010

The Oil Drum: A website about the science, economics, sociology and politics of energy and the environment

I have broad scientific interests beyond my profession as a computer scientist and software engineer. One of them is ensuring our descendants have a sustainable environment in which to live, and sufficient energy to continue with a reasonable style of life.

All the computer technology we develop will be for naught if society descends into conflict amid shortage of resources, dwindling food supplies, and a lack of energy to manufacture or power that technology.

One of the best resources I have found on the Internet to keep up with some of these issues is the web site The Oil Drum. This covers all aspects of energy, not just oil. It also covers broader environmental and sustainability issues. What I like about the articles is that they cover the basic science, the economic arguments, the social issues, and the relevant geopolitics.

This weekend The Oil Drum has published a superb list of their best posts from the last five years. I wish all world political leaders would make it their December resolution to read these posts.

Saturday, December 4, 2010

What do I think of Wikileaks?

I am cited today in the Montreal Gazette and Global News in an article where I helped provide the journalist with a simplified view of what the public should know about Wikileaks. My comments appear at the start and end of the articles.

However, what do I think about Wikileaks itself and its recent actions in releasing the diplomatic cables?

Overall I am very much in favor of press freedom. I think responsible journalists should be able to ethically release leaked material, where in the professional judgment of themselves and their editor the public interest would served, and where there would be more benefit than harm.

In this context, serving the public interest would mostly mean revealing wrongdoing. Harms can include damaging the ability of people to speak freely in future for fear of reprisal, compromising negotiations, fueling resentment, or putting people in jeopardy. In the Wikileaks case, the harms of dumping all the cables stand to be very substantial, and we haven't yet seen evidence of systematic wrongdoing being revealed. In any open society, there remains a need for people to communicate confidentially for many very good reasons.

The key is that professional judgment must be employed. If Wikileaks took the time to read through all the cables and discovered patterns of wrongdoing, and then, carefully ensured they released only specific documents that expose this wrongdoing while avoiding consequent net harms, then one could argue that they would be behaving responsibly.

Their current approach is not, in my opinion responsible. It is over-zealous and reckless. Where will it stop? If somebody leaked to them a large number of government employee personnel and medical files, for example, would they just as zealously release them? Where are they going to draw the line? It will be impossible to stop employees from leaking confidential data (e.g. using cell phone cameras, memory sticks, etc.), so the onus has to be on journalists or quasi-journalistic organizations like Wikileaks to behave with professional responsibility.

All professions have ethical standards. Many of these involve a duty to respect confidentiality. I will have no respect for Wikileaks until they adopt much more well-thought-out ethical practices.

An article I like that expresses much the same opinion appeared recently in the Globe and Mail. It's title is Wikileaks is Gossip not Whistleblowing.

Getting rid of modal dialogs from iPhone Calendar app

The iPhone Calendar app is nice in many respects, but Apple could make it much better. In particular, it should be possible to get rid of almost all the modal dialogs which require pressing 'done' when finished.

Right now in Calendar it takes far too long, in my opinion,  to create a new event. I often have to fumble frustratingly to set all the fields I need when standing in front of somebody, e.g. at a dentist's office.

Here are my specific suggestions:

When displaying the calendar of a day, as shown below, you currently have to tap '+' to create a new event. However iOS should allow you to press and hold blank space to make a new event appear, in edit mode. This would make it much easier when scheduling events. The position of the finger would  indicate the time of the event. Currently the default start time for new events is the next hour from the current time, regardless of the day. For example if it is 1:24 on Dec 1, and I am scheduling an event for Dec 2, the new event will default to 2 p.m. until I later adjust it. This is rarely useful.


When you click on an event you get an 'Event Details' screen as shown below. If you want to edit the event, you have to press 'Edit'. iOS should allow you to touch any field to immediately jump into editing of that field. You might argue that this would result in accidental editing, but accidental changes should always be reversible by shaking.


In editing mode you have to click on a field, edit the field, then tap 'Done'. You have to follow this process for every field. Instead, iOS should allow editing calendar fields directly, and move on to editing other fields without any need to tap 'Done'. For example, if I am in the middle of editing the title of an event, as shown below, I should be able to 'flick' down to see another field such as 'alert'. The title would be saved, the keyboard would disappear, and the control for alerts would appear. No more pressing 'done' for every field.


When editing 'Starts' and 'Ends' to set an event's time, one is presented with the 'flick wheels' interface, shown below, which can be quite nice in other contexts. However I think here a major improvement is possible. It would be better to see the context of the event, in other words a mini schedule for the hours surrounding the current time that would allow the user to drag the entire event, or just the start and end of it, so as to position it among other events on that day more easily. There would be space for this if the interface for picking the day just showed the chosen day and date, with 'next' and 'previous' arrows next to it.


In 'Calendar' editing mode, shown below, you put a check mark next to a calendar. As soon as you pick the calendar, the interaction should be done. There should be no need to  force you to tap 'done'.


Implementing all the above recommendations would very considerably reduce the number of gestures required to add or modify an event.

Friday, December 3, 2010

Usability Blooper: Alarms that go off just before midnight

I have been woken up out of a deep sleep far too many times by alarms that go off before midnight due to this blooper.

One of the options on iCal on Mac OS X is to specify that you want to 'Add a default alarm to all new events and invitations'. This is shown at the bottom of the preferences dialog below:


This can be extremely useful. For years when I owned a Palm OS device I would have new events default to sounding an alarm 15 minutes in advance. That way, I wouldn't forget an event because I was in too much of a hurry when entering it. Entering events is also faster this way.

Unfortunately this default applies to 'all-day' events, and iOS devices dutifully obey this command and hence sound a alarm just before midnight. When adding an all-day event in iCal you have to remember to turn off the default alarm. The following is the screen where you have to do this:


It is all too easy to forget about the alarm that is being automatically set. The same applies when converting a regular event to an all-day event, or loading events from other calendar programs.

This could be a safety issue: Features that can contribute to people being tired the next day could cause significant harm.

Here are the required changes: Firstly, iCal preferences should include another box below  'add a default ...'  that allows you to indicate 'except for all day events'. In addition, iOS should have an option 'Do not sound alarms just prior to midnight for all-day events the next day'. This would allow alarms for certain numbers of hours prior to midnight to sound, but not alarms for these events specified in terms of minutes before midnight.

After I converted to iOS I was awakened many times, since my previous Palm Treo behaved the way I wanted in this regard. I had to go through all my recurring all-day events, which included birthdays, holidays, annual maintenance reminders etc. to get rid of these pesky pre-midnight wakeups. I expect thousands of other people have been inflicted with the same problem. And now, there is no way I dare use the default alarm option, which is a shame.

Thursday, December 2, 2010

Three gestures I'd like to see added to iOS

Here are three suggestions for easy-to-use and extremely useful gestures that I think Apple should add to iOS with absolutely no effect on existing usage patterns:

1. Swipe up in any home screen. Currently this does nothing. What a wasted opportunity.

My suggestion for this gesture: Invoke a pre-configured action. This would allow quick access to an important app or web page of your choice, and in particular it would allow access to these without looking at the screen, a major benefit if you are driving, in a meeting. etc. This gesture should work whether you are in an 'ordinary' home screen, a 'folder' screen, the 'search'  screen, the 'recent apps' screen, or the 'voice control' screen. That way, any use of the home key followed by an up-swipe would invoke the chosen action. Actions invoked would be specified in the preferences panel; perhaps the default could be 'phone' or 'camera'. This would be an alternative to my earlier suggestion for dedicated hardware buttons.


2. Swipe down in any home screen. Same as above. Note that currently in the 'search' screen, this gesture hides the keyboard, which is rarely useful in that context.


3. Press the 'home' key and tap anywhere. Currently this behaves in a way that is not useful: As you press down on the home key, nothing happens; as you then tap anywhere, the normal tap action happen but inevitably this will momentarily have to be forgotten as it is essential for you to release the home key: as you release the home key, the home page is displayed. Or, if you hang onto the home key, Voice Control is dsplayed.

My suggestion for this gesture: Universal 'get information'. This would work as followed. Almost instantly after pressing, but not releasing the home key, all tappable areas of the screen would be graphically highlighted. Tapping one of these while continuing to hold the home key would yield whatever the app desires in terms of general information. This could be help about how to use gestures on the area, statistics, etc. iOS apps should not need much help, but many apps have a non-discoverability problem, This gesture would help overcome that. If you used this gesture in a home screen, for example, this could tell you whether the app was running in the background, give you access to settings, tell you how many times you have run the app and when it was last invoked, point you to the app's web page or iTunes page, and allow you to recommend the app to others or write a review.