
Why Microsoft has made developers horrified about coding for Windows 8 - e1ven
http://arstechnica.com/microsoft/news/2011/06/html5-centric-windows-8-leaves-microsoft-developers-horrified.ars
======
kenjackson
After a few minutes on the internets I discovered a little gem of a thread:

[http://forums.mydigitallife.info/threads/26404-Windows-8-(79...](http://forums.mydigitallife.info/threads/26404-Windows-8-\(7955\)-Findings-
in-M3-Leak/page16)

In this thread you'll see much more clearly what MS is planning. It's not just
HTML/JS for these immersive apps. Rather it appears that the CLR will become a
first class part of Windows. If you are a Windows dev or are interested in
Windows dev, this is a must read thread. In fact I'm shocked that no major
publications have noticed it.

There are lots of really interesting nuggets in there. In many regards I think
they're finally delivering on a lot of the promises of Longhorn.

I must say I'm excited about it, and looking forward to September now. MS
screwed up on the PR, but I think they may have gotten the technological
direction right.

~~~
hugh4life
I read that a couple days ago and here are the two most interesting posts...

Microsoft's own immersive html application is just a thin layer over native
code

[http://forums.mydigitallife.info/threads/26404-Windows-8-(79...](http://forums.mydigitallife.info/threads/26404-Windows-8-\(7955\)-Findings-
in-M3-Leak?p=442463&viewfull=1#post442463)

.NET Ahead-Of-Time compiler is probably coming

[http://forums.mydigitallife.info/threads/26404-Windows-8-(79...](http://forums.mydigitallife.info/threads/26404-Windows-8-\(7955\)-Findings-
in-M3-Leak?p=442478&viewfull=1#post442478)

[EDIT]

And for those worried Silverlight developers, scan that thread for DirectUI.

~~~
lurker19
Is this what the "IE is native" PR claims are about? That HTML DOM and CSS are
going to map directly onto the window system instead of a virtual window (or
whatever it is called) in the browser engine?

~~~
wmf
Microsoft earlier explained that "native" means "not cross-platform".

~~~
mikemaccana
Er, no, they didn't. They mean fully (or significantly more fully) hardware
accelerated, and they've said that many times - hence all the benchmarks of 2D
canvas in IE9 vs Chrome.

Personally I think IE9 is a shitty browser - no 3D context for canvasses,
gradients, history, or 3D transforms. But you don't need to represent MS to
prove that.

------
daeken
I'm not horrified and I don't know any Windows developers that are (although
I'm sure there are some out there). This is being blown way out of proportion,
I believe.

Edit: I especially like the assertion that WPF is not fast. Evidently the
author has never done much with the 3d transform functionality in WPF -- you
can do _insanely_ performant graphically-intensive apps using it. The fact
that most developers don't understand how the API works doesn't mean the API
doesn't kick ass. I'm not a fan of XAML, but everything else about WPF is
really, really nice.

~~~
mathgladiator
> The fact that most developers don't understand how the API works

This signals a usability fail in my mind.

~~~
yesimahuman
I did find the official WPF docs and examples rather simplistic. Most of the
advanced stuff I luckily stumbled upon on forums or blog posts. Perhaps
developers don't have enough information to build upon the simple examples.

~~~
mdaniel
I believe most, if not all, of MSDN now supports user-contributed content
alongside the API refs.

Thus, it would serve your fellow developers if you were to annotate the
lacking documentation with (1) example code or (2) pointers to the blog
postings that you found.

------
maxxxxx
I think a lot of developers are simply getting tired of MS cranking out half
baked technologies and abandoning them after a while. If you want to write a
desktop app there simply is no obvious platform of choice. You have Winforms
(abandoned), WPF (slow, future unclear, do fonts render OK now?), MFC (has
been out of date for 10 years), Win32 (hard to use), Silverlight (direction
changes every 3 months). They all have different problems MS doesn't seem to
interested addressing.

I wish MS would make a decision to bet everything on one platform (I don't
care which), stick to it and make it really good.

~~~
marshray
I agree with you about their ridiculous amounts of API churn. I think it
happens for (IMHO) two main reasons:

1\. MS wanted to keep Windows APIs growing quickly to keep anyone from making
a compatible platform. I can't imagine how many $B a year it costs to maintain
that. This is probably less of a goal than it used to be, as the baseline
Windows install is now so many GB that it's an impediment for the nimble VMs
and ultra-portable clients that are the future.

2\. MS seems to pitch to (and staff from) a young audience, folks in school
and moving to the workplace as application software developers. This crowd has
a natural turnover period of only a few years.

But one thing they really are quite good at is supporting stuff for a long
time. You can today build an app with .Net framework 2.0 with VS 2005 and it
will install and run about as well as it ever did. For native code
compatibility typically goes all the way back to Win95 apps. When old apps
don't work it's usually a result of unambiguous security or stability
improvements made to the OS. Even then Windows often provides virtualized
registry and filesystem areas that trick the apps into working.

------
X-Istence
At this point you know it is a non-issue because Arstechnica is covering it
about six weeks too late[1].

I have talked to many different developers and every one of them that is
developing in C# and .NET are not worried at all. Main reason? This stuff is
not really going to fly well within the corporate world, corporations still
need their custom built applications (using older source bases most of the
time), they still need to use all of their productivity apps, and they don't
think the office team is suddenly going to re-write Word, PowerPoint, and
Excel for a touch based graphical user interface.

All the noise I've heard so far are just the news sites blowing it out of
proportion. Frankly it is getting annoying seeing it pop up every couple of
days.

[1] (I really don't care what the actual timeframe is)

~~~
tjogin
I think you're right. But the consequence of that is, of course, that the
touch driven "immersive" part is only going to be skin deep. Which in turn
means that Windows 8 is going to fail spectacularly on tablets, for the exact
same reasons every previous Windows tablet failed.

~~~
contextfree
consumer != corporate

~~~
adambyrtek
The gap between consumer and corporate is getting smaller every day. This
trend is only going to continue, so betting on something appealing only to
enterprise, not consumers, is a self-defeating strategy.

~~~
fleitz
Enterprise will always be different than the consumer market until the nature
of the enterprise decentralizes.

The key driving distinction between enterprise and consumer is that in the
enterprise the person using the software had almost no say in its purchase and
thus has almost no say in its development. Consumer software works well when
you use it, enterprise software looks good when you see it in a powerpoint
presentation next to a feature checkbox, or hear about it on a golf course.
Since no one making the purchasing decision will ever actually use it, you're
pretty much guaranteed sales. Especially if you can pair it with expensive
training that is necessary because your software is designed so poorly.

Having features is generally how you get through an RFP the purpose of an RFP
is to CYA. Thus if you have the RFP approved by management and the proposal
meets the RFP you're guaranteed a sale if no one else can check the boxes. If
you ever get approved for an RFP you should immediately apply to become the
vendor of record / preferred vendor for everything in that space guaranteeing
more sales of your atrocious software.

Never design software that works in the enterprise as you'll lose out on
massive support / training revenue. The worse your software is the better it
will sell. Hopefully you can figure out how to sell software that doesn't
actually do ANYTHING until they hire programmers to customize it. (I'm looking
at you CRM vendors)

Once you've been through a couple of these things you'll understand how it
works and how crappy software is incentivized by the RFP system.

You should also have an RFP template ready that contains all the features your
software has so that lazy employees from megacorp can submit it for approval.
Your sales people should be all too ready to help the employee out with this
task so that they have a very professional and tailored RFP. Now that they
don't have anything to do that day you should take them out for a beer to
celebrate how fast they submitted the RFP to management. Management will
remember them as the guy who gets stuff done so quickly and professionally,
they'll move up quickly.

------
xradionut
None of the Windows developers I work with or know in the community are not
even concerned about this. Corporate and independent development in the .NET
community are conservative and unlikely to jump on the latest thing from
Redmond. They have been there, done that and got the free t-shirts for
numerous hyped technologies. Most folks still haven't upgraded to VS 2010 or
SQL Server 2008R2 yet. There's no point when the money in Windows development
doesn't demand the latest and greatest fad. The smart ones wait and see what
works, choosing to skip crap like Vista for Windows 7 and concentrate on the
good stuff like C#.

As for Peter Bright, (as long time Arstechnica reader and forum participant),
I have observed that his articles are designed to get page views. Arstechnica
does this by blasting Microsoft and fawning on Apple. As a cynic this doesn't
bother me, I can filter the noise and realize that Peter and Conde Nast have
bills to pay.

~~~
KeyBoardG
Totally agree. As a technical lead I tend to stay atleast one major release
behind the lastest. However, you should try 2008R2. Its pretty darn good. :)

------
Stormbringer
As someone who has been recently actually doing Windows development using HTML
and Javascript I have a couple of observations.

#1 Since I'm the only one in the thread who actually knows what they're
talking about, naturally this will get downvoted to oblivion. Farewell sweet
karma, I barely knew thee. :D

#2 In order to actually get anything done you have to 'bust out' into the
Windows APIs anyway. See here for a prime example:

[http://msdn.microsoft.com/en-
us/library/aew9yb99(v=vs.85).as...](http://msdn.microsoft.com/en-
us/library/aew9yb99\(v=vs.85\).aspx)

#3 For budgeting/political reasons I won't go into, I can say that this is
possible with only the use of notepad. Speaking programmer to programmer, I
_strongly_ advise you to get better tooling than that. Really. This thing is
an absolute pig to code and debug by hand.

#4 The horror is entirely justified. This is how bad it is... it actually
makes those retarded Java enterprise projects, where you have to cobble
together 14 different frameworks that are fundamentally incompatible, look
good.

~~~
raganwald

      Since I'm the only one in the thread who actually knows
      what they're talking about, naturally this will get
      downvoted to oblivion. Farewell sweet karma, I barely
      knew thee. :D
    

Do not ignore the possibility that your comment will garner downvotes for
talking about being downvoted. Your observations are worth reading. Why bury
them underneath meta-commentary that does not add to the discussion?

~~~
Stormbringer
On general principle I downvote meta discussions about karma/upvotes/whatever
shiny beads and shells the site in question is using as faux currency. I
wouldn't expect anything different from anyone else.

------
Sandman
tl;dr: Based on a comment by Microsoft VP, Julie Larson-Green, that a certain
weather application they recently made was done using a platform based on HTML
5 and JS, ars technica's Peter Bright somehow comes to a conclusion that this
means that HTML 5 is now going to be Microsoft's preferred development
platform, and then goes into a long rant on how disastrous this will be for
all the Windows developers because it will make all their current knowledge
useless and will force them to use a suboptimal technology to develop their
applications. At the end of the article he concludes that, yeah, that's not
actually going to happen, because Microsoft isn't stupid.

~~~
rbanffy
> Peter Bright somehow comes to a conclusion that this means that HTML 5 is
> now going to be Microsoft's preferred development platform

Actually, unless my memory fails me, it was that Microsoft video showing the
tiled interface of Windows 8 that did that - it kind of implied HTML5 was the
tool of choice (or, at least, the glue) for tiled and that tiled was the
future. The thread kenjackson pointed out tells another story, but we can
blame Microsoft for some confusion here.

~~~
dorian-graph
> .. but we can blame Microsoft for some confusion here.

Well, Microsoft may not have explained everything at once (Who does?) but that
doesn't explicitly mean they forced people to overreact.

~~~
rbanffy
That's one of the many things I like in open source - there are no secrets, no
big surprises and nobody ever forces you anything.

~~~
dorian-graph
There is still dislike and complaints about new directions (Unity, Gnome3,
KDE4, etc.).

~~~
rbanffy
Yes, but none of that was a surprise (we knew about Unity, Gnome and KDE 4
long before any of that hit the distros), we could influence the decisions
(arguing in favor of other directions) and, if enough people disagree with the
the leaders, they can always make a viable fork.

You can't force an open-source developer to work on something he/she doesn't
like and agree.

------
nxn
"But one aspect of the demonstration has the legions of Windows developers
deeply concerned, and with good reason: they were told that all their
experience, all their knowledge, and every program they have written in the
past would be useless on Windows 8."

I stopped reading there. It's amazing that spreading unfounded trash like this
can be called news. All this is is an attempt to twist and stretch the truth
in hopes of provoking a reaction and attention -- simply pathetic.

------
barrydahlberg
_Why the media has made Microsoft developers horrified about their random
speculation._

------
Tichy
On the upside, you can now become a Microsoft Certified JavaScript developer
(I suppose).

Who knows, all those poor Microserfs might feel liberated in the end, when
they get to use a technology that has not been designed to fuel the consulting
business - needlessly complex and bloated, that is.

------
cageface
This article seems to be making the assumption that the Windows 8 api will be
vanilla HTML5/JS. My impression from the presentation was that they might be
using HTML as the layout format and JS as the language but that there would be
a lot of non-standard widgets and APIs exposed to both layers.

If so, it's too early to dismiss the technology as "inadequate".

~~~
rbanffy
I was quite sure that would be the case, as Microoft would never allow such an
easy way to port Windows apps to other environments. Whatever glue is tied in
HTLM/JS environment, it'll run deep into the Windows APIs in such a way no
HTML5/JS app will be easily ported to, say, Google's ChromeOS.

~~~
MatthewPhillips
Chrome has plenty of its own APIs too.

~~~
rbanffy
Sure, but to a lesser degree than for Microsoft, it's not in Google's best
interest to have ChromeOS apps ported to other platforms.

------
iamelgringo
Anyone else notice that within a year, you'll be able to write cross platform
html5+js apps that run Black Berry, Windows 8, WebOS, Android and iOS?

If this becomes the standard, like I suspect it will, one of the biggest
losers will be companies that run big app stores.

~~~
pornel
It's not HTML+JS, it's HTML + JS + vendor-specific bindings + vendor-specific
packaging & signature.

At best you'll be dealing with another fat abstraction layer with same kind of
annoying small incompatibilities that plague(d) web browsers.

~~~
DougWebb
And yet web browsers support a far larger world of applications than .NET has.
Consider that every website is essentially an independently-developed HTML-
based application; do you think there are more of them than there are .NET-
based applications?

Those small incompatibilities may be annoying, but they're a small price to
pay for the otherwise easy development and broad reach of the HTML+JS+etc
platform.

------
pedalpete
Further to the other comments on this thread, the articles comments re "HTML5
remains true to its text mark-up heritage; its structure and semantics are
still geared towards creating structured text documents, not application user
interfaces" can't possibly be true, or we wouldn't have the vast number of
very usable web-apps we have today.

Corporations should be (and are) embracing the capabilities of web
technologies for building internal tools quickly and enabling quick changes.

------
tluyben2
Stop whining ; it's one of few actual smart moves coming out of MS in years.
And my MS developer friends are not complaining; it makes their life easier
because now they can easily switch, get more jobs and do stuff that's actually
'cool' again (yep, programming for Win is very not cool in most every corner
of the world while building hip stuff in HTML5 is); it makes nice money but
things you have to do for 30+ years, 8 hours/day should not be about money
alone.

~~~
mattmanser
It's not whining, the article perfectly sums it up:

 _it means discarding rich, capable frameworks and the powerful, enormously
popular Visual Studio development environment, in favor of a far more
primitive, rudimentary system with substantially inferior tools_

Seriously, try xaml and VS compared with [insert vim, emacs, etc] + html5.

They're light years apart in terms of capabilities.

On the other hand, I'd think it's far too early to worry, apart from MS have
now gone all clam, which is worrying. They're fanning the flames themselves

It doesn't really affect me, but I can understand why a lot of developers
would be anxious.

They don't want to use a clearly inferior technology and quite frankly a
crappy language like JS.

~~~
Joeri
_Seriously, try xaml and VS compared with [insert vim, emacs, etc] + html5._

Why would you deliberately handicap yourself on the HTML side? Ext JS + Ext
Designer + IDE with automatic linting and auto-completion. That's one possible
way to build rich web apps.

------
gamble
I doubt this is going to be an issue in the long run, because I don't expect
this next iteration of Microsoft's "tablets that are really notebooks running
a mix of tablet apps and standard Windows applications" is going to be any
more successful than its predecessors. Assuming this sees the light of day, it
will be _at least_ a year before Win8 tablets are available - just in time to
compete with the iPad 3 and Android 4.x+.

------
vegai
The same idea that made Palm developers jump for joy makes Microsoft
developers "horrified"? Yeah, sure.

------
Yhippa
What developers are horrified by this? I thought for your enterprise apps that
you can continue to use the Windows 7 skin. For developers of the new Windows
8 platform I think this is a great opportunity for developers to get content
into the hands of traditional users in a new way.

~~~
teyc
MS has lost a lot of trust when they killed off VFP and then VB6. People with
large codebases had to migrate and it means loss of competitive advantage
making new code do old things.

~~~
rbanffy
Most VB6 shops I know took the kool aid and went VB.Net or C#. It would take a
whole lot lot of disappointment for them to move away from Microsoft.

~~~
teyc
Yes for new development, but major projects developed in VB6 still needs to be
supported.

~~~
rbanffy
Much like Java is 21st-century's COBOL, VB6 is the 90's. We'll carry it far
beyond the point in time we should.

------
becomevocal
I'm really, really excited about this direction for Windows 8. I could see
myself jumping on the bandwagon if they handle the API correctly.

------
maresca
Back when WPF/WCF and Silverlight was being pushed, I was initially cautious.
I gave the technologies a few tries and ended up not liking them. I didn't
like WPF because it seemed like an over-engineered version of SVG. I didn't
like WCF because I was used to Remoting and didn't need another layer on top
to learn. I didn't drink the Silverlight cool-aid because I knew javascript
would get faster and Silverlight would eventually get overtaken by more open
options. My guess is many microsoft devs felt the same way and didn't adopt
these technologies because if they did, these technologies probably would have
made it into Windows 8.

------
freechoice1
If Microsoft wants to destroy itself then it should focus only on
HTML5/Javascript. Corporations are all about speed and efficiency and to
compare .Net vs HTML5/Javascript is insane.

I've been programming in .Net for years now, but recently as I got new
projects I figured to use them in HTML5/Javascript instead. But after
countless of hours research it turns out .Net is by far the most efficient and
only option in terms of speed and most direct relation to the hardware, which
was important for my projects. They both play a part and neither should be
ruled out. Using HTML5/Jquery for web projects and .Net for projects which
requires quick access to local resources. Two different worlds. If I were
Microsoft I would focus fuse those two worlds together. And if they can add
1+1 this is their intent.

The developers and corporations will continue to use whatever means to
maximize profit with the most efficient way for their app. And the
corporations in whole is who steer the direction of the consumer market in the
end. Not one or two companies. Corporations use .Net not because Microsoft
tells them to do so, but because it is most the efficient.

From a consumer point of view it might not be so easy to understand how these
things works, as all you see in media is Microsoft that and Apple that and
then one might think that's all there is to it.

------
cheez
No one is horrified. HTML/CSS are great for some user interfaces but it's
always going to be behind WPF.

I think it's just marketing BS from Microsoft, to be honest.

------
PetrolMan
I may simply be missing something but I think HTML and Javascript make a lot
of sense for basic applications. I've never quite understood why someone would
want to jump into Silverlight for an application that simply handles data
input and retrieval. I also know that Silverlight has capabilities that HTML
doesn't but it's also got some deficiencies that IMO are glaring.

There is a lot to be said for what you are comfortable with using but at the
end of the day HTML is a truly cross compatible technology that is becoming
more and more capable every day. This could also bring in a lot of potential
"developers" if the cost of entry is lowered.

I also understand that you don't want the technologies that you invested in to
become extinct overnight but I simply can't imagine that happening.

------
timinman
Putting aside the fact that no one from Microsoft has actually stated that
they are throwing away the other apis, it is a +1 for open, community driven
technologies. OSX dev's take note.

------
powertower
Windows 8 is giving developers one more option: In tablet mode you can write
the UI part of the application (the widget) in HTML5 and JS.

Author's profile: (Microsoft Contributor) "Peter Bright dropped out of
university (after about five minutes) to work as a software developer writing
C++ and C#."

After reading that article I propose that he must have also spent another 5
minutes programming before deciding on his new career path of writing
sensational crap.

~~~
eropple
I know Peter personally, and he is one of the more well-educated, intelligent,
and astonishingly competent developers I know.

Nice flamebait, though.

~~~
powertower
I read the article one more time, it does seem to be much more lucid now. I'll
attribute my bad interpretation of it on the fact I read it very late last
night - when it seemed to me he was saying that HTML5+JS was replacing .NET
and WPF.

He still makes some absurd claims though:

"... they were told that all their experience, all their knowledge, and every
program they have written in the past would be useless on Windows 8"

Flamebait. FUD. Just look at the comments there.

~~~
marshray
I was a Win32/COM/MFC developer at the time Microsoft announced .Net. The joke
at the MS Dev Conference at the time was that everybody in the room just had
their salary drop 20%.

Perhaps the only reason a shift in Win app development tooling isn't such a
big deal today is simply that MS does not have the clout that they did back
then. Windows 8? Seriously, it's many years off before anybody (including MS)
going to try to make a profit on a shrinkwrapped app that doesn't run on
Windows XP.

But there are nevertheless a great many developers who've hitched their wagon
to MS as a career path. They're understandably antsy as they watch all the hot
demand go for iPhone/Android/tablet development. This would explain a lot of
the angst I think.

------
mikerg87
I seriously doubt a lot of the legacy development stories in .NET are ending.
But those are brownfield development stories of apps that were on the drawing
board years ago.

I am looking forward - and I just dont think Microsoft has its act together or
even beleives its "Developers, Developers, Developers" mantra any more.

------
d4nt
It occurs to me that all this stuff is primarily for tablets, and tablets
mostly use ARM chips. Microsoft have said Windows 8 will run on ARM, but it
will take a lot of work to make the .NET CLR run on ARM. If I read anything
into this its that there probably isn't an ARM version of .NET coming.

------
voidr
Just create a .NET library that generates HTML and JS, you know like GWT and
leave it be. If not Microsoft, someone will probably create one, there is no
reason for all this rage.

------
podperson
If nothing else the article should be titled "How..." rather than "Why...".
Any purported horrifying is surely unintended.

------
sofuture
Windows 7 widgets were also written in HTML and JS. This is the _dumbest_
controversy ever.

~~~
jimbobimbo
Vista and Windows 7 presentations were never about "here's your widgets and
that's it". The way the whole story about HTML+JS on Windows 8 was presented
("a new platform" and not a peep about what else's there) is what legitimately
pisses people off.

------
sambeau
The strategy seems fairly simple to me:

* HTML -> Web apps

* Silverlight -> Native Apps & Mobile Apps (DirectUI?)

* WPF -> Dead

