Antivirus software strikes again

If you’ve read my previous posts you’ll know of my growing dislike of some modern Anti-virus software, well I’ve another axe to grind. The other day I arrived at work to discover that my long running overnight tasks had failed, in fact my machine was showing a nice Blue Screen of Death. Fortunately I now happen to sit next to the system team so I leant over and asked them to take a look. To cut a long story short we discovered that McAfee has a problem with Gigabit network cards. Now you may think that one machine BSODing isn’t an issue but it turns out to be cause of why a number of our servers were rebooting, so my misfortune was the system teams gain as they’d been scratching their heads about the servers. McAfee have released a patch for the problem but again I’m left wondering how time we’ve wasted using McAfee against the cost of dealing with a maybe-get virus.

UK SOA and Business Process Conference

I attended this seminar this week and I thought I do a quick review;

Keynote: Why BPM Matters – Mark Raskino
A good key note where Mark did an excellent job of putting across the importance of process management. Sure it had a lot of Analyst/Marketing phrases that usually make me cringe e.g. ‘the trough of disillusionment’ Nerd but Mark trod that line well and I enjoyed it. What I especially liked about it was that it brilliantly covered areas that I’ve been struggling to get noticed, I just hope I get hold of the slide deck – or better still a webcast!

Keynote Address: Realising the Potential of SOA – Gavin King, Mike Woods
Well I was a little disappointed with this, perhaps unfairly. This felt like a Microsoft Marketing exercise, I don’t know what it is but the mere mention of BizTalk sends me to sle…..ep. There were some little gems in there and if you’ve never heard of you-know-what then you’d probably have enjoyed it. Having said all that I did take away that Microsoft are very serious about this and are really pushing it, hurray!

Keynote Address: Business Process Management on the Microsoft Platform – Harsha Karunarantne, Adi Hofsteien
Again some interesting points, especially about RealWorldSOA and the Business Process Alliance. One of the members of the Alliance was Adi’s PNMSoft. Although it was a thinly veiled advert for the company I did enjoy the presentation and it did seems to be a working example of all the things I believe to be correct. So that was nice.

Microsoft Vision for Sofware+Services – Marc Holmes
Hmm. I thought this was a bit muddled. It seemed to be about Software as a Service (SaaS) but if it was then I disagree with Marc’s definition. Marc used Exchange as an example, arguing that because it has many channels that makes it a "S+S". No. By that premise almost every 1/2 way decently implemented client-server application would be S+S. I looked up SaaS on wikipedia (yes I always grin when anyone uses that to back-up their claims) but their definition is spot on…
http://en.wikipedia.org/wiki/SaaS
Software as a service (SaaS) is a software application
delivery model where a software vendor develops a web-native software
application and hosts and operates (either independently or through a
third-party) the application for use by its customers over the
Internet. Customers do not pay for owning the software itself but
rather for using it.

That, for me, is the important difference between a client server application (albeit on the web).  IMO Marc’s channel argument is just weak, Exchange is a good example of separating out the presentation layer – that’s all.

BizTalk Server R2 Tour – Harsha Karunarantne, Jeff Johnson
Grr, a bit annoyed about this one. I understand the relevance of RFID and WCF but I couldn’t help thinking, "why BizTalk", all the way through it. Great news that a device abstracted API has been written to use RFID tags but why deploy that with BizTalk? Why not deploy DirectX 10 with BizTalk too Wink? Ok I can see the benefit of using it but I really think they should separate out the Reader layer with the Management layer and provide the Reader layer to anyone who wants to use it. Then lots of talk about WCF, and the usual failed demo (quite a few failed throughout the day). Hmm yeah, I dare say it’s great news but I can’t help feeling that when someone celebrates such an obviously needed feature there must be something worryingly wrong the original roadmap. I think the problem was that for people who enjoy BizTalk this must have been very old news, and for others it just wasn’t interesting. For me it felt like, "look you can communicate with a service using WCF". Wow.

BizTalk v. Next ‘Oslo’ – Mike Woods
I like the idea of Oslo but I’m not sure how practical it will be. For example, if they have some form of identity server in the cloud that everyone can use, then why would I install Federation Server? Still sounds like a good idea, and yes I would say this *is* (or could be) an example SaaS.

Overall I enjoyed the day, bit dull in places, bit marketing, but I did come away with renewed enthusiasm for business process management – well done MS UK.

Writing JavaScript functions for Silverlight

Silverlight 1.0 relies on JavaScript to provide much of the user interaction behaviour so I decided to have a play with it today. I admit that I’m more interested in 1.1 and the .net support but I thought it would be good practice to implement something for the current version. I was supplied with the XAML page containing a number of similar events and storyboards. I quickly spotted that they only differed by the image they animated and the contents of a text control. I wrote a quick JavaScript class and an array with an element per storyboard, with this I only need one canvas which I can manipulate with the attributes of the currently selected class. It worked well but I didn’t spot that not all of the images had the same dimensions. I was tempted to extend my storyboard class with size attributes for the image but then I realised that this flew in the face of the semantic XAML so I changed my design. Rather than have the JavaScript supply the attributes (file name, width, height) of an image it is much better to keep that information in the XAML. However, I don’t want (or need) all the storyboards and canvas’ to be duplicated. My design is to have one invisible canvas containing all the image elements needed. The JavaScript then examines the image element to provide the necessary attributes to change the active canvas. The major drawback to this design is there is a loss of semantics, since I now have a fake canvas with a load of images.

The reason for this post is to point out that writing JavaScript for Silverlight can be tricky. A balance needs to be struck between efficient and user friendly code and the semantic support that XAML offers.
   

Windows XP system died, how to keep Vista

My annoying drive with XP went wrong AGAIN. That’s the 3rd time now and it really seems ill. I ran CHKDSK and it froze so I think the disk is an ex-disk. However, this presented a problem. I’d sensibly installed Vista on a separate disk but it still uses the dodgy disk to host the boot manager so Vista won’t boot without that. After a lot of reading about BCD Editors and the like and finally removed the ill disk. Sure enough the PC couldn’t find a system. So I put Vista DVD in and went into the repair. This is quite a worrying process as it asks a lot of language questions as if it is going to install it. Happily once past the language screen you get the chance to repair. One of the options is to examine start-up problems so I did that. It realised that the bootmanager was missing and told me it had repaired the problem. I rebooted and still no system. Hmm, I was about to give up when I tried to boot from my data disk. Aha, Vista had put the bootmanager onto the "wrong" disk but after telling my BIOS to look there for a system everything seems fine! I’ve checked that my faulty disk is still within it’s warranty so if worse comes to worse I’ll send it back. Although then I’ll be faced with how to add XP to an existing Vista setup <gulp>. Then again if I get a new graphics card perhaps I won’t need XP.
 
 
 

Unreal Tournament 2007 Demo

Just downloaded and played *the* demo for me, UT2007. I tried it on my old P4 9800XT XP SP2 and, well the graphics were rubbish, but it was still playable. In fact the speed was great but 640×480 and characters like spuds doesn’t make for a great game. My old-ish gaming rig faired better although was still only 800×600 – Vista, AMD 4600×2, 6800GT (very old card). The game played well enough and does seem better than 2004, although not by much. Sort of 2004 crashing into 1/2life. I’ve got dual boot on that box so I’ll see how it fairs with DirectX9. First impression were good, and I can’t wait for the 8800GT cards to be released.

Pocket Loox 560N repaired

My PDA started to turn it self off whenever I moved it, this is very annoying. Worse still sometimes it wouldn’t switch back on unless I took the battery out and gave it a few mins. I finally got around to sending it off (under warranty) for repair and it’s just arrived back. Seems fine now, although I’ve not got the joy of setting it all back up again, why? Well because they force you to do a full system reset before allowing you to send it off, grrr. Anyway I was just struggling to setup the WiFi and hit a few little issues;
1. Board has changed, therefore Mac Address has changed therefore need to update the Access Control list on the router.
2. Even after entering the network key it wouldn’t connect to the network. Old trick required, for some reason network changes never seem to take on the Loox and you need to do a soft reset (with the stylus) to get to work.
 
Hurray, WiFi back, now for Exchange Sync!
 
 

The great M/E ratio lie?

As I’ve mentioned in my previous posts I’ve become interested in the role of marketing in software companies. One area that crops up is something termed the M/E ratio (Marketing/Engineering Investment Ratio). Essentially the premise is that your company is more successful if you have more investment in marketing than in Engineering. OK, maybe that is true…maybe. However, whenever I dig a little deeper I seem to uncover some "interesting" points;
1) The "proof" seems to involve surveying companies that have succeeded and failed or as the reports state, the ‘super successes’ and the ‘flaming failures’. I’m not sure I buy this proof. Lets take a look at a couple of well known names in these reported flaming failures; Xerox, Wang and Lotus. For me the suggestion that these companies failed because of their M/E ratio is be taken with a large handful of salt. I can certainly remember Lotus (of 1-2-3 fame) and their marketing was pretty slick, indeed at the time I was employed to investigate and implement a new office system for small database company. I chose Microsoft Office over the Lotus offering because of my technology investigation not their lack of marketing. I was invited to their offices for a demonstration of the products. Simply put the Microsoft offerings (mainly because of the close ties to the Windows OS) were easier to use (if only that were still true) and were quicker to utilize new OS features. So was it a marketing failure that caused Lotus to fail? I don’t believe so because the feature set was almost, and maybe even 100%, identical. It was the implementation of those features that made me choose MS and it was probably the same story elsewhere. It’s also interesting to read the number of excuses that Microsoft win because of their marketing muscle. It’s equally interesting to read a number of articles debunking this as simply an excuse, indeed a number of cases point to Microsoft having poor marketing.
2) With terms like flaming failures and super successes, who is it that popularize this theory? Oh yes it’s marketing companies. No surprise there but I certainly don’t blame them.
3) ‘Lies damn lies and statistics’. Statistics are a fun area. I was unfortunate enough to have to do ‘further statistics’ course and hated every second it, why, because I soon realised that you could pretty much put any spin on a topic by carefully ignoring salient points. I realise that marketing isn’t sales but the ability to apply spin is a shared talent. Unfortunately I don’t have access to any of the data in these reports but I’m pretty sure there are some important issues that have been ignored. For example, it is simplistic to say that the top x software companies have a high m:e ratio because the statistic ignores the scale of the company both in terms of number of heads and the Return on Investment (ROI), i.e. a small company can make a relatively large profit with a tiny m:e but they’ll never break into newspapers top 100 company list.
4) Staff type thresholds – I don’t have *any* research to back my next claim but it seems logical to me that a successful software company needs a number of people developing software, I don’t like the term R&D it’s too woolly for me. I also believe that as a company grows there becomes a critical mass of developers where adding more developers isn’t a good ROI, in-fact it encourages the command and conquer model and removes some of the best developers from developing. So lets take another look at some the poster software companies. The IBMs, Oracle and Microsoft’s of the world require a huge army different staff types to produce and sell their products. (It has been noted that a number of people that leave Microsoft to form start-up’s fail because they underestimate the "behind the scenes" support staff that are needed). A proportion of staff will be developers and a proportion will be in marketing (or at least the proportion of the costs if not head count). With my theory of a critical mass of developers then I would expect that in these large companies the number of developers will have plateaued but the ever expanding world wide customer base will require more and more marketing effort. So by examining these companies m:e then you would see a large m to e, again statistics can tell whatever story you want if you ignore the whole picture.

So back to the heading of this post, is M/E a lie? You’ve heard my opinion, I don’t have a great deal of research or a diploma from Harvard Business School but I hope my little investigation and logical thought will be enough to at least make the reader question the "truth" of these M/E reports.

Market Driven Myth? Part 2

Another issue I have with placing too much emphasis on "Market Driven" is what does it actually mean? Who is your market? A market, in this context, is all of your existing customers plus all your potential customers whether they or you know it or not. In other words your customer base. I don’t believe anyone would agree with that as a definition of Market Driven. What Market Driven actually means is Market Analyst Driven (MADWink). I’m sure such an analyst would argue that they do indeed represent all the custom base but it’s their job to guess what a market wants, they don’t know. How do I know that? It’s simple really, if they were sure of something they’d do it themselves! I was talking with someone pretty high up at Microsoft and we were discussing market analysts. They told me a story about one particular well known analyst who published a paper misrepresenting a Microsoft technology. So they were invited to a Microsoft seminar and admitted they didn’t know the product and was forced to publicly amend their review. I’m not writing this to bash analysts, but what you have to realise is that these are simply the opinions of people that believe they understand your market, they don’t actually know and they do make mistakes. The emphasis of my high-school history class was to always qualify your sources. This leads me back to my conclusion from part 1, your should make decisions based upon a collection of sources not just one, and don’t assume that any of those sources will be 100% correct.

Market Driven myth?

I’ve recently been "involved" in a number of discussions about the benefits of a software company being "Market Driven". After a very brief and rapid introduction to the term I believe this is the marketing version of software patterns, i.e. a a set of fancy names given to describe something everyone understands. Ok, as with my scathing hatred of software patterns I do concede they serve a useful purpose but I’m concerned that people seem to treat them both as a black or white subject. "My software uses a MVP pattern therefore I don’t allow any MVC patterns". "My company is Market Driven not Customer or Founder Driven". I think this is a very strange approach. Surely the sensible approach is take stimulus for ideas from all possible sources and make informed decisions? The Ipod is often held up as the marketing miracle of the 21st Century and lots of people have their ideas as to why it has been so successful. But I wonder how successful Apple would have been by simply listening to the market? Or do they also take a significant account of their own in-house ideas? Pete Mortensen has an interesting quote regarding the airline industry which I believe is very relevant, ‘But market demand is the expression of a shared human need that few marketers are meeting. The reward to anyone who identifies a big, unmet need is tremendous. Interestingly enough, Godin’s “Founder-Driven” category often fits this rubric as well, largely because Richard Branson is himself brilliant at identifying needs’.
 
So although I believe you can state that you are, "listening to the market" I don’t believe that requires you to say that you only Market Driven. I believe that a successful software company will utilize all the sources available; The Market, customer feedback (even if it requires a large amount of scepticism) and your own staff’s experience and clever ideas. What weight you choose to give to those opinions is up to the people making the decisions – that’s what they get paid to do!

Parallels update

I’ve blogged in the past about how disapointed I’ve been with Parallels 3.0 VM. I’ve just taken the latest update and things seems to have improved. Specifically the full screen mode now seems to correctly adjust the resolution and IE7 now seems capable of visiting sites without crashing! So far so good!