November 2011 Archives

It is a little early for a review of the year, but not too early to state that 2011 has brought profound changes to the software development world. Although I am thinking mainly of the client, I would also argue that client and server are so intertwined that both are affected. As an example, I have heard developers moving away from SOAP web services not because of any conviction that REST is a better approach, but because the move away from Windows and towards HTML clients makes SOAP web services more difficult to consume.

So what's changed? Simply put, three platforms which once seemed strategic are now in obvious decline. Getting the nuance right for these platforms is tricky. Lots of software still runs and is still widely used long after it has ceased to be strategic for the company which supports it. All the platforms mentioned negatively below are still in active development; they are not going away and will still be running ten years and more from today. They come with health warnings though: depending on these platforms means that your software will gradually become more difficult for users to run and will be left behind by new technologies.

The decline of Silverlight

In the run up to the launch of Microsoft's Visual Studio 2010 I spoke to a number of Microsoft platform developers. The consensus then was that Silverlight was very important and possibly the future of Microsoft's client. The view was supported by the company's energetic development efforts for Silverlight. It also made a lot of sense: a lightweight, secure, cloud-centric client that escaped the GUI limitations of Win32, worked in the browser or as a desktop application, and as a bonus run on Mac as well as Windows. Silverlight, as I noted in several articles, is client-side .NET done right.

This is not the place to write a long screed about why Silverlight failed, but rather to note that at the end of 2010 it became obvious that Microsoft was changing direction. At the Professional Developers Conference, October 28-29 2010, it was hardly mentioned, and the company focused instead on HTML and Internet Explorer 9. The full extent of its new strategy was not shown until this year, at the BUILD conference in September.

It is not only external developers that were surprised by what seemed a sudden change of direction. The same seems to be true of many within Microsoft itself. Nor am I sure exactly when someone decided that Silverlight was no longer strategic, though there are clues in the Silverlight release schedule. When Silverlight 4 was unveiled in November 2009 it was still ascendant. Silverlight 5, due out shortly, suggests that it was still considered important in early 2010. Visual Studio LightSwitch released this year was likely planned in part as a way of boosting Silverlight, since it builds Silverlight applications. But nobody is talking about Silverlight 6.

Silverlight is still the development platform for Windows Phone 7, but many observers, myself included, believe this will give way to a variant of the new Windows Runtime (see below) in a future version.

This has been a costly experiment for Microsoft. If the company had done the Windows Runtime, rather than Silverlight, back in 2007, imagine how much stronger would be its position now. That said, it is not all wasted. XAML, the presentation language in Silverlight and in Windows Presentation Foundation, continues in the Windows Runtime, and so does the essence of the cloud-centric, client-secure development model.

Adobe Flash Deprecated

Back in 2007 Silverlight seemed to be in part a competitive response to the increasing popularity of Adobe Flash. This month though, Adobe went though wrenching changes of its own, announcing the end of Flash on mobile browsers and a fundamental shift in business strategy away from enterprise development and towards content creation and distribution.

There are plenty of parallels with the Microsoft case. One is that the changes also came as a surprise to many within the company, who just a few weeks before, at the MAX conference in Los Angeles, were talking confidently about the future of Flash and of Flex, the application-centric SDK for Flash. Here is Doug Winnie, a casualty of the inevitable layoffs:

The product managers, evangelists, community managers, and developer relations team members found out the news and the way it was communicated at almost the same exact time you did. They are wrestling with the news and your reaction in real time--so please be supportive of them as they dig through everything.

and here is Duane Nickull:

While on the 3rd day of my vacation in Mexico, I got the call with the explanation that Adobe is doing a major refocus and as part of that, many of us "enterprise" types are no longer required. "Überflussig" I guess is the correct German word for the situation. Keep in mind that I now speak as an individual, not as an Adobe employee. I missed most of the official story due to the timing of my vacation but caught up with a few news outlets to get the rationale.

But isn't Flash still going strong on desktop browsers, and the Flex SDK heading for great new things as an open source project at the Apache Foundation? Well, maybe. Adobe is not betting on that though; it is betting on design tools for content, HTML5, and packaging and distributing publications and apps. Its Flash technology is still critical to how that is done under the covers, but Flash itself will be invisible.

Adobe also says that its LiveCycle middleware will continue to evolve in two specific niches:

We will continue to sell and support our LiveCycle products in the government and financial services markets, two areas where the LiveCycle value proposition remains especially strong.

Again, maybe. This sounds more like Adobe keeping faith with some important customers, than a strong future for LiveCycle.

Win32 Deprecated, .NET changes

Microsoft announced another profound change in direction at its BUILD conference in September. Although related to the decline of Silverlight, this one deserves its own heading. What we saw was that the Win32 platform on which Microsoft has built its prosperity for the last twenty-one years or so (Windows 3.0 came out in 1990) is now being shunted aside. "Shunted aside" is the right term because it is still there in the forthcoming Windows 8, but it is side by side with the new Windows Runtime (WinRT) and a touch-friendly user interface called Metro. The company's goal is to create a platform that will succeed against Apple's iOS. It runs on ARM as well as Intel x86 and has its own Windows Marketplace, similar in concept to Apple's App Store.

Leaving aside the merits of WinRT, the big news here is that Microsoft is finally moving away from the Windows desktop on which most of us have done our work day to day for the last two decades. The reasons are obvious: mainly the rise of iOS and the iPad, but also the success of the Mac among developers and at the premium end of the laptop market. Windows was already in decline.

Your Win32 applications will work forever, but Microsoft's energy is now going elsewhere.

What about the .NET Framework on the client? It is still there, and thanks to the excellence of the C# language I expect it will be the most popular approach for coding for Metro. Parts of the Framework will no longer work in Metro though, and it may even be that HTML5 and JavaScript, which is equally well supported, will gradually supplant it. Nor do I take the success of Windows 8 for granted; Microsoft may find the tablet market already largely absorbed by iOS and Android.

That is speculation; but the long-term decline of Win32 is not.

Platforms ascendant

If these platforms are in decline, what the ones that are rising fast? That is simple to answer. Apple iOS, Google Android, and HTML5 in general. Are these good for the next two decades as in Win32, or will be on the deprecated list in a few years? That is hard to say; if I had to rate them in order of likely longevity I would guess this:

1. HTML, JavaScript and CSS

2. Apple iOS

3. Google Android

Predictions though are a dangerous game, and I would be interested in other opinions.

fly_chair

Image by intheozone via Flickr

How do you deal with overbearing employers who don't want you to work elsewhere?

That's the question being asked by Mark Chandler, general counsel at Cisco, in a blog post this month. Chandler is irked at HP for suing one of its employees, after they left to join the network giant. It is the third such lawsuit in two years, he says, accusing HP of trying to retain employees through litigation. 

"Somehow, Bill Hewlett and Dave Packard didn't see a need to build a company based on suing people who might want to leave," he writes.

The industry is rife with examples of employers getting hot under the collar. Steve Ballmer famously hurled a chair across the room when he learned that key employee Mark Lucovsky was leaving to join Google. And Microsoft also sued another employee, Kai-Fu Lee, when he joined the search giant in the same year. Google has since lost both of those hires, proving that what goes around, comes around.

In this latest case, Chandler accuses HP of trying to get its case against its former employee heard in a Texas court, hours before a similar hearing was to take place in California. California doesn't enforce non-compete clauses, which is the legal instrument that HP has used against former employees. 

Chandler argues that trade secrets are protected under intellectual property law, rather than non-compete contracts, and that people should be allowed to go and work for whoever they please, especially when "there is argument whatsoever that relevant intellectual property [is] at stake".

The non-compete issue diverts attention away from the real issue with intellectual property, which is that it is ridiculously easy to steal, especially as many companies have weak internal controls. 

Perhaps the best way to retain employees isn't to sue them into the ground in the hope that they will avoid working for your competitor. Perhaps, instead, minding your own house would be a more productive way to go. 

HP has suffered from a lack of direction lately. It has burned through several CEOs, most recently firing Léo Apotheker in favour of former eBay CEO and failed political candidate Meg Whitman. Before that, CEO Mark Hurd stepped down - and ironically, went to work for Oracle, which is increasingly competing with HP as they each pursue megavendor status and their businesses overlap.

The company has shown a pronounced lack of direction in the last year, buying WebOS, only to announce that it would be getting rid of it after all, launching and then pulling a tablet device, and mulling the sale of its PC division. 

None of this rudderless management does anything to keep employees at the company. So what does keep employees happy, and enagaged?

Obviously, decent salaries and working conditions are important. Proper career path planning and succession management for employees is vital if they are to feel that they have a future with a company. And most critical of all, a strong leadership with a clear vision that employees can get behind. Unfortunately, those are things that can only be achieved in the boardroom, not in the courts.

Enhanced by Zemanta
One of the biggest problems in organizations is the notion of what constitutes fair treatment of people. Too many managers--and HR departments--think that treating people fairly requires that we treat people precisely the same way, equally.

Well, we aren't all the same people. We don't want the same things. What you want and what I want from a job are different. You might want time off to go to your children's plays. Maybe I want to take three weeks of vacation a year. You want a book allowance. I want to go to a conference. You want to be part of a team on a well-defined project. I want to be like Captain Kirk, going where no one has gone before.

We both want to work on projects, but the kind of project is different. We both want to work on teams, and the teams are different. Why would the company want to treat us the same way?

And yet, this equal treatment is something many companies strive for.

It's craziness. That's because no one has considered what we really need: fair treatment, not equal treatment.

When you start treating people fairly, instead of equally, you

  • Help people discover which work challenges them.
  • Help them learn about and achieve their career goals.
  • Help people provide you feedback about what they want, not what you want
And, you start creating win-win situations at work.

So stop with the equal, and go with the fair treatment, ok?

Current Vacancies from CWJobs

(* Required field)










Preferred format