Tag Archives: microsoft

Microsoft and developer trust

David Sobeski, former Microsoft General Manager, has written about Trust, Users and The Developer Division. It is interesting to me since I recall all these changes: the evolution of the Microsoft C++ from Programmer’s Workbench (which few used) to Visual C++ and then Visual Studio; the original Visual Basic, the transition from VBX to OCX; DDE, OLE and OLE Automation and COM automation, the arrival of C# and .NET and the misery of Visual Basic developers who had to learn .NET; how DCOM (Distributed COM) was the future, especially in conjunction with Transaction Server, and then how it wasn’t, and XML web services were the future, with SOAP and WSDL, and then it wasn’t because REST is better; the transition from ASP to ASP.NET (totally different) to ASP.NET MVC (largely different); and of course the database APIs, the canonical case for Microsoft’s API mind-changing, as DAO gave way to ADO gave way to ADO.NET, not to mention various other SQL Server client libraries, and then there was LINQ and LINQ to SQL and Entity Framework and it is hard to keep up (speaking personally I have not yet really got to grips with Entity Framework).

There is much truth in what Sobeski says; yet his perspective is, I feel, overly negative. At least some of Microsoft’s changes were worthwhile. In particular, the transition to .NET and the introduction of C# was successful and it proved an strong and popular platform for business applications – more so than would have been the case if Microsoft had stuck with C++ and COM-based Visual Basic forever; and yes, the flight to Java would have been more pronounced if C# had not appeared.

Should Silverlight XAML have been “fully compatible” with WPF XAML as Sobeski suggests? I liked Silverlight; to me it was what client-side .NET should have been from the beginning, lightweight and web-friendly, and given its different aims it could never be fully compatible with WPF.

The ever-expanding Windows API is overly bloated and inconsistent for sure; but the code in Petzold’s Programming Windows mostly still works today, at least if you use the 32-bit edition (1998). In fact, Sobeski writes of the virtues of Win16 transitioning to Win32s and Win32 and Win64 in a mostly smooth fashion, without making it clear that this happened alongside the introduction of .NET and other changes.

Even Windows Forms, introduced with .NET in 2002, still works today. ADO.NET too has been resilient, and if you prefer not to use LINQ or Entity Framework then concepts you learned in 2002 will still work now, in Visual Studio 2013.

Why does this talk of developer trust then resonate so strongly? It is all to do with the Windows 8 story, not so much the move to Metro itself, but the way Microsoft communicated (or did not communicate) with developers and the abandonment of frameworks that were well liked. It was 2010 that was the darkest year for Microsoft platform developers. Up until Build in October, rumours swirled. Microsoft was abandoning .NET. Everything was going to be HTML or C++. Nobody would confirm or deny anything. Then at Build 2010 it became obvious that Silverlight was all-but dead, in terms of future development; the same Silverlight that a year earlier had been touted as the future both of the .NET client and the rich web platform, in Microsoft’s vision.

Developers had to wait a further year to discover what Microsoft meant by promoting HTML so strongly. It was all part of the strategy for the tablet-friendly Windows Runtime (WinRT), in which HTML, .NET and C++ are intended to be on an equal footing. Having said which, not all parts of the .NET Framework are supported, mainly because of the sandboxed WinRT environment.

If you are a skilled Windows Forms developer, or a skilled Win32 developer, developing for WinRT is a hard transition, even though you can use a familiar language. If you are a skilled Silverlight or WPF developer, you have knowledge of XAML which is a substantial advantage, but there is still a great deal to learn and a great deal which no longer applies. Microsoft did this to shake off its legacy and avoid compromising the new platform; but the end result is not sufficiently wonderful to justify this rationale. In particular, there could have been more effort to incorporate Silverlight and the work done for Windows Phone (also a sandboxed and touch-based platform).

That said, I disagree with Sobeski’s conclusion:

At the end of the day, developers walked away from Microsoft not because they missed a platform paradigm shift. They left because they lost all trust. You wanted to go somewhere to have your code investments work and continue to work.

Developers go where the users are. The main reason developers have not rushed to support WinRT with new applications is that they can make more money elsewhere, coding for iOS and Android and desktop Windows. All Windows 8 machines other than those running Windows RT (a tiny minority) still run desktop applications, whereas no version of Windows below 8 runs WinRT apps, making it an easy decision.

Changing this state of affairs, if there is any hope of change, requires Microsoft to raise the profile of WinRT among users more than among developers, by selling more Windows tablets and by making the WinRT platform more compelling for users of those tablets. Winning developer support is a factor of course, but I do not take the view that lack of developer support is the chief reason for lacklustre Windows 8 adoption. There are many more obvious reasons, to do with the high demands a dual-personality operating system makes on users.

That said, the events of 2010 and 2011 hurt the Microsoft developer community deeply. The puzzle now is how the company can heal those wounds but without yet another strategy shift that will further undermine confidence in its platform.

Privacy, Google Now, Scroogled, and the connected world

2013 saw the launch of Google Now, a service which aspires to alert you to information you care about at just the right time. Rather than mechanical reminders of events 15 minutes before start time, Google Now promises to take into account location, when you are likely to have to leave to arrive where you want to be, and personal preferences. Much of its intelligence is inferred from what Google knows about you through your browsing patterns, searches, location, social media connections and interactions, and (following Google’s acquisition of Nest, which makes home monitoring kit) who knows what other data that might be gathered.

It is obvious that users are being invited to make a deal. Broadly, the offer is that if you hand over as much of your personal data to Google as you can bear, then in return you will get services that will make your life easier. The price you pay, loss of privacy aside, is more targeted advertising.

There could be other hidden costs. Insurance is one that intrigues me. If insurance companies know everything about you, they may be able to predict more accurately what bad things are likely to happen to you and make insuring against them prohibitively expensive.

Another issue is that the more you use Google Now, the more benefit there is in using Google services versus their competitors. This is another example of the winner-takes-all effect which is commonplace in computing, though it is a different mechanism. It is similar to the competitive advantage Google has already won in search: it has more data, therefore it can more easily refine and personalise search results, therefore it gets more data. However this advantage is now extended to calendar, smartphone, social media, online shopping and other functions. I would expect more future debate on whether it is fair for one company to hold all these data. I have argued before about Google and the case for regulation.

This is all relatively new, and there may be – probably are – other downsides that we have not thought of.

Microsoft in 2013 chose to highlight the privacy risks (among other claimed deficiencies) of engaging with Google through its Scroogled campaign.

image

Some of the concerns raised are valid; but Microsoft is the wrong entity to do this, and the campaign betrays its concern over more mundane risks like losing business: Windows to Android or Chrome OS, Office to Google Docs, and so on. Negative advertising rarely impresses, and I doubt that Scroogled will do much either to promote Microsoft’s services or to disrupt Google. It is also rather an embarrassment.

The red box above suits my theme though. What comes to mind is what in hindsight is one of the most amusing examples of wrong-headed legislation in history. In 1865 the British Parliament passed the first of three Locomotive Acts regulating “road locomotives” or horseless carriages. It limited speed to 4 mph in the country and 2 mph in the town, and required a man carrying a red flag to walk in front of certain types of vehicles.

red-flag

The reason this is so amusing is that having someone walk in front of a motorised vehicle limits the speed of the vehicle to that of the pedestrian, negating its chief benefit.

How could legislators be so stupid? The answer is that they were not stupid and they correctly identified real risks. Motor vehicles can and do cause death and mayhem. They have changed our landscape, in many ways for the worse, and caused untold pollution.

At the same time, the motor vehicle has been a huge advance in civilisation, enabling social interaction, trade and leisure opportunities that we could not now bear to lose. The legislators saw the risks, but had insufficient vision to see the benefits – except that over time, and inevitably, speed limits and other restrictions were relaxed so that motor vehicles were able to deliver the benefits of which they were capable.

My reflection is whether the fears into which the Scroogled campaign attempts to tap are similar to those of the Red Flag legislators. The debate around privacy and data sharing should not be driven by fear, but rather about how to enable the benefits while figuring out what is necessary in terms of regulation. And there is undoubtedly a need for some regulation, just as there is today for motor vehicles – speed limits, safety belts, parking restrictions and all the rest.

Returning for a moment to Microsoft: it seems to me that another risk of its Scroogling efforts is that it positions itself as the red flag rather than the horseless carriage. How is that going to look ten years from now?

Frank comments from Microsoft Product Manager on the Visual Studio 2012 user interface mess. “Secrecy is bad – it lets problems fester”

When Visual Studio 2012 was first previewed, it presented a new IDE style which featured all-caps menus and a mainly monochrome icon set which most developers disliked; the icons were too hard to distinguish. Microsoft has tweaked the design, restored more colour, and I hear fewer complaints today, but that essential design approach remains in Visual Studio 2013.

image

Microsoft product manager Brian Harry has made some frank comments on what happened, in a series of comments beginning here. The comments were made last month, but I had not seen them until today and consider them worth highlighting.

“The implementation of the new UI in 2012 was a mess” says Harry, explaining that the team assigned to create the new look was too small. Worse, it was too secret. “To aggravate this folly, there was a bit of a "cone of secrecy" around the new UI because we didn’t want it "leaking".  Even I didn’t get to see it until months into it,” he writes.

After a strong negative reaction to the preview, “we eventually came to realize we had a crisis on our hands,” says Harry:

Could we have reversed direction, of course.  We debated it vigorously – and for a while, I have to admit, I wasn’t sure.  Ultimately, I concluded that the only way was forward (not that it was actually my decision but I’m just stating my position).  I know some people will disagree with me emphatically and I respect that.  I am in the camp of people who generally like the new UI style.  I know some people think there aren’t any people in that camp but I’ve seen the survey’s and there actually are quite a lot of them.  I do believe there is continued room for improvement and we made some improvements over the past year (the Blue theme, for instance, is very popular – actually Dark is too; Light, not so much).  I’ve gotten completely used to all CAPS menus.  They never bothered me much and now, it just looks normal to me.  Contrast has gotten better.  Icon color has gotten better.  Icon shapes have gotten better.  I’d, personally, still like to see more liberal use of color (Team Explorer is mine and you can see we are a bit more liberal with color than much of VS :))  But all in all, I like the new UI and generally, people internally are happy with it too.

It was a journey and we made mistakes a long the way.  I think the biggest learning was – Don’t kid yourself into thinking you can do a ripple effect feature like that "on the cheap".  Another learning, for me at least, is secrecy is bad – it lets problems fester until they become crises.  Share, share, share.  The feedback is critical to course correction.

Now some observations of my own. My sense is that the flaws in the design stem from over-application of the content-first, “immersive UI” concept which is also seen in Windows 8 “Metro” or “Modern” apps. This concept makes perfect sense if you are browsing the web or reading a document: you want the screen furniture and tools to get out of the way as far as possible. If you are creating content though, the tools become more important. Arguably they become part of the “content”, if you define that as what you are focusing on.

I see the same design error in Microsoft Office 2013, which has a washed-out UI similar in many ways to that in Visual Studio 2012. If you are using Office mainly to consume content, it makes sense, but Office is a content creation tool, and the icons should be more prominent.

I am not sure of the logic behind all-caps menus except that they look vaguely modern and industrial; everybody knows that ALL CAPS is harder to read than lower case or mixed case, so this makes little sense to me.

In neither case is it that big a deal: I can still work productively and you get used to the UI.

Finally, you can tell from Harry’s remarks that the development team at Microsoft went all-out to try and please developers while also satisfying whatever corporate goals (misguided or not) were behind the new style. Kudos to them.

Platform Wars: Google injects Chrome OS into Windows, never mind the poor users

Google announced its Chrome browser in September 2008. Its stated goal was to run web applications better:

What we really needed was not just a browser, but also a modern platform for web pages and applications, and that’s what we set out to build.

Chrome was a hit, thanks to easy install, fast performance, and Google’s ability to advertise it on its own search pages and web applications (as well as some deals with OEM Windows vendors). Today, Chrome is the most popular browser worldwide, according to figures from Statcounter covering desktop, tablet and console browsers:

image

That’s 43.64% versus 22.76% for Microsoft Internet Explorer in second place and 18.9% for Firefox in third.

Most of those users are on Windows. Statcounter also reports that Windows worldwide has a 79.1% market share worldwide – not quite dead – though Windows 8 has a measly 7.29% share, just behind OS X.

Note that these figures are for usage, not current sales, which is one reason why Google’s Chrome S is lost somewhere in “other”.

Today though we are seeing the force of Google’s intention to introduce a “modern platform for web pages and applications”. Chrome version 32, which comes as an automatic update for most users, no longer has the look and feel of Windows. It has thin scroll bars that lack the standard single-step arrows:

image

If you choose the new “Windows 8 mode” which you will find on the Chrome menu, you get something which is neither like desktop Windows, nor like Windows 8. Instead, it is ChromeOS, injected into Windows.

image

Chrome’s “Windows 8” mode only works if you set it as the default browser, and if you choose the Windows 8 mode you lose the desktop version until you select “Relaunch Chrome on the desktop” from its menu.

image

What is the effect of “Windows 8 mode”? It has several advantages for Google:

  • It serves as an introduction to Chrome OS, increasing the chance of selling a Chrome OS device (Chromebook) that does not run Windows at all
  • It hides the desktop, making it more likely that you will choose a Google web app rather than a desktop or Windows 8 app for your next task

However, considered as a “modern” style Windows 8 app, it is poor. It is not touch friendly, it is multi-window, and it ignores the conventions of Windows 8 apps – this is really Chrome OS, remember.

Users are not impressed. The thing they hate most is losing the paging arrows on the scroll bars. Check the long comment thread here. For example:

This is ridiculous, and the "just deal with it" from some developers is really grating. I am -terrified- of when my Chrome will update because even using this page now I’ve used the sidebar & steppers. I have vision problems and I fear this update will make Chrome unusable for me. I’m using Windows and should have my scrollbar harmonised with Windows instead of an operating system I do not use.

This is a strategic move though and unlikely to change. Here are the key official statements in that thread. Here:

This is because we’re switching to the chromeos style. Passing to review-ui to make sure they are ok with this.

and here:

There is no easy way to go back to the previous scrollbars. There was a big change in the graphics stack from chrome 31 to chrome 32 which meant to unify 3 platforms: windows, chromeos and linux and that includes a shared widget theme.

Chrome may lose a few users to IE or Firefox, but it takes lot to get people to switch browsers.

The purpose of this post is to highlight Google’s strategy, rather than to pass judgement on whether or not it is a bad thing. It is part of a strategy to kill the Windows ecosystem, oddly echoing Microsoft’s own strategy of “Embrace, Extend, Extinguish”:

"Embrace, extend, and extinguish", also known as "Embrace, extend, and exterminate", is a phrase that the U.S. Department of Justice found was used internally by Microsoft o describe its strategy for entering product categories involving widely used standards, extending those standards with proprietary capabilities, and then using those differences to disadvantage its competitors.

says Wikipedia.

Speaking personally though, if I am running Windows then I want to take full advantage of Windows, not to have it morph into another OS to suit the goals of a competitor.

CES analyst predicts flat global consumer tech sales, massive dominance of smartphones and tablets, drift towards low-end

At CES in Las Vegas yesterday, CEA Director of Industry Analysis Steve Koenig presented data and predictions on global tech spending trends. The figures come out of CEA Research and are based on sales tracking at retail outlets around the world supplemented by other data.

image

This being CES, I was expecting a certain amount of hype around how consumer technology is changing the world, but in fact Koenig’s presentation was matter-of-fact and somewhat downbeat. He said that the overall consumer tech spending trend is flat, with rising spend in emerging markets (especially China) more or less making up for declining spend in mature markets, which he says is due to market saturation. His figures show 2% growth in spending in 2013 but a 1% decline in 2014. Given the uncertainty of this kind of forecast, let’s call it flat.

The “market saturation” factor is a point to ponder. It suggests that technical devices are “good enough” for longer. It also suggests that overall the new gadgetry on show at CES is not sufficiently exciting to persuade us to spend a higher proportion of our income on consumer electronics.

Looking at his figures though, it is not just a matter of saturation. Another factor is device convergence. We are spending less on cameras and camcorders because a smartphone is good enough. We are spending less on printers because there is less need to print stuff; we can view it on a tablet. We don’t need a SatNav any more; we use a smartphone (or it is built into the car’s dashboard). In fact, we are loving our smartphones and tablets so much that spending on almost any other kind of tech is in decline. Here’s the slide showing how these mobile devices are forecast to account for 43% of consumer tech spending in 2014:

image

Spending on smartphones is forecast to increase by 9% in 2014, and on tablets 6%. Almost the only other broad category for which significant revenue growth is forecast in 2014 is video games consoles, thanks to the launch of new generation Xbox and PlayStation boxes (maybe Steam boxes too). That is a product cycle, not a long-term trend. Personally (my thoughts, not Koenig’s) I reckon games consoles will decline thanks to competition from smartphones, tablets and smart TVs. Global TV sales are expected to increase by 2% in units.

The other big picture trend identified by Koenig is the reduction in the average selling price (ASP) of smartphones and tablets. Smartphone ASP is down from $444 in 2010 to $297 in 2014.

image

This trend is partly because the quality of cheaper devices has improved, but also because the emerging markets which are spending more are also markets that want lower prices. Taken together, this translates to a significant shift towards the low end. Overall, CEA forecasts that tech spending in developing markets, primarily on low end devices, will equal tech spending in mature markets for the first time in 2014.

image

Of course this is largely an Android story. I will add though some reflections on what has happened with Windows in the light of these trends. Microsoft was right to adapt Windows for tablets, but if you look at how Windows 8 was launched there was too much focus on the high-end, trying to copy Apple rather than compete with Android. That was a mistake, and it is only recently that OEMs like Asus, with its T100 Windows 8.1 tablet, have started to come out with decent low-end devices. Nokia on the other hand has done exactly the right thing with its Lumia Windows Phones, building market share with excellent low-end smartphones. Whether that momentum will be sustained following Microsoft’s acquisition will determine the fate of the phone platform. 

Finally, note that forecasting the future is never easy and this time next year the picture may look quite different.

Update: Koenig’s slide deck is here.

Reflecting on 2013: the year of not the PC, no privacy, and the Internet of Things

In last year’s review I wrote “Android up, Apple down, Microsoft so near, so far”. Same again? The headline still rings true, though I would not write “Apple down” today. Android ended Apple’s chance of world domination in mobile, but the company continues to thrive. In some markets Apple is almost the only company that matters. Earlier this month I interviewed Gregor Lawson, the co-founder of Morphsuits, for the Guardian web site. Lawson told me about the company’s mobile app, which he regards as strategically important; it is a free app used for marketing. I did not have space to include this snippet, when I asked him whether he had plans to support Windows Phone alongside Apple iOS and Google Android:

“Oh no. We could almost get away without doing Android. For the business that we track, we have about 80% iOS.”

Simple market share figures do not tell you that. It is a matter of context.

So what did happen in 2013? Here are some headlines.

The year of not the PC

You can safely predict that 2014 will be another year of “The PC is dead” “Oh no it isn’t” exchanges, providing technical commentators with an enduring topic. The PC is not dead; it runs most businesses, it is still the best tool for Office-style productivity, it is an excellent games machine, and a fine open platform for running whatever you want. Its decline is unmistakeable though; for people who can do most of what they need on a tablet, a tablet is a better choice, removing many of the hassles associated with PC ownership and offering portability that a laptop cannot match. Sales figures show that trend and 2013 will be another year of decline for PCs and laptops.

Might that tablet run Windows 8? I will say some more about this in the Microsoft-specific section below; but in summary, there was not sign in 2013 of Windows encroaching in any meaningful way on the iOS/Android tablet market.

The shift away from the desktop is huge for the industry. It continues a trend towards cloud and device which has been obvious for several years, but of which people are now more conscious.

BlackBerry dwindles

I dug out my BlackBerry Playbook (launched in 2011) during my Christmas clear-out. It is a nice little tablet – and the QNX embedded OS on which it is based is great – but it failed in the market for all sorts of reasons, the chief one being that it is neither iOS nor Android. 2013 was the launch year for smartphones running BlackBerry 10 (also QNX based), the Z10 and the Q10, but sales have been equally disappointing. It is a shame as the company did many things right: the operating system is good, the developer evangelism and support before the launch was strong, and the handsets in my brief looks are worthy contenders; but the barriers in front of any company trying to launch a new mobile OS have so far proved too great. Those barriers are to do with app ecosystem, the de-facto lock-in among users who have already purchased apps for their current smartphone and want to carry them over, operator support and marketing, retail support and marketing, and the difficulty of competing against Apple, Google, Nokia and Microsoft. Enterprise security was meant to be the USP for BB10 devices, but there are strong mobile device management solutions for other platforms; in fact, the current wisdom is that BES 10, the BlackBerry mobile device management software which also supports iOS and Android, may now be the future of the company.

The year of no privacy

Humans are not logical creatures, which is the only way to make sense of the no-privacy story of 2013. There are two key sides to this.

One is Edward Snowden’s whistleblowing over the data capture practised by his former employer the NSA (National Security Agency), which according to his reports goes beyond what the public imagines that national security agencies do and caused much consternation and indignation around the world.

The other is the increasing amount of data captured for marketing purposes by Google, mobile operators, internet advertisers, retailers online and offline, and others, about which the public cares very little as far as I can tell. The question is: how much data are we willing to hand over in return for free services, and the answer seems to be, pretty much everything. One or two individuals care about this – Aral Balkan for example – but it is not an issue for most of the public.

I am one who is concerned about this, because data is power, and it strikes me as dangerous to put so much power in the hands of a few large corporations, which are only lightly regulated. How much it really matters is open to debate; we are sailing into the unknown.

Turning this around for a moment, for many businesses the ability to make intelligent use of what has become known as “big data” is now critical.

Wearable computing on the rise

A nod here to wearable computing, with the big story being the previews of Google Glass, embedded Android with camera, Bluetooth and Wi-Fi which is clipped to the side of your head and responds to voice control. It may or may not succeed in the market, and makes another bullet point for the Year of No Privacy, but it is a fascinating experiment with huge potential.

It is not just Google Glass. Devices like fitbit and Nike+ FuelBand monitor our movements for the purpose of fitness tracking and will become commonplace – more data, more possibilities, less privacy. Privacy aside, there is no doubting the potential of such devices to improve health, not only by encouraging exercise, but moving on into things like early warning of heart problems and better data on the effectiveness of different treatments.

The Internet of Things

Wearable computing is one facet of a wider field called the Internet of Things (IoT). I was fortunate to attend ThingMonk, a London event organised by analyst company RedMonk, which gave me several insights. 

image

Claire Rowland at AlertMe.com talks UX for IoT at ThingMonk, next to an internet-connected coffee machine.

One is that IoT will change our lives, mostly in a good way. Ubiquitous small wi-fi enabled computers will get everywhere, talk to sensors, and connect with web services to make our lives mostly better. Home appliances will report service requirements to engineers before we know, moving maps on our SmartPhone will show where our bus has got to, luggage will phone home, and so on.

For businesses, IoT ability will be an important product differentiator, initially at the high end, but increasingly throughout the market in some sectors; motor vehicles is an example.

At the same time, it was evident from ThingMonk that the IoT world is full of ideas not all of which are practical and plenty of mistakes will be made.

It was also evident that lack of standards will hold back the IoT. Vendors will each prefer to use unpublished APIs and proprietary protocols, to protect their business, even though open standards and published APIs would enable more innovation and be a public benefit.

Microsoft in transition

2013 was the year Microsoft lost a CEO (Steve Ballmer announced his retirement) but failed to gain one (no successor has yet been announced). It is a difficult appointment: does Microsoft need an outsider with new ideas, or simply an insider with the ability to execute on the strategy that is already in place? My view is that the latter is likely to work out better. Oddly, the company announced strong financials despite the decline of the PC, which is why regard the tendency of the media to equate the decline of the Windows client with the decline of Microsoft puzzling at times.

Growth areas in the last set of figures were own-brand hardware (Xbox and Surface), server and tools, and cloud services including Office 365 and Azure.

It is possible that 2014 will be the year when Microsoft unveils a dreadful set of figures but I have been waiting for this a long time.

Nevertheless, Microsoft’s traditional software business is under threat, not only from PC decline but also from cloud computing. Weakness in mobile might help competitors (especially Google) promote rival cloud services.

Microsoft also needs to up its game in quality and performance. Bugs in SkyDrive on Windows 8.1 cost me data this year. I edited an article, saved it to SkyDrive, attached it to an email, but the recipient got an old version. It is extraordinary that Microsoft has yet to get sync right after so many years of trying. Another annoyance is the slowness of Microsoft web properties at times, including Bing.

As always, this will be a fascinating company to watch in 2013.

  • Can Microsoft continue to do whatever Nokia was doing right with Windows Phone, so that market share grows?
  • Will the Windows 8 “Metro” platform build some real momentum as market penetration improves?
  • What will the promised unification of phone and tablet platforms look like for developers?
  • How will Xbox One fare against PlayStation 4, given its higher price and lesser graphics power, but greater innovation with Kinect 2 and voice control?
  • At what point does growth in cloud computing mean that growth in on-premise server licenses will stall?

Twitter, Google, Facebook free services get worse

Twitter got worse in 2013. More sponsored posts and the appearance of inline images on the web site mean that for me the appeal of the controlled, short-form feed which made Twitter great has been diluted. Google search got worse in 2013, with more ads and more brand-driven results, and its insistence on putting Google+ at the centre of its services became an annoyance. Facebook too is increasingly commercial.

These are businesses after all. Overall though, it seemed that the web got more proprietary in 2013.

Social media: the good and the bad

During much of 2013 I edited a section on the Guardian web site focused on social media marketing. The opportunity to talk to many experts in the field has been illuminating. Social media is not a short-term fashion; rather, it has changed the way we interact with each other and made it richer and more public. It is also changing marketing, and not just marketing, but the way businesses engage with their customers and potential customers.

Speaking for myself, user reviews on the likes of TripAdvisor and Amazon are now a significant influence on my purchasing decisions. Despite the fact that such platforms are gamed by vendors, overall I believe I am making better decisions as a result. Whether or not I am right about that, the influence is real.

The positive aspect of social media is the opportunity it presents for businesses to be better informed and more responsive to customer needs, and the increasing power of customer opinion to influence others, resulting in better products and more responsible behaviour.

Negatively though, social media marketing means that our public interactions with friends are now invaded by brands looking for a marketing opportunity, enabled by social media platforms which are monetized by selling our personal data (though hopefully anonymized) and access to our social media feeds. When that vendor interaction is shallow and one-sided, it leaves a sour taste.

The good outweighs the bad in my opinion, though see again the note above on the Year of No Privacy.

Personal hopes for 2014

A few personal hopes for me to review this time next year:

  • A redesigned ITWriting.com, probably on a new cloud platform, as time and funds allow
  • A converged device that works for me, so a smartphone can be good enough (for my specialised purposes) as phone, camera and recording device
  • Complete my Windows 8 game; I am working on it and will write up the experience in due course!

Happy New Year!

Something Microsoft has never fixed: why Windows is slow to start up

One of the most common complaints I hear about Windows is that it is slow to start up. Everything is fine when a machine is new (especially if it is a clean install or purchased from a Microsoft store, and therefore free from foistware), but as time goes on it gets slower and slower. Even a fast PC with lots of RAM does not fix it. Slow boot is one of many factors behind the drift away from PCs to tablets, and to some extent Macs.

image

As far as I can tell, the main reason PCs become slow to start is one that has been around since DOS days. Some may recall fussing about TSR – Terminate and Stay Resident – applications that would run at startup and stay in memory, possibly causing other applications to fail. Windows today is generally stable, but it is applications that run at startup that cause your PC to start slowly, as well as having some impact on performance later.

I install lots of software for testing so I suffer from this myself. This morning I took a look at what is slowing down my desktop PC. You can view them easily in Windows 8, in Task Manager – Startup tab. A few of the culprits:

  • Adobe: too much stuff, including Service Manager for Creative Suite, Creative Cloud connection, Acrobat utilities
  • Intel Desktop utilities – monitors motherboard sensors
  • Intel Rapid Storage Technology – monitors on-board RAID
  • Sync applications including SkyDrive, Dropbox, SkyDrive Pro (Groove.exe)
  • Seagate Desktop, manage your Seagate NAS (network attached storage)
  • Google stuff: Google Music Manager, Google update, some Chrome updater
  • Plantronics headset updater
  • Realtek HD Audio Manager
  • Fitbit Connect client
  • SpotifyWebHelper
  • Microsoft Zune auto-launcher
  • Microsoft Lync, famously slow to start up and connect
  • Roccat Gaming mouse settings manager
  • Flexera “Common software manager” (InstallShield updater)

Many of these applications run in order to install a notification app – these are the things that run at bottom right, in the notification area of the taskbar. Some apps install their own schedulers, like the Seagate app which lets you schedule backup tasks. Some apps are there simply to check for updates and inform you of new versions.

You can speed up Windows startup by going through case by case and disabling startup items that you do not need. Here is a useful guide. It is an unsatisfactory business though. Users have no easy way to judge whether or not a specific app is doing an important or useful task. You might break something. When you next update the application, the startup app may reappear. It is a mess.

Microsoft should have addressed this problem aggressively, years ago. It did put great effort into making Windows boot faster, but never focussed on the harder task of bringing third-parties into line. A few points:

  • If Windows had a proper notification service, many of these apps would not need to exist. In Windows 8, it does, but that is little help since most applications need to support Windows 7 and even in many cases Windows XP.
  • The notification area should be reserved for high priority applications that need to make users aware of their status at all times. The network connection icon is a good case. Printer ink levels are a bad case, aside from reminding us of the iniquity of printer vendors selling tiny ink cartridges at profiteering prices. In all cases it should be easy to stop the notification app from running via a right-click preference. The Windows 7 idea of hiding the notification icons is counter-productive: it disguises the problem but does not fix it, therefore making it worse. I always set Windows to show all notifications.
  • Many tasks should be done on application startup, not on Windows startup. Then it is under the user’s control, and if the user never or rarely runs the application, no resources are grabbed. Why do I need to know about an update, if I am not running the application? Have the application check for updates each time it runs instead.
  • It is misguided to run a process on start-up in order to speed up the first launch of the application. It may not be needed.
  • If a background process is needed, such as for synchronisation services, why not use a Windows Service, which is designed for this?
  • Windows has a scheduler built in. It works. Why write your own?

Of course it is too late now for desktop Windows. Microsoft did rethink the matter for the “Metro” personality in Windows 8, which is one reason why Windows RT is such a pleasure to use. Apple does not allow apps to run on startup in iOS, though you can have apps respond to push notifications, and that strikes me as the best approach.

Update: I should mention a feature of Windows 8 called Fast Boot (I was reminded of this by a commenter – thanks Danny). Fast Boot does a hybrid shutdown and hibernation:

Essentially a Windows 8 shutdown consists of logging off all users and then hibernating.

This is almost another subject, though relevant. Microsoft has for years sought to address the problem of slow boot by designing Windows never to switch off. There are two basic approaches:

Sleep: the computer is still on, applications are in memory, but in a low power state with screen and hard drives off.

Hibernation: the computer writes the contents of its memory to disk storage, then powers off. On startup, it reads back the memory and resumes.

My own experience is that Sleep does not work reliably long-term. It sometimes works, but sooner or later it will fail to resume and you may lose data. Another issue on portables is that the “low-power state” is not as low power as it should be, and your battery drains. These factors have persuaded me to shut down rather than sleep.

My experience of hibernation is better, though not perfect. It usually works, but occasionally fails and again you lose data.

Fast boot is a clever solution that works for some, but it is a workaround that does not address the real issue which I have outlined above: third-party and Microsoft applications that insist on automatic start-up.

Do you miss manuals? Why and why not …

It’s that time of year. I keep more than I should, but now and again you have to clear things out. I don’t promise to dispose of all of these though: they remind me of another era, when software came in huge boxes packed with books.

image

If you purchased Microsoft Office, for example, you would get a guide describing every feature, as well as an Excel formula reference, a Visual Basic reference and so on.

If you purchased a development tool, you would get a complete language reference plus a guide to the IDE plus a developer guide.

The books that got most use in my experience were the references – convenient to work on a screen while using a book as reference, especially in the days before multiple displays – and the developer guides. You did not have to go the way the programmer’s guide suggested, but it did give you a clue about how the creators of the language or tool intended that it should be used.

Quality varied of course, but in Microsoft’s case the standard was high. When something new arrived, you could learn a lot by sitting down with just the books for a few hours.

What happened to manuals? Cost was one consideration, especially as many were never opened, being duplicates of what you had already. Obsolescence went deeper than that though. Manuals were always out of date before they printed, especially when update distribution was a download rather than a disk sent out by support (which means from the nineties onward).

Even without the internet, manuals would have died. Online help is cheaper to distribute and integrates with software – press F1 for help.

Then add the power of the web. Today’s references are online and have user comments. Further, the web is a vast knowledgebase which, while not wholly reliable, is far more productive than leafing through pages and pages trying to find the solution to some problem that might not even be referenced. In many cases you could post a question to StackOverflow and get an answer more quickly.

Software has bloated too. I am not sure what a full printed documentation set for Visual Studio 2013 would look like, but it would likely fill a bookshelf if not a room.

When software companies stopped sending out printed manuals, the same books were produced as online (that is, local, but disk-based) help. Then as the web took over more help went to the web, and F1 would either open the web browser or use a help viewer that displayed web content. There are still options for downloading help locally in many development tools.

Nothing to miss then? I am not so sure. It strikes me that the requirement to deliver comprehensive documentation was a valuable discipline. I wonder how many bugs were fixed because the documentation team raised a query about something that did not seem to work right or make sense?

Another inevitable problem is that since documentation no longer has to be in the box (or in the download), some software is delivered without adequate documentation. You are meant to figure it out via videos, blog posts, online forums, searches and questions.

A good documentation team takes the side of the user – whether end user, developer, or system administrator, depending on context. They write the guide by trying things out, and goad the internal developers to supply the information on what does and does not work as necessary. That can still happen today; but without the constraint of having to get books prepared it often does not.

Microsoft Project Siena: another go at the spirit of Visual Basic

Remember Visual Basic? By which I mean, not the current language that is a case-insensitive alternative to C# that does much the same thing, but the original rapid app development tool that democratised Windows development back in 1991. At the time, Windows development was a sought-after skill but rather difficult. VB meant anyone could create an application; pros could build excellent ones, amateurs something ugly and unmaintainable, but nevertheless something that worked. The transition to .NET brought many benefits, but also more complexity. The latest evolution of the Windows client, the Windows Runtime, is also challenging to get right (I am currently writing a simple C# game on the platform).

Microsoft has been looking for a new “VB” for years. 2007: Popfly (now abandoned). 2011: Lightswitch. Now we have Project Siena.

image

Siena is an app for building apps. An app is a Siena document with a .siena extension. Here is what Microsoft’s Bryan Group says:

Microsoft Project Siena (code name) is the beta release of a new technology for business experts, business analysts, consultants, and other app imagineers. Now, without any programming, you can create powerful apps for the device-first and cloud-connected world, with the potential to transform today’s business processes.

Building Siena apps is as easy as editing a document. Place some visuals on a canvas. Hook them up to your data. Customize how your app looks and works. Then, if you need special logic and intelligence, write Excel-like expressions. You can use your app immediately, or share it with colleagues or the world.

This sounds great to me. I installed it and set about building an app. I decided to create the same app I have used to try out dozens of programming tools over the years: a to-do list with the ability to add and remove tasks

image

Building the user interface went OK, but how do I add and remove items from the list? I have got as far as figuring out that I need to type the right magic into the OnSelect property of a button:

image

I will let you know when I have worked out what to do next. I will observe that the environment is geared towards data binding, rather than directly updating the user interface, and remote data, such as binding to tables in Azure Mobile Services, a REST API, an RSS feed or a SharePoint list. However you can also bind to an Excel spreadsheet for local data.

Unfortunately there is no “Run” button. You can preview your Siena app by pressing F5 or tapping the Run button in the top app bar.

To deploy your Siena app, you hit Publish:

image 

This creates a package of files, including InstallApp.exe. Siena generates HTML and JavaScript so you can learn a lot about the environment by poking around in the generated files.

image

Run InstallApp.exe and the app installs into your local PC. Mine runs fine, it just does not work yet.

Siena, as is usual for this type of release, suffers from lack of documentation. There is a function reference and a few sketchy help topics. There are also some sample apps. Here is what the Personnel Manager has in the OnSelect of its Add button; perhaps this is a clue:

UpdateIf(Assoc,ID = ThisItem!ID,{AssignedTo:SelectedDepartment, Time:Now()}); RemoveIf(SelectedAssociates, ID = ThisItem!ID)

While it is great to have a genuinely easy visual interface builder, the development features of Visual Studio are greatly missed; the code editor as far as I can tell is limited to a single line in a text input field, though you do get a squiggly underline if you do it wrong, and a bit of code completion.

How is the average “business expert, business analyst, consultant, and other app imagineer” going to get on with Project Siena? That is the question; and in the current preview I’d guess they will be flummoxed and go straight back to Excel or Access, though I would love to be proved wrong.

It looks like a lot of work has gone into this though, and no doubt better documentation and enhanced features are on the way.

What next for Windows as Microsoft announces Build 2014?

Microsoft has announced Build 2014, its premier developer conference for Windows, April 2-4 in San Francisco.

image

In his blog post on the subject, developer evangelist Steve Guggenheimer mentions the Windows 8 app platform and Xbox One, and promises that Microsoft will talk about “what’s next for Windows, Windows Phone, Windows Azure, Windows Server, Visual Studio and much more.”

How is the buzz around Microsoft right now? Here are a few things that are not so good:

  • The Windows 8 app platform continues to struggle, despite picking up slightly from its dismal launch. Most of the conversation I hear around Windows 8 looks back to Windows 7 rather than forward to the new tablet platform: will the Start menu return?
  • The decline of the PC remains in full flow, while the non-Windows mobile platforms iOS and Android continue to grow
  • Xbox One, with its focus on Kinect and family entertainment, is falling behind Sony’s PlayStation 4 in terms of which console is most desired. Sony’s cheaper price and higher resolution on games like Call of Duty Ghosts make it a better for buy for gamers who can live without Kinect

On the other hand, a few positives:

  • Microsoft’s cloud platforms Office 365 and Windows Azure are growing fast, as far as I can tell
  • Server 2012 R2 is a solid upgrade to an already strong server product, and Hyper-V is making progress versus VMWare in virtualisation
  • Windows Phone 8 is making some progress in market share, though whether it will cross the point at which it becomes important enough for companies with apps to feel they have to support it remains an open question (currently they mostly do not)

What does that mean for Build? We may of course just see more of the same: improvements to Windows 8.x, further convergence with Windows Phone and Xbox platforms, new features for Windows Server and Azure, early previews of the next Visual Studio to support the new stuff.

I wonder though whether we may also see some new directions. Microsoft is supporting Xamarin for cross-platform mobile development and it would not surprise me to see more being made of this, or possibly some new approaches, to promote the use of Microsoft’s cloud services behind apps that run on iOS and Android.

Microsoft still intends for Windows 8/Windows Phone to be a major mobile platform alongside iOS and Android but its progress in reaching that point is slow. The task of building its cloud platform seems to be going better, despite competition from the likes of Amazon and Google, and in this context deep integration with the Windows client could be as much a liability as an advantage.

It may seem perverse; but it could pay Microsoft to focus on improving how well its server offerings (and Office) work with iOS and Android, rather than pushing for Windows everywhere as it has done in the past.