Microsoft to devs: Don't ruin Win 8....
....too late for that, you've already ruined it yourselves.
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 …
On Android, all devices have "what has been using the battery" function. If your app (not game) makes to that list or a technical user (or rival) bust your app using excessive cpu at background, you are doomed. 1 star reviews, people asking their money back and blog posts will sure erase you from market.
That is "open market". Customers decide.
Ms just tries to photocopy Apple without being Apple or having their customer profile.
Every modern operating system, especially object oriented one like os x does have private frameworks and I don't know a single developer who loves to use them or trust them.
The issue here is, the win rt API is pathetically basic and you can't code anything real with it unless you use private frameworks which Microsoft happily use with internet explorer/ office etc.
Btw, when apple said something is private, they really meant it. In fact, interestingly, they "beta" tested future frameworks shipping them/ using them as private and making them public once they are mature.
Microsoft can't abuse Apple's operating system as an excuse.
This is just reiterating an old truth. If you use undocumented APIs they can and probably will change without notice. If you're the office or internet explorer team you will probably get told this is going to happen(with at least 5 minutes notice).
It's not about the APIs being bad as such, or about Microsoft knowing what they're doing, it's about change management. Published APIs require massive amounts of hoopla to change, and they generally have to keep the old APIs around in a deprecated state for the next 10 years so that legacy code works. Unpublished APIs on the other hand can essentially be changed at will, won't remain in a deprecated state and the first notification you as an outside developer will receive that these APIs have been changed is when your program fails.
This isn't new, nor is it distinctly Microsoft. The interesting part of this article is that Microsoft realizes that crappy third party software impacts their reputation.
So many comments in here full of logical insight. Which is a nice change from the rest of the internet where people say stuff that is clearly driven entirely from emotion.
I was half expecting some crap about how WinRT removed almost all synchronous IO operations to make it harder for developers to create crappy apps that spin up a bunch of unneeded threads.
Well done reg readers... well done.
People as whole are often conservative and repetitive in their thinking aren't they. Who needs unwanted threads in software when we find so many same old conversational threads here. Too easy to spot the commentators who've never written any serious software but don't let that stop them commenting on APIs and stuff.
Their first release is such a bad joke that you can't release a third party browser (which became like command.com important) for mobile devices coming with it.
Got it? No Firefox, no opera mobile.
Stuff you mention sound cosmetic. I guess it is very important but come on, this sounds like playbook type of mistake.
Terrible idea.
What do you do we code you want depreciate and then remove? If you document it and people use it now you will break existing apps so you end up leaving it in there for a very long time?
What if can lead to bad app design? Such as all of the synchronous APIs in the Win32 API?
I don't think your comment has taken into account the long term ramifications of documenting everything?
I don't think your comment has taken into account the fact that the above comment was a joke.
More seriously, if the public APIs are so great for writing a Metro application, why would anyone turn to the "unofficial" APIs? Could it be that Microsoft also thinks that *gasp* the SDK in its present form leaves something to be desired, and that many programmers might take a look into the "dark side"?
It's a bit like including a desktop version of Office into Windows RT. It's a confession which states "Err yeah, Metro is cool, but we can't really make Office work on it yet." If these unofficial APIs are among the "secret stuff" used by Metro IE, that's another confession: "Windows RT is fun, but there are things which we can't build with it ourselves either."
Instead of whining about "customer confidence" and making thinly veiled threats about store policy, Microsoft should create an API which is, first of all, completely public and stable enough that the deprecations you mention won't be a problem for some time, and second, allows for at least the amount of freedom they want for THEMSELVES when creating an application like Metro IE.
Who knows, maybe they'll do just that for Windows 9...
Oh I can see it now...
Mr. Steve: "Dear investors, you may wonder why Windows 8 managed to sell even less copies than Windows Vista. I can say this; its not us. No: Developers, developers, developers, developers, ..."
<skip>
"....and so: Developers! And as you can see we foresaw this coming and issued several warnings. But did they listen? No!".
"So now I hope you'll approve /more/ investment into Windows 8 so that we can set things right!". Mr. Steve thinks: "I only hope I didn't accidentally fire the only guys who still know how to program a start menu..."