A Blog by Scott Isaacs

Tag: Windows 8

On Visual Studio Project Templates

If the Blank App template were a sheet of white printer paper, the Navigation App template would be a sheet of graph paper — both are essentially empty, but one provides some helpful structure. By contrast, the Grid App or Split App templates might be pages from a coloring book, where the outline of your application is provided and only the details must be filled in.

(from my upcoming book)

Issues Debugging Windows Store apps in the Simulator

Debugging Windows Store apps in the Simulator is a pretty slick idea that mostly works.


A limitation of the Simulator is that it runs as a child session of the current user session.  This short straightforward answer on Stack Overflow explains.

The problem with that for me is three-fold.  The first is just annoying: any apps that I have that run on system startup are launched when the simulator starts.  Some of these apps have problems with running multiple instances as the same user.  I imagine that they try to lock some resource (a file, etc.), but since that is already locked, I get a lot of error dialogs in the Simulator.  I get around this using a script I wrote to kill the offending processes in the child session.  It’s annoying, but I can work around it.

A second problem is that my user has permissions that another user might not have.  I do run Visual Studio as local administrator (disclaimer: I know the arguments against this), but that’s not entirely what I’m talking about.  Network resource permissions and other such differences could also cause issues.

Selfishly, I have a third issue that would be solved by allowing the Simulator to run as a different user.  I take a lot of screenshots.  When I want to take a screenshot of my Start screen for use in some documentation, or my upcoming book, I don’t necessarily want all of my apps/tiles in the screenshot.  I’m not so worried about people seeing what I’ve got going on, although no one really needs to know my next appointment, latest email subject line or recent tweets that are displayed on the tiles.  The bigger concern is that those tiles add clutter that could distract and/or confuse the person that will be reading my documentation.  

One possible solution is to use Visual Studio’s Remote Debugging functionality to connect to a virtual machine running, described in the previously mentioned Stack Overflow answer.  This goes a long way to eliminate the issues I’ve raised, but it has one drawback.  I can no longer use the Simulator tools such as spoofing geo-location or touch mode or easy way to change screen resolutions.

My current solution is to continue to use the Simulator as it is.  When I first launch it, I switch to the desktop and run my utility to kill any processes that cause errors with multiple instances.  This is where I do my primary testing and documentation.  When I need more isolated testing, then I use Remote Debugging to debug on my Surface RT.  This is probably the most correct way of debugging but does require me to have both my laptop and Surface running at the same time.

All in all, debugging Windows Store apps is a good experience, but a few changes to the Simulator could make it nearly perfect.

If you’ve run into similar issues debugging Windows Store apps, what have you done to fix or work around them?

Beginning Windows 8 Development (book)

You may or may not know that I am currently writing a book.  If you didn’t, now you do.  That’s a picture of the cover.

It’s a book about writing software for Windows 8 using HTML and JavaScript.  The first few chapters are heavily based on a similar book which introduces building Windows 8 applications with C#.  I’m really excited about it, and it should be available by the end of summer.  I’m not done yet, and I have a fair amount more work to go, but it’s getting there.  

A few weeks ago, the publisher, Apress, made an alpha version of the book available on their site.  Buying the alpha version gives you access to draft versions of the chapters I am writing as I submit them, even before the editing process has been completed.  Then I found out earlier this week that you can also pre-order the book on Amazon.  I thought that was pretty cool, and it’s kind of a boost to the ego to see that, not to mention adding motivation to complete the process.

Imagine my surprise today, though, to come across this advertisement “in the wild” when checking the weekend weather.

Event Timer – Windows Store App

Update 5/4/2013: Source code now available on GitHub.  

Download Event Timer from the Windows Store I just spent a couple hours writing a Windows Store application for use at our Deeper in .NET conference this weekend.  It’s a simple app that displays the time remaining until the next session starts, and also allows you to cycle through slides (image files only) during the countdown.  Event Timer was initially published on 4/4/13.  You can find it and screenshots in the Windows Store.  For now, and for the foreseeable future, it will be free.

I already know of a few feature improvements I’d like to add to a future release, such as:

  • Moving the controls to an app bar (done, you can now view the controls by right-clicking or swiping from the top edge)
  • Adding some configuration options that persist, such as default slide interval and foreground/background colors.
  • I have some other ideas for subsequent releases as well, but will hold off on thinking too much about those to see if anyone else asks.  Why waste my time on something no one wants, right?

If you use Windows 8 or Windows RT, please give it a try and let me know what you think.  I’d be interested in any feedback.  However, since this is a free app, support will be limited and may be slow.  While no guarantees are made about this software, I have recently used it at a large developer event in Milwaukee.  I had zero issues and actually had several attendees compliment the app.

If you are a developer and are interested in seeing the very simple source code, you can find it on GitHub. Remember, I only spent a couple hours on the initial version for my own use, so be kind.  🙂

Powered by WordPress & Theme by Anders Norén