Saturday, February 21, 2009

Much Ado About Notifications

Usable for whom? Useful for whom?

If you haven't seen it, here is our new notification system for Ubuntu:


Are You Bringing Anything to the Party?

So what does this new notification bring with it?

It is most certainly adding a degree of aesthetic[1], but is that enough to warrant a completely fresh body of code? Is that aesthetic so completely radical that it is entirely unlike already existing projects?

I ask this because it appears that Mr. Shuttleworth is not quite keeping on course to what he has been blogging about. If merging is the key, why start yet-another-notification-library? Is it not a viable option to provide some sort of branch of an existing project and build off of it as an experimental branch? This would probably run along the lines of what Scott James Remnant most interestingly offered up as the notion of a 'concept distribution'. Aaron Siego has also commented on the 'private' design[2]. Arguably too, a little Googling reveals another relatively interesting notification project in Mumble - already with similar aesthetics. Finally, we can't avoid looking at duplication and overlap with Growl that might provide some synergy and a strong developer starting base.

Above and beyond aesthetic, one must then ask what else is gained?

Is this a spawned feature tightly bound with online presence? I am fully aware that in our uber-geek culture, being 'online' is vital, critical, and in some cases, 'equivalent' to many 'real life' existences. To this end, perhaps a notification system is vital when coupled with the apparently high priority of presence states when considering the nature of our current culture. Is it vital to an audience outside of our community, however?

Does the 'yay yay rah rah new notifications!' system bring anything further to the table other than a minor aesthetic difference and a discussed missing element of clickability? Is it that much different to the existing system to someone on the outside world?

Who is Ubuntu's declared audience and will they find this a must-have killer feature?

If your answer is "I have no clue" and "probably not", the ultimate result is that this is possibly yet more of the same poorly thought out and ill "That would ROCK" or "YES BLING!" mentality that we have seen from the Ubuntu art and design 'thinking'[3].

Does this notification system need to be a killer feature? Hell no. Are there other features that might take precedence considering the value added by this feature versus the amount of attention it would require to develop it? Hell yes.

Prada or PeeWee Herman?

This discussion ultimately comes down to an undercurrent that is running beneath not only our outwardly awkward art and design decisions in Free Software, but almost every aspect of our design process: the audience. The audience that develops the software and implementations is, simply put, an extreme minority. Triply so when you consider the holy trinity of Free Software, Developer, and UberGeek.

What we have in spades are extremely high level minds collaborating and associating and creating. Brilliant coders. Visionary thinkers. Clever hackers.

Taken outside of that context however, only the third factor - the UberGeek - repeatedly manifests itself to the public. It appears as though every single decision we make reflects outward as UberGeek; art and design oopsies, humour in-jokes, slang, lingo, attire - everything.

I'll end this discussion with a Jacob Nielsen paper - Bridging the Designer-User Gap.
More commonly, designers at this level are core members of the larger target audience. Open software often falls into this category: designed by geeks, for geeks. That's why Linux, Apache, Perl, and many similar products have been so successful — at least as long as the audience remains a group of technology-obsessed users. Of course, these same products don't stand a chance of growing their user base to include ordinary humans.
What is this saying about audience experiences? Are we expecting the remaining Jakob's "ordinary humans" to gravitate to the concepts and designs? Gravitating to the notion of Free Software is one very accessible aspect, but expecting those "ordinary humans" to get excited about "You have mail"?

In the end, I find the notification system much ado about nothing - rather akin to the new GDM due to land shortly - strange 'design-by-amoeba' with little attention being given to the communication factor[4]. Blind fingers stretching forth grasping at something - anything that will yield dividends. May this addition not end up with the other design-and-drop Ubuntu projects[5].

Thank you all for reading.

[1] Most notably the rather awkward padding that is a direct byproduct of assuming mathematical centres automatically equate with perceptual centres of gravity. Hopefully that will get fixed.
[2] Let me be extremely clear on this point - I am a huge supporter of experimentation. I am a huge fan of innovation. Experimentation clearly does not equate with innovation in this instance. Further, this is not a drag-down of the most talented individuals that coded this feature but rather the sum of all processes that arrived at the will to design it. I'd also add that I suspect Mr. Shuttleworth is simply tired with upstreams. They are clogged up with political flotsam and power struggling jetsam.
[3] I dare anyone to write a script that counts 'bling' or 'rock' in Ubuntu related postings. Last time I looked 'bling' was a tacky dollar symbol encrusted with cubic zirconium and 'rock' was something that Vanilla Ice and Twisted Sister wanted to do.
[4] "To design is to communicate clearly by whatever means you can control or master." - Milton Glaser
[5] Without a holistic design pattern established first, all of it feels like droplets of rain that eventually spill off of the glass table. Historically, we have seen it with the custom UbuntuLooks GTK engine - where development ceased after its initial effort. Recently, the USplash has been chittered about being dropped in favor of Plymouth - again probably due to limitations. Even beyond Ubuntu we have stalls and staleness with other projects such as Compiz.

Thursday, February 19, 2009

Life of its Own

Well... thanks to Luis de Bethencourt and Richard Querin, the little video ditty that I squished out has sort of taken on a life of its own.

I went to bed last night gobsmacked that some seven hundred people had taken minutes out of their lives to view it. Today, the view count is up over two thousand. Stunning.

Thanks to all of you for your interest. It has been, as always with this sort of thing, an amazing introduction to many, many people.

I am exceptionally glad at some of the renewed interest in Blender for non linear editing on Free Software platforms. Here is a big thank you to everyone that has helped to draw attention to the application.

I am but the sum of your clicks...

Sunday, February 15, 2009

Free Software Creativity Amateuritus

I'll say it. Art, photography, and design tools in Free Software are absolutely amateur in every capacity.

There is no way out of it. They stink.

If it is Inkscape, we have hideous banding in gradients. We have completely abhorrent and unacceptable performance because apparently we only use Inkscape to create garbage 22 pixel icons. We have a distinct standstill of technological progress such as gradient meshes because we are a slave to the SVG specification.

If it is GIMP we are still saddled with eight bits per channel colour depth in 2009. We have completely disgusting performance that again makes anything beyond the above pathetic 22 pixel icon burn out in frustration. We have clunky filters and effects that would make those web pages from 1988 cringe.

What is the root cause of this absolutely unacceptable state of affairs?

Who actually believes that these tools could fool anyone into believing that they are useful?

Here are some demonstrations / observations:
  1. In GIMP, open up a modest sized printable picture - perhaps 10000 pixels square. Pretend for a moment that you were an artist seeking to create a wash along the background. Try a small brush of around 300 pixels. Paint a stroke. Turn GIMP off and give up because you can't actually create anything with a natural speed.
  2. In Inkscape open up a simple HD sized image - say 1920x1080. Create about six shapes that cover the size. Blur them out. Zoom in to work on detail. Quit Inkscape because it simply can't perform at even a primary school level.
  3. Install a typical typeface library of 1500 known face families. Start Inkscape. Give up on Inkscape while it takes fifteen seconds to boot.
All of this is absolute rubbish. I'm sorry.

Once again the 'lets-make-something-for-everyone' has yielded an application that suits no one. There is no reason to begin learning these tools if they will not empower someone to take their ability to the next level.

And why does this happen?

I'll offer up an example by way of an application that shall remain nameless. I have been avidly following the development of this application for some time. Before a single line of code was written I was able to see that the application was an utter catastrophic failure. It had already relegated itself to the land of amateuritus forever. Why?

All design must define an audience. If this unstated application had properly defined an audience, the individuals involved may have bothered to research just what that audience requires. Perhaps they would have even bothered to learn what the most simple aspect of the task at hand was and started with that. Instead, they blindly started coding...

Our smug culture refuses to believe that there is value in researching just what an audience requires and why we would want to pursue a particular course of action. How long has Inkscape been in development now? How long for the GIMP?

This isn't a proprietary problem. This doesn't have to do with vendors that don't release specifications. This is a Free Software problem.

If we truly believe in the ideals and goals of Free Software, we had better take a long and hard look at just how to negotiate the reality of our most dire situation.

Before Stallman was able to build a Free Software stack, he started with the tools that were required to build that stack - the compiler, the linker, the editors, etc.

As we try to usher in the next era of Free Software, we have skipped out on developing the tools to create that era. How can we deliver high quality printing without the technology being present to perform spot or CMYK? How can we create top shelf photography to flesh out our distributions if the most mature compositing and layout application is locked into an amateur set of fixed bit depths? How can we design the interfaces of tomorrow when the animation previsualization tools of today are missing?

What is the hypocrisy of saying 'Come join Free Software' when we are using proprietary systems to design them? Worse, we accept it.

Let's not put the cart before the horse and focus on getting these tools up to professional grade quality. Please stop the absurdity of amateuritus.

Postscript: None of this is getting better. The developers of GIMP are gleeful with hitting sixteen bits per channel when in reality the bit cap needs to be lifted. They probably don't even know why. Inkscape has had countless bugs filed against it for performance, and nothing changes. It is almost enough to drive one to walk away from it all. It's just sad. It is as though all of our tools were designed for a myopic little cruft of half baked and untalented icon 'designers' and icon 'artists'...

Wednesday, February 11, 2009

Right Where it Belongs

This is a little sort of challenge-the-self project. Thanks to all of the people that poked, prodded, and ridiculed me into attempting this simplistic foray into the unknown. I'd list you all here, but alas, I may miss one and that would not do each and every one of you justice.

Here is to you, my Free Software comrades.

If you find this interesting, you may be also interested in some Canadian music videos I participated in. You can find that link here.

Gory Details:
  • Created entirely on Free Software.
  • Motion footage shot on a $160 dollar Kodak Zi6 portable video fixed lens recorder. No focus. No zoom. Nothing.
  • Footage edited, composited, and visually affected with Blender ( http://www.blender.org )
  • Footage shot over the course of approximately two hours at a local park.
  • End product produced in approximately four hours.
  • Exported and encoded using ffmpeg at medium - low quality levels.
  • Tail tag titling generated using Inkscape ( http://www.inkscape.org )
  • Tail tag typeface is LondonBetween ( http://tinyurl.com/br7lf3 )
The audio track is "Right Where it Belongs V2" as presented on the http://remix.nin.com website. The track can be found at http://remix.nin.com/play/mix?id=647.

Unfortunately there isn't an explicit license given on the remix site. As such, I'll do my best to follow along the CC guidelines and credit the author of the music to Trent Reznor. The best license information I found on the site was the FAQ. The relevant section is quoted below:
Q: Can I choose to not make my mixes available as MP3 downloads?

A: No. This is a (gasp!) music sharing community, and by uploading your remixes onto this site, you are agreeing to let other users download it, share it, and enjoy it at the quality you chose when you encoded the file.
Thank you for taking the time to view this piece. The YouTube HD 720P version is available here.



Once again, I am but the sum of your clicks. I suppose I am also the sum of your views now too...

Tuesday, February 10, 2009

Yes, It is a War

So people, here we are, living happily in 2009. You buy a piece of hardware. Hardware occasionally has firmware. You go to your happy vendor x and download a firmware. Oops...

First you are greeted with a "Your operating system or browser isn't supported".

Second, you find that all of the firmwares are in .EXE format only.

Third, you try the online chat module and get "Your operating system or browser isn't supported".

Fourth, you change your user agent to report "Internet Explorer" and it works. How odd.

Fifth, you have a long chat with a tech support person that does the typographic rendition of smiling and nodding.

Sixth, you send off an email:
I recently purchased your xxx. It is a wonderful product.

However, when accessing Kodak's website for a firmware upgrade, I was shocked to see that there were no raw firmwares provided.

Instead, Kodak has chosen the absolutely abhorrent decision to lock the firmware into a binary executable format. There is _zero_ need to do this and worse, it is forcing your customers into particular operating system / platform.

1) It should be understood by Kodak that there is absolutely no reason to provide a firmware in an executable self-extracting file. If Kodak insists on doing this (and accepts the liability of possible security exploits associated with executable files etc.), Kodak should _also_ provide a raw firmware file.

2) It should be understood by Kodak that by wrapping the firmware file for a piece of hardware up in an executable file format they are discriminating against their customer base. Kodak is effectively forcing their customers into using a particular operating system in order to purchase and use their hardware. This is, again, myopic on the part of Kodak.


Seventh, you get this back:
We are glad to assist you with that and we apologize for the inconvenience.

Troy, please be advised that all of the firmware updates for our digital cameras are always in .EXE format. Other than that, we are very sorry but we cant provide you any file formats for the firmware as well as for the raw file of it since this is already considered business proprietary information and we are not able to release that information to the public.

It is time we all stand up.

*** Update as of February 11, 2009 ***
Here is a reply from Canon. Their binary blob firmware is also wrapped in a ridiculous self-extracting executable format.

Your e-mail has been forwarded to my attention for response. From what I understand, you are unable to extract the firmware update file as the operating system you are running does not support the compressed file types.

We thank you for taking the time to relay your concerns and feedback to us. Please be assured we have forwarded your comments to the appropriate Department for their information.

As stated in the End User License Agreement for the firmware update.

“No updates, bug-fixes or support will be made available to you for the Software”

“Canon, Canon’s subsidiaries and affiliates, their distributors and dealers do not warrant that the functions contained in the Software will meet your requirements..."

For these reasons, Canon Canada Inc. is unable to modify the manner in which the firmware update file is provided. If you do not have the equipment necessary to perform the firmware update as it is currently provided, we invite you to forward your EOS 50D to our Service Department to have the firmware update performed for you.

Sunday, February 8, 2009

Resurrecting a Patch

UPDATE: As of December 3rd, 2009, Blender 2.5 has made it possible to animate every single attribute. This includes the compositor. This post is now redundant! The video has been removed as a byproduct.

Quite a while ago I attempted to patch the directional blur node in Blender. It was strictly a need-for-self project, but I thought I would follow through and publish the patch. My coding skills are well rusty and barely adequate to begin with, however, I managed to get it to work.

Since that time, the patch thread has long since been closed by Ton, the lead Blender architect. I decided today, after an interesting chat with two of the key sequencer devs, that I would attempt to illustrate the usefulness of the patch with the hopes of getting it included into Blender proper.

The following video is of absolutely sub-standard quality. It is using the now clichéd godray through text approach seen in about six hundred thousand and thirty two Hollywood movies. If you visit YouTube with this link, you can watch it in HD 720P.

If this were properly done, the godrays would probably be slid through an opacity map to add some complexity. Obviously the base text would be far more highly crafted. Alas, I had but thirty minutes to whip this up.

Thank you all for reading.

The original patch thread can be found here.
Boring technical details: Composited in Blender. Elements created in Inkscape. What would a clichéd Hollywood effect be on text if we didn't use Trajan?