Speechifying Windows Phone 8 at TechDays 2013

DSCF0109-Edit.jpg

This is the final audience of my TechDays sessions as they arrived.

Today I did the last session for TechDays 2013 NL. We were making Windows Phone talk to us and make sense of what we were saying. Another splendid audience and another bunch of files that you can download with the presentation and all the source code. Heading home this evening, once I’ve spent the afternoon playing with my latest “Gadgeteer idea”. That rhymes, which is useful.

Gadgeteering at Tech Days

DSCF0081-Edit.jpg
The audience for my “Gadgets Everywhere” session was even larger than the phone one. I think they came to watch the demos fail….

Did my final session of the day on the Gadgeteer at TechDays.  A great audience, a whole bunch of demos that worked, and a whole bunch of superb questions including one which, again, I didn’t have a proper answer to. I do now though. The question concerned the availability of “watchdog” support for the .NET Micro Framework. At the time I said that I didn’t think that it was available. Turns out I was wrong. Watchdog support was introduced into Version 4.0 and you can use it to make sure that a system will automatically reset if the controlling program gets stuck for some reason.

DSCF0089.jpg

A happy owner of a bright orange, Ultimaker printed, Lumia 820 cover.

During the talk I mentioned Una, my 3D printer, and how easy it is to use such a device to print cases for Gadgeteer devices. You can even get the designs for the Gadgeteer boards on CodePlex. I had some printed gadget cases, but I’d also brought along a bright orange Lumia 820 case that I printed last week from this design. I figured it might go down well in the Netherlands. And so it turned out.

DSCF0088.jpg

Examining Gadgets

DSCF0093.jpg

Camera Art

Thanks to another amazing audience. You can find the slides and the demos here.

Windows Phone Agents at Tech Days

DSCF0076-Edit.jpg

Today I was up bright and early to fly out to the Netherlands for TechDays 2013. I’m doing some sessions on Windows Phone and Gadgeteer. I’ve been doing sessions in TechDays for quite a while, they have a great atmosphere at the conference and the audiences are always great.

Today was no exception. You can tell the quality of the audience by the questions that you get at the end, and in this session I got some really good ones. One of which I couldn’t answer at the time. The question concerned the behaviour of application created alerts. A Windows Phone program can create alerts which will appear at some point in the future. These are useful because you get them whether the application is running or not. When the alert fires the user can drop back to the application and do something. I made a program for timing eggs which causes an alert when the egg is ready. What the delegate wanted to know was what happened to the alert if the phone is displaying the lock screen, or powered off.

I’ve done some experiments , and now I think I know the answer. If the phone is locked the alert will appear on top of the lock screen, just like any other appointment would. If the phone is turned off, you don’t seem to get the alert displayed when it is powered back on though. Hope this helps.

You can find the slides and the sample code (including the egg timer) here.

Alien Invasion

WP_20130306_003.jpg

Lindsay and David, standing against each other’s names.

Today a couple of ex-Hull bods came to see us. They now both work for Boss Alien down in Brighton and they came up to give a talk about working as a game developer.

Great talk guys. The thing that came out most strongly for me was that if you want to get into the game you must have a good portfolio of your work to show off. This should include not just coursework assignments that you’ve completed, but also things you have done of your own. Make sure that this is easy to find on your website or blog and keep adding to it. It looks like there is plenty of work out there for good developers, make sure that you do a good job of showing off your skills.

Red Nose Day with Gadgets

ShortHeader

I’m doing it again. For more money. If you want to see a show that has laughter, tears and pathos (and that’s just the hardware demos) then you should come along.

You should also sponsor me at: http://my.rednoseday.com/sponsor/robmiles

I’ve set the target really high, at 1,000 pounds. But if I get that much I will do the entire lecture wearing a tutu.

And just to let you know, I have sooo got the legs for a tutu.

"Life after Uni and being a Boss Alien"

image

Lindsay Cox is coming to see us on Wednesday 6th of March and give a Rather Useful Seminar. You might remember Lindsay from the odd Three Thing Game, in fact he and his teams produced some memorable stuff over the years. Lindsay is going to talk about his experiences since graduation. The seminar is at 2:30 pm  on Wednesday 6th of March in Lecture Theatre D (LTD) in the Robert Blackburn Building.

Please note the slightly later start.

Surface Pro Paint Repairs

IMG_5990.jpg

If you have been unlucky/daft enough to chip the paint on your lovely new Surface Pro then I have have some good news. Revell enamel paint “32109 Anthracite” (see here) is an absolutely perfect match for the paint on the Surface. I’ve put a tiny amount on the scratches (which, admittedly were pretty tiny to start with) and they have completely vanished.

And, bearing in mind no new scratches have appeared, I think the little tin above (price at one pounds sixty pence) is going to be a lifetime supply as far as I’m concerned.

NFC Tag Fun with Windows Phone 8

Near Field Communications is fun. And sometimes even useful. The idea is that you bring your phone close to an NFC tag which contains an antenna and a tiny chip which can store data. The phone reads the data and does something. You can program an NFC tag to trigger one of a variety of different actions, from opening a web page, running a program to sending an email.

Untitled

The Nokia NFC Writer program makes it very easy to program tags. I’ve got a tag in the car that starts the phone playing music. I could also use a tag to configure the phone and even send tweets, as James has done.

image

There are lots of styles and designs of tags out there. I got the Task Launcher Pack from rapidnfc.com above which provides a lot of fun for around 12 pounds. You can get custom printed tags and people like Moo are even planning business cards with tags in.

There is an API that you can use to allow your Windows Phone program to read and write tag information which has all kinds of possible applications. You can find out more from MSDN here and from Nokia here.

If you have an NFC capable phone (the Nokia 820 and 920 are) then you should have a go. Great fun.

Nokia NFC: It looks like some folks are having a problem finding this program via the link above. It works fine in the UK, I'm not sure what regions of the world have access to it. If the link doesn't work try searching your Marketplace for "nfc".

Making Sample Data Can Be Fun

image

I’ve just released the first year coursework specification. We are going to be creating a system for a record shop which will track customer orders and suggest new records to buy. I think the only reason I went for a record shop was so I could call it “Vinyl Destination”, but that is by the by.

The program needs to be able to track huge numbers of records and customers, along with their orders. The problem is that, at the start, we don’t have any customers or orders, or anything. And anyone that thinks the way to solve this problem is to sit down and enter some details when the program has been built is very, very wrong.

I make the test data right at the start. I use a program to do it. All it takes is a few loops. Now, I could give the customers names like “Customer1”, “Customer2” and so on. But I can do better than that. All I need are some names to start with:

string [] firstNames = new string [] { "Rob", "Fred", "Jim", 
  "Ethel", "Nigel", "Simon", "Gloria", "Evadne" };
string [] surnames = new string[] { "Bloggs", "Smith", 
 "Jones", "Thompson", "Wooster", "Brown", "Acaster", 
  "Berry", "Ackerman" };

Here we have two arrays, one of first names and the other of surnames. I can now make myself a whole bunch of reasonable looking customers:

foreach (string surname in surnames)
{
    foreach (string firstname in firstNames)
    {
        Customer c = new Customer(firstname + " " 
                                  + surname);
        result.Customers.Add(c);
    }
}

This makes us a whole bunch of customers, from “Rob Bloggs” all the way to “Evadne Ackerman”. We can do something similar with the names for each of the recording artists:

string[] artist1 = new string[] { "Pink", "Flying", "Random", 
    "Singing", "Uptown", "Family", "Floating" };
string[] artist2 = new string[] { "Chicken", "Circus",
    "Banana", "Kitchen", "Groats", "Monkey", "Collective", "Pyjamas" };

I can combine the words to make random artist names.

string artist = artist1[rand.Next(artist1.Length)] + 
    " " + artist2[rand.Next(artist2.Length)];

This picks a random word from the first list and adds it to the second one (rand is just a random number generator that I use to make my test data). So I can have “Pink Pyjamas” and “Singing Groat”, among others. I do something similar for the track names, except that I have three parts. As you can see in the screenshot, this makes for some quite funny combinations, that liven up testing no end.

Stuck in Time

Untitled

Some time back I was given this clock, which I’ve had in my office for a while. Unfortunately I’ve found it impossible to use on a regular basis. Can you tell why?

Anyhoo, before it makes me too late (or early) for everything I’ve replaced it with this one, that I got in the Daiso shop in Seattle for a dollar fifty.

Untitled

Much better.

Actually Simon suggested the perfect solution to my clock problem. He reckons I should put the old clock on the wall behind me, and then view it via a mirror. I am so going to try that.

Surface Tensions

DSCF1039.jpg

So I got myself a Surface Pro. Took until Thursday morning last week, and a high speed white knuckle walk over to the Microsoft Store in Bellevue first thing to pick one up after I called and found out they had some stock (of course I couldn’t reserve it). In the end I took my 128G device, paid the lady and left. And I really like it. But that is not to say there haven’t been issues.

First up there is the finish. The Pro looked really nice when I first got it. Shiny and lovely. Unfortunately, unlike the granite like paint job on the Surface RT, my Pro looks as if it has been covered with icing rather than paint. I’ve already chipped lumps off the kick stand simply by brushing the device against the zip on my backpack. For someone as fussy as I am about my gadgets this is a major blow. I’m keeping it in a little “Surface bag” and babying it as much as I can, but I’m also anxiously checking it every five minutes for any more bits of paint that have dropped off. For a premium device which is sold at least in part on its toughness this is a bit of a let down to be honest. Not that it in any way affects how well it works of course, it is just that I like my new stuff to stay new looking. It helps with the subsequent sale on eBay.

Second there is the screen resolution. Now actually this is wonderful. The sharpness and colour depth are amazing. And there are loads of pixels. Too many in fact. If you look at the screen in “normal” 100% scale everything is teeny tiny. Microsoft have addressed this problem by setting the scaling for the display to 140%, and this makes all the icons and most programs look fine on the tablet. Of course things like Adobe products, which for no reason at all have their own display management, look stupidly teeny tiny, but that’s not the worst problem. You get that when you plug the Surface into an external monitor for a lecture and find that you are now viewing 1024x768 at 140% magnification. I thought I’d gone mad. Nothing fitted on the screen and everything was too large. Once I figured it out I then had the unpleasant realisation that I have to change the resolution and then sign out and back in again to fix it. Every time I do a presentation. If the system was smarter it would either realise that scaling up on a 1024x768 screen was perhaps a bit stupid, or perhaps it could allow me to scale different displays different amounts, so I could scale the tablet at 140% and the external screen at 100%. But it doesn’t do either of these sensible things. One answer, I suppose, is to just set the desktop to some lower resolution, but that kind of defeats the point of that gorgeous display. Everything works fine under the Windows 8 Metro display of course, but that is not something I use much.

Finally there are the Windows updates. This is not really the fault of the Surface itself, it is a more general malaise. Twice during the update process the system got stuck because it needed a reset to install updates and it didn’t get one. Twice I had the update process break and had to go in and delete all the cached update files and restart. Initially I thought I’d leave the machine to sort itself out, and was rewarded with the message that “This machine will reboot in the next two days” to finish installing updates. Of course, with an update reboot pending I couldn’t install any other software in that period and so I had to wade in and waste valuable chunks of my life watching progress bars. Wah. I know that updates are important and necessary, but there must be a better way than making the customer lose the best part of two days of faffing around before the machine can be made properly useful and stable. This is not just a Microsoft problem either, I dread turning my MacBook on because of the inevitable torrent of upgrades I’ll get (and don’t get my started about the 30 or so updates that are pending on my iPad applications). Perhaps the shops could apply updates to machines before sale. Perhaps updates could be applied behind the scenes. Perhaps somebody could figure out how to get updates out to machines without upsetting the user. We’ve had PCs for thirty years or so and we as still fixing them the same way. And it is awful.

And now the good news. The Surface Pro is ace. Goes like the wind. Runs everything I throw at it. Good for at least four hours of whatever I want to do on battery power. Weighs not a lot. And probably the only machine I really need.

Still Time to Enter the Imagine Cup

image

There's still plenty of time to enter the Imagine Cup. You could enter any of the competitions, including the one that I’m involved with, which is the World Citizenship Challenge. Every year I encourage students to enter and every year I’m amazed by what they come up with, and how much they learn from taking part.

If you are thinking of making a team and entering, or you’ve got a team, or you want some tricks and tips for working on your entry, I’ve jotted down some notes here.

Consider this, when you get that interview for that dream job, and they ask you the dread question “What have you done that’s awesome"?”, your Imagine Cup would make a very good reply.

Flying with Dutchmen

DSCF1054.jpg

Today it was time to pack up and head home from Seattle. I was on the same flight to Amsterdam as loads of other MVP delegates. Most of whom were from Holland. And had seen my memorable Kinect session last year at Tech Days Geek Night. And were quite happy to remind me of it again. I’m doing some sessions at Tech Days this year too. Some with gadgets. Now might be a good time to be very afraid. Or at least test the demos a bit….

My Next Car

Untitled 

Look at the size of that SatNav screen.

While we were walking around Bellevue Mall we noticed that Tesla Motors had a shop and one of their cars on display.

Want one.

The Tesla is an electric car powered by Lithium Ion batteries (the ones that they put in laptops and mobile phones). These give it high range (up to 300 miles) and amazing performance (0 to 60 in 6 or so seconds). They have a rather clever plan to put “Supercharge” stations over the country which are 200 miles or so apart. These can deliver a decent charge in around half an hour and should make it possible to drive right across America in the car. Because the stations will be solar powered Tesla are even offering free power top-ups for the lifetime of the car. I’m not convinced on that part, it will take an awful lot of sunshine to fill up the 40kWh batteries in even the lowest range vehicle, but you can’t knock them for trying, and I’d love for it all to work the way they say it will.

Untitled

I really fancy a car like this, even though it apparently doesn’t have an engine.

Of course it is far too expensive for me, and anyway I love my Nissan Cube, but should I ever be in the mood to drop 50,000 pounds or so on a new car, it would have to be one like this.

Untitled

Although I probably won’t buy the base model. (thanks to Peter for the line).

MVP Summit Party

Another day, another party with free food and drink. Sometimes I love my life. Anyhoo, today was the day of the MVP Summit party. It was held at CenturyLink Field, home of the Seattle Seahawks and Seattle Sounders FC.

DSCF1134_5_6.jpg

This is the view from the stadium steps.DSCF1148.jpg

This is the view from the Player’s Loft, where we met up with some Windows Phone team members and talked shop for a while.

DSCF1155.jpg

The view of the pitch. They had a soccer goal at one end and American Football goalposts at the other end, reflecting the dual use of the stadium.

DSCF1177.jpg

Oooh. Fireworks.

DSCF1220.jpg

Walking the pitch

DSCF1212_3_4.jpg

The hallowed (astro) turf.

DSCF1231.jpg

I may be wrong, but I don’t think that this is an MVP doing karaoke.

Thanks to the MVP Summit folks for a great night out.