Category Archives: development

Infragistics building cross-platform development strategy on XAML says CEO

I spoke to Dean Guida, CEO at Infragistics, maker of components for Windows, web and mobile development platforms. Windows developers with long memories will remember Sheridan software, who created products including Data Widgets and VBAssist. Infragistics was formed in 2000 when Sheridan merged with another company, ProtoView.

In other words, this is a company with roots in the Microsoft developer platform, though for a few years now it has been madly diversifying in order to survive in the new world of mobile. Guida particularly wanted to talk about IgniteUI, a set of JQuery controls which developers use either for web applications or for mobile web applications wrapped as native with PhoneGap/Cordova.

“The majority of the market is looking at doing hybrid apps because it is so expensive to do native,” Guida told me.

Infragistics has also moved into the business iOS market, with SharePlus for SharePoint access on an iPad, and ReportPlus for reporting from SQL Server or SharePoint to iPad clients. Infragistics is building on what appears to be a growing trend: businesses which run Microsoft on the server, but are buying in iPads as mobile clients.

image

Other products include Nuclios, a set of native iOS components for developers, and IguanaUI for Android.

I asked Guida how the new mobile markets compared to the traditional Windows platform, for Infragistics as a component vendor.

“The whole market’s in transition,” he says. “People are looking at mobility strategy and how to support BYOD [Bring Your Own Device], all these different platforms, and a lot of our conversations are around IgniteUI. We need to reach the iPad, and more than the iPad as well.”

“There’s still a huge market doing ASP.NET, Windows Forms, WPF. It’s still a bigger market, but the next phase is around mobility.”

What about Windows 8, does he think Microsoft has got it right? Guida’s first reaction to my question is to state that the traditional Windows platform is by no means dead. “[Microsoft] may have shifted the focus away from Silverlight and WPF, but the enterprise hasn’t, in terms of WPF. The enterprise has not shifted aware from WPF. We’ve brought some of our enterprise customers to Microsoft to show them that, some of the largest banks in the world, the insurance industry, the retail industry. These companies are making a multi-year investment decision on WPF, where the life of the application if 5 years plus.

“Silverlight, nobody was really happy about that, but Microsoft made that decision. We’re going to continue to support Silverlight, because it makes sense for us. We have a codebase of XAML that covers both WPF and Silverlight.”

Guida adds that Windows 8 and Windows Phone 8 are “great innovation”, mentioning features like Live Tiles and people hub social media aggregation, which has application in business as well. “They’re against a lot of headwind of momentum and popularity, but because Microsoft is such an enterprise company, they are going to be successful.”

How well does the XAML in Infragistics components, built for WPF and Silverlight, translate to XAML on the Windows Runtime, for Windows 8 store apps?

“It translates well now, it did not translate well in the beginning,” Guida says, referring to the early previews. “We’re moving hundreds of our HTML and XAML components to WinJS and WinRT XAML. We’re able to reuse our code. We have to do more work with touch, and we want to maintain performance. We’re in beta now with a handful of components, but we’ll get up to 100s of components available.”

It turns out that XAML is critical to the Infragistics development strategy for iOS as well as Windows. “We wrote a translator that translates XAML code to iOS and XAML code to HTML and JavaScript. We can code in XAML, add new features, fix bugs, and then it moves over to these other platforms. It’s helped us move as quickly as we’ve moved.”

What about Windows on ARM, as in Surface RT? “We fully support it,” says Guida, though “with a straight port, you lose performance. That’s what we’re working on.”

Visual Studio 2012 gets Windows XP targeting, Team Foundation Server fixes

Microsoft has released Update 1 for Visual Studio 2012. New in this update is the ability to target Windows XP with C++ applications. Brian Harry has a list of what has changed here, based on the preview from a month ago.

image

There are many updates and fixes for Team Foundation Server (TFS), including support for the Kanban development methodology in TFS Web Access. You can now do load testing, unit testing and coded UI tests for SharePoint apps. Another notable fix is that you can do mixed managed/native debugging in Windows Store (that is, Metro) apps.

The TFS update is not seamless, as Harry explains:

It’s actually a full new install (though it will silently uninstall the older version and install the update so it feels like a “patch”).  However, we still have some work to do to make this as seamless as possible.  If you’ve done any customization of your TFS install (enabling https, changing ports, etc) you will need to reapply those customizations after installing the update.

Harry also says there will not be an SP1, except that there might be:

As we are currently thinking about it, there will be no SP1.  We have changed the model from a single Service Pack between major releases to a sequence of “Updates”.  So you can, kind of, think of Update 1 as SP1.  I suppose it’s possible that, at some point, we will decide to name one of the Updates as an “SP” but that won’t really change anything.

Confused? Surely not.

You can get the update here or an offline (complete) installer is here.

Finally, I was interested to see some of the issues which developers find annoying highlighted in the comments to Soma Somasegar’s blog:

  • XAML 2009 is not supported in the editor
  • Expression Blend is still in preview
  • The need for a developer license to build Windows Store apps is a constant irritation. The complaint is not about needing a license to deploy to the Store, but about Visual Studio refusing to build Windows Store apps unless you obtain a free online license, which installs some sort of key on your machine, and which expires after a few months.

No complaints about monochrome icons though, so I guess the new look has been accepted if not actually loved by developers.

Apps sell better with Live Tiles, says Nokia, with other tips for phone developers

I attended an online seminar by Nokia’s Jure Sustersic on Windows Phone 8 development. It was a high level session so not much new, though Sustersic says the 7.8 update for existing 7.x Windows Phones  is coming very soon; he would not announce a date though.

The slide that caught my eye was one on how to make more profitable apps, including some intriguing statistics. In particular, according to Sustersic:

  • Freemium apps (free to download but with paid upgrades or in-app purchases) achieve 70 times as many downloads and 7 times more revenue
  • The top 50 apps are 3.7 times more likely to have Live Tiles
  • The top 50 apps are 3.2 times more likely to use Push Notifications
  • The top 50 apps are updated every 2-3 months
  • The fastest growth is in new markets, so localize

 

image

Of course what Windows Phone developers want most is a larger market, so for Nokia to sell more phones. Random reboots aside, Windows Phone 8 has been well received, but it an uphill task.

I covered the Windows Phone 8 development platform in summary here.

Adobe AIR for Metro promised for first half of 2013

Adobe Game Developer Evangelist Lee Brimelow has stated on Twitter that AIR for Metro is coming next year.

we’re working on Air for Metro. It should be available first half of next year.

AIR is a way of compiling Flash applications to run outside the browser.

[Microsoft no longer uses the term Metro. We are meant to say Windows Store Apps; but that is even more confusing.]

Skype vulnerability exposes poor security in web application. Who will trust Skype now?

Today there are reports of a breathtakingly bad vulnerability in Skype, that allows anyone to hijack another person’s account simply by knowing the email.

image

Password resets have now been disabled, fixing the problem temporarily, but it remains inexcusable.

image

It is basic security practice that ownership of an email address must be validated with a confirming email to that address and a special link. I see this on web forums that discuss trivia – why not on Skype where you can spend real money, and more seriously, see contacts and conversation history?

There must be a second weakness here, in that somehow the new account ends up getting confused (by Skype) with the existing one. It should not be possible to create an account with an email address that is in use on another account. Actually I count three weaknesses:

1. You can create an account with an email address that is not validated.

2. You can create an account with an email address that is already in use on another account.

3. You can reset the password on another account without having access to their email address, by resetting it on a second account with the same email address.

Microsoft acquired Skype in October 2011 but it is not clear when this vulnerability was introduced.

I tested this myself by setting up a new account with an email address that already has a Skype account. It worked though I did not take it to the next stage. Now I have a Skype account, incidentally, which cannot be deleted as Skype does not allow this. However I have now reset the email.

As it happens, I have suffered in the past from people opening accounts with my email address, I believe because of innocent error, such as forgetting to type the number in an account like someoneNN@yahoo.com or the like. One person set up an Apple iTunes account with my email address, complete with credit card details. I complained to Apple who disabled the account, but as with Skype, it cannot be deleted. So if I ever want to use that email address for an Apple account I will have problems.

That was a few years ago. It is astonishing that a company the size of Skype/Microsoft, handling and storing vast amounts of personal information, would have such weaknesses in its security.

Who will trust Skype now?

Update: It also appears that this flaw, or part of it, was reported to Skype back in August. This is a failure of management as well as security.

Steven Sinofsky leaves Microsoft – but why?

Microsoft has announced that Windows chief Steven Sinofsky is leaving the company:

Microsoft Corp. today announced that Windows and Windows Live President Steven Sinofsky will be leaving the company and that Julie Larson-Green will be promoted to lead all Windows software and hardware engineering. Tami Reller retains her roles as chief financial officer and chief marketing officer and will assume responsibility for the business of Windows. Both executives will report directly to Microsoft CEO Steve Ballmer.

image

Here are some quick thoughts.

One line of thought is that Windows 8 and Surface RT are failing because users do not like the dramatic changes, with the new tiled personality and disappeared Start menu, and therefore its architect is departing.

I do not believe this for several reasons. One is that the promoted Julie Larson-Green is a key creator and proponent of the new design (call it Metro if you like). She worked with Sinofsky on the Office Ribbon way back, a project that has some parallels with Windows 8: take a critically important product and revamp its user interface in ways that customers are not requesting or expecting.

My further guess is that Microsoft was braced for some level of storm on the release of Windows 8. There was plenty of warning that the new tablet-friendly platform would be a hard sell to longstanding Windows users.

The time to judge the success of Windows 8 is not today, but in two or three years time, when we can observe how the platform is faring in the new world of mobile and cloud.

It is my opinion that the remaking of Windows is more brilliant than blunder. Without “reimagining” it was doomed to slow decline. Microsoft now has a tablet operating system, and one that is in the hands of millions thanks to its integration with desktop Windows. The storm will die down and there is at least some chance that the outcome will be an app platform that will keep the company in the tablet game.

That said, it seems to me that Microsoft has had problems in execution. Windows 8 is fairly solid, but there are signs of haste in the building blocks of Metro, as you discover if you write an application, while Surface RT is not the fast, easy to use appliance that it should be. Key apps like Mail and Xbox Music are short of features and too hard to use, while Windows-isms such as update errors have not been expunged as they should. Such issues can be fixed, but the moment to get this right is at launch, not six months or a year later.

You might also ask: why is Microsoft allowing its brand new store to fill with rubbish apps, seemingly with the knowledge and encouragement of employees at the company?

Were these execution problems Sinofsky’s fault then? Again I doubt that. My perception is that Microsoft is a dysfunctional company to some degree, but one in which there are islands of immense talent and teams which deliver. It is huge and bureaucratic though, and getting everyone motivated and energised to deliver top quality is likely impossible without radical reform. Bureaucracy tends to result in employees who work by the letter not from the heart, which results in mediocrity, and there is evidence of that everywhere.

In this context, the fact that Sinofsky delivered twice, once with Office 2007 and again with Windows 7, with judgment on Windows 8 not yet possible, shows his ability.

If failure is not the reason then, why?

Well, another reason for staff to leave suddenly is that there was some sort of internal conflict. Sinofsky achieved by taking a firm line and sticking to it, which made him enemies. I do not have any inside information; but two moves to reflect on would be the move of ASP.NET and Silverlight guy Scott Guthrie to Windows Azure, and deep Windows internals guy Mark Russinovich also to Azure.

Sinofsky was no friend to .NET, which led to some perplexing decisions. A little sign of this I witnessed at Build was why XNA, a .NET wrapper for Direct X hardware acceleration, is not supported in Windows Phone 8. Except it is, as a member of the phone team explained to me, it is just that you have to target Windows Phone 7 in your project, but it will run fine on Phone 8. Why the workaround? Because .NET is now discouraged for games development, for no technical reason.

Still, this war has been going on for a while and Sinofsky has won every battle. Why has he now left?

I have no inside knowledge, but would conjecture that the effort of forcing through Windows 8 and native code versus .NET built up pressure against him, such that there was instability at the top. In this context, even relatively small failures or falling behind projections can be significant, as resources for opponents to use against you.

CEO Steve Ballmer of course is still in place. Did have a change of heart about Sinofsky, or a row with him over what comes next for Windows? That is the kind of thing which is plausible; and the uncertain market reaction to Windows 8, while not unexpected, would make it possible to push him out.

If I were a shareholder though, the departure of this key executive at this moment would worry me. This is the company which has transformed Windows Azure for the better and delivered the fantastic Windows Server 2012; it is also the company which is guilty of the Kin mobile phone debacle, and forgetting its agreement with the EU to offer a browser ballot to Windows 7 users at perhaps substantial financial cost. Evidence, one would judge, that deep change is needed, but not the kind of change that will be achieved by the departure of one of the most capable executives.

Postscript: Mary Jo Foley notes that Sinofsky did not present at the Build keynote right after the Windows 8 launch, raising the possibility that Sinofsky’s departure was already planned, before the Windows 8 launch. That is further evidence that this is not a reaction to poor initial sales (if indeed they are poor).

A puzzle: why did Microsoft hold back Windows RT previews from developers?

Surface RT is out, along with a few other Windows RT devices such as the Asus Vivo Tab RT, and for most people (developers included) it is their first opportunity to have hands-on time with Windows 8 on ARM. What is odd here is that at the same moment that users can try (or in some cases buy) apps that those same developers have built, on Windows RT. The idea was that if you code for the Windows Runtime, which is common to both Intel and ARM versions of Windows, then the same app will just work.

Of course it is not that simple. The problem is that Windows RT has different performance characteristics than x86 Windows, such as a much slower JavaScript engine, and an app that runs fine on x86 Windows 8 may not give a good user experience on Windows RT.

Microsoft’s store process ensures that apps which do not work at all on ARM – such as those which include x86 native code – are not listed for download on Windows RT; but these other apps which work, but not well enough, have generally been made available.

The puzzle is why Microsoft did not offer developers some kind of preview hardware, such as RIM makes available for Blackberry 10, so that these issues could have been addressed, either by fixing the performance with further optimisation, or if necessary by marking apps as x86 only.

As it is, the developers of these poorly-performing apps will get the blame for a problem that is not of their making.

Post written and posted on Surface RT using the Word 2013 blog template

Telerik Icenium: new desktop and cloud IDE for mobile development

When I heard that Telerik is bringing out a new IDE for mobile app development, I could contain my excitement, especially after learning that it is another PhoneGap/Cordova based approach, wrapping JavaScript and HTML as a native app. While speaking to Telerik’s Doug Seven though, I found myself increasingly impressed.

If that name sounds familiar, it might be because Seven was a director of Product Management in the Visual Studio team at Microsoft, and you can see that influence in the new IDE, which is called Icenium. Spot the Metro-style buttons at top left of the IDE!

image

Icenium has several components. There is a Windows IDE called Graphite, illustrated above. Those on other platforms, or in distributed teams, can use Mist, which is a browser-based IDE which replicates many of the features of Graphite. There is also a set of cloud-based services to handle building apps for iPhone, iPad and Android devices. This means you do not need to install all the necessary SDKs on your own machine. Icenium also lets developers build signed iOS packages without needing to have a Mac.

The Icenium Device Simulator lets you test applications quickly on your own machine.

image

The tools look good, though I have not tried them yet, but the unique feature of Icenium is the ability to deploy and test quickly on multiple devices. Code is kept synchronized between Graphite and Mist, and also pushed out though LiveSync to multiple devices. Here is a snap of the view from Doug Seven’s desk, grabbed from his online presentation. He showed me how a code change ripples almost instantly to all these devices for testing.

image

An intriguing part of this is an iOS app called Ion which is a sort of runtime shell for Icenium apps. This means you can load apps for testing onto iOS devices that are not unlocked for developer use. You can also demonstrate apps on a client’s device using Ion. Apple’s attitude to runtimes in the App Store must be softening.

Icenium supports version control using either a Git repository hosted on the service, or your own choice of URL-based Git repositories.

Pricing will be per-developer at $16.00 per month if you sign up for a year, or $19.00 per month without a contract. Once you sign up, you can use all the tools on all your machines. You can also use Telerik’s Kendo UI Mobile framework. It is free until May 1 2013.

Isn’t Icenium’s cloud build feature similar to what Adobe’s PhoneGap Build already does?

“It’s a great comparison,” says Seven. “Adobe has the technology to make this [seamless development experience] possible, they just chose not to do it … [PhoneGap Build] is not integrated into the workflow. It’s a very manual process, I have to zip up my files, submit them to the PhoneGap Build process, then I get back these application packages that I have to manually deploy to my devices to see if it works.”

There is no support yet for mobile web apps, as opposed to apps packaged with Cordova, but this is a possibility for the future.

Like Adobe, Telerik has found WebKit and Google Chrome irresistible, despite Seven’s Microsoft background. WebKit is embedded in the Graphite IDE. You can use Mist with any modern browser, though “the one limitation is that the browser-based device simulator does require Chrome,” though he add that in general, “I use Mist on my iPad all the time.”

Microsoft Project Austin: superb C++ code sample for Windows 8

No time to blog in detail about this; but developers with any interest in Windows 8 should check out Project Austin, a sample project for Windows 8 whose quality exceeds most of what is currently available in the Windows Store.

This is a simple note-taking app but beautifully rendered and with support for adding photos, sharing via Charms, and more:

It’s amazing how useful just a pen and a paper are by themselves. But when you take that concept to the computer realm and expand it to do things like add photos and annotate them right on the spot, and digitally share what you create, then the possibilities are endless.

say the project’s creators. More to the point:

Austin aims to demonstrate with real code the kind of device-optimized, fluid and responsive user experience that can be built with our newest native tools on the Windows8 platform.

Most of the code has been put on CodePlex under the Apache 2.0 license. It demonstrates C++ AMP, the new parallel library for GPU computing, as well as C++ coding for the Windows Runtime.

I downloaded and built the project with few issues, following the helpful guidance here. I did have to add the boost libraries manually to the include path.

image

It is not completely stable but is already very pretty.

image

Immersive UI of course. The tools disappear while you are working. I am still not sure how well I like this, but it is good to see examples of how Microsoft thinks this should work.

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.