Category Archives: windows

Slow JavaScript performance in Microsoft Surface RT

Outlook Web Access is useful on Microsoft’s Surface RT, since the built-in mail client is only basic. However I noticed sluggish performance, which made me wonder if Microsoft’s “Chakra” JavaScript engine is slow on Windows RT.

I ran the Sunspider JavaScript performance test on the Samsung Slate 7 I bought back in February, which has a 1.6Ghz Core i5, and compared it to the same test on Surface RT, which has a 1.3 Ghz NVidia Tegra 3 chipset.

The Samsung slate was 5.11 times as fast. Question: how much of that is down to the Core i5 being a faster CPU, and how much is down to a less well optimized Chakra engine?

image

Incidentally, the Apple iPad 2 which has an Apple A5 processors running at around 890 Mhz is approximately 33% slower on the SunSpider test. Since the CPU is clocked 45% slower that is a good result for the iPad 2 and Safari.

A Google Nexus 7 on the other hand which has the same Tegra 3 chipset as the Surface is about 55% slower than the Surface, which is poor.

Windows Phone 8 launches: is it enough?

Microsoft has launched Windows Phone 8 at a press event in San Francisco, streamed around the world. Joe Belfiore presented the new features in his usual enthusiastic style (complete with kids on stage to show Kids Corner), and the phone was endorsed by CEO Steve Ballmer and celebrity Jessica Alba.

image

Key new features:

  • Built on Windows 8 kernel rather than Windows CE
  • Data Sense is for optimizing (ie reducing) mobile data usage and offers visibility about which apps are using data and how much, as well as a data compression feature that enables up to 45% more web browsing for the same amount of data transfer. The compression feature requires operator support and some details are not yet clear.
  • People hub has “Rooms” which let you group contacts, a feature that seems close to what Google+ offers with circles, though Microsoft also has a limited sharing feature that lets trusted contacts see a Room schedule on an iPhone.
  • New Skype app which runs in the background in an efficient manner – you wonder how popular this will be with operators
  • Kids Corner lets you create a kind of secondary login for children, with apps, games and music that you select. Your normal Start screen is protected by a password, so no embarrassing calls or tweets.

image

  • Apps can now display content on the lock screen and integrate into hubs and with Windows Phone Wallet.
  • More apps are coming, and Belfiore told us that 46 of the 50 most popular apps across all platforms are available for Windows Phone 8. Pandora, Urbanspoon and Temple Run got a mention.
  • There is an iTunes import feature which will copy unprotected music from iTunes to SkyDrive for use on the phone and with Xbox Music.
  • 7GB SkyDrive cloud storage comes for free.
  • OneNote has a new voice transcription feature.
  • Now support for 50 languages, with apps in 191 countries

This was not an event for developers, though we did learn that the SDK will be made available to everyone from tomorrow 30th October.

Phones themselves will be available from this weekend in Europe and from November 14th in the USA.

I got a quick look at the HTX 8x, and was struck by how slim it is, with a 720X1280 4.3″ screen.

image

It is curved at the back and has a quality feel, though I am not sure HTC quite matches Nokia for hardware design.

image

I like Windows Phone and there are some tempting new features here. Will this improve Microsoft’s market share and Nokia’s fortunes? This may sound like ducking this issue, but I do not think the fortunes of Windows Phone depend on its features or even the quality of the phones. It is all about operator and retail partnerships, and what customers get told when they walk in to buy a phone and a contract. Windows Phone launched to near-invisibility on the high street. Matters have improved a little since then, especially after Nokia came out with the Lumia (Ballmer said that Nokia sells more Windows Phones than any other vendor), but Microsoft’s phone was still an also-ran after iOS and Android. How does Microsoft get into those in-store conversations, yet alone win them?

I also think Windows 8 is a factor here. If devices like Surface RT are popular, then Live Tiles and other elements of Windows Phone 8 will become familiar. On the other hand if Windows 8 users rush to install substitute Start menus and ignore the new app platform, not much will have been achieved.

Surface Reflections: it can only get better

Microsoft has released Surface RT, its first own-brand PC (if you can call it that) and also one of the first few devices to run Windows on ARM, formally known as Windows RT. I have been using Surface RT with the “Touch” keyboard cover intensively since its launch; it is a fascinating device, and the reactions to it from early purchasers is also interesting to watch.

Surface has various problems. It is designed for the new-style apps called Metro, or Windows Store apps, but the truth is that the selection of apps currently available is small and many are trivial or poor. There are many gaps. On the other hand, I have found workarounds for most issues, and there is plenty to like too.

Right now we are seeing Surface at its worst. Here’s why:

  • This is the first release of Windows on ARM. I have not found Surface particularly buggy or slow, but I would guess that performance will improve and bugs will be fixed as updates flow.
  • This is Windows 8, which is unfamiliar to many. It is not unfamiliar to me; but my guess is that for someone new both to Surface and to Windows 8, there will be some initial struggles. This will get better as users become more familiar with the operating system.
  • Better apps will come. Most developers are now seeing Windows RT for the first time; and it is remarkable that apps built for x86 Windows – like the ITWriting app – work as well as they do on ARM. On the other hand, I have also heard of performance issues, and certainly Pinball FX2 seems less smooth on Surface than on a Core i5 (not a surprise).

Here are a few details.

Annoying things

Password management. I use Password Safe, which does not run on Windows RT. I resorted to VPN and Remote Desktop to another machine to use Password Safe. There are some Windows Store password managers and I need to investigate; ideally I need one which supports Password Safe import.

Live Writer. My preferred blogging tool does not run on Surface RT. I am making do with Word. The only other option I know of is to post through the browser (self-hosted WordPress).

SSH connection. As part of the setup for blogging with Word, I needed to make an SSH connection to a Linux server. There is an SSH app for Apple iOS, but not for Surface. Not knowing any other way, I went the Remote Desktop route again.

Printing. I am staying with a friend and needed to print a boarding pass. He has a shared printer attached to a Mac. Windows RT found the printer, using the old-style Control Panel, but gave a message about a missing network driver and to consult my administrator. Next, it gave me a driver selection dialog and I picked one I thought might work. It seemed to install, but when I tried to print, I got nothing: no error, but nothing printed either.

Windows Update. I discovered that the final version of Office 2013 is available through Windows Update. I used Control Panel to find it. The update, which had to be selected manually, gave me an installation error. I looked this up and discovered it was because the Office Upload Center was running – thanks to my making a connection to SharePoint earlier. I terminated the Upload Center. Then the update failed with a different error. Now I am in limbo with this; Office 2013 final seems to be installed, but it is not listed in update history except as a failed update; however I cannot remove it nor reinstall it.

Word save error. Following a successful blog posting, I was unable to save the Word document. I got this file permission error:

Send As missing in Mail. The Mail app is working for me, connecting to my self-hosted Exchange server. However I make use of Send As in order to send mail as a different user. This works in Outlook but not in Mail. The workaround is to use Outlook Web Access, which does support Send As.

Good things

The hardware seems excellent. I love that the Touch keyboard gives me the ability to type at a decent speed and use a trackpad, but without adding significant bulk. I like the solid feel of the device and the kickstand. I am also realising that the reason Microsoft talks so much about the hardware is that there is less to show off about on the software side.

Skype. I have made several phone calls with the new Metro Skype client and it has worked very well, even without using a headset.

Music. Microsoft handed out Xbox music passes to early Surface customers. The music app works, and while I do not love the user interface, there is a lot of music available to stream.

USB. I’ve plugged wireless mouse adapters and storage devices into the USB port and they have worked fine.

Battery life. I debated whether to put this as Good or Mixed. I’d like longer, but at 8 hours or so it is decent. A good sign is that Surface seems to run nice and cool. No fan needed, so it is silent too.

Office and SharePoint. The presence of Office makes a huge difference to how I use Surface. One thing I managed to do was to link up Explorer with my self-hosted SharePoint so I can easily open documents there. Unfortunately the way to do this is not something you are likely to discover by accident, but it does work, although with more prompts than I would like.

Split/Snapped view can be very useful. For example, Mail app docked while working on the desktop.

Mixed things

Windows desktop. I find I spend a lot of time in the Windows desktop. Applications I use regularly include not just Office but also Paint, Notepad, Explorer, Control Panel, Snipping tool, VPN and Remote Desktop. These apps greatly increase the usefulness of the Surface; but it should not be this way; ideally I should be able to get most things done in the Metro user interface. Desktop apps still have the problems that Windows has always had, like the ability to throw up mystifying and useless error messages such as the one from Word shown above. Surface cannot be the true breakthrough device it needs to be until that is the case.

Performance. Generally I have found performance fine, and slowness when it occurs usually the fault of a slow internet connection or site. It could be snappier though, and I am not sure how good it will be with long Word documents or large Excel spreadsheets. If you resize the Word window, you can see a slight delay as it repaints.

Some apps seem slower than they should be; I have had problems with Tweetro, a Twitter client, though this may be partly due to issues with the Twitter API. An Atom windows 8 machine I tried at an HP event was more sluggish than Surface; but who knows, perhaps that was an issue with that particular device. I intend to do some measuring to get a better understanding of this.

Price. By the time you have added a keyboard cover, Surface is expensive considering its specs. The quality of design and manufacture, and the inclusion of Office, mitigate that; but current price levels will limit the market.

Final reflections

Surface is a step forward for Windows, but this is a journey and the device as it is today does not fulfil all its promise. Even as it is though, it is highly capable and will probably get a lot of use from me as a device that does enough to make carrying a laptop or x86 tablet unnecessary. I recognise that some of that utility is only possible if you have knowledge of Windows, a flaw which needs Microsoft’s urgent attention.

I like the fact that you cannot install desktop apps, despite its inconvenience, not only for security and stability, but also because it forces Microsoft and its users into the new Metro world.

The worry is that so far Microsoft has failed to convince most software vendors and developers that this new platform is worth their attention. If that does not change, then Windows will continue its slow decline.

I like Surface RT though; it deserves to succeed, and I will be interested to see if a significant community gets behind it and make it better.

Blogging with Surface

I generally post to this site using Windows Live Writer. Unfortunately this does not run on Microsoft’s new Surface tablet, since it is a desktop executable and Windows RT only allows Windows Store apps to be installed. So how to blog?

This site runs WordPress, and of course you can post using the browser. However I prefer to use an offline editor, and the only choice in this respect that I know of is Microsoft Word. I looked at this years ago and decided it was poor; but needs must.

One of the issues with using Word is that while it can connect successfully to the WordPress api for posting, it cannot apparently post images using the WordPress upload API – though if you know a way of configuring Word for this, please let me know. It does support FTP, so I set up an FTP server for this purpose. I did all this on the surface, though in order to make an SSH connection to the web server to sort out the DNS I resorted to VPN and Remote Desktop so I could use Putty, another Windows utility that does not work on Surface RT.

If you can see the image above, then it worked.

The Surface RT desktop: more here than I had expected

I have been surprised by how much of the Windows 8 desktop is present in Windows RT. I had been expecting something more cut-down, to support Office, Explorer, Control Panel and a few other utilities. In fact, it seems to me pretty much the desktop we are used to, though there are differences such as the inability to join a domain. Here are a few screen grabs.

Control Panel is here, though despite the presence of Office 2013, it claims that no programs are installed.

clip_image002[6]
PowerShell is there – interesting, since you could write your own desktop utilities as scripts, making the desktop less locked down (and possibly less secure) that I had expected. The Windows Scripting Host is here too.

clip_image004[4]

and a command prompt, of course:

image

Incidentally, for screen grabs the Snipping Tool is present. There is no Print Screen key on the touch keyboard cover, but this works fine with a Bluetooth keyboard (I don’t have a Type keyboard).

I’m intrigued by the presence of Windows Easy Transfer. Who might be upgrading their PC to Windows RT?

clip_image006[4]

Not quite everything is here. There is no Windows Media Player; you have to use the new-style apps.

Regedit is here, and prompts for UAC elevation just like on x86.

clip_image008[4]

Remote Desktop Connection is here. So is VPN connection, which works fine for me from the USA to my ISA Sever in the UK, but will depend on your setup (I am trying to clarify this point).

Broadly, everything seems to be here other than a few bits Microsoft chose to pull out. I had thought the reverse would be true.

Note: I attempted to write this post on Surface with Word as the blog authoring tool, but got stuck with the images. Live Writer is far better, which is a concern.

ITWriting app hits the Windows 8 store

Hands on where possible is part of my technical journalism philosophy, so I have been trying out Windows 8 development for some time. After playing around with and adapting Microsoft’s blog reader sample I decided to take it further and try submitting it to the Windows 8 Store.

Today it was certified so you can install it now. It is free of course. 

image

There is not much to it. It features quick access to recent posts on itwriting.com and gadgets.itwriting.com, recent tweets, and dedicated links to Windows 8 survival guides for both keyboard/mouse and touch/tablet users.

Despite its simplicity, creating the app was an interesting exercise. Having the app layout change in a moderately sensible way when switched between portrait and landscape, and filled or snapped, taught me a bit about XAML and the VisualStateManager element. I also struggled a bit with the flyouts that you use to implement app settings, the ones that appear when the user displays the Charms menu and taps or clicks Settings when your app has the focus. I used the official sample though I discovered that it will not compile as-is because the standard brush names have changed since the release preview for which the sample was apparently created. I have have some sort of z-order bug there which I have not yet solved.

Creating apps for Windows 8 is not difficult exactly, but it is fiddly. It seems to me harder than, for example, creating a desktop app using Windows Forms. In mitigation, setup and deployment is done for you which is a significant advantage. I was also pleased to discover that the app works fine on a Surface RT.

image

The Windows Store certification process was rather straightforward in my case; the app passed first time. I had noticed from other reports that having a privacy policy in place is important, so made sure that this is linked in this settings.

I do have some ideas for making the app a little more interesting. Share support and offline support would be obvious enhancements. Watch out for future updates!

Windows 8 FAQ: the real Frequently Asked Questions

Since there is a certain amount of puzzlement around concerning Microsoft’s new version of Windows, or I should say, two new versions of Windows, here are the answers to the questions many are asking.

Why is Windows 8 so odd?

Windows is the most popular desktop operating system in the world; but is on a trajectory of slow decline. A combination of Macs at the high end and iPad or Android tablets in mobile is eroding its market share. You might not mind that, but Microsoft does, and Windows 8 is its answer. It has a tablet personality which is Microsoft’s tablet play, and a desktop personality which lets you run your existing Windows applications. The two are melded together, which makes Windows 8 a little odd, but ensures that neither one will be ignored.

Why did Microsoft not make a separate tablet version of Windows, like Apple’s iOS and OSX?

Many users think Microsoft should have made the tablet personality in Windows 8 a separate operating system. However, when they say that this would have made more sense and be less odd and intrusive, what they mean is that if it were a separate operating system they could ignore it and get on with their work in old-style Windows. That would achieve nothing for Microsoft, since the tablet-only OS would fail in the market.

Furthermore, Microsoft did in fact make a separate tablet version of Windows. It is called Windows RT (see below).

Why did Microsoft make the desktop side of Windows 8 impossible to use without touch input?

Actually it is fine to use with keyboard and mouse, it just takes some getting used to. When people say it is impossible to use, they mean that they have only tried it for five minutes in a virtual machine and did not like it. If you stick at it, you discover that Microsoft actually thought hard about keyboard and mouse users, and that the new Start screen is a better application launcher than the old Start menu, particularly in combination with the most used applications pinned to the taskbar. Some will not get that far, in which case they will stick with Windows 7 or even buy Macs. That is Microsoft’s calculated risk.

Why didn’t Microsoft simply make desktop Windows easy to use with touch input?

Microsoft tried, in Tablet PC and in Windows 7, but could not make it work. The biggest problem is that while Microsoft conceivably could have made the Windows desktop work well with touch input alone, it had no chance of fixing third-party applications, or older versions of Microsoft’s own software like Office.

Why did Microsoft remove the Start menu from the desktop?

This was not just to annoy you; but Microsoft would rather risk annoying you than have the new app platform in Windows be ignored. That said, there are third-party utilities that put something very like the Start menu back on the desktop if you prefer.

Why is the tablet side of Windows 8 locked down so you can only install apps from the Store?

Well, there are ways. But Microsoft observed Apple’s success with this model on the iPhone and iPad. Easy app discovery, no malware, and a stream of income from third-party sales. Aiming for lock-down was an easy decision; but the Intel version of Windows 8 will never be truly locked down.

Why are the apps in the Windows Store so few and so poor?

This is because the tablet personality in Windows 8 is a new and unproven platform. Software vendors and app developers are not sure whether it will succeed; and they are busy making apps for the two tablet platforms that already have a market, iOS and Android. If Windows 8 takes off, then the apps will start to flow. Unfortunately, the poor quality of the apps so far makes that less likely. Microsoft is countering by seeding the market with a few high quality apps, like OneNote MX, and hoping that Windows 8 users will create a strong demand for apps as the operating system becomes well-known.

What is Windows RT?

Windows RT is Windows 8 running on the ARM processor. The difference from the user’s perspective is that only new-style tablet apps will run on Windows RT. Your existing Windows apps will not run. It is not all bad news though. A Windows RT tablet or notebook will be more secure and run more efficiently than Windows 8 on Intel. If Microsoft has done its job, it should be more stable too, since apps are isolated from each other and from the operating system. Another bonus is that Windows RT comes with Microsoft Office bundled for free – though business users should beware of licensing issues which prohibit commercial use, unless you have an additional license to use Office.

Why are there so few Windows RT devices?

Microsoft’s third-party partners are not sure that Windows RT will succeed. They are a conservative bunch, and think that users will prefer compatibility with the past over the advantages in security, efficiency, and usability with touch, that Windows RT offers.

Why are most Windows 8 tablets complex and expensive hybrids with twisty screens and keyboards?

See above. Most of Microsoft’s hardware partners are not sure that users will buy into the idea of using Windows with simple touch-only slates, so they are playing safe, as they think, with hybrid devices that can be used either as slates or like laptops. Unfortunately the high price of such complex devices will limit demand. Microsoft is doing its own devices, called Surface, as examples of hardware that shows off Windows 8 to best advantage.

Should I upgrade to Windows 8?

If you don’t mind trying something new, yes. It runs better than Windows 7 in most respects. Yes, it is a little odd and has some annoyances, but nothing too serious. Give yourself a little time to learn it. If you hate change though, stick with what you like.

Will Windows 8 succeed, or is it the beginning of the end for Windows?

Ask me that a year from now. Let me add though, that the thing to watch is the Windows Store. If the Store flourishes and quality apps start to flow, it is working. If not, then Microsoft will have failed to achieve its goal with Windows 8, which is to establish a new app ecosystem.

See also:

Windows 8 survival guide for keyboard and mouse users

Windows 8 survival guide for tablet and touch users

Hands on Windows 8 development: Twitter and hyperlink hassles

I have been messing around with a Windows 8 app to present content from ITWriting.com in an app, mainly as a learning exercise. I came up with the idea of showing recent tweets on the main page of the app. Like this:

image

I thought this would be easy, but encountered several problems. I am developing in XAML and C#; this aspect would probably be easier in HTML.

The first problem: retrieving the tweets. The Twitter REST API version 1.1 has GET statuses/user_timeline which does what I want, except that it requires “user context”, in other words a Twitter log-in. That is an unacceptable requirement for a user simply viewing my tweets, rather than their own timeline.

The deprecated  Twitter RSS API on the other hand is perfect. Unfortunately:

Please note that there is no support for the RSS response format in API v1.1. Properly versioned API v1 URLs will cease functioning in March 2013

Never mind, it will do for the moment. I created a Twitter data source which retrieves the tweets as RSS. In my XAML I have a ListView which is bound to this data source. This ListView has an ItemTemplate which defines what appears in the list. I added a TweetItemTemplate in the Resources section of the XAML which displays each tweet in a TextBlock. So far so good.

image

No hyperlinks though – they are dead. What is the use of a tweet without hyperlinks? Not much. I thought of a hack which would let you click or tap an entire tweet, look to see if a hyperlink is there, and then launch it. Ugly, and would only work for one hyperlink per tweet.

TextBlock does not support hyperlinks. However there is a way to do this using RichTextBlock. This supports a collection of inline elements. You can have a Run element containing text, then an InlineUIContainer containing a HyperLinkButton, then another Run element and so on. The Hyperlink will be out of alignment, as shown here, but you can fix that by tweaking margins and padding.

Of course, this approach does mean parsing the tweet to extract the URLs and then building the RichTextBlock content. So in place of my simple TextBlock binding I now have this:

  <ContentControl Content="{Binding Path=Title,Converter={StaticResource tweetToBlocks}}"></ContentControl>

I have also written a converter class which takes the bound value, builds the RichTextBlock in C#, and returns it. This gets you the result in the first image in this post. Not too bad, and the links work.

What is annoying though is that the mouse pointer does not change to a hand icon when you hover over the link. I thought I could fix this by subclassing HyperLinkButton and adding code to change the cursor on the PointerEntered event:

Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 1);

This does not work. At least, you can see a flash as the cursor tries to change, but it is overridden by the RichTextBlock which changes it back to a text select cursor. I have not found a way round this yet.

I then tried another approach. You can use a RichEditBox which does support links. The approach is different; you set the text of the Document property and then use the Link method to assign a link to a TextRange within it. It works; but I was frustrated to find that the mouse pointer still does not change to a hand when over the link. The RichTextBlock actually works just as well and is more integrated with XAML.

image

I am sure you could fix this by using a WebView – embedded IE – for each tweet, but that seems to me an unduly heavyweight approach. Better perhaps would be a single web view showing all the tweets, which I might try when I have a moment.

Even so, I was surprised how tricky it is to show tweets with hyperlinks in a ListView.

Microsoft posts decline in revenue and profits on the eve of Windows 8 launch

Microsoft has announced its results for the first quarter of its financial year. The quote from Chief Financial Officer Peter Klein sums it up pretty well:

While enterprise revenue continued to grow and we managed our expenses, the slowdown in PC demand ahead of the Windows 8 launch resulted in a decline in operating income

Except that is for one thing. Klein implies that the PC slowdown is something to be expected ahead of the launch of a new edition of Windows, but I suggest there is more to it than that. First though, here are the figures, in the summary form that I have used before:

Quarter ending September 30th 2012 vs quarter ending September 30th 2011, $millions

Segment Revenue Change Profit Change
Client (Windows + Live) 3244 -1630 1646 -1624
Server and Tools 4552 +336 1748 +183
Online 697 +56 -364 150
Business (Office) 5502 -133 3646 -71
Entertainment and devices 1946 -15 19 -321

What is notable here is a significant reduction in revenue from the Windows client, while the enterprise-focused server and tools continue to grow. The Office products are bumping along fine, despite a small reduction in revenue, and despite the fact that we are on the eve of a new edition of Office as well as Windows.

Note that I am not a financial analyst, so take the following observations in that light.

I suggest that falling revenue from the Windows client is not just because Windows 8 is on the way, but because of a shift in the market towards mobile and tablets – Apple iPad and Google Android devices. See this post for an example of that in the consumer market.

Will Windows 8 deliver the hoped-for boost in PC and Windows sales? I am sceptical, especially in the short term (in other words, the next quarter). I discussed some of the issues here. Microsoft is making radical changes both to Windows and to its business model. It is doing the right thing, bringing Windows into the tablet era, and venturing into Windows device manufacture in order to pull quality of hardware design into its own hands rather than trusting entirely to OEM partners.

That transition may or may not work long-term, but in the short term it is likely to be costly. In Windows 8 Microsoft has concentrated on establishing a new ecosystem around the new tablet-friendly Windows Runtime platform. The consequence is that it does not deliver much benefit to users of desktop applications – in other words, all Windows applications other than those in the new Windows app store. Further, moving to Windows 8 is difficult at first for those familiar with Windows, so much so that many users react against it.

This means that Windows 8 will not deliver the upgrade rush that Windows 7 enjoyed, following on from the unpopular Vista. Rather, its success rests on the new elements in Windows: tablet use and Windows 8 apps.

Right now though, there is very little in the Windows Store that is good enough to drive sales. Developers are waiting to see if the platform succeeds before diving in.

The Windows 8 platform does have plenty of potential; and Microsoft is putting a huge promotional push behind it. Against that, there are powerful forces that will tend to suppress demand. It is going to be a battle, and one for which the outcome is hard to predict.