Friday 29 November 2013

Windows Updates Slow on XP

We are designing a new responsive web site and, of course, testing it on different platforms.  It’s
important to make sure as many people as possible get a good experience, even if they are on an old platform.  So testing on XP is necessary: there are plenty of computers that still run it, even though support ends in April 2014. 

Windows Updates Taking 8 hours or More

We want as many users as possible to have a good experience with our new responsive web site – but at minimum we want them to see something sensible.  Testing on XP wouldn’t be a problem, were it not for a glitch in running Windows updates.  These automatic updates are necessary, as security is weakest in the oldest operating systems.  But updates were taking a day or more to run – which is pretty unmanageable.  We tested it on two different machines – one running IE7 and the other running IE8.  The machine running IE8 took around 8 hours to install updates; a long time, but at least they were installed.  The machine running IE7 was still running after 12 hours.  Task Manager showed the CPU usage at 100%, which dropped to zero when we ran net stop "automatic updates” at the command prompt.  Something was clearly wrong.

Two unsuccessful attempts to fix the problem

Various resolutions have been suggested by Microsoft including clearing the SoftwareDistribution folder and having a general clean up by running Disk Clean, checking the event log, uninstalling unnecessary programs and disconnecting unused network connections.  Sensible things to do, but in this instance they didn't make a difference on their own. 

The successful fix

What did make a difference was installing KB2888505.  This is a security patch which you can get from the Microsoft Download Center.  We’d had problems with this particular patch on another machine, so would strongly recommend you back up your machine before running it.  You also need to get the right download for your operating system and browser.  But after installing it, restarting the computer and running “wuauclt/detectnow”, the Windows updates were located and installed.  It seems that installing this patch enables the update program to see that a recent update has been installed, and stops it searching for older updates.  But of course we can’t see inside the program, nor do we know exactly what the problem is, so that’s only a slightly-informed guess.

Microsoft are promising a fix “as soon as possible”, so this many not be a problem for much longer.  But in case anyone else is tearing their hair out over this one, we are reporting our experience.  Please do a backup first, though.

Responsive web site

In the meantime, watch this space for our new responsive web site, coming soon.  Now we’ve got XP to behave itself!


Wednesday 13 November 2013

Windows Phone sales take off

156% Growth from Q3 2012 to Q3 2013

If you own one of the new generation of Windows Phone, you won’t be surprised at the news.  IDC report that Windows Phone shipments have year on year growth of 156%.  Shipments have surged from 3.7 million in the third quarter of 2012 to 9.5 million in the third quarter of 2013.  At last, the business world is recognizing what some already know – Windows Phone is the perfect choice for business.

It is likely that many businesses will look to Windows when replacing their old handsets.  Windows phones have three key advantages: Office products as standard, attractive price points (important when buying in volume) and well-engineered handsets.  No wonder market share is now steadily rising.  It’s true that Android still have 80% of the market, but it’s also true that much of this growth has been fuelled by consumers.  Businesses have different needs – they need to be able to create line of business applications for mobiles, they need to be able to access their in-house databases, and they need good security.  Angry Birds just doesn’t figure on their wish-list.

Considering how many companies have Windows applications running on their desktops, extending that to out and about working makes absolute sense. Plus Microsoft's is strong in the cloud with Azure.

Post-Steve Jobs, Apple isn’t the powerhouse it once was.  And now that mobile is less innovative and more business-as-usual, Microsoft’s strategy is starting to look a lot more intelligent. 

IDC’s full press release is here:

Tuesday 29 October 2013

Today’s technology means that taking and storing pictures on a mobile is easy and convenient. But pictures are just as powerful in business as they are in bringing back memories of sun-filled holidays.   

We are working with businesses to create mobile applications that open up the power of pictures to commercial applications. 
Modern smartphones, such as Nokia’s Lumia range, can pack a lot onto a small screen thanks to an 800x480 resolution on even their modestly priced 520 phone.  That means a well-designed line of business application can display pictures, information from a database, and allow you to update information. And that’s just the taste of things to come, the Nokia Lumia 1520 has a 1920 x 1080 resolution. 

Despite their power, smartphones are not the same as desktops, and the way we work with them is different. We are often (but not always) on the go, so information needs to be accessible, easily understood and clear.  And for some businesses photos or other images are the perfect way to convey a lot of information – more than any amount of text could. 

The photos could be product shots, equipment from different angles, competitor’s products, diagrams, settings on equipment, etc.  The list is long – although we are so used to thinking “textually” in business, often the applications for photos are not obvious.  But there are business people out there determined to make work quicker, easier, and more accurate amongst their team.  And photos may be the answer.

Deep Zoom

Microsoft’s Deep Zoom technology makes adding pictures to mobile applications efficient.  The clever tiling technology, which is also used in applications such as Bing Maps, means you only download the level of detail you want to see at any one time.  So you can look at a number of thumbnail images, but only download the detail on the one you are interested in.  This is important on a bandwidth-dependent mobile device.  It also works seamlessly, so if you are in front of a customer or showing off a product, it looks good.

Microsoft’s Deep Zoom allows businesses to be more creative and thoughtful about their data.  You can store the big picture and the detail, downloading only what you need, when you need it.  Just as smartphones changed the way we use photos in our personal lives, so they are transforming the way we use images in business. 

The how and why is down to each individual business, and the rewards in terms of productivity and efficiency are there for the taking.  Research shows that 20-30% productivity gains are being reported by people using line of business mobile applications for their work.  Mobile computing is changing the way we do business, and the way we think about doing business.  So if you’ve not thought about using photos within the mobile business applications before, maybe now’s the time.        

Tuesday 1 October 2013

6 Reasons Windows Phone Live Tiles are Good for Business

Windows Phone 8 uses “Live Tiles” instead of icons to find and start applications.  These tiles are multi-functional: they are a gateway into the application, and they provide key information without starting the app.  So all your important information is together and at a glance. 

As application developers we are always looking for features that help businesses be more productive, and help them sell more of their products and services.  Live Tiles are just that – programmable features that makes a custom business application more effective and easier to use.
Here are our top 6 reasons that businesses love Live Tiles:

1.   Focus on key indicators.  There is a huge amount of business data to look at, but often only one or two indicators are at the heart of an issue.  Live Tiles focus attention on what you really need to know. 

2.   Data at a glance.  You don’t have to start an application to see key data. Live Tiles give you information at a glance – without starting the application.  For example, the number of outstanding issues, or number of days before a product launch.  It’s fast, efficient, and powerful.  We check our phones frequently, so you don’t want to start an application to see the latest situation. Live tiles are immediate and ideal to snatch a quick look.

3.   Consistent behavior from desktop to smart phone. Live Tiles work in the same way on the desktop, laptop or smart phone.  That’s important to help people use applications easily, and to have office-based and field staff work in the same way. As computing is getting smaller, and more powerful, more of us will take advantage of being able to work wherever and however we want.  Providing a consistent user interface is part of that.

4.   Live Tiles use pictures.  It may be clich├ęd, but that doesn’t stop it being true: pictures really do communicate more than words.  They are big on impact, as well as being attractive. You can use Live Tile pictures to motivate, inform, and set the scene.   

5.   One size does not fit all. Live Tiles come in three different sizes.  If you’ve got a single KPI to display then the medium tile is most appropriate.  If you’ve got more information, such as text, a wide tile might be more appropriate.  The small tiles are used in the list of apps.  Also, tiles can be resized by the user which is rather a nice feature. 

6.   Visual control.  Live tiles become your mobile visual control and dashboard for key business processes, so problems cannot be hidden.  Systems can sometimes make problems more difficult to see, purely because there is so much data to look at.  Live Tiles help you isolate key indicators and ensure they are given prominence that no one can ignore. Used in the right way, Live Tiles go to the heart of business KPIs.

This is a powerful Windows Phone 8 feature that can be used to make business applications more relevant and immediate.  As Microsoft Partners we can help you make the most of the opportunities in Windows Phone and Live Tiles.  If you’d like to talk, contact me, Caroline Eveleigh at  I’ll then check my Windows phone to see when we can talk!

Tuesday 14 May 2013

Using Windows Azure SQL Data Sync to synchronise databases in the cloud and on premises

SQL Data Sync is part of Windows Azure, Microsoft’s cloud computing service. It synchronises data between two or more databases so that they contain identical data. When updates are made to one database, the changes are automatically applied to the other databases in the synchronisation group.

The databases can be in the Windows Azure cloud and on computers running on your business’s premises.

There are a lot of potential uses for SQL Data Sync, including:
  • Extending an existing business application into the cloud so that it can be accessed anywhere by smartphones and tablets.
  • Linking a front-end web application and its database in the cloud with on-premises systems.
  • Consolidating data from branch offices into a central database in the cloud which is used for reporting.
  • Providing global coverage for an application by synchronising databases in Windows Azure data centres across different geographic regions.
This article is about the first scenario, which is extending a business application into the cloud.

The “Vocab” demo application

I developed a demo application for learning foreign language vocabulary. The system sets tests and reports back with the number of correct answers. It also neatly demonstrates some of the latest Microsoft technologies.

The system consists of a Windows Phone app, a server application, a SQL Server database, and two client applications that run on Windows PC.

Figure 1 - The on-premises system - only useable when attached to the local network

The SQL Server database contains Portuguese words and their meanings in English. It also contains test results—which words were tested in each test and were the answers correct.

Portuguese is the sixth most spoken language in the world, with 204 million native speakers, well ahead of German, French, and Italian. Not many people know that!

The front end is a Windows Phone app which does the language self-tests. When you start a new test, it asks you how many questions you want to answer. The server application then generates a list of Portuguese words and sends them to the phone app. When the test is finished, the phone sends the results back to the server and they get stored in the database.

Figure 2 - A vocabulary test - the user answers with how well they know, or don't know the word

At the back end, there are two administrative programs that run on Windows PC. One is a program for entering new words and their meanings, and the other is a Microsoft Access application for making amendments to the words and producing reports.

Extending into the cloud

Originally the server application was running in an on-premises Windows Server, which meant that it could only be used via the local wi-fi network. It was then extended to the Microsoft Azure cloud so it could be used from anywhere.

Figure 3 - Extending the vocabulary application to Microsoft Azure - it can now be used anywhere there is an Internet connection

Moving the database and server application into Windows Azure was straightforward.

The version of SQL Server in Windows Azure is called Windows Azure SQL Database. It is based on SQL Server 2012, but there are some differences which I may write about in a future blog post. A few small changes were required to the Vocab database to get it to work in Windows Azure SQL Database.

The security of the Vocab server application had to be improved because it would be running over the public Internet. So I changed it to use an encrypted HTTPS connection (the standard for accessing secure websites) and added an authentication mechanism which requires user name and password.

So how well did it work?

The Vocab app on Windows Phone works very well! It can access either a 3G connection or a wi-fi connection, so it can be used more or less anywhere.

The phone app doesn’t require a continuous connection. It connects at the beginning of a test when it downloads the list of questions, and again at the end of the test to upload the list of answers. If a 3G or wi-fi connection isn’t available at the end of test, it will wait to upload.

There is one niggle with the phone app—the server app takes a few moments to get started and the phone app can time out and say it can’t contact the server. On the second attempt it connects successfully. I intend to amend the phone app so that it automatically retries.

However the back end PC applications use a continuous connection to the database and are a little bit sluggish when connected to Windows Azure SQL Database. They are useable, but they are noticeably slower than with the on premises SQL Server. (This happens even with a fast 40Mb/s Internet connection.)

There is also a potential problem with database connections getting dropped. This can happen because the Internet inherently is not as reliable as a local network connection, and because Windows Azure SQL Database is a shared environment providing for many users. The back end apps would need to be modified to cope with this.

How does SQL Data Sync help?

In this situation, a viable solution is to have synchronised databases in Windows Azure and on-premises. Windows Server and SQL Server are already available on-premises. And indeed, the entire Vocab application had been running on premises.

Figure 4 - Using SQL Data Sync to ensure the on-premises and cloud databases contain the same data

SQL Data Sync is part of Windows Azure SQL Database. It is easy to configure through a control panel and doesn’t require any programming.

To conclude

The system now works extremely well, with the proviso that it has only been tested with light loads.

The Windows Phone app connects with the Windows Azure cloud and can be used anywhere there is an Internet connection. The PC apps connect to an on-premises database across a local network. SQL Data Sync takes care of synchronising the data between the two databases.

I hope you found this interesting. Please feel free to comment.


The Cloud. What it is and why it matters

The cloud is now on every business person’s agenda – understanding it, using it, profiting from it.  But why is it so important?  And what makes it worth investigating? 

Firstly, internet connections are now faster and more prevalent; WiFi, 3G and 4G connections are available in more places to more people.  Secondly, computers are smaller.  Ten years ago, your choice was either the PC sitting under your desk, or the laptop that caused sloping shoulders.  Now your smartphone will fit in your shirt pocket, and a tablet slides easily into a handbag.

So although the idea of accessing a computer resource from a remote location isn’t new, the speed and ease with which we can access it is.  The rise of cloud computing means that businesses can now buy a range of services from companies based miles away, and use their computing as if it were located in their own building.  Perhaps more importantly, though, the maintenance and upkeep of this computer infrastructure is taken care of by full time specialists.  That means a higher quality of service for users, and fewer mistakes. 

Specialisation has long been shown to be at the heart of efficiency, and therefore competitiveness.    So the more any company is able to specialise, the more competitive it will be. 

Cloud computing itself is an umbrella term for a number of different specialist services that can be split into three broad groups: 

1. Software as a Service (SaaS) – this gives users the ability to use a fully functioning hosted application by just connecting to it. and Microsoft Office 365 are both SaaS.  All you have to do is set up the users, and use the software.  Oh, and pay the monthly invoice.

2. Platform as a Service (PaaS) – this is where you use a shared computing resource to host an application.  You may need a database, and perhaps a web site.  With PaaS, all the “platform” software is ready to use.  The license fees are included in your monthly fee, and the configuration is all done.  You just upload the software you want to use onto the preconfigured operating system and database, and off you go. 

3. Infrastructure as a Service (IaaS) – this is where a company uses one or more virtual machines, in exactly the way that suits them.  Because you are paying for a virtual machine, rather than a shared resource, you configure it exactly as you want it.  So if you want to use your own operating system, you can upload it and configure it to suit you.  You can use your own copy of SQL Server if you want to, providing you have a license of course.  The reason you have so much flexibility is that you are paying for a dedicated virtual machine, not a shared one.  So it’s much closer to working with your own systems, apart from the fact that someone else is worrying about the air conditioning, the power, and swapping out the hard disk when it fails. 

This range of cloud services enables companies to use “the cloud” in a way that best suits their needs – from connect-and-go to configuring systems exactly as needed.  This type of flexibility, and specialisation, will ensure cloud computing is not a passing phase, but a key component in enabling businesses to focus on their core skills, and creating world-beating customer offerings.