How you should not install service packs or “Error spawning rc.exe” tale

Visual Studio 2008

Well, here it goes.
A long time ago in a galaxy far, far away… Well, actually, few days ago. But noblesse oblige, I’ve used the “tale” word.
OK, done with the intro.

Some days ago I had installed Visual Studio onto a new system and as the original install DVD I’ve got doesn’t come with the service pack preinstalled (and service pack is simply a must for any VS version, talking from vast experience here) I was thinking to myself “uhm let’s be practical, Microsoft Update can handle it, they say so don’t they?..” so I didn’t bother my self with a manual install. And turned out I should have.
But the tale goes on.
Windows 7 gladly announced that I’ve got new updates for my authentic Microsoft software, ServicePack 1 for the Studio in particular, along with some hotfixes and I relentlessly hit the install button. Went to get a coffee.
The system had rebooted and I proceeded with compiling some usual VC++ stuff, just to find out a weird “Error spawning rc.exe” error in the output.
Whoa, whoa?..
I googled of course, according to various sources it supposed to mean that some SDK binaries are missing (rc.exe in my case). I examined the folder, and yessir it was empty at all, that’s really missing, eh?
Well, I know how to address that (mean I think I do), launched the VS setup ‘gain and executed the Restore option, another 30 mins to drink a coffee.
Guess what? It resulted an “installation error” plus some odd message box saying “error 5 no find” or something of that kind in unreadable English (outsourcing to India comes with a price, fine sir).

That’s really pear shaped *sad face*…

After that I experimented for a while manually uninstalling downloaded MS “service pack” kbs, no luck. Needless to say that I had to uninstall it completely (it did work properly, woohoo). Then I installed my beloved IDE one more time, downloaded a Visual Studio 2008 Service Pack 1 ISO from Microsoft, installed it over the VS and it went just fine. Really.

Kinda made my day.
So please take my kind advice and do install Visual Service packs manually, it will take longer, granted, but you won’t end up with a screwed up installation.
The End.

P.S.
True story bro.

How mobile influences your old good desktop applications

First, need to say that here I’m going to focus on Windows and Mac OS and their respective applications mainly, that’s namely “mainstream desktop operating systems” as Linux and the others are traditional underdogs lagging some years behind of modern OS trends.
Here we go.
Mobile vs Desktop

Let’s have it straight after all – mobile operating systems and apps are not directly based on desktop counterparts anymore. No. It’s quite the opposite, they actually begin to influence regular applications so heavily that some find it disgusting, poor dears.
And you know what? This is natural. Mobile applications are so much easier to use in many aspects and that’s what makes the difference for iPad-hungry customers, and it drives the market.

For instance, let’s talk the AppStore, you may also call it Android Market, Windows Phone Marketplace etc, the concept is the very same. Centralized and moderated digital app distribution. It really does make your life much easier, oh boy, today if I need to find an app to perform some task I simply click that shiny icon, type what I’d like it to be like and I’ve got it. Along with ratings, free updates, and possibility to buy it for a modest price in two clicks. Simple. There’s no more search nightmare with millions of software de-best-download sites filled with essential unsafe never-properly-tested crapware for 50 bucks (these do still exist over there though their days are hopefully limited). It’s a truly crucial problem in my understanding, and it’s successfully solved. In mobile world, of course. If I’m to find a Windows application to, say, help me to brew beer at home properly I’ve got to go through all this again. So Mac AppStore for Snow Leopard and (announced) Windows 8 Marketplace came as no surprise by all means. OS X Lion finally abandoning physical media for install is in the same vein.

Want another example? Sure. Gestures. It feels really incredibly natural and fit to operate an iPad with simple pinching and swiping movements, it’s just cool and handy. So when I upgraded to Lion from Snow Leopard I felt right at home. Although it did take time to master all those new gestures introduced in Lion, in the end I was feeling that I can *almost* live without a mouse, literally. Howbeit, the controversial inverted scrolling is less welcome, especially if one does have a mouse with a scroll wheel. But it’s there like it or not (though this *still?* can be disabled).
As for Microsoft, I guess they shot a bit over the top with gesture-oriented Windows Phone Metro UI as a standard one for Windows 8, but we’ll see. At least, to their credit, it’s refreshingly innovative.

Another obvious trend is simplification, applications become less configurable and “pro alike” but (arguably) more productive and easy to use. Example? Final Cut Pro X.

So, let me sum it up.
We already have digital app distribution model available for desktops, what we certainly will have is exclusively digital app distribution. At least for Macs. Sooner or later, personally I’d place my bet on sooner. So forget about ol’ sweet dmgs, folks.
And yes, sandboxing is on its way to Mac OS X, however, it’s voluntarily. Until March 1st.
Not sure what’s Windows 8 way to manage new Metro apps, but it looks like it’s heading in the same direction.
Then guess it will come to filesystem, Apple will likely employ the same closed iOS-que approach. Actually, it has already started – the Home folder is excluded from Finder by default. Once again, it’s *still* configurable in the options.

Is it all good or bad? Depends. It simply is, the iOS-ification of mainstream desktop platforms can’t be ignored anymore.
In my personal geeky perspective, bluntly applying mobile practices to desktops is a kind of worrisome trend, in spite of the very important UX problems it indeed solves.
Your opinion is always welcome.

Update:
Postscript

The Mountain Lion preview had not been released when I was writing this rant, so I suggest you check it out if you haven’t yet. Pay some attention to Gatekeeper in particular.
Also (surprise-surprise) Apple has extended the sandboxing deadline until June 1st.

In short, everything’s going as expected.

Fatal error RC1015: cannot open include file ‘winresrc.h’

Error
Recently I ran into this nonsense while quick-and-dirty-porting a simple pure WinAPI application into WinCE from Windows, did a brisk Google-marathon but wasn’t able to find anything really useful.

So here’s my walkthrough and solution.
First, it’s kind of weird stuff because the include under #ifndef _WIN32_WCE (winresrc.h is desktop Windows only and basically has some outdated Win32 resources codes) was invoked, and of course I’ve defined all my normal WinCE definitions for this project configuration.
After playing with it for a while I confirmed that _WIN32_WCE is certainly defined for the project, so WTF??
Being honest, just an attempt to open the project .rc gave me a clue – the error message I got was pretty much the same “fatal error RC1015: cannot open include file ‘winresrc.h’” (BTW, it’s presented by a message box with two options available: “OK” and “Edit Code” and both don’t do a thing except closing the message box itself – smart). Nevertheless, it reminded me of yet another wonderful Visual Studio “option” – separate preprocessor definitions for the resource compiler, added my WinCE stuff there and voila it did the trick.
In case you run into the same mmm.. situation (I’m not allowed to say words like “crap” here, am I?) just apply your regular WinCE defines to the project resources i.e. *your project name* Properties…/Configuration Properties/Resources/General/Preprocessor Definitions.
As usually I use the following ones: _WIN32_WCE=$(CEVER), UNDER_CE, $(CePlatform).

P.S. Just for the sake of curiosity I did try to compile it on both VS 2008 and VS 2005, the result is identical as expected.

No SOPA/PIPA please

No SOPA/PIPA

I suppose there’s no need to explain what’s this and how it would affect our daily lives (and yes, us non-American residents included). However, if you’d like to acquire more details please read this Google’s notice. Creditable enough, I guess?..

Mobile market 2012: Is there new player on horizon?

The subject sounds sort of awkward, no doubt – what the heck are you talking about, the market’s well dominated by major players (basically it looks like we are back to that “Apple vs Clones” old thing, more on that later), right?..The answer is not obvious as it seems to be.

iOS vs Android

Let’s look at the current perspective.
First, we’ve got the leader, at least in terms of production numbers and market share, and that’s that green robot baked by Google (it’s much more than a search engine with AdSense now-days, ya know). Second, there’s once again glorious Apple Inc. (and yes, it’s not all about computers anymore, welcome to Post-PC, folks) successfully revitalized by Steve Jobs which share is undoubtedly smaller but the profits, customer satisfaction rate, aesthetics after all, significantly higher.

What else? Well, it’s kind of technology graveyard: veteran Symbian next to forsaken Windows Mobile 6.5 – webOS and Maemo/MeeGo/Moblin beast (and it was a way better Linux than Android is, trust me) were recently admitted, too. RIM’s Blackberry, in despite of respectful QNX as their nexgen OS, got the respective heading and is already on its way, that’s no-brainer.
Soo…anyone?! Ah yes, bada. You. I think there’s no need to explain any smartphone owner who ever put hands on it that the Samsung’s humble kid can compete with so called “feature phones” only, it’s a total stranger in the modern smartphone world by all means.

It leaves us in an almost empty presentation room (an imaginary one, but one never knows…) – there’s only that fella wearing a Microsoft T-shirt and Nokia cap (or vice versa, who cares). Yeah, let’s welcome Windows Phone. If I were to describe it in three words I’d say it’s like iOS. Just worse in almost all aspects. Don’t get me wrong, the Metro UI looks cool and even kinda innovative – a big leap forward after Windows Mobile stylus-oriented hangover, it’s also fast and always responsive (yet another arrow aimed at Android, right). But the very basic concept behind it is exactly that “walled garden” iOS thingie, it even feels more restrictive from a developer’s point of view because no native code is allowed (even worse, it’s allowed for some, e.g. Adobe). The idea is vitally the same but iOS is a much more mature platform, also having an enormous quantity of applications to offer (remember Stevie’s rants about developers? Enjoy).

To sum up, we’ve got Apple’s iOS (clones included) and Google’s Android and this is pretty much it. So what’s the issue with Android, a fine alternative it is, ain’t it? Well, being brief, no.
The platform suffers from unbelievable fragmentation – the “PC market in 90s” analogy fits quite well here, besides being a full blown bloatware freak. And there’s no updates. Yes, you heard it right. Oddly enough, the final blow is Android Market that has recently become number one mobile malware source.
So by all means I can’t really picture Android in its current state as a fully viable alternative to iOS everyone would like it to be, it’s simply not good enough and does remind me of good old Windows Mobiles in its heydays circa 2005.

All that said, it still would be exceptionally complicated for the imaginary third player to break into the market, no illusions here. However I believe that an alternative to iOS is needed and anticipated despite all my affinity towards that platform – it has many limitations and Apple-styled quirks, and is not for everyone (and never was, just take a glance at the Apple’s history).

Hope I made myself clear and grounded that “imprudent and controversial” third player header.
Please let me know what you think, Android defenders are certainly welcome:).

Intro

Hi there,

This is my personal blog, as most of you might have already guessed. Here I’m planning to cover chiefly technical aspects of software development for mobile platforms, such as iOS or Wndows Mobile (yessir, I’m perfectly aware that it’s dead for quite a while but one has to maintain, too, it’s not all about implementing new “kool&fancy” apps actually, the thing is that I’ve been its avid user since 2005). I might get distracted though and write something on project management or SCRUM/other Agile stuff I’m fascinated with or *you name it*, some personal reflections are to be expected as well, it’s my blog after all and I’m not with the MSDN editorial team (yet?). Well, this is probably it for now – don’t hesitate to contact me should you have any questions or propositions.

To be continued, as it reads in my childhood’s fave Tom&Jerry cartoons.

P.S. It’s December 31st, right?? Got distracted a bit… Better later than never, Happy New Year everyone!

Follow

Get every new post delivered to your Inbox.