A Quick Critique of The DBP Gallery Page

As the deadline for the Dream-Build-Play 2010 challenge went by I visited the competition’s gallery once again just to find the usual lack of attention to aesthetical details on certain Microsoft sites (can’t blame MS directly here as it is a 3rd party produced thing):

dbpc2

The problems are:

  1. Naive, HTML only scaling of the full-size, widescreen screen shot to a square
  2. Too much whitespace to associate the textual details with the screen shot (compare with the amount of whitespace in d)
  3. Vertically cramped and no difference between labels and the interesting content

A quick and slightly better version:

dbpc3

  1. Only the width is fixed, keeping the aspect ratio of the full-size screen shot
  2. Less whitespace to connect the screen shot with the details
  3. Removed the redundant Game (it’s an games only challenge after all) from the title label, changed the content font weight to bold to emphasize the content and increased the line-spacing to 1.2. I guess I would reduce the type to Standard, Microsoft Old Spice and Both and the label to Challenge though.

Next, the pager:

dbpc4

Well, I guess I do not need to say anything about that…

And as bonus: The URL.

dbpc5

So, the pager uses this Value parameter, making it impossible to reach pages 6 to 9 by editing the URL directly. You just have to love ASP.NET; at least it ain’t a postback driven pager 🙂

About These Sales Figures

The article in question is MTV Multiplayer’s Xbox 360 Community Developers Still Don’t Know Sales Figures.

Let’s start with the information about the payment statistics the creators had: Interestingly the news items on the Creators homepage does not seem to say anything about it but it is in the Submission Agreement (hence known to anyone participating in XBLCG as we all read such stuff when it comes to money, right?) and in some threads on the forums, namely: Pheel in Money/Download numbers. and Jenkmeister in Can you see the copies sold?, both vague about the why but explicit about the not yet and as soon as possible.

Considering the thread Sales Figures/Data “by Match” that was sparked off by the article the “[…] the situation is more troublesome behind the scenes, Community Games developers told MTV Multiplayer, speaking on the condition of anonymity” seems unbelievable as a lot of creators do express their displease with the current situation in full publicity there. And earlier the month, Jason Swearingen of Novaleaf fame raised the issue in public, too…

In the end the article looks like an alternative to the initially planned one about how XBLCG is doing. But as the inquired developers could not provide any data about their sells the MTV Multiplayer news outlet (ya ya ;)) decided to report about a not-quite-new-and-relatively-known issue instead. The only up side of this thing is that it forced an official post from MS at Where’s My Money?

The Difference Between the System.* and Microsoft.* Namespaces?

Once again a post in response to Scott Hanselman: Once I thought the System.* namespace contains the features covered in the ECMA standard and generally platform independent. But with things like System.Windows.Forms in there (same confusing for me here as for John Sedlak) it does not make that much sense anymore…

My current whatever of it now is based on Brad Abrams post: the 3rd definition (System.* means it ships in the core redist. Microsoft.* means it is not part of the core redist.) while the 2nd (System.* indicates stuff that is logically part of the framework. Microsoft.* is the bleeding edge stuff or value-add.) seems feasible, too.

All Your Base Are Belong to Us

or: If you don’t know English, you’re not a programmer!?

I think I have to agree with Erling Paulsen: The German localization of VS.NET was/is horrible, Windows XP has a few issues and Windows Vista (which I have yet to try the Germanized version off) is said to have even more. In VS.NET it seems like they thoughtlessly translated every single word to justify their work, which resulted in such gems like References being called Verweise – not wrong per se but it is more commonly used for Links and Referenzen would have been a better choice. These, erm, weird dictionaries used in the process of l10n make it annoyingly cumbersome to follow some English 3rd party tutorials/tips.

In regard to translated documentation: I wouldn’t use it. Maybe it is because I learned programming during the dark ages when everything development related was English – it is even possible to claim I learned English through such documentation – or maybe the early days of localizations spoiled my conception of its quality. Also, new things are always available in English only first, with translations being added later (if at all), and if you want to stay on top of the technology advances you need to understand English. And, as Erling mentioned, searching for localized error messages is next to useless and retranslating to English is a rather hard task due to the aforementioned dictionaries.

In the end I only code in English: my comments, my variable names and everything else is in English and it feels unnatural to use German…

Design Patterns are not from Hell

A response to Design patterns are from hell^2!

While I can agree that design patterns are quite abused nowadays – mostly by clueless people doing cargo cult programming – I cannot leave “[…] design patterns are language dependent uncommented.

Starting with the very first two sentences of Wikipedias Design pattern (computer science) page “[…] a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code.” should result in a question like: How can something like that be language dependent?

Continuing with the Wikipedia page for the Builder pattern reveals a text that explains the pattern in a programming language agnostic way, leaving language specific implementations to the examples section where they belong.

Allow me to close this with a Singletons must die.