Monday, 27 February 2017

It's Back.

Mobile World Congress 2017 saw the return of Nokia with consumer mobile devices.

Nokia has been restricted on producing mobile phones over recent years because Microsoft bought the brand in order to save Windowsphone. The story is full of irony.

Nokia had been late to understand how much the smartphone industry changed with the iphone. Over the years it had about 50% of the mobile phone market globally and had a massive design, distribution and manufacturing base. Such a huge infrastructure meant high quality and end to end control. Unfortunately Nokia had internal battles. It's own Symbian OS was not really able to produce the new devices inspired by Apple and the mobile internet. Some of it's engineers wanted to turn to a Linux based OS called Meego.

As smartphones dominated sales and Nokia's internal decision on the OS raged a series of decently designed but confusing smartphones came out of the company. Nokia decided it need a new CEO and Stephen Elop, a former Microsoft executive, was appointed. Elop changed the primary OS to Windowsphone. Many people criticised this decision saying Android was the better choice.

Nokia costs were high and it's market share had dropped. Elop reduced staff and many technically well designed phones were produced. The difficulty was that Windowsphone was not well received. As 'apps' dominated with related services Microsoft was found to be in a distant third place.  After committing to Windowsphone Nokia found itself not selling enough product, having high costs but dominating the Windowsphone sales at 97% of all Windowsphones.

Microsoft was slow at developing apps and an ecosystem of compelling consumer services. Google services were never available. Microsoft was obsessional about the US market even though sales in places like Europe, where Nokia was strong, should have had some priority. The net result was Nokia  consumer phones was about to go under. Microsoft paid $7.2 billion to buy the business and license the name. Most of this money was subsequently written off. Financially it was a complete waste for Microsoft that, if they had spent it on developing apps and ecosystem, might have saved Windowsphone.

Nokia can now use it's name for phones again. It has no infrastructure to build phones but former Nokia engineers have formed a company called HMD Global, literally across the road, and have a license to produce Nokia phones. So ex-Nokia people are creating new phones based on Android.

Their pitch to consumers is;

1. It's a Nokia!
2. The Android will be the pure experience without crapware.
3. Security updates monthly.
4. Available at all price points - by which I suspect there will be others coming but the Nokia 3, 5 and 6 look to be in the space vacated by the Nexus 5x.

If the phones are the same hardware quality as the Windowsphones then this combination might suit people annoyed by all those manufacturers who bloat their phones with apps that are not wanted and cant be uninstalled.

Monday, 20 February 2017


Mobile gets really serious in 2017 with the 835. The new Qualcomm processor is likely to be seen on almost all new flagship mobile phones this year with the first outing at Mobile World Congress.

The significance is the growth of ARM as the primary design for processors on power restricted mobile devices. Rdeuced instruction set processors didn't lead the PC revolution in the 1980s because desktop PCs had big beefy power supplies, fans, and lots of space. Intel designed ever faster processors with ever larger fans to disperse heat. The problem with mobile devices is that they are not permanently attached to huge power supplies, they need to be very small and have little space to get rid of heat. This has meant performance took a second place to power.

Meanwhile Intel was unable to make viable low power chips. The Intel Atom processor was put on a number of devices but was unpopular because it felt to be under-performing.

The 835 could be the mobile processor that can also power computers. Last autumn Microsoft demonstrated Windows 10 running on an 835 powered PC. Journalists are reporting that future Microsoft Windows portable devices will be 835 powered and will run a mode that allows existing software to run on a different processor family from Intel.

Also coming up is a new Nokia phone powered by the 835 running Android, an LG phone and possibly an update to the Oneplus with the 835.

The 835 looks like it could be game changer for ARM processors as it moves to significantly more powerful mobile computing.

Wednesday, 8 February 2017

Powershell Doesn't Run Scripts "Out of the Box"

Most people think that Powershell is a "scripting language" but when you install the current version the first thing you notice is that you can't run scripts.

In fact you are more likely to see errors like this.

"Install.ps1 cannot be loaded because the execution of scripts is disabled on this system."

The first reaction to this could be something less polite than "Hey I thought this thing did scripts". However scripting has a history in Microsoft that makes this completely normal.

In the beginning Microsoft was a languages company. It wrote computer programming languages for operating systems. It got pushed into operating systems with the launch of the IBM PC and DOS (Disk Operating System). With this the first 'batch language' came into play. You could put a few commands into a file with the extension 'bat' and it would run. The 'autoexec.bat' ran automatically if it was present when a PC booted. The command processor '' loaded and ran the batch file.

Your 'hello world' announcement in batch would look something like this.

echo off
echo "Hello World"

This was scripting 1980s style. You can still use batch today. Even Windows 10 will run a batch file.

Third parties wrote enhancements to this. One of the most well known in the 1980s was 4DOS from JP Software. You can still get a freeware copy here. I know a little about JP Software because I worked for a firm that sold their products in the UK.

Microsoft introduced two major enhancements to scripting. The first was the'cmd.exe'' command processor introduced with Windows NT. The second was VB Script, a variation on their Basic language product.

Both of these enhancements were created in a world of standalone PCs rarely connected to the outside world. Both assumed the person running the script was the PC's owner, primary user, and knew what they were doing. So they just ran. Anything with the file name ending in .bat, .cmd or .vbs would just run. These scripts ran commands that immediately made changes and, in the case of vbs, quickly were used in Microsoft Office products like Excel, Word, Powerpoint and Outlook.

Outlook was the most dangerous. You could receive an email with a vbs attached and just by clicking on it could run a massively distructive script. Microsoft added approved file extensions into Outlook so criminals just embedded their scripts in Word or Excel documents. The war was on.

On 15th January 2002 Bill Gates sent his "Trustworthy Computing" memo. Microsoft was under massive pressure from it's customers in the new connected world of the Internet that Windows was not sufficiently secure. This was true. Unlike Unix based operating systems that were built to be connected to the Internet the Microsoft world had been a world of standalone unconnected devices. Once these were attached to networks then fundamental design issues could not be dealt with by patches. Gates announced that from 2002 Microsoft's priorities would be; Security, Privacy, Reliability, and Business Integrity,

After the memo the world changed for Microsoft. Every product now had to be secure by default. Windows XP got service pack 2 and Windows Server began to be delivered with services switched off by default and ports blocked and then administrators had to switch on features.

In 2003 project monad was first revealled to developers. This project eventually became Powershell As a product devised in the new "switched off by default world" scripts dont run by default. 

To run a script you need to devise an "execution policy" to make the script secure by default.  A comandlet called Set-ExecutionPolicy is used to decide whether a script should run or not. This does not effect the command line just scripts. 

Microsoft recommend you dont set the policy to "unrestricted" but use signed scripts to protect your system. 

This is why Powershell doesn't run scripts "out of the box".