ie8 fix

What's it like building apps for Windows 8? Developers speak out

By | January 20, 2012, 6:29am PST

Summary: Some developers already have begun building Metro-style apps for Windows 8. Here’s what they’re experiencing so far.

Even though Microsoft released the Developer Preview of Windows 8 back in September 2011, I haven’t found many coders already building apps for the coming platform.

But there are some out there. And a number of them participated in Microsoft’s First Apps contest, announced back in December. The contest is designed to boost the number of Metro-style apps that will be available in the Windows 8 app store, an early version of which will be “turned on” in February when the Windows 8 beta is released. (Microsoft also is using its annual Imagine Cup student contest to encourage more Windows 8 app development.)

As Microsoft announced last year, those First Apps contestants who made it into the second round of the competition are getting a special “confidential” build of Windows 8 to allow them to fine-tune their apps. The contestants who have received this build are under nondisclosure agreements preventing them from sharing more about it.

I solicited feedback from a few of those who built Windows 8 Metro-style apps for the contest. I asked them all the same few questions and decided to leave this in interview form since they had so many good details to share about what’s working and what isn’t, at this point. A few common themes emerged: More documentation is badly needed. Silverlight and Windows Presentation Foundation (WPF) developers may have an adjustment curve — and may find themselves missing some of the good old features they’ve come to know and love. And WinRT, the new Windows runtime at the heart of Windows 8, is a mixed bag for those who’ve cut their teeth in the Win32/.Net worlds.

Without further ado, here’s what these devs had to say about their early experiences writing for Windows 8:


Tim Greenfield
Software developer at Vertigo Software
PuzzleTouch Jigsaw Puzzles (this app is a finalist in the Microsoft contest)
http://programmerpayback.com


Have you ever developed an app for Windows or Windows Phone before?

For Windows Phone, I’ve built three apps: (1 game, 1 “entertainment” app, and 1 LoB app). At Vertigo Software, we helped build some of the first Windows Phone apps so I’m very familiar with the platform. Besides building apps, I am also the technical lead for the Microsoft Media Platform Player Framework open source project which includes a version for the Windows Phone. Although the majority of my career has been building Windows apps (both commercial and line-of-business), I actually haven’t worked on many “Windows” apps in the last few years and have primarily been developing web based apps using Silverlight, HTML and JavaScript.

What kind of Win 8 app did you create? Do you consider this just a sample app, or something you might ultimately sell/give away for free?

My Windows 8 app is a jigsaw puzzle game called PuzzleTouch. It has extremely realistic puzzle pieces, supports multi-touch, and lets users play dozens of diverse jigsaw puzzles of different difficulties. It also allows the user to create their own puzzles from existing photos or camera. One of the biggest challenges I am currently facing is choosing the right business model. There are a number of strategies to generate revenue for apps and I am still considering what the best fit is for PuzzleTouch and which approach will prove to be the most successful on the platform. I can look to other platforms like the iPad for hints but Windows 8 is a unique platform with a unique marketplace and unique users.

What tools did you use to build this app and why?

PuzzleTouch is written in Xaml and C#. This route was an obvious choice for two reasons: 1) I personally prefer C# & Xaml over js & HTML and 2) PuzzleTouch is based on the award winning Silverlight web site and Windows Phone app which took over three years to create and refine. Because Xaml and C# is so similar on Windows 8 to Silverlight for the phone and web, this gave me more than just a head start: it was practically already written.

What was the hardest part of building this app? Was there enough tooling/documentation?

The tooling and platform available today is a developer preview version that I’m guessing was created long before it was made available last September. Needless to say, there are many of bugs in the platform and my app required a lot of hacks to make it work. Overall, the app took me approximately 2 solid weeks to port and I spent about a third of that time hunting down obscure problems that do not exist in Silverlight for the web or phone. That said, I fully expect the platform and tools to improve dramatically with the next release.

Because the platform is so new, another difficulty others may encounter is that there has not been enough time for the community to blaze many trails. Open source projects and blog posts for the platform are just starting to appear, but for the immediate future developers need to rely on those created for derivative technologies like Silverlight and .NET or HTML and JavaScript.

If there’s a silver lining, it is that the Windows team is doing an amazing job fielding questions on the Metro developer forums.  Engineers from Microsoft are out there in force helping developers and frankly, it’s the next best thing to being able to send a personal email to the engineers themselves.

After building this app, what’s your opinion of WinRT and how it will help/hurt developers trying to create Win 8 apps?

So far, I’d say my impression of WinRT is mixed but overall positive. From a C#/Xaml point of view, it is Silverlight v.Almost. The developer preview version is still missing some important features that we’ve enjoyed in Silverlight and WPF for a while now and without any transparency on what future versions will bring, we can only hope the gap will close soon.

On the other hand, there are many new platform features and respective APIs that will make it kindergarten simple to do complex tasks like support touch, mouse, keyboard, and pen with – in some cases – no additional effort. The Windows team also did a great job adding and exposing native OS features like “contracts” which essentially allow others apps to become features of your app.

But the thing I am the most excited about is the business opportunity. The app store offers an easy way to gain visibility, charge money, and create a user base and most developers won’t have to learn a new language to participate. This isn’t just Microsoft’s version of the iPad, it is also the next version of Windows; so the market potential is huge.

Anything else you’d add about your Win 8 app building experiences?

Even though I built PuzzleTouch in C# and Xaml, I am also working on another project using HTML5 and Javascript. The thing that impressed me the most was how well Microsoft put JavaScript developers on equal footing. While C++ is still king in Windows 8, JavaScript (and C#) are definitely first class citizens.

However, I do have concerns about the pace of innovation we might expect to see. First, web technologies like Silverlight and Flash have enjoyed high paced innovation because they are independent frameworks neither tethered to an OS or browser release cycle nor subject to committee approval and widespread implementation. Second, even though Microsoft has done a stellar job rebuilding the Windows runtime to support three unique app development models; technical reasons could easily throttle advances in one because it is not realistic to support in another.

Beau Gunderson
Read it Later (http://www.readitlaterlist.com/)
http://github.com/beaugunderson

Have you ever developed an app for Windows or Windows Phone before?

Yes, I’ve been a Windows developer for a long time. I started out with a copy of Visual Basic 4.0 a friend’s dad who worked at Microsoft gave me when I was in middle school. I’ve written desktop apps (none of which are commercial) and have worked freelance on some ASP.NET web applications. Most of the Windows applications I’ve written are available on Github: https://github.com/beaugunderson

What kind of Win 8 app did you create? Do you consider this just a sample app, or something you might ultimately sell/give away for free?

It’s a reading application based on Read it Later (http://www.readitlaterlist.com/). I bought a Samsung Series 7 slate knowing that I would put Windows 8 on it and use it for development, but right now I find Windows tablets much less useful than an iPad.  There are great Instapaper and Read it Later apps for the iPad and I wanted to have something like that on my slate.

What tools did you use to build this app and why?

I used Visual Studio 11 Developer Preview (it had more features than the Express version provided with Windows 8). I also used the VsVim extension because I can’t live without my vim keybindings. :) http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329

What was the hardest part of building this app? Was there enough tooling/documentation?

The documentation is lacking currently. Some things are only documented for one language–things that are documented for the JavaScript API may not be documented for C# and vice versa.

Here’s the list of problems I had from my forum post: http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/bf31f74f-7a50-46bc-b2fa-df537040bbe6

- No library support (was planning on using RestSharp and Newtonsoft.Json but ended up rolling my own REST classes and using the built-in Json support)
- The ObservableCollection vs. ObservableVector thing
- The lack of .FindResource for finding controls within templates
- The lack of an IndexedDB equivalent for C# (I ended up storing .json files in the local app files folder)
- The inability of WebView to open local files, and its lack of a bindable property to set the HTML content (vs. the NavigateToString method), and the fact that you can’t derive from it to provide that property yourself

After building this app, what’s your opinion of WinRT and how it will help/hurt developers trying to create Win 8 apps?

I think Microsoft is shooting themselves in the foot by intentionally crippling the WebView control.

My motivation for entering the contest was to secure access to the next build of Windows 8–I wanted to see if some of the things missing in the current build had made it in (like a FlowDocument or a RichTextBox).

Anything else you’d add about your Win 8 app building experiences?

Things mostly worked, and it was fun to learn about the new platform. It was a huge pain in the … to work around the missing functionality and the things that were there but didn’t work.

More Windows 8 developers speak out on the next page

Mary Jo has covered the tech industry for more than 25 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Disclosure

Mary-Jo Foley

Freelance journalist/blogger Mary Jo Foley has nothing to disclose. WYSIWYG (what you see is what you get). I do not own Microsoft stock or stock in any of its partners or competitors. I have no business ventures that are sponsored by/funded by Microsoft or any of its partners or competitors.

Biography

Mary-Jo Foley

Mary Jo Foley has covered the tech industry for 25 years for a variety of publications, including ZDNet, eWeek and Baseline. She has kept close tabs on Microsoft strategy, products and technologies for the past 10 years. In the late 1990s, she penned the award-winning "At The Evil Empire" column for ZDNet, and more recently the Microsoft Watch blog for Ziff Davis.

Got a tip? Send her an email with your rants, rumors, tips and tattles. Confidentiality guaranteed.

60
Comments

Join the conversation!

Just In

suit of windows phone 8
okawards 26th Mar
as a developer for 3 years, realize to know it is how difficulty to complete the system without 100 failures, too many times, but it will be more difficulty to me to building apps for windows 8, but learned a lot from here, and thanks, and have a look at this link below:
http://www.okawards.com/
Kudos to the guys here that have won MS contest.
I understand no one will sell their app?
Statically compiled VC++ and regularly compiled Delphi allows you to create rich and complex application software THAT IS very small in executable size and memory footprint. Such software does not depend on any run times (CLR, JVM) or DLLs and beats everything else in performance as well. You can create complete complex executables less than 1 mb in size. Don't say you can do the same in C# or Java, the run times needed for these run to 20MB +
@iRMX

Does C++ have a garbage collector that deletes objects automatically when you close a program? happy
@Grayson Peddie In C++, it is guaranteed that all application memory is freed, when an application closes / is terminated.

In addition, a garbage collector can be used, where it is needed to use it. There are many available on the Internet.
0 Votes
+ -
RE: Delphi
maxtheitpro 21st Jan
@iRMX And that's why I don't understand WHY Borland/Inprise killed Kylix back then! I hear the Lazarus FreePascal compiler is multi-platform though. It would be great if a community edition of Delphi was available to run on Linux/BSDnix
@cppdeveloper: That's not true but the real reason to use C++ for developing apps is because of the RAW power of C++
Garbage collection mechanisms lead to bloated code in run times. We were field testing C# and Java code for those who had to be out in the field with laptops and no power lines nearby to charge/recharge, we found that (like everybody else) battery usage goes up drastically with C# and Java. We switched back to a combination of VC++ and Delphi and stripped down Windows services to a minimum and succeeded in extending battery life by almost 35% over CLR and JVM based code. We are still not happy with the results and we still feel that Windows 2000 properly configured could beat everything else MS has out there in terms of both performance and battery life.
@Dazzibao
Dittos!
It's better than Crapple and their 200,000 fart apps. when almost half the apps in your app store are fart apps, you know you're in trouble. There are actually more useful apps in the WP7 app store, than the Itoones store. Crapple even stole the idea of the store's name from Microsoft's Zune store. Zune is better than Itoones!
@Stephen-B So basically you're just here to spout FUD. Really, like how old are you 5 years old?
@Tablazines
You're all acting like 5 year olds IMO, everyday I get on here to read news about Msoft, and it's all the same, Apple is better than Google and Google is better than Msoft. Guess what? No one cares. It's like my professor says, if you're conversation isn't adding substance to the overall conversation, then don't bother posting it. So do you honestly think getting on here and arguing over your little baby tech devices is doing anything? It's doing something, making you look like you should be taking naps every 3 hours.
0 Votes
+ -
Cool story, bro. [nt]
olePigeon 20th Jan
[nt]
@Stephen-B

Oh, I see..... "Crapple", "fart apps", "Itoones".... I get it. You are a Microsoft fanboi!

Oh, and just for the record: The Zune was released on November 14, 2006, and the iTunes Store was launched on April 28, 2003. I'm not sure how the iTunes Store stole the store name from the Zune's Store three years before a Zune existed....
@benched42

Stole?

Ford was in business before Chevrolet was...Guess everyone else that followed is just stealing...

That and Apple has never had a product fail...want links?
Sorry no post
Let's start with the fact that in terms of what it offers, WinRT is not far off what Silverlight (SL) or WPF offered. I would argue, it's not even as capable as either WPF or SL (OOB). And the way it is right now, it's in no-shape or form a replacement for Win32 as a whole, it's more like .NET, a wrapper around Win32/OS functions, with a black-box like implementation - implying, it has the potential to bypass Win32 internally. However, currently it doesn't offer either OS hooks or extensibility options to effectively replace Win32 (e.g. connecting directly to db, or change OS-level settings).

On the other hand, what it brings two things above and beyond WPF/SL; one, a standardized/unified rendering engine, that works with .NET, Javascript, and C++. That's a big addition, but the core concepts are not far from either WPF or SL. The other thing it does bring is optimization or added capabilities to handle touch based input, and this is natively baked in.

The above is all good, but it doesn't address one of the fundamental problem that has besieged all Microsoft UI efforts - performance. The reason why this is being undertaken in the first place (beyond unification perhaps), given it's not that different from WPF, is that neither WPF or SL can offer performance close to what's achievable with iPad given the same amount of computing resources. That's the gold standard, that I think WRT fails to meet as it stands now - but I would reserve final judgement given we are still in pre-beta stage.

The other problem with WRT is that it doesn't work in the desktop mode, which is IMO quite a big limitation as there is no graceful fallback if you want the same code-base to work in the desktop mode too. WPF/SL and WRT, performance characteristics are sufficiently different that one would need to duplicate or re-do a lot of the UI to have apps work in both modes. That might be by design, but it's a big failing IMO.

So apart from the standardization/unification of the rendering engine across the three platforms, I'm not sure WRT is that big of a boon. And it doesn't fundamentally change the landscape of Windows UX, which is a shame because it just became a bigger chore with one more option that you are forced to use if you want to target the tablet form-factor.
0 Votes
+ -
That's because iOS development
rbethell 20th Jan
@Orktane is still Objective C xcode based. You're writing real C without a runtime.
@rbethell true, but that's still the gold-standard to meet - runtime or no-runtime. And in its current incarnation/state, I don't think WinRT meets that standard whilst being the only game in town (for Win8 tablets' that is).
@Orktane

Well said!

However, WPF really isn't the proper interface for computing devices. Metro offers easy HTML5 development which is much more optimal for phones and tablets than WPF and Objective C. I personally feel the dev environment for Win8 and Metro blows Apple's away!
@omdguy yes, HTML5 based apps are important, but that doesn't take away from the need and irreproducibility of native apps. A lot of the experiences you see in iPad cannot be done without a rich/performant native platform - e.g. 3D games like N.O.V.A. or PDF rendering engines.
@Orktane WinRT is NOT a wrapper around Win32, it is sits directly on top of NT kernel.
@HalfAKilo I didn't say it is - I said it is "like" or more correctly acts like one. And that is likely by design, as they can now shove that onto other form-factors like phones or xbox without exposing the differences in the inner guts.
@HalfAKilo - No, WinRT does NOT sit directly on top of the NT kernel. WinRT is NOT a runtime environment like Win32 (or the now deceased OS/2 and POSIX runtimes were).

WinRT IS a layer of COM-based objects that are exposed to dev tools and apps via ECMA-335 (CLI) metadata. This allows both native tools and apps, as well as managed and javascript tools and apps call into WinRT directly.

When called, WinRT itself then calls Win32 functions to carry out the requested tasks.

Don't confuse a high-level architectural diagram with implementation reality.
Who cares? Why would I want to buy an OS built for cell phones to run my desktop?
0 Votes
+ -
ummmm....
xuniL_z 20th Jan
@philw@... you do know it has a desktop mode? You can make it look like Windows 7 if you want.
You'll probably want to wait until after this pre-beta stage to make any judgements, as should anyone at this point.
0 Votes
+ -
You do know ....
wackoae 20th Jan
@xuniL_z .... that not a single reviewer has liked the preview results of that feature.

Putting a frame around a non-resizable window is not changing to "desktop mode".
@philw@...
That's an excellent question. I have no idea what OS you are referring to though. This is a Win8 topic.
When building Windows 8, please remember that some of us have to work for a living and need keyboard (for writing long documents) and mice (for tricky (Names) editing in spreadsheets.

I do have an iPhone with the interface you are making us use in Windows 8. The iPhone has some nice features, but 100% of the time, I have to put it down and go to my Windows 7 (classic interface through and through) to do real work.

Please remember, some of us must work.
@jdhurst@... win8 is also a full desktop OS, just like Win7.
No worries.
@jdhurst@... You've clearly not even tried Win8 yet. It works just fine with keyboard, mouse and/or touch.
0 Votes
+ -
I'm not touching it
rbethell 20th Jan
Until System.Data gets put into the Metro .NET profile, I'm not interested. The .NET profile for Metro is just way too limited. I don't know what Microsoft is thinking - they've spent ten years convincing us all to do .NET and Visual Studio, and are now abandoning us.
My question is, how is all this Windows 8 stuff going to work with Office Applications. I have built what I consider a pretty robust and useful program in Access which automates to Excel, Word, and Outlook using VBA built into Access. The program I have would in many ways be ideal on a tablet and for touch for many of its functions as it would be easier to use it in the field. I know there are thousands of Office applications out there and cannot seem to find out how these play out in Windows 8. Obviously it will run on Windows 8--just wondering how it will run and how much recoding will it take.
@brickengraver Office apps work just fine. I have office 2010 installed on my win 8 developer preview. All the windows apps I have tried to install work fine in win 8.
@cjlindstrom Do you have it installed on a tablet? Or a touch screen computer. Will things like on_click events be triggered by touch in Windows 8 automatically. if so could simply modify UI and make bigger buttons and simplify and it would work fine. I am not a professional developer but have sold a few dozen of thes programs over the years at around $1500 each and the market is pretty larger. I have a real job --Engraving LEGO bricks for geeks-lol. I know my way around Access pretty well and this could really make it simple for my future customers. Was kind of waiting for the beta version to see what happens. Wonder if programs like mine--not winrt can be sold in the MS Apps store.

thanks for the response
@brickengraver I have it on a Samsung slate. A tap registers as a click so all your stuff will still work fine. I'm not sure what the compatibility will be like for the ARM based stuff. I heard it might only support Metro, but I do not know for show.
0 Votes
+ -
I gave a firm MANDATE that all new applications need to be Metro only. I also gave a DECREE that all legacy apps would be ported to Metro and be made touchscreen aware. My rep agreed and nodded his head in support. When someone mentioned we did not have touchscreen computers, I fired them on the spot. I said "if you do not have the vision to overcome this limitation, you have no spot on my staff". With that, we retired to Daniel's Broiler.
0 Votes
+ -
@Mike Cox
Sometimes progress hurts. Kudos for having the courage to Make The Tough Choices???, Mikey.
0 Votes
+ -
You sir, get a 9 today
wackoae 20th Jan
@Mike Cox Kudos for suckering another sucker into your stories.

Dude, you need to come back more often. There is a wannabe trying to be Mike Cox .... and he sucks worst than an industrial strength vacuum.
0 Votes
+ -
seriously?
xuniL_z 23rd Jan
@wackoae, I know Mike Cox is adored, but can there really be someone "suckered" by the line that he fired anyone that mentioned they don't have any touchscreen computers". Seriously? I think not.
Either someone is playing sucker for Mikey, or we have people on this site that have serious mental limitations.
It sound to me like Windows 8 is still a long way from being release and that Microsoft will missed their target of a 2012 release.
There another possibility that even if they meet their target, Windows 8 will be a messed and we will have to wait until window 9 for them to fix it.
@Knowles2 Where to you get the information that allows you to make that assumption?
@Knowles2 MS has a history of releasing crap every other revision. W8 is schedule to be the new WinME .... just like Vista.
@wackoae

Clueless on every front. Sad that you tell people you are in IT.
0 Votes
+ -
I have no problem with Vista....
carlsf@... 20th Jan
@wackoae The problem with Vista was that the box movers and OEM's used the MS Vista Capable sticker on low end boxes that should never been sold simply to move old stock, and Microsoft got blamed.

I put Vista 64bit on IBM notebooks and white boxed with Spec's = or greater than: min: 2gb RAM, 512 graphic cards, 80Gb HDD's, DVD R/writer, Pentium 3.0Ghz or Core 2 CPUs.
We have had NO problems. Just thinking about Win7 have some Win7.
@Knowles2 I'm not sure what you hope to accomplish by sharing an uniformed, uneducated guess. I have been using the developer preview since September and it isn't as far off as you make it sound.

I have written 5 applications so far and while the api documentation is a bit weak in some areas, the sample apps do help. Also, the developer forums are very good. The MSFT moderators reply in a very timely fashion.

Overall, I like many of the new features that come with windows 8 on both the desktop and metro modes. There are opportunities for some tweaking to improve the experience, but I have been pleasantly surprised with how comfortable and stable Windows 8 feels.

I own an iPad and while the iPad is functional because of the many apps that exist for it, I find myself missing the OS features that Windows 8 brings...simple things like dimming the screen are quickly and easily accessible in Windows 8, but cumbersome in the iPad. Access Wireless networking is a simple flick from the side and not buried in a settings 'App'.

App switching glides much better in Win8 than on the iPad. Sharing info between apps is light-years better on Windows 8. I still love my iPad, but I have touched the future with Win 8.
@gomigomijunk Agreed. People also tend to forget that the W8DP wasn't even the latest build when it was released. You could see that based on the features they were showing on stage that were not available in the Developer Preview.
@gomigomijunk Sounds to me like you don't know what you're doing on your beloved Ipad. How is settings>wireless>on, considered buried? and even easier for dimming the screen on the ipad, plus the unit will dim or brighten in auto mode.....Hmnn..Interesting...
@T-Wrench 1) Autodimming has never worked correctly. It is pretty weak. Besides, I want to control the dimming rather then let apple control that for me.

2) Once you have used Win8, this sequence: press the "home" button, leave my current app, slide to the page that has the settings iCon on it, find and launch the wireless app....uh, yeah, that seems like a lot after Win8...I don't leave the current app and swipe from the right and there it is.

Sounds to me like you think the current status quo is good enough because you haven't touched the future and you don't believe that anyone other than Apple can be innovative.
I think the Beta will tell us a lot. Good or Bad.
0 Votes
+ -
suit of windows phone 8
okawards 26th Mar
as a developer for 3 years, realize to know it is how difficulty to complete the system without 100 failures, too many times, but it will be more difficulty to me to building apps for windows 8, but learned a lot from here, and thanks, and have a look at this link below:
http://www.okawards.com/

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix