Because everyone does it

Reading the excellent article on (well, against) the hamburger menu made me realise there is a huge trap (or emergency exit to some) in any discussion on design (or standards, rules, behaviour … pick your favourite) — one phrase will stop the flow of creativity and divert the focus from the original objective.

“Because everyone does it” is a cheap double-edged sword to underline your point in lack of a better (if any) argument.

“Because everyone does it”, when not ignored, is the simplest way without offending someone personally to bring  any discussion to a new level. Yet down, not up.

To KBO or not to KBO

(KBO as in “keep buggering on”, like Churchill used to say)

 

Do you sometimes find yourself wishing you wouldn’t have read something? Today, I did, here.

And I really stopped dead in my tracks in every other sentence because of the utter preposterousness, (maybe due to the) lack of depth, and the crying urge to give all those people a high five. In the face. With a chair.

All in all, it’s a typical snapshot of the world situation. All the people we used to turn to in need of an answer now have no one to turn to themselves. BECAUSE they’ve been brought up by the system (and have largely benefitted from it) they’re now putting on trial. Only this time it’s colleges. Of course, they’re already through with kindergarten, elementary and high school, now they’ve nailed it, it’s colleges! And as much as I’d like to be totally ironic now, I’m so-not-gonna-be it. Because there is a serious problem at hand here, which is fear. Fear of change. Not mentioned in the article though. Not as such.

And there’s something else: The permeation speed of knowledge (=processed information) inside most companies is (at least) by an order of magnitude smaller than the (both inside and outside) emergence and transformation of new information — because there are insufficient connections (for a number of reasons, which I think are not necessary to explain, just look at what’s going on at your workplace). Also not mentioned in the article.

Sometime they’ll give a change and nobody will come — then change will come to you anyway. Those who do not actively seek change, who do not scrutinize their organisations and the processes therein in order to enable an evolution or revolution, will face the hardship of all too-rigid corporations. It’s puzzling a CEO can utter “It’s not the big devouring the small, it’s the quick devouring the slow!” without getting it himself. I mean, really getting it and acting accordingly.

Hence, what needs to be done? Employers must re-think their organisations and processes. Employees must be connected. The advantage of having knowledge your competition doesn’t yet have is useless when is hasn’t permeated the company. A team of specialists is superior to an equally-numbered team of generalists. Then the imperative is to create ways allowing specialists (preferrably the best in their field) to find their place in the team (Hint: Throwing them in cold water is a bad idea, you and they are here for a marathon, not a weekend ride). If you as an employer know the job requires a skill that is not being taught at school, this makes you responsible in the first place to teach it. Arguing this particular skill were an everyday skill which one could expect applicants to have nowadays, puts you on very thin ice, because your applicants may have other skills they consider as everyday, but you don’t have a clue.
Oh, and fire the lazy ones. No really. Even if it costs you a fortune. In the long run it saves you, and saves you money. Hint: You will identify them by the frog noises they make, it’s either “yeah-but” or “I-can’t”, or both, and have the IT 1st level support make a list with the five most frequent “my-printer-has-a-problem” and “the-internet’s-slow” callers. Sack them too (No, I’m still not being ironic here. I mean it).

Both students (i.e. future employees) and employees must understand that life-long self-motivated active learning is mandatory, not an option, but also not an entitlement for a promotion in whatever way. It’s a basis for future negotiation if and how your contract will be extended.

This applies for educators too, because after all, education is a business like any other. As an educator, you only must treat your clients (i.e. students) as if they were employees—connect them, enable high permeation speed of knowledge and skills. Hint: Nobody has ever aquired a skill just by watching an online video, every skill is a result of practice.

And media must really get a life. (Still not being ironic here.)


So here’s the irony: Once, the feudal superiors were happy when the peasants were as uneducated as possible. Then came industrialization, and a public education system was invented to turn peasant children into a workforce. Science only to advance the industry. This was further enhanced by two world wars who brought down the monarchs (as sovereigns), and consolidated the position of the industry. And then the industry got so industrious they forgot to model the education system for their future needs, because the industry as such got too diverse, allies turning into enemies, they could no more agree on what their ideal future peasant would be… I know of a possible answer, and it scares the hell out of me.

Using Avid Unity Media Network on OS X 10.8+

The last supported version of Mac OS X is 10.7.x with MN Client v5.5.5 (Mac only — the PC version 5.5.4 still works on Win7-64bit) — because 10.7.x is the last OS X version to support 32-bit extensions. You think! With the respective hack I already described for (now deprecated) versions of the ISIS client with OS X 10.9, you can take the equivalent steps to connect your Unity on OS X 10.8.x (haven’t tested with 10.9+, maybe this works, maybe it doesn’t), just pay attention that the Unity kexts and other files have slightly different names.

And another freebie.. even though Avid recommends using ATTO FC cards, this works with the original Mac FC cards (by LSI) too. The only drawback is the “limitation” to a 2Gb/s throughput, but that’s sufficient for most HD projects.

Envy, selfish and benign

Selfish people envy those who have more than they do.
Benign people envy those who need less than they do.

ProGlove / Intel Make It Wearable rant

So there was a German team who came in third at Intel’s Make It Wearable contest. Their ProGlove is an RFID-based assisting system for assembly lines. But: German company sarissa has the same system being distributed for about 4 years now, only it’s based on ultrasonics, and technically more advanced, allowing for the integration of machine-driven data for QA. Go figure. Some had better done their homework.

Rise of the hacks (commodification vs. democratization)

There is no such thing as democratization of technology. If you think about it, this is quite obvious. Everything being sold as democratization of technology is commodification with glitzy marketing sprinkled on top.

What happens at the development level is that saturation has been reached, a specific kind of technology itself has matured and the only thing that’s left to do is increase the level of integration. This, however, comes with a cost. One example that everybody (in the western world) experiences every day is computer (including smartphones). You see, back in the days of DOS (and, before the Apple historians start howling in protest, the Apple II), when there was no such thing as a Graphical User Interface, processing power, or rather the lack thereof, was a huge (or tight – sic!) bottleneck (as were memory and basically everything, but that’s not my point…), so programmers would have to work very hard to develop and optimize their code so it would execute as fast as possible. This was a paramount objective since the beginning of the PC era which lasted until the mid-90s when the 486 and Pentium came along. Back then, Michael Abrash, who worked for companies such as Microsoft and id software (at which he played an important role in developing the game-changing (sic!) Quake engine), wrote:

GUIs, reusable code, portable code written entirely in high-level languages, and object-oriented programming are all the rage now, and promise to remain so for the foreseeable future. The thrust of this technology is to enhance the software development process by offloading as much responsibility as possible to other programmers, and by writing all remaining code in modular, generic form. This modular code then becomes a black box to be reused endlessly without another thought about what actualy lies inside. GUIs also reduce development times by making many interface choices for you. That, in turn, makes it possible to create quickly and reliably programs that will be easy for new users to pick up, so software becomes easier to both produce and learn. This is, without question, a Good Thing.

The “black box” approach does not, however, necessarily cause the software itself to become faster, smaller, or more innovative; quite the opposite, I suspect. I’ll reserve judgement on whether that is a good thing or not, but I’ll make a prediction: In the short run, the aforementioned techniques will lead to noticeably larger, slower programs, as programmers understand less and less of what the key parts of their programs do and rely increasingly on general-purpose code written by other people. (In the long run, programs will be bigger and slower yet, but computers will be so fast and will have so much memory that no one will care.) Over time, PC programs will also come to be more similar to one another-and to programs running on other platforms, such as the Mac-as regards both user interface and performance.

Again, I am not saying that this is bad. It does, however, have major implications for the future nature of PC graphics programming, in ways that will directly affect the means by which many of you earn your livings. Not so very long from now, graphics programming-all programming, for that matter-will become mostly a matter of assembling in various ways components written by other people, and will cease to be the all-inclusively creative, mindbendingly complex pursuit it is today. (Using legally certified black boxes is, by the way, one direction in which the patent lawyers are leading us; legal considerations may be the final nail in the coffin of homegrown code.) For now, though, it’s still within your power, as a PC programmer, to understand and even control every single thing that happens on a computer if you so desire, to realize any vision you may have. Take advantage of this unique window of opportunity to create some magic!

Which has proven to be still holding true 15 years later. And we see this not only in software, but also in hardware, as I mentioned before. Likewise, a new generation of users pops up, which I refer to as hacks. A hack is not necessarily a bad person, but easily perceived as such by the established players in a given area of competition. You see, broadcast engineering used to be (and still is, when keeping a technical minimum standard) a very complex field, which is why it’s still engineering and not play-as-you-go. Nevertheless, there are companies which go the aforementioned way of integrating mature technology and bringing it to the market for a price “everyone” can afford. Which correlates to the frameworks Abrash talks about, it is not a bad thing. The bad thing is that people buying this technology think it keeps up with the standard, which it does on the paper, but it’s just not as reliable, durable and serviceable as “the proper stuff” is. Nevertheless its users enter into the competition with the established players, which in a market, which is largely driven by price, creates unreasonable expectations which in return lead to ludicrous pressure within companies who see their market share flounder.

This is largely because people, in general, know less about more, which is based on the assumption that you don’t have to know how something works, you just have to know how to use it, which ironically enough, is propagated by the aforementioned pressurized companies—expert knowledge is costly, and costs are to be driven down, not up. And so the cycle is completed, as there are now even more hacks competing with other hacks about price, while the customer acts as a catalyst to all of this.

The only solution, of course, is to step away from the idea that every battle must be won at any cost. And to step away from the assumption that your customer’s only decision factor is price. It is in many cases, but my experience is that customers always appreciate service over price. And in my area of work, you’re only able to offer good service if you’re competent, able to fix problems, being a professional.

Professionals are able to create magic time and time again, hacks are not, or only by accident.

Scope

Every decision we are about to make depends on our scope relevant to it. Which is why you get a variety of answers/solutions to exactly the same question/problem depending on whom you ask. Some answers/solutions encompass others, some are completely different, but none of them are wrong in their own scope.
This is overlooked very often, because it’s easier to assume a mutual implicit understanding and worldview, but that’s rarely the case.
Hence we must define the scope on which a certain decision will be judged, because if there is a divergence in the scopes of decision and evaluation, the oddities of judging any decision as wrong or bad go way up, which leads to wrong conclusions about the competence or even personality of the decision-maker.

How to delight an engineer

If you happen to work with engineers and they’re mostly unhappy with the way they’re being asked about potential projects, or if you’re an engineer in this very situation and your colleagues don’t seem to get it, here’s a simple how-to:

Step 1: Describe what the product or service is like when it’s finished, as precisely as you can, from A to Z. Put in the effort to sketch out the interface (if there is one), who does what in which particular order, who needs to know when something has happened, etc. Imagine how people will use it and what their expectations might be. Try to put yourself in every party’s shoes and walk through the whole thing. Think of legal constraints. Write everything down. (Use flowcharts whenever possible. Engineers love flowcharts.) Yep, that’s a lot, but believe me, it’s worth it.
Step 2: Define process boundaries. What is supposed to happen, what must not happen under any circumstance?
Step 3: Define development constraints. What is the budget? How much time is there to get this done?
Step 4: Have a meeting with the engineer(s) and give them all of what you have worked out so far, and they should be able to tell you what you need to know (can we do this in the quality proposed, considering all boundaries and constraints?) on the spot.

Bonus: How to delight engineers and non-engineers alike
Say Thank You, even if the answer you get is not what you were expecting.

Connecting to Avid ISIS 5000 on OS X 10.9

Though Avid doesn’t officially support this, it is entirely possible to connect your ISIS5000 < 4.6 using the respective ISIS client to your Mac on OS X 10.9, which currently only supports ISIS7000. Update: As of ISIS v4.6 this article is partially obsolete (see Avid KB).

To make it work, you need to have a Mac on which the ISIS client software that corresponds to your ISIS 5000 is installed. From there, copy the following items to a USB stick or network location, ideally you mimic the folder structure of your Mac HD in order to put everything in its appropriate place:

/Applications/AvidISIS (entire folder)
/Library/Application Support/Avid/AvidUnityISIS
/Library/StartupItems/AvidUnityISIS
/sbin/mount_AvidUnityISIS
(executable; use Cmd-Shift-G to go to folder)
/System/Library/Extensions/AvidUnityISIS.kext

Next, copy the files to your 10.9 machine’s system drive. You will need to enter admin credentials when modifying the /Library, /sbin, and /System folders.
Next, fire up Terminal to modify the permissions to certain files and folders, because those will very likely be “damaged” during the copying process off the original computer. You will need to enter your admin credentials when doing the following:

sudo chmod -R 0755 /System/Library/Extensions/AvidUnityISIS.kext
sudo chown -R root:wheel /System/Library/Extensions/AvidUnityISIS.kext

sudo chmod -R 0755 /sbin/mount_AvidUnityISIS
sudo chown -R root:wheel /sbin/mount_AvidUnityISIS

sudo chmod -R 0755 /Library/StartupItems/AvidUnityISIS
sudo chown -R root:wheel /Library/StartupItems/AvidUnityISIS

This will set the files and folders to the proper permissions. However, I strongly recommend verifying your permissions with Apple’s Disc Utility, because on one machine where I did this there was one admin user who couldn’t mount any of the ISIS workspaces (some error on the /Volumes folder), after repairing permissions everything was fine. And it is vital to perform these steps in this exact order, if you leave them out it won’t work.

Reboot your Mac, then you should be able to launch the ISIS client, and after properly setting up your connections you should be able to mount workspaces as usual.

Please keep in mind that this is a hack; Avid does not provide support for any problem that might occur because of this, neither do I. You’re doing this at your own risk. Make a backup copy before working on critical data or projects.

The generation myth

Originally I intended to call this post “The Generation Y myth”, based on the article in the German Wikipedia and the links it refers to. But as it happens, I stopped for a second and looked it up in the English Wikipedia, and this article creates a different image. Which is quite amazing, isn’t it? One would think “we call tomatoes tomatoes because they’re tomatoes”, right? But that’s obviously not the case. But why is that?

All this generation think is pretty much made up. Yes, there are sociological and socio-economical trends or shifts, but it’s unlikely to find them represented in groups specified by their age only. (The characteristics are to a much greater extent influenced by factors as social status, educational background, location, peer influence, etc.) It is rather the desperate attempt to coin a catchy term for something that is hard to explain otherwise. Had Robert Capa in his photographic works and Douglas Coupland in his novel not created and established the term “Generation X”, we probably wouldn’t be talking about it.

My problem with this is not that the term itself exists, but that it’s being exploited to spread rubbish ideas, and because it’s a catchy term, the idea is highly sneezable, hence the spread goes through the roof. And as in many cases I’ve encountered, the rubbishness stems from the desire to create (counter-)icons, (anti-)heroes and poster children. The big mistake people easily fall for is that not one single generation has been exactly the way its icons, heroes, poster children or opposites thereof were. There are always ideas, schools of thinking, and, as a consequence, altered behaviour changing over time, and yes, these are more easily adopted or rather quicker surfacing in the younger generation. But it doesn’t turn them into stereotypes.

What I have experienced though is that, not surprisingly, media coverage tends to present the facts in a way the majority of their audience prefers. A magazine with mainly upper middle class subscribers will present “the facts” in a fashion the audience will be pleased with, as if to say “well done” or “you need to keep up with the Joneses” (which is even likelier, because it’s helping to boost the economy when you send your kids to private schools, pay for their piano lessons, have them join the Scouts and so forth).

It’s the satisfaction of the needs of one group of society. What worries me is those who get left behind because they don’t fit in there, and that judgement is made quite likely by decision makers who just happen to be in that very group highly influenced by these specific media or people knowing that this group is receptive to a certain kind of “facts”.

(And ironically, this is the hour when media catering to a different audience are ready to cry foul, because that’s also a need from waiting to be satisfied.)

So, what is there to do? Well, the only solution which is equally fair to everyone is to treat everyone as the individual they are in the first place, with strengths and weaknesses, and to judge and develop them accordingly because of their individual performance and merit, not by a fad that has been attributed to them by someone who never knew them in the first place.