Sunday, March 25, 2012

Metro in LOB apps

I was talking to some folks about Metro the other day.  For those who don't know, Metro is Microsoft's new design language for Windows Phone, XBOX, and soon Windows 8.  Without naming names, let's just say that these are people who are in charge of delivering line-of-business applications for a Large Pacific Northwest Software Company.   And the topic was how to design these sorts of applications for Windows 8.

In a previous post I talked about some of the challenges that Metro presents to the Microsoft developer ecosystem.  Now, after talking with these internal IT developers, I am more concerned than ever.

The Fallacy of Consumer vs. Enterprise
The first thing that struck me was the active debate the team was having on whether or not Metro was even appropriate for this sort of "enterprise app".  There were two serious misunderstanding here.

First was the mistaken belief that Metro is designed for consumer apps.  This just isn't the case.  While it is true that Metro made its first appearance on a consumer device - the Zune - Metro is actually inspired by the design of things like airport signage.  In other words, Metro was inspired by the need for information management, task support, and efficiency - all things that matter even more in a business app than a typical consumer app, where efficiency is less of a concern.  In fact, when I am doing Metro-style design, I often get into the same mental space I would be in when doing form design.

But there is an even more fundamental misunderstanding here, which is that there are even such things as consumer vs. enterprise applications anymore.  Much has been written about the "consumerization of IT.  As devices - led by the iPhone and iPad - become increasing useful, personal, and delightful, users are demanding that they maintain these experiences in their work environment as well.  The zeitgeist is that the tyranny of IT is over.  No more will employees put up with inferior user experience just because there is some corporate mandate.  The signs of this are everywhere, and the sooner that you as an IT developer can get on board, the better life will be for both your users and yourself.

HeadTrax:  A Quick Case Study
To show the sort of thinking that is required, let me go through a mini mythical case study of a typical LOB app.  My inspiration for this is the headtrax application used inside Microsoft.  Like many internal applications, Headtrax is basically a front-end for a database - in this case, a database of personnel records.  Everything that can be done that in some way affects a personnel record is done through this app.  As such, there are hundreds of commands spread across dozens of pages.

A typical Line of Business App
I like this example because I think this is fairly typical pattern in this sort of app.  If want to Metro-ify it, we have our work cut out for us.  But let's break it down step by step:

Step 1:  How many apps is this, anyway?
If you go through Headtrax, the first thing you notice is that it has a ton of functionality.  Everything from updating your emergency contact to extending a vendor is done in the app.  The first mental shift to overcome is in thinking that a Metro version of headtrax would even be a single app in the first place.  In the age of the phone, monolithic apps are going away and constellations of simple applications are taking their place.  Think of the Apple iPhone mantra:  "There's an app for that".  By breaking headtrax down into different apps, each app can be custom tailored to the task at hand.  Users only need to install those apps that they need.

Turning one monolithic app into a collection of more focused apps
Conveniently, many of these sort of apps already have a list of shortcuts or common tasks bubbled up to the top.  These make a great starting place for thinking about how to break up a big app into little ones.

Finding and managing apps?  There's an app for that!
Multiple apps used to be a big pain - they were hard for users to find, hard to install, hard to update, etc.  But in the age of the app store, these problems have all gone away.  Users are very familiar with the pattern of searching an app store to find the apps they want.  The app store handles access control, installation, and even updating.

The Windows 8 app store
More is not always harder
One the the common concerns I hear about making a single traditional monolithic LOB application into a dozen or more focused apps is that the development cost will be much higher.  There are more apps to write, more to test, and if the database schema or other underlying condition changes, everything has to change.  It sounds like a reasonable concern but when you go a little deeper you will see this goes away.  Consider:


  • a single project in your development environment can easily support all of the related apps.  This makes it easy to have shared libraries, classes, and data models and ensure any change causes the appropriate updates.
  • although more apps mean more apps to test, this is more than offset by the fact that simpler apps are much easier to test than complex apps.   Simple apps eliminate many of the combinatorial issues that arise in monolithic apps.  They also tend to have much simpler UI.  
  • coordination and dependencies between developers on a project is often a considerable time cost.  Independent applications need much smaller teams and can be developed much faster.  So instead of 20 developers all working on a single app, you can put those 20 developers into 5 teams of four, making 5 independent apps.  


Step 2:  Getting rid of the grids
The next most common question I get is people asking how to do tabular in Metro.  While there are several nice visual designs for grids out there that have a pleasantly clean Metro look, the first task is deciding if a grid is the correct tool at all.  In many cases, the answer is "no".

While there are some times where a grid is definitely the correct UI, many times a grid is used just because it is the easiest thing to use to show a databound view.   So how do you know if a grid is the right thing, particularly if you are not some kind of information architect?

I've found that the simplest thing is just to ask a few questions.  Let's use this grid as a typical example:

A standard tabular grid
The first question is, are there any columns we can get rid of entirely.  For example, anyone really ever need to see the detailed employee ID number?  This is probably only useful in rare cases where you need to search by ID.  And how about the date of birth?  Why is this important?  I might ask around and find out the  only people using that are the admins, planning for birthday parties.

After you eliminate columns you don't need, the next step is to ask if all of these columns are actually of the same importance.  Are they used with the same frequency and used in the same way?  If they are, then a grid is probably the right UI.  But if the columns are used with different frequencies and/or in different ways, then you are better off designing a more appropriate representation.

For example, in this case I might mostly care about peoples names and titles.  I might be secondarily interested in knowing where their office is.  Finally, I might want to know about upcoming birthdays.  Based on that, I might do a UI more like this:

A more Metro way of showing data in a grid
If I really wanted to know more detailed information, I could get that in a drill-down.  You can still sort items or do searching in this format, just like we get in the windows explorer when we put it into another view.

Concluding thoughts
So hopefully this is useful for thinking about re-doing your LOB app for Metro.  And you don't have to wait for Windows 8, either.  This sort of design is also great for the web and mobile devices.

If you have good examples of LOB app redesigns, please share them in the comments.





Friday, March 16, 2012

The Challenge of Metro

By now most people have seen Metro, the new design language from Microsoft, either on a Windows Phone or in the previews of Windows 8.  Overall, people like Metro.  It is clean and modern while also somewhat timeless in its minimalism.  It works well with touch and gestures but is also great with mouse or even keyboard.

Metro in the Windows 8 Developer Preview


So, on the one hand, this is a great time for Microsoft and Design.  We finally have an overarching design language we can be proud of, and the company has made impressive strides in getting many of its notoriously independent product groups to embrace it.   So Windows, Office, Xbox, WinPhone, and dozens of others will all be getting the new look shortly.  And there have never been more senior, principal, and even partner level UX people in the company.  

So why am I worried?

I’m worried because Microsoft has always been about the ecosystem play – the big tent – and not about the boutique.  And I don’t think the ecosystem – both inside and outside of Microsoft – is ready for Metro.

To understand the concern, let me take you on a little walk down memory lane.  Our journey starts a little over a decade ago, back in 2001, when Microsoft released XP.  At that time Microsoft create a new design language called Luna.  Remember Luna?

Luna theme in XP
Luna wasn’t really a whole new UI paradigm the way Metro is – it was primarily a visual theme, and it could be applied to existing Win95 or even Win 3.1 code with a fair degree of success.   Many people were exposed to XP as their very first exposure to a computer, so the design was intended to be bright, cheerful, and obvious.  It was not super ambitious.

And here lies the seed of our problem.  Luna was easy to implement, and hard to screw up.  As a design, it was very forgiving.  You could have controls that were not quite aligned, screens that were too dense, icons where you didn’t need them, and so on, and your stuff would still pretty much fit in.  It was a low bar, and thus was easy to hit.

Later, when we did what became Vista, we had a new design language called Aero.  This was a little more ambitious.  For Aero, we were not going after new computer users.  People already knew how to use a computer.  We wanted to make the computer experience more comfortable and stylish.   Aero added more emphasis on layout and white space.  We added more subtle visual cues.  Overall, we turned down the volume (visually) on the UI to make the workspace more calm.  We added transparency and a little animation.  It looked great.

Aero in Windows Vista
But we immediately found a problem.  The Windows design team created designs for all of the various core pieces in windows, like explorer, the photo browser, and so on.  But there were still dozens of other groups in windows making things like control panels and utility apps that had to do their own design.  And these teams really struggled.

At that time, I had a discussion with Don Lindsay, who was one of the primary architects of Aero, about the cost of the design.  Don was of the opinion that software was different from most manufacturing.  You could increase the quality of the design without increasing any other production costs.  I disagreed.

Aero was harder for teams to get right.  You had to understand about effective use of white space, which was hard for teams without a graphic designer.  You had to understand what to make subtle and what to make obvious.  You needed to understand motion.  But that was just the up-front cost.  These designs were also harder for developers to implement.  Animation is harder to code than static screens.  Old techniques like automated dialog layout that looked acceptable in Luna looked like crap in Aero.  And then there was the testing cost.  In Luna, small errors didn’t really jump out.  If a few things were out of alignment, it wasn’t so glaring.  But in Aero, even small mistakes were very noticeable. 

So truly embracing a new design language really requires a serious commitment of time and expense to get that language right.  This was not budgeted in the Vista planning process, and as a result most teams came up short.  It was even worse outside Microsoft.  Many third party developers simply did not have the time and money to properly make their products conform to the Aero design language. 
And now we get to Metro.

Metro (for those who don’t know) was originally designed for the Zune.  It is kind of an evolution of the design thinking in Media Center, Microsoft’s television UI. 

Media Center UI
Metro got its inspiration from the clean and timeless graphic design you see in posters and brochures that provide information, such as the signage in a metropolitan subway station or airport.  Hence the name “Metro”.



http://www.flickr.com/photos/everydaylifemodern/page8/

The first thing to point out is that doing this sort of design is hard.  It difficult from a visual perspective.  You have to understand a lot about typography.  Things like the weight, leading, and kerning start to matter.  Empty space, negative space, balance, hinting, flow, and so on all become crucial in that the lack of them will immediately jump out.  Most people who didn’t graduate from design school don’t even know these things exist.  Many people who did graduate don’t use them very well.   And in the starkness of Metro, there is no place for mediocre visual design to hide.

But the visual part is just the tip of the iceberg.  The real challenge is that Metro requires a deep rethinking of the information architecture itself.  You can’t just take the same information you have today and let a graphic artist “make it Metro”.  It doesn’t work that way. 

For example – here is a map of Shanghai that is showing the subway maps and stops.

Map of Shanghai
How do we make this Metro?  By doing this:

Map of Shanghai - Metro-style
Think of the process that went in to making this map.  Someone had to decide that a whole bunch of stuff that is factually accurate and even relevant to users of the map just didn’t matter.  They abandoned any accurate sense of travel time, distance, actual physical proximity, and even the actual shape of the tracks.  They decided to remove all street names, landmarks, and every geographical feature except the river. 

Doing this requires someone who is not only an expert in design, but also an expert in the domain of maps and even in the city itself.   It also requires a certain boldness and confidence – confidence to go into a meeting and convince a bunch of non-designers that all of those things really don’t matter.
So now look back at that street map.  THAT is your product now.  Who on your team is going to make it into the subway map for Metro?  Is there any individual or even set of individuals who know enough about design, and enough about your product, to make that kind of radical redesign?  And if they do exist, are they empowered in your organization to actually make that change happen?  Do you have the development team that can pull it off?   And does your test/QA team have the skills and tools to check for errors with highly polished design?  For about 98% of current internal Microsoft teams, Fortune 500 IT groups, and even ISVs, the answer is NO.

Most teams are simply not prepared in any way - staffing, budget, etc. - to pull off great Metro redesigns.  And wose - Microsoft is not communicating to them that this is even necessary.  We just need to take a peek at the windows phone marketplace to see the future.  For every app that does Metro nicely, there are about 1000 more that really screw it up and turn it into an ugly abomination.  And those are just phone apps, which tend to be a) small and b) created just for the phone.

For desktop apps, most of the apps are going to be large existing apps.  The developer is going to look for easy solutions.  They are going to want something as easy as moving from WIn95 was to Luna.  And god help us, Microsoft is delivering it to them.  I have already been exposed to PowerPoint templates that turn your current presentation into Metro.  How?  By making all of the Headings into Monocolor boxes with white text in them.  If that all people think of Metro, we are all in trouble.

Monday, January 30, 2012

Extremely Inconvenient Truths


When I was reading Freakonomics, one of the interesting and controversial arguments in the book was that the legalization of abortion led to a fall in the crime rate.  The logic was that unwanted children were more likely to wind up as criminals, and this legalizing abortion essentially caused those unwanted babies to be aborted before they could grow up into criminals.   



Shortly after the book was published, many people brought up serious objections.  In the end, the theory was largely debunked.  

However, it lives on as a powerful memes.  At some level, for certain types of people, it just makes sense, and when a theory matches expectations so strongly, people become extremely reluctant to validate it, much less challenge it.  Just based on that, I suspect that it will be a long time before this meme leaves the public consciousness.

Recently, though, I heard another argument that had some of the same feel.  I was discussing the European economy with some intellectual friends, and we were speculating on how it was possible that Germany could be so strong while other sections were so weak.  It is especially impressive given that Germany did the bail out of all bail outs when they absorbed East Germany as part of German unification in 1990 - estimated at 1.9 trillion dollars.

Germany has to deal with all of the "normal" problems of the other economies in Europe, including an aging population, relatively high unemployment, and a general entitlement culture.   Stat-wise, it seems there are no major differences...

So what is the difference?

In discussing this, there was a general sense that Germans are good workers, or have a German mindset, or german values or work ethic, or german engineering, and so on.  But this is just pushing the question down the road, making it OK, why do germans have that mindset?



At this point, a new point came up.  In the years leading up to world war II, the Nazi leadership of the country systematically went out to kill, deport, or otherwise remove everyone who they thought was inferior.  This included Jewish people, of course, but also included mentally ill, communists and socialists (and others who were not supportive of what the Nazi's considered the German way), homosexuals, prostitutes, homeless, immigrants, and "the unemployable".  It is difficult to get fixed estimates, but a safe estimate is that 10 million or more people were either killed, deported, or fled.  

So was this the determining event?  Did Germany become stronger by literally pruning off the weakest members of their population?  

Not surprisingly, it is difficult to find any kind of academic studies on this stuff.  There are many articles discussing the opposite issue - how Germany's persecution caused a brain drain of physicists and rocket scientists, and how this loss might have cost them the war.  And there is general anecdotal evidence that genetic diversity leads to a more robust population.  But there is also literature discussing culling in general, and how can be beneficial to improving the health of a herd.

We are the (healthy) 99%
A lot has been made of the fact that the richest 1% control almost 40% of the nation's wealth.  This in itself is not terribly surprising to me.  I mean, it is hardly news that rich people have money, and that it takes money to make money.   But for some reason, much less has been made of the similar statistic that the sickest 1% are responsible for 22% of all healthcare spending.  The sickest 5% are doing more than 50% of the spending.  With all of the talk about so-called "healthcare reform", are we going to see a similar backlash against the ultra-sick that we see against the ultra-rich? 

You might think that people will reject this simply because it should be obvious to anyone that only sick people spend money on healthcare, but I wouldn't count on that.  Logic rarely has play in these situations - emotion reigns supreme.  Consider the anti-corporate sentiment going on now.  I read an article recently lambasting the governor of Wisconsin for giving tax incentives for corporations to move there.  This was being characterized as a hand-out to the wealthy.  The logic that only corporations create jobs, and jobs are the only actual source of income for the populous just seemed completely lost on these guys.  Luckily for the seriously ill, most people are sympathetic to them in a way that they aren't with the millionaires.








Monday, January 23, 2012

Feminism with Chinese Characteristics



W has been - not exactly complaining, but talking a lot lately about male and female differences, and in particular actions or attitudes that I have that make her feel more or less feminine or make me seems more or less masculine to her.

I should state for background that W is Chinese, and she grew up in Sichuan in a family of pure intellectuals.  So her sense of proper gender roles is basically out of The Story of the Stone.   In this model, women are objects of beauty, art, and culture.  Their role is to create a harmonious environment for those around them - primarily the family.  Women are not supposed to be useful, in the sense of doing specific things.  What a westerner might consider a traditional female role - say, cooking, cleaning, or doing laundry - are not considered feminine in this culture.  Those tasks are very low status, and are suitable for a maid or servant.
Men in this model are basically the deciders.  They are responsible for bringing in income and maintaining social status.  They are leaders, of both men and the family, and they are expected to make the decisions for the family and rally the rest of the family around them.  As in the female case, many of the traditional western roles (such as being a handyman around the house or doing yard work) are considered jobs for servants and not particularly masculine.
I on the other hand am basically a normal American male, with a protestant work ethic underlying a liberal education in so-called feminist propaganda.  So while I intellectually and emotionally absolutely believe that men and women are vastly different creatures, I am culturally programmed to think that ignoring those differences will somehow be good for both me and the female involved.
This disconnect has led to countless misunderstandings between W and me over the years.  It started when we we first going out.  When we met, I owned a house, and I would do all of the cleaning and maintainance of the home, including home improvements like removing walls or putting in Ethernet.  This was just baffling to W.  In her mind, only a pauper would act this way.  It was particularly perplexing to her because I didn't had any special talent for these things.  I took ten times the amount of time to do the job at half the quality compared to a professional.  The idea that there was a certain satisfaction in doing the job yourself was completely alien.   I know now this pride in self-self-sufficency is a uniquely American value.

In the western world, we often think of the male female difference along emotional lines.  In short, females do the emotional work and men do the practical work.  This is not the case for W.  in her model, emotional work is really the only work that matters.  Both male and females do mostly emotional work, and the difference is just in the nature and domain of that work.
This was a very hard concept for me to grasp, and I struggled with it many times over the years.  For example:  let's say that we are planning a vacation.  My first attempt is to plan in together.  We figure out a budget, look at places to go, and start evaluating options.  This highly practical approach went over like a lead balloon.  W felt I was trying to remove emotion from this, which was true.  For her, though, emotion is what you want to maximize, not minimize.    So next I told her that she could figure out where to go and let me know, and then I would decide how we were going to fund that.  In my mind, that was being nice to her.  But this felt like I was abandoning her to do all of the work and that I was doing nothing.  Next I offered to figure this out myself, and just let her know the result.  You know - stepping up as the male and getting things done.  But then she felt excluded.  There was some fun part about planning this - some emotional warmth - and she wanted to be part of it.  After several more attempts, I finally figured out that what she wanted was for me to decide where we are going, and to completely own that decision.  But that decision I make should take all of the emotional concerns of the family into account, not merely the practical concerns.   And where she wanted to engage was in the conversation with me on determining what those emotional concerns might be.



One time we were watching a video in a Karaoke room.  In the video (whose name I forget now), there was a sequence of a man in the water, pulling a boat along, while a girl (the singer) sat in the boat holding a parasol for shade.  Periodically the man would become exhausted from the work.  When this happened, he would sit in the boat himself and the girl would wipe his brow and fan him.  This seems to me to be an example of the chinese ideal.  If no one is pulling, the boat goes nowhere.  But if the girl gets in the water and pulls herself, there is no one to help cool them down and relax.

Since the time when we met, we have met many other couples where one person is from China and one from a Western country.  I think many of them struggle with these issues, and very few of them realize this gender expectation difference is at the heart of it.

Sunday, January 8, 2012

Protector Factions: The Nöords

In a previous post I was discussing the fictional factions/races in my Protectors universe.   Now I wanted to discuss some of these in more detail.  We can start with the Nöords.

The Nöords are the magic users of the world.  They are the Protector version of elves and other such etheral creatures.  When I write stories with Nöords, I often think of Galadriel from Lord of the Rings

Galadriel
Using magic - particularly white magic or animal magic - has been a staple of female power fantasy in many forms of literature.  The Nöord faction is design to channel and enhance this sort of role play. 

Background
The Nöords are a mysterious race that inhabits the northernmost part of the protector world. 

The Nöords were originally formed thousands of years ago when individuals powerful in magic fled north to avoid persecution.  There they met up with a powerful race of magic users indigenous to the area.  Some speculate that these natives were not human – either extraterrestrials or angels – but this is all speculation.

The Nöords kept to themselves for a millennia of years and have only recently been rediscovered by the factions in the last 100 years or so.  The Nöords themselves have little need for outsiders.  As such, there are few relations between the Nöords and other factions.   Noords place a premium on their privacy and do not allow any airplanes into their lands, and also prevent satellite imagery.  Their lands, city structure, and population are all unknown to the outside world.

Anima
The Nöords, particularly the females, have a magic ability which they call "anima".   Through the use of anima, they can communicate with and control animals and have broad control over nature and the elements.  Anima comes on with puberty and develops to full strength typically by the time the woman is 24 or 25.  Nöords females who are regular users of anima are referred to as witches.  This is used in a derogatory fashion outside of Nöord culture, but is not considered insulting to Nöords.  Nöord males also possess anima but are usually much weaker.

Much anima involves creating temporary conditions known as glamours.  These glamours fade over time – sometimes fairly quickly – and can be detected by anyone who possesses any anima of their own. 

There are six general families of anima:  Ilma, Elukka, Kivi, Virrata, Liha, and Alue.  While a typical Nöord would have some nominal ability in each of these, it is very unusual for a single person to have significant power in more than one.

Ilma – control over air, atmosphere, and weather.  Common abilities include creating light in darkness, making objects glow, and changing temperatures.  More unusual abilities might be the ability to create focused blasts of extreme heat or cold, create rain or snow or even large storms, etc.    Ilma anima is a glamour and typically will not last more than a few hours after invocation.

Elukka – control of plants and animals.  Common abilities include the ability to commune with animals, talk to them, understand them, and even control them.  At lower levels it is used to pacify animals or grow impressive gardens.  This is a type of clairvoyance.  It works on humans as well, although it is considered impolite and can be resisted – typically by using ones one anima against it.   At more powerful levels mass control is possible, even at great distances.    Sometimes a large group of Nöords will get together to form a kind of hive mind, in which all of the member minds are thinking as one, with greatly increased speed and intellect.   It is rumored that the Nöord high council consults such a hive mind as a kind of oracle.  Elukka anima only has effect while being invoked. 

Kivi – control over earth, stone, metal, and other inanimate objects.  This is a form of telekinesis which allows the wielder to alter the shape of these materials as if they were clay, using only her mind.  This power is mostly used for artistic purposes, to make jewelry (at a lower level) or impressive cities of stone at high levels.  There are stories of it being used defensively (such as opening up large fissures in the ground to swallow enemies) but those are uncommon.  Those with greater power can mold larger objects and do it faster.  There are tales of powerful witches who can make golems in this manner, making a solid block of stone sprout arms and legs and then controlling it with their mind.  The kivi magic does not have any effect on living tissues, either plant or animal.    Kivi anima is a glamour and is easily detected, but has an extremely long duration.  Powerful casters can create stone cities that stand for thousands of years.

Virrata – Virrata is a strange concept.  The literal meaning is “flow”, but a closer description might be “luck”.  This magic just makes things go your way.  At the minor level this can be used for parlor tricks such as winning at games of chance.  At higher levels it can be shockingly powerful, with strings of impossible coincidences moving the wielder closer to the goal. 

Example:  during the War of Northern Expansion, the entire eastern front of the Trade Federation army was wiped out.  Just as the Noords were entering battle, the trade federation armies feel ill.  The water used in the preparation of food that was shipped to the front turned out to have been infected with rare protozoa through an agricultural accident.  By coincidence, the filtration mechanism had failed precisely when the food was being prepared the week before.  This failure went unnoticed because the officer in charge had a family crisis and didn’t come into the plant.  Finally, the medical supplies that could have saved the infected were accidently shipped to southern Africa due to a computer mixup.  This was all attributed the unusually strong virrata of the witch in service of the Noord commander.


Unlike most anima, virrata seems to be an always-on background power and does not fade away.  The wielder can increase or decrease the strength of flow through concentration but has little or no ability to direct it.  Some speculate that those in flow are jumping through parallel universes to find one that is more optimal for them, as this seems the only way to explain certain effects (particular that the facts that support the coincidences often proceed the invocation of flow), but of course there is no way of testing such a hypothesis. 

Liha – the control of flesh and living matter.  A small level this can be used to make small changes in appearance or improve personal health.  Those with more power can alter appearance more radically – a common use if for cosmetic enhancements such as pointed ears or a different skin color.  It can also be used to heal diseases or mend cuts or broken bones.  At very powerful levels, flesh can be radically reshaped.  A person can be made into a different form entirely, such as being changed into a dragon or a mouse.  Flesh shaping in this way can be very complicated and typically requires a long period of study in addition to having the native ability.  Otherwise it is quite easy to accidently kill the subject, cause brain damage, etc.  Classic transformations (into bat, mouse, fox, eagle, etc.) have been worked out and perfected over hundreds of years and these are the ones commonly learned.  Liha anima is a glamour and rarely lasts more than a few hours or days at best unless the caster is extremely powerful. 

Alue – the control of objects in space.  This anima allows the witch to move things with their mind.   At minor levels this can be used to move small objects around like a parlor trick – sliding a coin across a table or making it come up heads when flipped.  More powerful witches can move larger objects or move them faster.   Those very powerful in the art can teleport objects as well as move them.  In this way, an object can move from A to B without going through any points between.  This anima is not a glamour.  While it can be detected while an object is being moved, this tinge fades within a few seconds.

Most non-Nöord scientists believe the alue anima is actually manipulating the fabric of spacetime to create apparent forces.   Objects are not so much pushed as pulled to their destination.  Teleport also seems to work by shrinking the object into a dimensionless point, then moving the point to the new location, and then expanding it again.  Even a small object the size of a coin creates a loud pop at its new location when teleported due to the supersonic shockwave caused by the object suddenly appearing in space, pushing the air out of the way.  Teleporting a book under the wheel of a car will cause the car to flip over onto its back, again from the force of the extremely rapid expansion.  Because of this, alue anima is the most common magic used in military actions. 

Appearance
Tall and thin, with pale to white skin and long blond to white hair.  Females average 6’ tall, males around 6’6”.  Eye color can be blue, green, violet, or (rarely) black.

Another Nöord-looking female from a movie not quite as good as Lord of the Rings

Nöords do not wear make-up.  Hair tends to either hang naturally or be bound with simple braids. 
Nöords frequently use their powerful magic to alter their appearance.  Simple magic can create effects such as a light glow that surrounds the person or sparkles in the skin or eyes, or changing hair, skin, or eye color.  They also use charms that make someone look either extremely beautiful (or ugly), look like someone else, or otherwise disguise appearance.  Those that are most powerful can radically change someone appearance permanently or temporarily.  Adding wings or elongating the ears for an elfin look are popular, as is transmorphing into an animal.

Clothing Style
Nöord females tend to wear robes or gowns of various kinds.  Animal materials such as furs and feathers are common.  Fabrics are often decorated with natural materials such as pearls, gems, shells, or animal teeth.  

Magic glows, color changes, and/or winds are common charms that are added to clothing and jewelry.

Traditions
 Most of the Nöord traditions center on the role of anima.  Almost all Nöords possess some anima, but a select few are extremely powerful.  If someone is born with no anima, they would be an outcast and would likely be expelled from the land of the Nöords.

Most mating among the Nöords is done for Magic.  Nöords are serially monogamous and pair-bond from the time of pregnancy until the child is weaned. 


Friday, December 23, 2011

Learning to Program

I just finished teaching the senior seminar in Advanced Game Design at Digipen University here in the Seattle area.  For those who do not know, Digipen is an accredited four year university that offers BS, BA, and BFA degree programs.  The unique thing about the school is that they focus the curriculum and career counseling entirely around the video game industry.   Now that the class is over, I have been thinking about how to teach game design to the current group of students.

When I first accepted the Digipen position, it had been several years since I had taught anything, but I actually have a long history of teaching.  The first job I ever got a paycheck for - back in 1983, when I was only 15 - was teaching computer programming to kids.  It was considered peer instructing.  Classes were taught on the Atari, in Atari Basic, and mostly involved PRINT, GOTO and FOR/NEXT as I recall.  In the advance class, I also taught video game programming.  You couldn't do much game-wise in Atari Basic, but I did have them make a little ASCII tie fighter (|=0=|) that was chased around the screen by two  space mines (*).  It was simple, but it had all the basics.  Reading user input, updating the enemy, detecting collisions, keeping score, and the notion of levels.  A week of classes for a kid was around $40, I recall, taught at the local computer store (EBM).


This was enough to make most kids happy, but some kids really wanted more.  Unfortunately, doing more on the Atari meant jumping into 6502 Assembly language.  There was no such thing as C or other high level languages at that time so it was assembler or nothing.  And for kids that merely wanted to move some sprites around the screen, learning the ins and outs of accumulators, registers, display lists, ANTIC, CTIA, and so forth was way too much of a wall to scale.

I didn't have that problem.  My life in computers started at a much lower level indeed.  My first computer was a Bell Labs CARDIAC.



The CARDIAC was a computer made entirely out of cardboard.  In fact it wasn't much of a computer since it essentially used YOU as the CPU, and you programmed it by first writing and then decoding machine code yourself.  I am not sure how old I was when I got it - probably like 8 - but I know I loved it.  I actually created a tic-tac-toe program for it, which I would be willing to bet is the most complex program ever created for this "device".   I remember spending weeks trying to figure out how to "encode" the state of the tic-tac-toe board, and that first amazing rush when I came up with an encoding which worked not only for storing the game state but which could also support the game logic.  That was probably the thrill that led me to continue my pursuit of programming in the first place.

I begged my parents exhaustively for a computer, and eventually I got my wish.  My dad bought me a HeathKit ET-3400 microprocessor trainer.


Because this was a HeathKit, the first thing I had to do was solder all of the pieces together.  I got this for my 4H electronic projects, so I was meticulous with my soldering.  I remember when I entered it into the local fair, one of the judges thought that it had been soldered by machine!  I was very proud.

You programmed the HeathKit by entering the machine code instructions in Hexadecimal using the keypad.  It sounds almost crazy now, but this was so much more high tech than the CARDIAC that I was in heaven.  After getting all of the self-tests and everything working, the first thing that I did was write a program that would like the user enter any two numbers and present the sum of them.  I proudly showed it to my Mom and sisters and asked them to try it.  My first sister entered "16" and "34".  She was not impressed when the answer came back as "4A".  Apparently she was expecting "50".  I quickly tried to explain hex vs. decimal, but the moment was lost and she wandered off.  My mom was still a good sport and suggested "200 + 100".  I quickly converted to hex (C8 + 64) and entered them for her.  The answer came back as "2C", which I translated to "44" for her.  Again, she was not impressed and was apparently expecting more like "300".  I again quickly explained that the maximum number I was displaying was 255, and anything more than that would wrap around again.  300-256 is 44, so the answer was correct!  Again, the moment was lost.  My mom smiled in a sort of pleasant yet distant way and went about her work.  In the years and decades to come, I would see that smile many more times.

I guess I am thinking about all of this now because I wonder what it is like for kids nowadays who want to use computers.   On the one hand, it is so easy now to get something on the screen.  There are lots of tools - from Kodu to Codea - that let people make games with little or no programming.  No more sweating over the hot assembly language.  But when it is so easy to get beautiful graphics on the screen, are people still going to be motivated to learn how things work under the hood?

Since those early days at EBM, I have taught many students in a variety of different roles.  In working at Microsoft Research, I would often teach classes in interaction design or game design for students in China and Japan at a variety of Universities.  I rarely found a student who had a deep understanding of how computers worked.  That is, how you can make a machine that can compute something.  For all intents and purposes, it is all just magic to them.  I even meet many supposedly hard-core computer science graduate students that cannot describe how to make a full adder out of logic gates, or really explain how a computer can talk to another over a wire.

The real question is - does it matter?  We can accept that a composer does not need to know how to play an instrument, or that a pianist doesn't need to know how to make a piano.  But does a pianist even need to know how a piano works?  I honestly don't know.  It bothers me when I see people who spend all day working on computers but who fundamental treat them as magical devices.  But a lot of people treat flush toilets the same way.  Does it really improve the experience to know how the sewage collection and treatment system works in a major metropolitan city?   Does it matter for the user?  Does it matter for someone creating a better toilet?  Perhaps not.

Japanese are way more advanced than us in the toilet department


But perhaps so.  I mean, people with more knowledge of the sewer system probably use less water.  They probably are less prone to dump harsh chemicals or strange objects down the drain.  Maybe it just makes them more responsible.  Maybe you need to have a deep knowledge of the sewer system to design a better toilet.




Thursday, December 15, 2011

The Protector Universe

For the last decade or so, W. and I have been kicking around the idea of a massively multiplayer game designed for female players.  The high concept is that most traditional video games are designed to appeal to the base instincts of males - killing things, gaining power, and collecting treasure - and have been very successful as a result.  Most games targeted to females, however, have tried to pursue their noble qualities -things like cooperation, art, and nurturing.  I think this is one of the major reasons that these games have failed.  What if instead we designed a game for the base instincts of females?  With this thought in mind, I started working on a game where the primary gameplay involves looking beautiful, gaining the attention of high-status males, and stabbing your friends in the back.  Our working model for the game is "Protectors" - named after the high-status males whose attention - and whose protection - you are pursuing.

I will discuss the gameplay in more detail in future posts, but for today I wanted to share some of the work   I have been doing on the background environment for the world.

Genesis of a new World
Originally my plan was to set the game in the modern world.  This seemed easy if for no other reason than there is a lot of content all around us to use.  In addition, a modern setting has the potential to have tie-ins to the game for real products.  I mean, maybe gucci would want to place some paid content into a world that is based on fashion, right?  But there is a problem:  the modern world is no longer a place where females can pursue female power.

This is not the feminine mystique I had in mind...


Now when I say "female power", you might think that women have never been more empowered than they are now.  And if by "empowered" you mean able to have freedom of choice and opportunity in their lives and have personal control over their destiny, than you would surely be right.  But while feminism has been fairly successful at this, it has done so at a tremendous cost to the sort of female power I am talking about - what we might call, the power of the purely feminine.  One of the ironies of feminism is that it really just allows women to act like men.  They can take care of themselves, have jobs, and be the man of the house.

But what about a woman who doesn't want to work?  Who wants a male to take care of her?  This is just no longer culturally acceptable.  To be fair, the pampered and powerful female has always been something of a myth - not unlike that of the Rambo-like uber-warrior.  But with feminism, it seems that even the aesthetics of this have fallen from favor.  Just compare the girls in the James Bond movies from the 60's with those of today.  In the 60's, girls were delicate objects of beauty that needed protection.  Nowadays, the woman act just like the man - shooting guns and doing kung fu.  There is no place in modern society for the sort of female fantasy I wanted to pursue.

So I started looking at historical periods to see which of them might be the best match for this.  I considered many - from ancient China to French Court - but in the end there was not a good match to be found.  Each period had some advantages and features but just as many disadvantages.  Was it really the case that history had more periods that leant themselves to male fantasy than female?

That was when it occurred to me there was also no good period for male fantasy.  That is why most of the video games are not set in real times, but are in fact in some alternative universe that is more suitable towards this sort of extreme role-play.  Games like World of Warcraft or Lord of the Rings take place in earth-like fantasy worlds populated by elves and dwarves, by dragons and ogres.   Even if they are like other places or based in real places, there is still a tremendous amount of fantasy added in.



This fantasy is important in another way.  It establishes a morality and a set of social norms that allow for "heroic" action.  Whereas in real life killing strangers and robbing their corpse would be unimaginable, in the world of the game such things are rewarding.  This lets the males fully indulge their fantasy without feeling guilty or fearful of judgement.

With this insight firmly in mind, I began to develop a new sort of mythic fantasy based on my notion of female fantasy.

The World of the Protectors
Like Tolkien and many others, I based my world on an exaggerated extrapolation of our own.  Since I already studied world history looking for different aspects of feminine power, I already had many of the components.  I just needed to composite them together into a single form.

For my basis, I took our current world with our approximate current land masses and countries, but moved them into an alternative universe.  This could be a parallel universe to our own, or it could be our world but a thousand years in the future, where some things have advanced but others have gone retrograde.  I actually prefer to think of this latter case, but there are advantages to leaving it ambiguous.

In this new world, most of the countries have collapsed, leaving 8 large nation-states:


  1. The Tang Dynasty - being present-day China.  Their core value is perfection, and they will spend enormous effort for the ultimate piece of silk, porcelain skin, or perfect way to prepare a cup of tea.
  2. Neogami - being present-day Japan, Korea, and some Southeast asia.  Their core value is technology and the power that comes from controlling it.
  3. Saint Stephan - being Russia and most of Central Europe.  Their core value is occult power.  They worship deities that are ancient and secret.  Here is where you find bondage and discipline, witches, warlocks, and vampires.
  4. The Trade Federation - being most of Africa, India, and a few other areas.  Their core value is wealth and making deals, and nothing is worth more than a beautiful woman.  They have an elaborate caste system which makes everything more complicated.
  5. The  Nöords  - being northern Russia into the Arctic, Norway, etc.   Nöords are the magic users of the world.  They keep mostly to themselves in their frozen domain, where their perfect the study of anima - a strange kind of nature magic.
  6. The Merovingians - being most of western Europe and England.  There core values and chivalry and wit.  This is an area filled with Kings and their courts.  Being well-educated with sophisticated taste and razor wit is crucial if you want a seat in the parlor.  
  7. Valenti Style - being most of Portugal, Spain, Italy, Greece, and Morocco.  Their core value is fashion, and the power in this area is in the leading fashion houses which create almost everything people see, hear, read, watch, and wear.  Life is a party and anything goes - as long as you don't do it wearing anything from last season.
  8. The Holy Kingdom of God - being most of North Africa, the middle east, and swatches of Southeast Asia.  The core value here is the Will of God, which dictates everything else in life.  They practice a single religion called "the Faith"which is the supreme power in the country, beyond any secular institution. 
Here is a loose sketch for reference:



Each of these regions has its own history, culture, fashion, and morals.  Each also represents a different aspect of feminine power.  Just like in World of Warcraft I might have the agile elfs vs. the strong dwarves vs. the clever humans, in Protectors we have the ultra-sophisticated Tang, the playful Valenti, and the earthy women of the trade federation.

Over the days ahead I will share more details about each of these societies - their history and fashion.  Feel free to share your comments and tell me what you like and don't like.