Running Windows 10 Mobile Insider Preview build 10080 on Lumia 930

With the latest insider preview build of Windows 10 for Phones — now named Windows 10 Mobile — released you can now install it on your flagship phones like the Lumia 930 that I’m using. So that’s what I did. I hopped on the fast-ring and let the update process do its job.

When I returned to the phone (downloading and installing can take some time) — I was greeted with a loading screen. Turned out to be an eternal loading screen. It kept on loading and my phone started to heat up. I plugged it out of the charger and turned it off. I turned it back on again after a while and the loading screen still greeted me and it kept on loading. I found out I could however access the notification center, Cortana and even use the task switcher. The loading screen was in fact the start screen not being able to load. I thought I would have to use the recovery tool.

Then I tried resetting my phone from Settings > System > About > reset phone. After a reset the start screen appeared. With huge tiles. I then read some tips on tweeterspacespherenet about this particular issue and resolved it by going into Settings > Personalization > Start and enable “Show more tiles”. The tiles would be smaller, but there’s still some issues with the icon size to tile size ratio, but I can live with that for now.

Another issue you might run into is that backspace does not do anything. By adding another keyboard from Settings > Time & language > Keyboard this started to work as well. I might also add that I like the way you switch between languages now. Swiping on the space key? Nice gesture.

To sum it up or TL;DR:

Start screen not showing? Getting an infinite loading screen?

Reset your phone from Settings > System > About > reset phone

Huge tiles on your start screen?

Go to Settings > Personalization > Start and turn on “Show more tiles

Backspace not working?

Go to Settings > Time & language > Keyboard and add another keyboard language

One more thing; have you noticed a mouse cursor in the top-left corner when you tap on the back, home or search button on your phone? Try pairing a bluetooth mouse. You can now use your mouse to click on stuff on your phone. The scrolling does not work though:

 

SharpKeys: Reviving the missing < and > key using Norwegian layout on a US keyboard

At Microsoft Build this year we were so lucky to receive a HP Spectre x360, and it has proven to be quite a decent 2-in-1 (check out reviews etc). The only problem: it has a US keyboard. Being Norwegian I’m used to a different keyboard layout, so keys are a bit misplaced (yes, I said it). So far it has been fine. As long as I don’t look at the keys the muscle memory takes care of hitting the right ones according to the norwegian keyboard layout.

For most people this will be fine for most usecases, but in case you’re a developer then you might want to use the lesser and greater than keys (< and >). Using a Norwegian layout on a US keyboard these keys do not exist as far as I can tell. On a Norwegian keyboard we have an extra key next to the Z key that houses both < and >:

Huh, where's that key?
Huh, where’s that key?

There’s an easy fix if you’re willing to let another key be replaced. Caps lock is a key that I don’t use at all, so for me it was easy to remap caps lock. Surprisingly there weren’t many guides online that adressed this specific issue that I could find.

To help us with this issue download the SharpKeys tool from their codeplex site. Install it on your system.

To add a key mapping simply click Add, and you’re presented with a simple dialog where you can choose which key to map from and which key to map to.

The SharpKeys interface
The SharpKeys interface

At first I felt a bit disheartened because the list was made for US keyboards so the specific key that I was looking was not present. Not at first. After a bit of thinking I found a USB keyboard that I had, hooked it up and clicked the Type key button. I hit the <> key and it got detected as key: Unknown: 0x0056 (00_56). Very intuitive I know!

Add/Edit key mapping. Use the Unknown: 0x0056 (00_56) for <> keys
Add/Edit key mapping. Use the Unknown: 0x0056 (00_56) for <> keys

When you’re all set, hit ok, then the “Write to registry” button. Sign in and out and you should be set!

I hope this can help others with this issue who are feeling a little lost like I felt when I started my Google with Bing search.

Azure WebJobs: You need Connection Strings

If you run into any trouble after adding a fresh Azure Webjob to your project and try to run it, my guess will be it has to do with connection strings and a missing storage account. If you don’t have an Azure Storage Account then creating one will be the first step. You then need to define these two connections strings in your web app: Portal (Web App -> Configure):

  • AzureWebJobsDashboard
  • AzureWebJobsStorage

connection-strings

And the format for those connection strings:

Replace STORAGE_ACCOUNT_NAME with the name you give the storage account and get the PRIMARY_ACCESS_KEY from the Portal.

If you’re going to connect to a database, also make sure that the name of the connection string you’re using is present in the Portal as well. Otherwise, if you use something like ‘DefaultConnection’ (in your DB context) which is the default one, the Azure Web App will make sure to make that work, but WebJobs will not. When you look at the connection strings in the portal you will probably not find DefaultConnection, but something along the lines of “prod_db” etc. Either rename the connection string on both ends or make sure that ‘DefaultConnection’ is present so that WebJobs can access it.

Hopefully this little post can be of some help if you run into the same problems as I did.

Running Docker on Hyper-V

It has been clear that the obvious choice when running Linux on Windows has been using VirtualBox or VMWare. It’s easier. VirtualBox and VMWare allows you to configure host-to-guest folder sharing without having to configure something called Samba/CIFS and you could get decent video performance.

Then again, many of us running Windows do however use Hyper-V on a regular basis. At least for me the Windows Phone emulators runs on Hyper-V. You could dual-boot your Windows (If this is something you’d like then check out Scott HanselmansSwitch easily between VirtualBox and Hyper-V”), and I did for while. It got tedious. Why can’t we have it all?

Then this product called Docker came along:

Using Docker on Linux we could package up our apps and distribute them. The apps would run inside containers which is sandbox for running a complete virtualized system inside another system. Basically we’re talking about virtualization. The thing that should strike you is the notion of replacing your README.md file with a Dockerfile that describes how to create a ready-to-use image for running your app.

You can then distribute this Dockerfile and let other people build images off of it, or even better, create images and upload them to Dockerhub for everybody (or privately) to pull and use.

I have begun using it, and even though I’ve hit some problems (mostly due to the fact that I run Windows and Hyper-V) I’m excited to use it and start using it to package our web-apps in particular at work.

This post will be a quick guide on how to get Docker up and running using Boot2Docker or from a plain Ubuntu Server installation.

Windows 10 Continuum for Phones

Ever since I got to play with my dads Nokia 9210i Communicator back in the early 2000s I’ve always been searching for the mobile experience that could evolve upon request. That could be a small phone, but when you needed a little extra it could adapt. The 9210i Communicator was something like that and I’ve been searching for an upgraded experience ever since.

"Nokia 9210" by J-P Kärnä. Licensed under CC BY-SA 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Nokia_9210.jpg#/media/File:Nokia_9210.jpg
“Nokia 9210” by J-P Kärnä. Licensed under CC BY-SA 3.0 via Wikimedia Commons – http://commons.wikimedia.org/wiki/File:Nokia_9210.jpg#/media/File:Nokia_9210.jpg

 

Upon this day I have been through phones running Windows Mobile (or was it PocketPC Phone Edition of some sort?) and the last phone I bought that was anything like the 9210i Communicator: Nokia N900. I loved the device. It had a full keyboard and ran Linux. I could use the package manager and download more hardcore software, and it had pretty much (at that time) every possible way of connecting to people, networks and devices. Eventually I had to switch it with something more modern that allowed me to run the apps I had started developing for Android.

Nokia N900. Look at that task switcher
Nokia N900. Look at that beautiful task switcher

The market had been quiet for quite some time, then Microsoft showed up with their Surface and Surface Pro tablets that ran Windows 8. The Pro being a fully fledged computer running on Intel chipsets, with full USB port and a 10,8″ multi-touch screen and add the Type or Touch Cover and you had a laptop. Finally I thought; now we’re getting somewhere. In fact, I own Surface, Surface Pro, Surface Pro 3 and a Surface 3 to this day. It has really come to be the type of device I’ve wanted for many years. It is a beautiful tablet that can evolve into a laptop (attach the keyboard) or a desktop (dock it) and the experience adapts for its usage.

WP_20150510_14_16_15_Pro

 

The Surface is a great step on the way for the experience that I’ve sought for all these years. It’s still not quite there, but Microsoft seems to be heading in that direction. At the Xamarin party the night before the Build 2015 conference started I talked with a Microsoft employee, and I got to talk about this concept with him. After I told him my story, he smiled and said “It’s not quite ready, but it will come”. I was intrigued.

The next day at the keynote Joe Belfiore showed us Continuum for Phones. Continuum is already known in Windows 10 as the feature that switches the Windows experience from PC mode to tablet mode and vice versa. Continuum for Phones will allow you to dock your phone or connect to a wired or wireless screen and it will adapt to become a desktop. The only downside with these phones today is that they run on ARM architecture and that means the only software you can run must be built for ARM.

Continuum-Windows-Phone
microsoft-windows-10-continuum-for-phones

 

Down the road Microsoft hopes that the majority of mainstream apps will be Universal Apps that run across the Windows 10 device family, but until that time there’s still a bunch of classic Win32 apps that one would want to run. At least that I would want to run. Until phones come with an Atom chip or some other x86/x64 chip there’s always Remote Desktop to the rescue.

With Windows 10 the phones have access to the same HID support so mice, keyboards and all the other USB peripherals will be able to work with it. Marvelous. When you connect your phone to a dock or a screen, you can still use your phone normally, so it will be like having dual-monitors where one screen is really tiny.

I am genuinely excited about this feature, and is a major step towards the experience I’ve been seeking. It’s still not quite there.

My hopes going forward is take the same concept and introduce a Surface Phone and bundle it with empty Surface tablet shells and other formfactors. Why empty? When we get there, it will no longer be necessary to bring your laptop or tablet with you. The phone is your PC, and you can dock your phone in to the Surface shell. The phone can adapt to become a touchpad if you want (imagine docking it where the touchpad would normally be) as we all know that the only ones that have great touchpads for laptops is Apple. The shell can contain extra batteries instead to increase the longevity of your session. There’s many possibilities, and I would love to one day just carry a phone with me. That’s at least the first step, then we can talk about more complex interfaces as we’re getting closer to realizing them.

The other company that has been making the same kind of progress is Ubuntu with their Ubuntu Phone, so if you’re a Linux user (as I once heavily was) then you should totally check that out. It’s exciting times that’s for sure!

0212_ubuntu_android_660

One last thing: Microsoft should drop the Continuum for Phones name and just go with Continuum. Please.

Surface 3 initial impressions (interrupted)

Surface 3 was released to the public here in Norway on Thursday (7/5/2015). I was lucky enough to get my hands on one for free the very day.

The largest online retailer of computer equipment Komplett.no held a contest in association with Microsoft Norway. Having been situated at home the last couple of days (under the weather), I told my girlfriend about this contest. Komplett.no would announce at the strike of 12, 15 and 18 three locations where the first person to see one holding the Surface 3 and “shouting” “I want a Surface 3” would get to take that Surface 3 along with a Type Cover home. Eagerly we sat around 12:00 and waited for the announcement, and one of the locations announced was pretty close, so my girlfriend put on her shoes and ran to try get a hold of one. When she was almost at the location I texted her that it had already been given away.

After that first attempt I thought the next announcements would be in different cities or in a galaxy far far away. When my girlfriend got home she handed me a large white shopping bag: “Here, I got something for you”. Turns out that she followed the 15:00 announcement and the location? Right outside where she works, so she immediately ran over and got it. So thank you darling for the effort, it was really nice of you!

Here's my girlfriend holding the Surface 3 and the new Type Cover
Here’s my girlfriend holding the Surface 3 and the new Type Cover

Enough with the mushy backstory already, let’s take a look at what we got here.