Nov 24
My impression of the Microsoft Band

I've had my Band since Thursday evening (November 20) and am happy with it overall. At first, it was undercounting my steps, but I've figured out that I was walking slowly and softly -- it would appear that it doesn't detect those as steps, which probably helps it to avoid overcounting activities that aren't steps. Overcounting was always a problem with my FitBit Flex, so this is a nice change.

Getting started was quite easy. Plug the Band in, download the Health app to my Lumia 1520 and log into it with my Microsoft account, then follow the instructions on the Band to connect it to the phone.

Hardware-wise, it's bigger and heavier than the Flex, but it's smaller than any men's watch I've ever owned and about the same weight. I've seen some complaints about the clasp being difficult to use, but haven't experienced any problems with that. It's been comfortable to wear, though I haven't figured out how snug it should be to work most effectively.

The software on the Band works well and is nicely designed for a minimalistic device like this. I like being able to get notifications on my wrist rather than reaching for my phone whenever it dings. My only gripe about notifications is that clearing one on the Band doesn't clear it on the phone and clearing it on the phone doesn't clear it on the Band. I guess that's a complaint about all wearables right now, but I'm hopeful that Microsoft will solve the problem.

The other gripe I have is that when I engage Quiet Hours on my phone, I still get notifications on the Band. Since the point behind Quiet Hours is to silence those notifications so that I can concentrate on that meeting I'm in or that complicated bit of code I'm working through, having them buzz me on my wrist is kind of counterproductive. Even if the "other" smartphone platforms don't have some form of Quiet Hours, Microsoft can certainly build the capability to "hold" notifications into the Windows Phone version of the Health app.

Speaking of the Health app, it's easy to use. I haven't used the workout/guided workout pieces of the Band software, so I can't say anything about that part of the Health app. I find it strange that the "Sleep" piece of the app doesn't show any history -- only the last night's stats. The "Steps" and "Calories" tiles have the ability to flip between today's information and the past week's summary. To see prior sleep stats, you have to tap the menu button in the upper left, then select "Activity History".

I've been looking at some of the guided workouts and like they way they're set up. There are videos of each individual exercise and there seem to be a lot of workouts to choose from. I've found several that look interesting.

Oct 25
Texture updated for Windows 8.1

Having updated my Surface and desktop machines to Windows 8.1 RT and Windows 8.1 Pro, and having installed Visual Studio 2013, I was finally able to rebuild Texture for Win 8.1. Because it's a simple app, it was a painless process. I still need to go back and replace one or two third-party controls with built-in replacements but that's a task for another day. I was impressed that the app flew through the certification process in a matter of 4 hours or so. Good job Windows Store team!​

May 06
Limitations of the VariableSizedWrapGrid control and a replacement to avoid them [UPDATED]

After spending a few hours over the weekend attempting to get a data-bound VariableSizedWrapGrid to play nicely with text data that, after wrapping, will have variable heights, I discovered that the height for each element gets set to the height of the first element when setting the ItemHeight property to "Auto". I had resigned myself to having to do some code-behind magic to get the effect I wanted and sat down this evening to figure out exactly what I would need to do. However, I found this page that discussed this very issue. As it turns out, this isn't a bug -- it's by design (which is what I figured when I couldn't find any way around it) and in order to get the effect I need, I would need to (somehow) calculate the height of each item (as it would be displayed) and set each item's RowSpan property to a multiple of the height of the first item in the list (or of the value of ItemHeight if not set to "Auto"). In reading to the bottom of the post, one response pointed to the WinRT XAML Toolkit on CodePlex, which contains a port of a number of Silverlight Toolkit controls, including the WrapPanel. WrapPanel behaves in the fashion I need without the need for the code-behind magic I was contemplating.

UPDATE: The Callisto toolkit also contains the WrapPanel control.  Because I'm already using Callisto controls in the project, I switched to that version of the control.

Dec 11
Texture released

As of this morning, my first Windows 8/Windows RT app is available in the Windows Store.


Texture is a multi-file text editor that is free if you don't mind a banner ad at the bottom of the file list and one in the upper right-hand corner of the editor pane or is $2.99 (plus any applicable taxes and fees) if you want to get rid of the ads. There are no nag screens if you choose to use the app without purchasing it and the trial doesn't end.

It's a simple little app and quick to run -- which makes it great for making quick notes, lists, and that sort of thing. If you've got more than one file open and are editing one, you just flick left or right to switch between files, without returning to the list. If you close the app while it has open files with unsaved changes, it hangs on to those changes without affecting the original file. That way, when you come back you can continue editing the file where you left off, saving it at your leisure.

I've already got some new features planned for the next release but would really like some feedback about this release. If you try the app out, you can let me know what you think via the Settings charm by tapping the "Contact support" link. If you have problems with the app, let me know before leaving a negative review so that I can work to fix them. If you think the app is great, I'd like to hear that too!

Nov 01
A new day -- working with the Microsoft Surface RT

On October 26, I received my new Surface RT 64 GB via FedEx and, a short time later my wife received her 32 GB model via UPS. As I begin this article, it has been about 12 hours and I have to say that I'm quite impressed and happy with it. My wife is also. The touch cover keyboard is terrific, the screen is crisp and beautiful, and Windows RT is fast and responsive. If other tablet manufacturers can produce devices this good, the tablet market is going to get quite interesting. The store needs to grow, of course, but I don't see why it won't since developers are going to be able to target these RT tablets and desktop computers without any extra work.

I've now been using my Surface quite a bit for almost a week and my initial impressions have stood up over that time. This is a sexy device -- it looks nice, it is well built, and it works very well. In spite of being essentially a version 1 OS at this point, Windows RT doesn't feel like a version 1 OS. I've had a couple of application crashes (from apps included with the OS), but those are few and far between. I've even started testing my first Windows 8 app on the device.

My wife has been happy with hers as well, with the exception of finding that the website she uses for her business fails to work properly, producing a JavaScript error that prevents her from entering orders. This is frustrating since one of the selling points of the tablet for her was that she would be able to take it with her and enter orders as they're given to her. Hopefully that problem (which I believe is an IE 10 compatibility issue with the website rather than an issue with the Surface) will be resolved soon, especially since Windows 8 is in the wild now.​

Nov 01
Remote debugging to a Windows RT device

Now that I'm running the RTM of Windows 8 on my dev machine, I can get back to writing my first app. I want to make sure it works on Windows RT, so I'll be testing on my Surface.

The first step is to install the ARM version of the remote debugging tools (from here) on the Surface. This is a fast download and install. The next step is to run the remote debugging monitor on the Surface. The first run required me to save the initial settings. After that, the Surface was available as a remote target from Visual Studio on my dev machine. Running the app for the first time (and every 30 days after that, at this point) causes the Surface to request a developer license so that the app can run. Without this license, the app won't run (the same is true of apps deployed for testing on the dev machine).

After all of this, the app got deployed to my Surface and ran. That's it, simple, quick, and painless. Further testing should be even quicker since the tools are already installed.


See also: Running Windows Store apps on a remote machine (via Microsoft)

Jun 27
Finally! A Windows Phone update -- well, actually a series of them

A final follow-up on my piece here. There I was, minding my own business earlier this evening when, as I was peeking at my phone, I noticed an update message! A total of 5 (yeah, 5!) updates were pushed to my Samsung Focus S phone, including one Samsung update and four OS updates. My phone is now at version 7.10.8773.98. I'm quite happy to see that at&t finally decided to allow these updates to make it to devices (besides the ones that were released with them, that is). No more disappearing keyboard bug will make Marc a happy camper!


May 29
The joys of Metro

I've been in a couple of conversations lately on the merits of Windows 8's Metro UI. It's an expansion of the Windows Phone UI, of course, and I've been using that since it's initial release in the US. I'm quite in love with the Start screen for both OSes. Back in the day, I was a huge fan of PalmOS but the world has, of course, moved along since then. To this day, there's no mobile OS out there that provides the quality PDA experience that Palm did. (And while I'm at it, you disrespectful kids need to get off my lawn!) When I see the raves about iOS, I don't really understand them. It's pretty, but in so many ways it's not much different than PalmOS. The "start" screen is a collection of (almost) static icons organized in pages, just like PalmOS was. There's nothing wrong with that, but I just don't see how it's as magical as many people say.

On the other hand, with the Metro-style Start screen, you've got tiles that have the ability to give you real bits of information at a glance. It's a great phone experience. I've been using Windows 8 daily since the consumer preview was released and I think it's a wonderful PC experience as well. It could still use a few tweaks, of course, but Microsoft is still making those tweaks and will probably continue to do so even after the release preview hits.

I'm looking forward to seeing Windows RT on a tablet. It's my opinion that the experience will blow iOS on the iPad away. The live tiles, the sharing of Metro apps between the tablet and desktop, MS Office apps included in Windows RT -- all point toward an offering that's going to compete quite well with Apple from day one, assuming there are some decent tablets out there at launch.

The big thing working against Windows 8 is people's resistance to change. Metro is a different experience. It looks different, if feels different, and it doesn't matter that, at least in my opinion, it's a better experience. It's different and a lot of people are going to dislike it for that reason alone. There's a long history of people disliking changes in the Microsoft desktop ecosystem. The change from the Windows 3.x program manager to the Windows 95 UI wasn't universally accepted. The cartoonish look of Windows XP had its detractors. The move to a more secure OS with Vista was almost universally panned, and I'm sure the glassy look wasn't loved by all. The ribbon UI was hated. Yet each of these changes represented an improvement to the ecosystem. It's entirely possible that Windows 8 will receive the same kind of hate that Vista did; however, the UI changes aren't going away any more than the Vista security changes did when Windows 7 came along. Those security changes were necessary and are generally accepted now as a good thing. These UI changes are also necessary and I think they'll be accepted, eventually, as another good thing.

I think the complaints about Metro on non-tablets are a good thing, even though I don't agree with some of them. Pointing out the shortcomings is pushing Microsoft to fix them. Anything we and they can do to make the final bits a great product helps everyone. The changes from developer preview to consumer preview were huge. I expect the changes from consumer preview to release preview to be pretty huge as well and to be based on feedback to the consumer preview. And I also expect the same from release preview to RTM. I'm looking forward to the ride.

May 19
I love it when a plan comes together

​Today has been a profitable day in terms of building the new app and in picking up new knowledge. I was adding contact information, including hyperlink buttons. I wasn't sure how to make them work. I figured there had to be some magical way to make it happen; however, turns out that it's not magical at all. It's the way I would have eventually done it. The answer (or non-answer, maybe?) was simple enough. It works as advertised.

May 19
A new app and a quick note about Microsoft's ad control in a Windows 8 Metro app

I have been working on another Metro-based Windows 8 app for the last week or two, having taken a break from the attendance tracking app to let some ideas about it bounce around in the back of my mind. The new app is nearly finished and I wanted to take a look at including ads in it. The idea is that I can provide an ad-supported version of the app and then, if there is demand for it, provide a paid version that permanently removes the ads.

I signed up for an account at Microsoft's pubCenter and downloaded the ad SDK for Windows 8. I followed the instructions to set up an ad unit for my app, then added the ad control and set the application and ad unit id's appropriately. It's really quite simple to set up. Problem is, when I ran the app, I didn't get an ad. I discovered that the control provides an ErrorOccurred event (rather than throwing an exception), so I listened for that event and found that it was reporting the lack of the internet client capability. I knew that this capability had been set for the app (it's turned on by default in all new Metro app projects), so the error made no sense.

It wasn't until I ran the project through the Windows App Cert Kit that I made any progress. My app failed the certification test because it was built for debugging, which is a no-no for apps in the store. I rebuilt for release and... ADS! I now know that the control works and it actually makes sense that it wouldn't show any ads in a debug build. I only wish the error message had provided better information.

I have a bit more work to do on this new app before I'm willing to call it "done." The app functions well, but I would like to make some UI tweaks to provide more eye appeal. Not that it's bad looking now, I just feel that it could stand a bit of polish. Since I can't sign up with the Windows Store right now to submit an app (that process is currently down in preparation for the upcoming Windows 8 Release Preview … uh... release and the update to Visual Studio 11), I've got plenty of time to figure out what I need to clean up.

1 - 10Next