Tampa Code Camp 2015 Presentation Materials

I had the honor of presenting one of my favorite topics (#Cortana!) at Tampa Code Camp. As promised the materials I presented from (minus the witty banter and EXCELLENT interaction with the group) are available here.

UPDATE: I just remembered that if you want the “Weather” example to work you need to follow the instructions in the following file: IntegratingCortant.Win10.Universal\Extensions\GeopositionExpressions.cs

Tampa Code Camp 2015 Presentation Materials

Interesting “findings” with Build 9926

I was afraid to pull the trigger on installing Windows 10 Tech Preview Build 9926 on my Surface Pro because it’s my personal daily driver and things “not working” isn’t an option. The I remembered that I have this Dell 8 Venue Pro which wasn’t getting much regular use since my Lumia 1520 is just about the same size.  🙂

So, with a little help from my good friend Jay K., I offered the little 8″ tablet as a willing sacrifice. So far the experience has been pretty doggone good. I’m VERY impressed with where the Belfiore gang are going with this. That being said, there are a few rough edges I’m going to point out just to make sure they’re on the development team’s radar.

1. The on-screen keyboard was mysteriously cut off during the post-installation initial setup.

This weird situation happened during the initial setup after my successful installation. Nearly half of the keyboard is simply invisible.
This weird situation happened during the initial setup after my successful installation. Nearly half of the keyboard is simply invisible.

As you can see in this image, nearly half of the keyboard is not visible. Luckily I was still able to guess where the keys were so I could finish the initial setup. Also, and not very photographable, was the fact that the top row of keys (regardless of which keyboard I was using) would become totally non-responsive until I hit some other key and THEN came back to the key I needed to use. It was scary at first… but once I figured out what was going on and the workaround it became very tedious and frustrating.

The keyboard kept acting weird for a portion of the day. It never disappeared on me again though. You’ll be happy to know that the on-screen keyboard works fine. I did notice an odd bit where part of the split mode keyboard was cut off at the bottom row keys. It is like that regardless of if the keyboard is docked or not. I just checked again today and the behavior is still happening. I probably should have snapped a photo of that one too. Oh well. 😉

2. The Account PIN creation dialog acted weird.

The Account Pin creation dialog.
The Account Pin creation dialog. It looks innocent, but it’s acting weird too.

You can’t really see it let me enter values in the fields but wouldn’t let me tap either the “OK” or “Cancel” buttons. Naturally my expectation is that itdidn’t save my entries. But when I went back and checked my Account Profile a PIN was already associated with it. I don’t know if that was my synced PIN from my other machine or the one I entered though. Also, when I went back through the dialog to attempt to change the PIN it accepted what I thought I originally entered… Hence the “huh?”.

3. Incorrectly reported Mail storage value – pretty much speaks for itself.

252 PB has got to be a typo.
I’m going to go ahead and call BS on this one… If I had 252 PB of ANYTHING other than DNA then I’m really missing out on something.

4. These two numbers definitely don’t match.

These two numbers don't match... do they?
The Modern Settings app Temporary Files value of 6.66 GB doesn’t quite jibe with the Disk Cleanup dialog’s value of 4.00 MB.

The Disk Cleanup dialog is acting weird. Originally this machine only had about 5.5 GB available. I went through and killed off all my local copies of my OneDrive files and that got me enough room to install the Build. However, once the Build was installed it gave me this number. So on a hunch I kept going through this dialog several times, hitting the “Clean up system files” each time. Every time I went back through the dialog it found more and more temporary files… and, excitingly, about the fourth time through it found the previous installations. Eventually I was able to get a total of about 15 GB back.

5. (No photo) “Hey Cortana” is some-timey.

There’s something wonky going on with the feature activation on this device. At first I thought that it doesn’t want to work at all unless I have a microphone plugged into the headphone jack. Then I figured I’d try turning the feature off and back on.  — worked like a champ. So, for now, if you can’t get Cortana to respond when you say, “Hey Cortana” just turned it off and back on and it will work (well, for the next request anyway).

That’s it for now. I’ll be sure to share anything else I find.

Interesting “findings” with Build 9926

An open-letter to Joe Belfiore and Microsoft

Joe Belfiore presents Windows 10 and Windows 10 for Phone on January 21, 2015
Joe Belfiore presents Windows 10 and Windows 10 for Phone on January 21, 2015

Dear Mr. Belfiore,

I am undoubtedly one of the biggest, most vocal Windows Phone fans in the entire universe. Those that know me know that I’m not kidding with that statement. I take every opportunity to willingly market my Windows Phone to every person who doesn’t instantly flee… and nine times out of ten they come away from that experience with seeds planted for an eventual switch to Windows Phone. What’s more, I love the work you and your team are doing with Windows and Windows for Phone and the general direction you’re moving towards a truly converged user experience.

However, it will be an ENORMOUS MISTAKE to force us — the WP faithful — to wait until the holiday season for the next evolution in phone devices. It has been more than a year since the last new flagship phone was generally available to the US market. By “generally” I mean not locked into a particular carrier (as Verizon will *NEVER* be my provider).  And phones targeted to other countries don’t play nice with the high-speed towers here at home. Also, those “seeds” I mentioned earlier? Lately they’ve been dying off after taking root because people see all the horrendous fluff that (supposed) tech journalists keep spewing.

So just what am I proposing?

1. Please exponentially increase the pressure on the US carriers to release Denim for our existing handsets. Let’s face it, most people still buy and hold their phone until the wheels fall off. It would take something truly earth-shattering, game changing and affordable to break that particular habit. So please do get AT&T, T-Mobile and Verizon to release that update for our existing handsets.

2. Please release at least one flagship phone that will work on each major US carrier no later than July 1, 2015. That phone could even run Denim; as long as it will be able to make full use of Windows 10 for Phone it would be acceptable. This is for people like me who buy a flagship about once every 12 months. It’s also for those who’ve had a mishap (like my significant other) and the timing is just “right”.

These two “relatively simple” things will work to significantly discourage the ongoing platform hemorrhaging while making us — the faithful, independent WP developers — believe that Microsoft still cares about us and wants to continue working with us to make the world a better place.

Thanks for listening,

Kelvin

Image

Today’s PSA: Be sure to test your apps on OS versions you support (even if your app hasn’t changed)

<< sigh >>.

So a while ago I had a REALLY BAD review on one of my apps. I used up an entire weekend (and a bunch of honey-do credits) debugging scenarios I had to guess at and getting it to work *just right*. I published to the store and YES(!) — the author of that bad review came back and gave it a glowing rebuttal! Only to see my number of crashes for that app continue to climb.

I just figured out why that’s happening: It’s because my daily driver (and therefore test device) is running the latest version of the OS, while the app version that’s failing is for the previous version of the OS. As soon as I fired up that version of the app it became very clear  what the problem was. Unfortunately.

So that means this weekend I’ll be rewriting the app to cover whatever it is that changed in that previous version of the OS.

The take away? Always remember to re-test your app on every version of the OS your support, even if nothing has changed in that version of the app. Doing so would have saved me a lot of hair-pulling and headaches.

<< sigh >>

Today’s PSA: Be sure to test your apps on OS versions you support (even if your app hasn’t changed)

THIS.

I rarely agree* with bloggers that “legitimate” news sources peddle as “journalists”, but this time one of them got it right.

READ.

Comcast Just Trolled Us All on Net Neutrality
(via Time, by Alex Fitzpatrick)

* Author’s Note: I rarely agree because news, even if slanted, should not be biased; it should simply be reported.

THIS.

It’s time to let USB drives go the way of the Dodo…

… because they are insecure in a fundamental way that currently isn’t defendable or fixable.

UPDATE: I’ve edited the section dealing with alternatives after some further research.

Here’s the background:
Worse yet, you see in Article #2 above that the exploit is IN THE WILD AND FREELY AVAILABLE.
So what are we supposed to do? The alternatives are simple:
  • Use Cloud services.
    – Such as OneDrive, Dropbox, Box, Google Drive, etc.
    – The downside is that you have to be connected and allowed to reach that service to get your files.
  • Use other storage media.
    – The SD card family (standard, mini, micro, etc).
    – The first downside is that SD cards aren’t supported by everything.
    – The second downside is that, hands down, USB is the current ruler of connected media.
    – The third downside is that SD cards also have a controller chip inside and eventually those might be co-opted like the USB controller chips have.
  • Use storage media that has a different physical interface.
    – FireWire is a good example.
    – Unfortunately, the same issue exists here because drives using this cable standard have controller chips too.
  • Use storage media that ha no physical interface.
    – WiFi Drives are currently a decent alternative but are not intuitive enough for everybody, and open up a whole different can of worms.
If these things aren’t feasible then you can still purchase brand new drives from “big box” stores (BestBuy, TigerDirect, etc.). Just be aware that you’re potentially in the same boat as if you had an infected USB drive. Infected drives infect the machines they are plugged into, and infected machines infect USB drives that are plugged into them. As of right now there’s simply no “protection” for this type of infection.
It’s time to let USB drives go the way of the Dodo…

My thoughts on Women in Tech

Let me be honest: Some of my best ideas were either started by or honed through conversations with my fiancé. I find that I have to keep a notebook handy just to make sure I don’t lose gems she doesn’t even know she’s dropped. And she’s no where near a coder; in fact, some people probably wouldn’t consider her a techie at all.

[SIDEBAR: Those who have known me long enough know that my love affair with the Visual Studio IDE was started by a woman named Sara Ford.]

This morning I saw this article: This Is What Tech’s Ugly Gender Problem Really Looks Like (from WIRED via Nuzzel). It outlines a small sliver of the issues concerning women in tech. Said bluntly, there is a fount of mental and literal wealth tied up in the women we regularly interact with. In keeping with points raised during the keynote at Tampa Code Camp 2014, we owe it the community (and ourselves) to encourage them.

We need to encourage our female acquaintances, coworkers, friends and family who are in tech — both implementers and facilitators — to be as vocal and visible as possible in their respective bailiwicks. Doing so doesn’t cost us anything more than a passing mention when we see them… maybe 5 total minutes per person? And even that would be spread out over time. Think months or years.

The harvest that could come out of something so inexpensive, however, is priceless.

Just my 2¢.

My thoughts on Women in Tech

Love the Internet? Then get involved, FAST

I just stumbled upon this eye-opening piece regarding the discrepancies of a lot of things… most noticeably the games that politicians play and who their real constituents are.

You can read it in all its glory here: How the FCC Plans to Save the Internet By Destroying It: An Explainer (via Medium)

Please do take the 5 or so minutes necessary to quickly skim the article. Once you’ve done that, get involved. Trust me when I say that the quick skim will likely be enough for you to want to get involved. I’m going to try to figure out a relatively easy way to do this for as many people as possible but you really shouldn’t wait on me.

Just why is our participation in this one so important? Because everything you (think you) know, understand, expect and love about the Internet (with its easy, fast and relatively affordable access to everything) is about to drastically change. And all because elected officials pander more to the companies that lobby and pamper them than the people who put them in office. Please note that the people who need “the courage” (as pointed out in the article) are appointed by those we elected, *not* elected themselves. What’s more, they are charged with keeping things fair — and I think they are on their way to a failure of truly epic proportions.

It’s important to point out that I’m not making any party delineations here. ALL parties are guilty on this one.

Please do get involved; stir up the pot by pestering your political representatives to take the action WE VOTERS, nay, REGULAR PEOPLE want — and not the vote that big businesses are trying to buy. Once I figure out how to do this expediently I’m going to put those ideas in another post. Again, DON’T WAIT ON ME; this it’s one effort we don’t want to come up short on.

Love the Internet? Then get involved, FAST

A Primer for those remedial “I can’t (insert complaint here) on my Surface” people

Ok. This is going to be short because it’s a really easy concept. In the Microsoft Surface family, the ones intended to be laptop/desktop replacements are the “Pro” devices.

You can install whatever apps you like from the Windows Store on anything in the Surface family. However, if it doesn’t say “Pro” in the name then it won’t allow you to install any DESKTOP software except for an exclusive handful of things in the Microsoft Office suite.

If you want to install desktop software (like alternative web browsers) then you should select a Surface Pro.

Simple.

Take notice, however, that this is BETTER than what you get with either iPads or Android tablets; you can’t install ANY desktop software at all. PERIOD. You can’t install the desktop version of ANY browser. AT ALL.

Simply put, the non-Pro Surface devices are meant to compete directly with their iOS and Android counterparts. They all offer about the same physical specifications.

If you want to get mad at someone do it at Google as they have been actively hostile towards any competing Microsoft product since day one. Ask them why they don’t create an RT version of Chrome. The same can be said of Apple and Safari.

Stop posting ignorantly because you are cheap and also didn’t take time to do your research or read the product card in the store. Like the person in the attachment. The only possible argument that *MIGHT* (and I stress might) keep this person from being a complete ID10T is if the salesperson told him/her the wrong thing. And I doubt that happened.

var rant = Status.Complete;

A Primer for those remedial “I can’t (insert complaint here) on my Surface” people