The three of you that read my blog regularly (and I must say to you: I'm very sorry) may have noticed that my last string of posts haven't had the usual "zing" and stupid jokes weaved in. That's because it's Summer and things are keeping me occupied, and because the projects I'm working on are not rendering much inspiration for blog topics, and because I'm going through a tough time personally, but I'm not going start whining. I just need to see how the cards fall and where I'm at when things settle out. In the meantime, I will try to keep posting something worthwhile but hopefully will again return to the stupid jokes and half-assed humor you've gone to sleep to for so long.
Saturday, 16 July 2011
Thursday, 14 July 2011
Subjective Scalability
This is aimed at IT geeks primarily, so the rest of you can do what you typically do when viewing my blog: sleep.
Think about each question carefully... As it pertains to growing a small environment into a larger environment...
1. At what point do you switch from workgroups to domains?
2. At what point do you setup centralized patch management?
3. At what point do you implement a means for remotely installing software on all computers?
4. At what point do you begin automating inventory reporting?
5. At what point do you switch from internal mail hosting to external? Or external to internal?
The answer is?... When it's convenient. Yeah, I could dive into all sorts of painful metrics and ROI-ish rationale, but really, it comes down do convenience. Even when the raw numbers prove to be a wash, the tipping point is gut feeling. That dreaded morose feeling when you think of one more day of doing things the same way you've done for way too long. The appeal of taking one more thing off your daily plate and freeing up time, hassle and also streamlining your environment, usually tips the ball into the new court.
The point is that with all the technology, all the fiscal analysis, all the economic pressures, the biggest deciding factor in major technological transitions is human emotion and human perseverance.
Some additional thoughts
One of the most common, and most commonly overlooked, concerns of many IT professionals is figuring out where their environmental "scale" sits in comparison with other environments. Most of us think we have a large environment. Or we think we're in a small or medium environment. Whatever. But how do you based that assessment? Most of the time it's based on subjective reasoning based on conjecture and anecdotal information.
I have no idea what that last sentence meant, but it almost sounded like I did. But really what I'm trying to say is that we base our self-awareness on what we learn from talking to peers, reading articles, blogs, and so on. We hear from six people that 30,000 computers is a large environment so we assume our 10,000 computer network is "medium". But to someone with 250 computers, your 10,000 computer network is indeed "large", while to a 500,000 computer network admin it's a small environment. It's all subjective.
I remember having a conversation with a Microsoft engineer years ago while rolling out SMS 2003 just before it was RTM. After months of working in the beta program I was ready to roll it out but I had a question about architecture with respect to the size and geography of our environment. I asked if 5,000 computers was "medium" or "small". He said "well, that depends." I said "on what?" He said "how are they located?" They were indeed dispersed widely across the U.S. That led to another hour of chatting, but the take away I remembered was that even that isn't a hard-written rule. It too was under the subjective view of a human.
So, if you're feeling confused or even a little in doubt regarding how to size up your environment, don't feel bad. Even when it directly impacts decisions about how to plan and deploy a new product, don't be fooled by vendors making confident statements without doing your own analysis and comparisons.
Scripting and Configuration Manager Packages
Config Manager admins (like Altiris, etc.) are often splitting their time between deploying MSI, EXE application installers as well as custom scripts. Quite often, and for good reason, they use CMD or BAT scripts to wrap up a sequence of things that would otherwise take longer or require more effort to do within a re-packager like InstallShield. The problem that I see quite often is forgetting to return a meaningful result code to the Config Manager agent.
For example (BEFORE):
@echo off
msiexec /I “%~dp0myinstaller.msi” /quiet /norestart
cacls “%programfiles%\myApps” /e /t /c /g users:c
reg add HKLM\software\myApps\Fubar /v “Tarfu” /t REG_SZ /d “ABC” /f
If you don’t bother to explicitly return the %errorlevel% value you could be in for a very unhappy surprise. A little dose of error checking helps a lot. Here’s (just) one example:
(AFTER):
@echo off
set log=%temp%\myapp.log
echo %DATE% %TIME% msiexec /I “%~dp0myinstaller.msi” /quiet /norestart >>%LOG%
msiexec /I “%~dp0myinstaller.msi” /quiet /norestart
echo %DATE% %TIME% exit code %errorlevel% >>%LOG%
if %errorlevel%==0 (
goto Configure
) else (
if %errorlevel%==3010 (
echo %DATE% %TIME% reboot required (suppressed) >>%LOG%
goto Configure
) else (
goto Failure
)
)
goto END
:Continue
echo %DATE% %TIME% doing custom configuration changes… >>%LOG%
cacls “%programfiles%\myApps” /e /t /c /g users:c
reg add HKLM\software\myApps\Fubar /v “Tarfu” /t REG_SZ /d “ABC” /f
echo %DATE% %TIME% installation complete >>%LOG%
goto END
:Failure
echo %DATE% %TIME% installation failed: exit code %errorlevel% >>%LOG%
exit %errorlevel%
:END
exit %errorlevel%
Sunday, 10 July 2011
Ignoring the Obvious
The term “organic” occasionally gets tossed into conversation with regards to software architecture/design. The basic concept is to make the software behave as though it sprung from Mother Nature, rather than a herd of Monster-swilling, Skittles-munching teenage kids with headphones on rocking out to the latest neo-punk and rave tunes. PhD engineers spend considerable time trying to concoct things that appear organic. A common example is Apple, but that’s much too narrow.
The best way to determine if something is organic, in my stupidly-humble opinion, is to look at how complicated or problematic something is in the eye of the user community. That sounds pretty vague, I know, because it is vague.
Maybe if I pointed at two examples to contrast it will make more sense? How about comparing System Center Configuration Manager (CM) 2007 and Windows Server Update Services (WSUS) 3.0. If you skim through the various discussion groups and gather a sampling of the kinds of things that tend to confound users, new and old, and apply some basic trending, you’ll no doubt come to the conclusion that CM is a bit tougher to master than WSUS. Granted, there are more moving parts and more things to consider for CM than for WSUS, but if you then take that a step further and compare the pain points from CM 2007 with the new features in CM 2012 you will see that the smarter engineers are looking at the same things to determine where to focus their efforts on the “next release” of their given product.
User Experience (UX) analysis is not a new art. It’s been around for decades. In fact, if you broaden your scope a bit, it’s been around for centuries. But specifically within the software engineering world, it only comes up in small circles of discussion. It often gets (unfairly) lumped in with User Interface (UI) Design and analysis. That is misleading and very often completely misses the point. User Experience is just what it says “User Experience”. That definition goes way beyond UI analysis. It also includes secondary and tertiary aspects of the behavior of a software product or technology, such as command line, format interchange, troubleshooting processes, deployment, licensing, configuration management, yada yada.
So, how then do most software companies tackle UX analysis? Good question. The answer is that every company has evolved their own methods. There is rarely any standard, even with text books and professional groups trying to derive some common ground. Some of the generally accepted methods are:
- Beta trials, Previews, and so on
- Anonymous surveys
- Focus groups
The problem with these is that they don’t shine the full spectrum of light onto the gamut of issues and aspects involved with charting a software design direction. It’s like walking into a class room and confronting a student with questions about a subject, as opposed to listening passively to a conversation between the students about the same subject. The end result will almost always be ENTIRELY different. I could cite other examples, but you should get the point by now. I’m not saying that the assertive approach isn’t worth using, but it’s not going to yield comprehensive results.
The “obvious” term in the post title is aimed at what is most often missed. Most vendors have online discussion forums, even Facebook pages (soon, maybe, even Google+ pages?), but discussion forums and open/public sites (like MyItForum.com) are golden opportunities for vendors to peak into the lives of their user community and see, directly, first-hand, what their customers find most challenging, most daunting, most annoying. It’s almost like being a fly on the wall. Yet I am surprised at how few vendors take advantage of this opportunity. Most are still focused on the three assertive methods I listed above, even though they have their own user-community discussion forums.
I often wonder if it might help to have a dedicated section in most vendor discussion forums called “Bitching and Gripes” and let users get it off their chests. Sure – there will be a lot of useless noise – but there will also be some golden nuggets to pluck and make use of. I don’t know. It sometimes feels like vendors have lost the art of communicating with their customers. Customers want to talk, just let them, and then make use of it.
Friday, 8 July 2011
I’m Not Done Flip-Flopping on My Done with Flip-Flopping Flip Flop, OK?
One thing we, all one of us, can agree on, is that I’m not wired correctly. Part of me is wired with sticks and mud, the rest with duct tape, condoms and beer bottle caps. I’m all conductive though, trust me. I just don’t conduct finances well. I’m more of a fiscal insulator actually, but that’s a story for another year.
So, I drove a stake through WWA and pronounced it dead. I turned to walk away, in slow motion of course, complete with dramatic movie music, only to have it spring to life and attack me blind. I got it into a LAPD choke hold, wrestled it to the ground, placed its teeth on the curb and applied a Ed Norton American History-X stomp to it, but it still came to life, and grew additional arms, legs and eye balls as well.
To be fair, I never said the project itself was going to die. I said it was not going to be maintained online, for public consumption. It’s very much alive and well in multiple production environments, and therefor gets a daily dose of loving, feeding, and moral support. As of today, it’s up to build 2011.07.08.002 and contains over two dozen additional features since 2011.05.13.001, the last public release before yanking the project from SourceForge.
To help out a few die-hard supporters and have an easy-to-access repository from almost anywhere, I returned the .zip download to my Google Site (http://sites.google.com/site/skatterbrainz) under the Downloads section. If you care to keep up with its progress you can either visit it when you really bored, or add an RSS feed from the page to whatever RSS feed reader you prefer. Cheers! Chou! Bon Voyage! Danka! Arivadouche!
Windows 8
Two small, yet irritating things, that I hope Windows 8 addresses with respect to Windows 7:
- Being able to put the Recycle Bin in the SysTray (or Task Bar, etc.) and not on the desktop, but still easy to access
- Not assuming the name of a new compressed folder archive
The second one is confusing to describe, but here goes:
You open Windows Explorer and open a folder with a bunch of files and sub-folders. You click and press CTRL+A to select “all” items, then right-click and choose “New –> Compressed Folder”, only to discover that it takes the name of whatever file or folder your cursor was near and uses that as the base name, and simply appends “.zip” to it. To be fair, it automatically switches to “rename” mode after the compression is completed, but still, this is dumb UI/UX design. It’s doesn’t make sense. Just try to do a mock staff meeting where you pretend to be the UX engineer describing this behavior as though it were 2007 and you making a pitch to the dev team. Yeah. They’d shit-can you in the first 20 seconds.
So, here’s to hoping they address these little annoyances. However, do NOT assume that I’m in any way “anti-Windows 7”, but I’m not. I love the product from inside to outside. But there are small things that could be improved, especially when we’re talking about a MAJOR release (not a .1 minor release). I personally cannot wait to get my hands on the first test copy of Windows 8 once the new metro UI is fully bolted on, spit-shined and ready.
Saturday, 2 July 2011
A World Without Competition
Try to imagine what things would be like today had there not been fierce competition in certain key parts of our world. I’ll give you some examples:
Had VMware not come about, cheap and accessible virtualization might not have happened at all. Even if it had found its way into data centers, it would have likely been priced out of reach. Free versions would likely never have happened. Not because VMware did all this. But because their emergence pushed others to step up and compete. We got Virtual Server, GSX, VMware Player, Virtual PC, Parallels, Virtual Box, Xen and others. Then came the hypervisor products and all that.
Had Google not pushed into web search services, free web applications and web advertising, there wouldn’t even be things like Bing, iAds, Virtual Earth, Bing Maps, Office 365, or even half the search features found in products like Sharepoint. Again, this is not all Google’s doing. It’s just that once they stepped onto that boat and it began to move fast, everyone else dove into the water to see what they could do.
Without Apple, where would portable music and multimedia devices be? Where would tablets be? Sure, Microsoft and others tried tablets many times, and they all failed horribly. HORRIBLY. But now they’re back in the game. What about ultra-thin notebooks? What about touch-screen phones?
Without Amazon, where would ebooks be today? Where would the Nook be? Sony Reader? iBooks?
Without Netflix where would all the online movie services be today?
Without Toyota, where would hybrid vehicles be?
Without FedEx where would all the other overnight carriers be today?
COMPETITION IS GOOD.
PERPETUAL COMPETITION IS BETTER.