Microsoft to devs: Don't ruin Win 8 launch with crap code
Unofficial APIs are the new fruit of temptation
Microsoft has urged developers to only use approved Windows 8 software interfaces to avoid spoiling the launch of its new operating system with dodgy code.
In a stark warning this week, the company said third-party programmers should “resist the temptation” of invoking APIs that aren’t included in the official Software Development Kit (SDK) for the new Metro user interface.
Developers who flout this rule are in “violation of customer expectations and [Windows] Store policy”, the software giant said in a blog post titled “delivering reliable and trustworthy Metro-style apps”.
Using unofficial APIs, Microsoft said, is likely to “ultimately undermine the expectations that customers have for your app” if it crashes or plays up as a result.
John Hazen, a programme manager for the Windows 8 developer experience team, blogged here:
APIs that are outside the SDK are not guaranteed to work with Metro style apps either in this release or in future releases, so you may find that your app doesn’t function properly for all customers.
These APIs may also not function properly in the async environment that is foundational to Metro style app design. Finally these APIs may undermine customer confidence by accessing resources or data that Metro style apps would not normally interact with.
The advisory is a standard one from any operating system developer; technophobic punters often blame the OS maker when a program crashes because some smart arse cut corners, used unofficial APIs or tried an unapproved technique.
However the warning comes hot on the heels of Redmond locking down Windows 8 on ARM (Windows RT) to ensure handheld devices can't be jail broken to run homebrew and unapproved software. The company is keeping the mobile platform so closed, it’s denying access to rival Mozilla which had been porting Firefox to Windows 8.
Microsoft has created plenty of confusion between Windows 8 for ARM and Windows 8 for everything else; its Metro interface for phone and PC use completely different runtimes and frameworks, and they have different online software shops - Windows Store for Windows 8 and Windows Marketplace for the phone.
It would seem Microsoft is trying to keep these two worlds separate, and prevent an app built for the phone finding its way on to the PC, encountering not just technical problems but also ruining some careful market segmentation by Microsoft based on device type and software.
Reg contributor Tim Anderson pointed out that the greater danger Microsoft faces is the likelihood that coders will try to play fast and loose on Windows 8 for PCs rather than Windows RT.
It comes back to what we've said before on Windows 8: just like the first Windows Phone, Microsoft is keeping the ARM platform closed to third parties, whose apps could cause application crashes and ruin the consumer launch. ®