Category Archives: software development

Platform churn? If it is in Windows 8, we are committed to it says Microsoft

I interviewed Corporate VP of Microsoft’s developer division Soma Somasegar at the Visual Studio 2012 launch last week; see the article on the Register here. I asked about the inconsistency of the Microsoft platform, and the way the platform story has changed over the years (Win32, .NET, WPF, Silverlight and now Windows Runtime). Can developers trust in the longevity of today’s platform, especially on the client?

Here is what I thought was interesting about his reply:

Any technology you see shipping as part of Windows 8, we are very committed to that.

So what ships in Windows 8? Well, for reasons which are hard to discern for those of us outside Microsoft, Silverlight is not shipped in Windows 8. It is an optional download. In fact, the only plug-in installed by default is Adobe Flash:

image

No, that does not imply that Microsoft is committed to Flash; but it does suggest lack of commitment to Silverlight, which we knew.

What you do get though is .NET Framework 4.5. This is baked in and cannot be removed as far as I can tell, though you can add and remove some advanced features.

This means you also have Windows Presentation Foundation (WPF); and in fact Somasegar specifically refers to this alongside Win32 and the new Windows Runtime.

The inclusion of technology in a current Microsoft product has implications for its support lifecycle. The ancient Visual Basic runtime, for example, is still assured of a long life since it is part of Office 2013.

image

My guess is that Microsoft’s thinking goes something like this. Right now, as the October launch date of Windows 8 approaches, what Microsoft needs most urgently is a viable ecosystem for its new Windows Runtime environment. This, you will notice, is the focus of the forthcoming BUILD conference as so far announced.

image

What, though, of the Windows desktop, has Microsoft abandoned it as legacy? My guess is that we will get deliberately mixed messaging on the subject. On the one hand, Microsoft has relegated the desktop to a single tile in the new Start screen. On the other hand, most of us will spend most of our time in the desktop, not least developers who need it to run Visual Studio. If Microsoft succeeds in establishing the new Windows Runtime platform, it would not surprise me to see a little more love given to the desktop in, say, Windows 9.

Microsoft’s platform story is messy, without question, and especially so in mobile. We have seen Windows Mobile replaced by the incompatible Windows Phone 7, and now those loyal developers who invested in the Silverlight/XNA Windows Phone 7 technologies are finding that it is all change again in Windows Phone 8 and Windows 8 (though the exact details await the release of the Windows Phone SDK).

It seems clear though that the company’s current intent is that Windows Runtime evolves as the primary client platform for both phone and tablet, while desktop remains for legacy support and for applications that do not fit the new model, such as Visual Studio and (for the time being) Office.

What if Microsoft fails to establish the Windows Runtime as a popular app platform? All I can add is that I know of no Plan B.

Adobe results: 200,000 Creative Cloud subscribers and an impressive transition

Adobe has released its quarterly figures for its third financial quarter 2012. The figures show the success of Creative Cloud, Adobe’s subscription-based model for purchasing the Creative Suite applications, including Photoshop, Illustrator, InDesign, Acrobat and Flash. Total revenue is fractionally up on the same period in 2011, from $1013.2M to $1080.6M.

Adobe reports over 200,000 paid subscribers and 8,000 new subscriptions per week, compared to its projections of only 5,000 per week.

The Creative Cloud model has several advantages for Adobe. First, it gives assurance of a steady continuing income rather than the pain of driving a 2 year upgrade cycle. Second, it forms a platform from which to sell other products and services.

Adobe also says that its publishing platform, the Digital Publishing Suite, now has 1,100 customers distributing on average 125,000 publications daily, mainly to the iPad, with over 40 million delivered to date. This is good business for Adobe since it generally charges a fee per download.

The slight downside for Adobe is that the launch of Creative Suite 6 delivered lower initial revenue than is usual for a new launch, because customers are transitioning to the subscription model. That is not really a downside, but rather a sign that the strategy is working.

What impresses me about Adobe is how well the company has survived the decline of Flash and the relative failure of its efforts in enterprise applications (the digital enterprise segment is now subsumed in the figures into “Digital Marketing”). The segment breakdown for the third quarter looks like this:

$millions

  • Digital Media (Creative Cloud) 769.1 (71%)
  • Digital Marketing (analytics etc) 257.1 (24%)
  • Print and Publishing 54.4 (5%)

Think back a couple of years. Adobe was dependent on sales of shrink-wrap software and had a range of products which pivoted around Flash as the universal runtime and rendering engine. Now it has some claim to being a cloud company – though of course the primary benefit of Creative Cloud is in desktop software applications that you download – and in place of Flash it it betting on HTML5, together with its ability to compile Flash-based content into native applications.

The transition is not so easy for developers who invested in the Flash platform, coding applications in Flex and ActionScript. Adobe has stopped developing Flash for mobile, even on Android and other mobile platforms where it is not blocked. Still, if that has pushed developers into targeting HTML5 earlier than they would otherwise have considered, it may not be a bad thing.

Information Density in Metro, sorry Windows Store apps

Regular readers will recall that I wrote a simple blog reader for Windows 8, or rather adapted Microsoft’s sample. The details are here.

This is a Windows Store app – a description I am trying to get used to after being assured by Microsoft developer division Corp VP Soma Somasegar that this really is what we should call them – though my topic is really the design style, which used to be called Metro but is now, hmm, Windows Store app design style?

No matter, the subject that caught my attention is that typical Windows Store apps have low information density. This seems to be partly due to Microsoft’s design guidelines and samples, and partly due to the default controls which are so boldly drawn and widely spaced that you end up with little information to view.

Part of the rationale is to make touch targets easy to hit with fat fingers, but it seems to go beyond that. We should bear in mind that Windows Store apps will also be used on screens that lack touch input.

I am writing this on a Windows 8 box with a 1920 x 1080 display. Here is my blog reader, which displays a mere 7 items in the list of posts:

image

This was based on Microsoft’s sample, and the font sizes and spacing come from there. I had a poke around, and after a certain amount of effort figuring out which values to change in the list’s item template, came up with a slightly denser list which manages to show 14 items in the list. The items are still easily large enough to tap with confidence.

image

Games aside though, I am noticing that other Windows Store apps also have low information density. Tweetro, for example, a Twitter client, shows only 11 tweets to view on my large display.

The densest display I can find quickly is in Wordament, which is a game but a text-centric one:

image

I have noticed this low information density issue less with iPad apps. Two reasons. One is that iOS does not push you in the same way towards such extremely large-looking apps. The other is that you only run iOS on either iPhone or iPad, not on large desktop displays.

Is Windows 8 pushing developers too far towards apps with low information density, or has Microsoft got it right? It is true that developers historically have often tried to push too much information onto single screens, while designers mitigate this with more white space and better layouts. I wonder though whether Windows 8 store apps have swung too far in the opposite direction.

When will Blend, Microsoft’s Visual Studio design tool, be done? Not for a while says Soma Somasegar

During the Visual Studio 2012 launch last week I took the opportunity to ask Developer division Corp VP Soma Somasegar when Blend, Microsoft’s design tool for Visual Studio 2012, will be finished. A tricky question to answer, since there are multiple versions, as explained here:

  • Blend for Windows Store apps (HTML or XAML) is fully released and available as part of Visual Studio 2012

    image

  • Blend for WPF and Silverlight is in preview. For production you are meant to use the old Blend 4, unless you are targeting Silverlight 5 where you have no choice but to use the preview version.
  • Blend for Windows Phone is part of the Windows Phone SDK 7.1

The SketchFlow prototyping tool is also part of the preview Blend.

So when will Blend for Visual Studio 2012 be done? Somasegar refers to HBlend, which is the HTML version, and XBlend, which is for XAML.

“We shipped HBlend, and we shipped a preview of XBlend. It will take several months to finish. We also want to continue adding to HBlend. So I can’t tell you that Blend is ever going to be done [laughs],” he told me.

That said, the full Blend for Visual Studio 2012 will come out of preview sometime. Will it coincide with the first update for Visual Studio, announced for later this year?

“It is going to be later than the update, but I don’t have a specific timeframe,” he said.

Personally I have mixed (ha!) feelings about Blend. On the one hand, it is obvious that the simple designer in the Visual Studio IDE is insufficient, and that the rich Blend tool is needed, for those who can make sense of its intricate user interface. On the other hand, the designer aspect of Microsoft’s tooling seems to me messy, with too many versions of Blend and overlap between Blend and Visual Studio which gives developers a difficult choice: do I work with Blend, or stay within the simpler but more limited IDE tools?

Dropbox turns to CoffeeScript to beat JavaScript syntactic noise

Dropbox is a high-profile convert to CoffeeScript, a language that has the elegance of Ruby or Python but compiles into clean JavaScript in order to run in the browser. The Dropbox team says that CoffeeScript fixes many of JavaScript’s “syntactic problems.” In addition, a porting exercise reduced 23,437 lines of JavaScript to 18,417 lines of CoffeeScript, code, and this brevity was considered the “strongest argument” in favour – even though many of those eliminated lines were just curly braces and parentheses.

In order to port the code, the team used the Js2coffee tool; a bit of a brain-twist, a tool to convert JavaScript to a language that later compiles back to JavaScript.

The whole post is worth a read, and gives before and after examples.

Consider also the following:

Google’s Dart is an alternative web language that compiles to JavaScript, as is Google Web Toolkit

Microsoft’s Office Web Apps are written in C# compiled to JavaScript with a version of Script#. Microsoft’s Roslyn compiler as a service project lets you copy and paste VB code as C# and vice versa, and is already also being used to compile C# as JavaScript. Microsoft’s Anders Hejlsberg is rumoured to be working on a JavaScript project.

JavaScript seems to be becoming the new Common Language Runtime, not that Microsoft’s .NET CLR is going away, but rather that JavaScript now better fulfils the goal: pick whatever language you like and run it in the browser. 

PostScript:

I was intrigued to note that the Dropbox post does not render properly in Internet Explorer 10. For some reason that must appeal to geeky humour, it includes code spoken as audio, but the audio tags fail:

image

instead of

image

Possible reasons: the Dropbox page has a DOCTYPE of XHTML 1.0, and the files are in .wav format where IE is documented only to support MP3 or MP4. IE10 therefore refuses to play the audio, which works fine in Google Chrome and Mozilla Firefox.

The significance of this is not so much the technicalities, but rather what it implies about how many people now use IE in the community most likely to read this post.

Visual Studio 2012 launch: focus on Modern Apps

Microsoft is holding a launch event in Seattle for Visual Studio 2012, attended by selected Microsoft-platform developers as well as press from around the world.

image

Corporate VP Soma Somasegar kicked off the keynote, saying that Visual Studio 2012 has already been downloaded 600,000 times since its release to the web around one month ago – a take-up, he said, which exceeds previous versions.

image

But what is Visual Studio 2012 all about? It’s for Modern Apps, said Somasegar, though you would be wrong to imagine that this means a Windows 8 formerly-known-as-Metro app. Rather, a Modern App implies continuous services and multiple client devices, connected over both public and private networks. In other words, think mobile as well as desktop, public and private cloud, and bring your own device as well as corporate desktops.

Fair enough, but it is all a bit vague and still leaves us wondering what exactly apps for the Windows Runtime are called at Microsoft. Visual Studio calls them Windows Store apps, which does not make complete sense when you consider that you can deploy the apps without going through the Store, and that the Store can include desktop apps although these are links rather than direct downloads.

Visual Studio 2012 is a vast and impressive product though. Developers were shown various new features, including asynchronous development for maintaining a responsive user interface, pixel-level debugging in DirectX, after the fact debugging using Intellitrace, and new HTML and CSS support in the editor, with error highlighting that adapts to the specified version of HTML.

There was a quick demonstration of developing for Kinect, in which we saw an avatar mimic the movements of VP Jason Zander.

image

Technical Fellow Brian Harry spent some time showing off application lifecycle features in Team Foundation Server, including improved Scrum support and an emphasis on agile concepts like whole team development (the development team is not just developers).

There were a couple of announcements, including news of an update in preparation for Visual Studio 2012 which will include new features. There will be a preview later this month and delivery by the end of 2012.

Visual Studio Express for the desktop has now shipped and is available for download. This supports development in C#, Visual Basic and C++, so there is now a free C++ compiler available for Windows desktop development in the Visual Studio 2012 family.

I spoke to a couple of the invited developers after the morning event. Visual Studio 2012 looks good, they told me, but then again what choice is there for Windows platform development? That said, they had expected a stronger push for Windows 8 development, especially on the Metro-style side. Why did Microsoft not spend more time evangelising Windows 8 app development and the Windows Store? Of course there is a lot to cover but given how critical app momentum is to the success of the new Windows, it struck me as a valid point.

SharpDX: Managed DirectX for Metro from the community

One of the disappointments in Microsoft’s new Windows Runtime platform is lack of support for XNA, a gaming/fast graphics API which wraps DirectX and is supported on Windows, Windows Phone and on Xbox 360.

Developer Alexandre Mutel has stepped up to fill the gap with the open source SharpDX, which also provides access to the DirectX API from C#, supports both desktop and Windows Runtime development. One of the first games to use SharpDX, ARMED, has already arrived in the Windows Store.

image

In addition, Mutel says “it will certainly be possible to use ShardDX from Windows Phone 8”.

SharpDX was made possible by a custom tool called SharpGen which generates the .NET API automatically from the DirectX SDK.

The puzzle is why Microsoft did not make more effort to support XNA in Windows 8, or failing that to provide an alternative for .NET developers.

If you want to use SharpDX, be prepared for considerable effort learning the API, as there is little documentation so far. Still, it will likely be easier than learning C++, which is the official solution for DirectX on the Windows Runtime.

Telerik acquires Fiddler

Windows component vendor Telerik has acquired Fiddler, a free tool for inspecting and modifying web traffic, usually used to test and debug network and application issues. The announcement states that Fiddler’s creator Eric Lawrence, currently at Microsoft, is joining Telerik’s testing division.

The story seems to be that Fiddler was a spare time activity for Lawrence, who will now be able to focus on it exclusively. Telerik’s Christopher Eyhorn says:

This was a natural extension because Fiddler is already in use as the core technology behind Test Studio’s load and performance features.  Additionally, we gain a formidable competitive edge over other tools as both Eric and Fiddler join the Test Studio product family.

Eyhorn also refers to “our commitment to keeping Fiddler free and making further investments into the tool,” so it looks as if its freeware status is safe for the time being. Fears for its future have already been expressed, but Eyhorn says:

Please don’t judge us by the actions of our competitors; we will earn your trust through our actions.

He adds that Fiddler is installed over 10,000 times every weekday. The website has attracted over 5 million unique visitors so far this year, showing that maintaining a popular freeware tool represents a great PR opportunity.

Nokia and Windows Phone 8: more questions than answers

Nokia’s CEO Stephen Elop announced the Lumia 820 and 920 yesterday in New York; new versions of its high-end Windows smartphones and the first to run the forthcoming Windows Phone 8 operating system. Windows Phone 8 runs the same kernel as Windows 8 on PCs and is a significant step towards unification of Microsoft’s development platform.

image

Among the key features announced yesterday:

Wireless charging with the Qi standard and a couple of deals to place charging points in public places. The London Heathrow Virgin Atlantic lounge and the Coffee Bean & Tea Leaf chain will have charging points; not much, but a start. Wireless charging accessories include the JBL PowerUP which combines wireless charging and an audio dock.

PureView imaging technology. This is Nokia’s brand name for a bunch of photo features. Most significant is “floating lens technology” on the larger 920 which, Nokia claims, overcomes camera shake to enable the camera to take in “five times more light”; think of it as a virtual tripod that allows longer exposure without motion blur. If it works it is a huge feature for photo enthusiasts.

City Lens augmented reality which overlays the view through the phone’s camera with data about what to do and where to go; apparently there is data for indoor as well as outdoor locations.

image

Synaptics ClearPad touch which enables gloved finger support. Since Synaptics is a third-party I guess this feature is unlikely to be exclusive to Nokia for long.

Windows Phone 8 operating system shown off by Microsoft’s Joe Belfiore, including more customizable Live Tiles and a “Blink” feature from Microsoft Research which takes multiple shots in quick succession to enable interesting features like avoiding closed eyes and allowing after-the-event editing using alternate shots.

Screenshots are now a built-in feature. Who cares? Journalists of course; non-availability of this trivial feature meant fewer screenshots of Windows Phone 7 on the web.

Lumia 920 has a 4.5 inch screen, 1.5Ghz dual core Snapdragon S4, front and rear cameras, 1GB RAM, 32GB storage.

Lumia 820 has a 4.3 inch screen,  1.5 Ghz dual core Snapdragon S4, front and rear cameras, 1GB RAM, 8GB storage, microSD slot.

The big disappointment yesterday: no announcement concerning price or availability. Here is what the press release says:

Both phones will be available in pentaband LTE and HSPA+ variants and are expected to start shipping in select markets later in the year. Nokia will announce pricing and specific roll-out dates country by country when sales are due to begin.

Worries about a delay were not relieved by Microsoft’s announcement that the Windows Phone SDK preview will be available to select developers from September 12. “Next Wednesday I’ll share detailed instructions on how current Windows Phone developers with published apps can apply. But I do want to set your expectations that program access will be limited,” says Microsoft’s Todd Bix. He adds that, “The full Windows Phone 8 SDK will be made publically available later this year when we unveil Windows Phone 8.”

That suggests a considerable wait before availability. Even if the Lumias go on sale the same day that the SDK is final, it sounds like November at best; and that gives developers no time at all to work with the new SDK before launch. Key developers have early access of course.

image

Overall the event was less than it should have been, at a time when Android looks vulnerable thanks to Apple’s patent win over Samsung last month.

In some ways though, Nokia’s announcements have little to do with the key questions over Nokia’s Lumia range and Windows Phone 8. Quality is one issue; the launch of the Lumia 800 was damaged by the device’s poor battery life and tendency to sulk and become unchargeable; the rumour is that return rates were unusually high. The knock-on effect is to make it hard for retailers to recommend it to their customers, though firmware updates eventually improved matters. How is battery life on the 820 and 920? What has been done to address quality issues?

Another question, and to me the biggest one, is how Windows 8 for PCs will fare in the market and the impact it will have on Windows Phone. The more time I spend with Windows 8 the more I like it, especially on a tablet, but also on the desktop. There is a barrier to adoption though as the new user interface is a demanding transition for some users. If Windows 8 tablets succeed, there will be instant recognition for the phone user interface and users will have a reason to demand it over iPhone or Android, something that has been lacking up to now.

On the other hand, if appreciation for the nice features of Windows 8 is drowned out by a chorus of “give us back the Start menu”, while vendors focus on expensive fiddly hybrids rather than simple, lightweight tablets, then I doubt Windows Phone 8 will take off either.

Currently I use a Lumia as my main smartphone and (battery life aside) get on well with it. Nokia’s experience with the operating system should mean that this new generation is better, and the phones look good. As Elop himself said though, this is all about ecosystems, and the viability of his third ecosystem is still in the balance.

Embarcadero releases RAD Studio XE3

Embarcadero has released RAD Studio XE3, a major upgrade to its suite of tools for Windows, cross-platform and web development.

New in this version:

  • Windows 8 compatibility
  • Metropolis framework for desktop apps that have the look and feel of Windows 8 “Modern UI” (formerly Metro) apps. Live Tile support is included via a proxy Windows Runtime app.
  • Prism XE3 for .NET development, including support for the Windows Runtime in Windows 8, using a Delphi-like language.
  • Version 2 of the FireMonkey cross-platform framework, with improved touch support, a new grid control
  • Easier data binding in both FireMonkey and the Windows-only VCL (Visual Component Library) framework
  • New HTML5 Builder tool which replaces RadPHP. The new tool supports cross-platform mobile development by integrating PhoneGap, which lets you wrap HTML apps as native mobile apps.

Mac OSX support is included but iOS support has been removed, pending release of a forthcoming Mobile Studio product.

64-bit C++Builder is not in this release. 64-bit Delphi was introduced in the previous XE2 release.

Embarcadero has backed down from a proposed change to the license for the Professional edition which prohibited connection to remote databases. This restriction now only applies to the dbExpress database framework.

More when I have installed the actual release. The most eye-catching feature is Metropolis, though whether there is really a demand for a fake Modern UI framework is an open question. There are also concerns about deployment, which will not work on Windows RT (the ARM version) and may involve some hacks on x86, since it cannot go through the Windows Store.

image

Last year’s RAD Studio XE2 was an amazing release in terms of announced features, but plagued by quality issues which left some developers disappointed.