Category Archives: mobile

Windows Runtime flaws spoil new Windows Store (Metro) apps

The Windows Runtime, the new touch-friendly platform in Windows 8. It solves many problems. Not only is it tablet-friendly, but apps are sandboxed for security, and easy to deploy. No setup hassles, just one-click (or tap) install or uninstall. It also supports three types of development covering most tastes: native C++, .NET Framework, or HTML and JavaScript. In order to ensure responsive apps, Microsoft made many of the APIs asynchronous, so that users would not have the frustration of a frozen user interface or spinning hourglass during long operations.

At least, that is the theory. When I came to write my own simple app though, I was surprised how fiddly it was, and that something trivial like displaying a tweet including a working hyperlink turned out to involve Run elements, a ContentControl, a converter class and so on. Even then, I could not get the mouse cursor to turn to a hand icon when hovering over the link.

This hands-on experience gives me sympathy with others struggling to implement more complex projects. Some have posted about their experiences. Here is Frank Krueger, who has ported his neat iCircuit electronic circuit simulator from iOS and Android to Windows RT:

You would be shocked to see some of the crazy bits of code I had to put in because the Win8 platform, while very rich, is also very generic and doesn’t help you at all to build standard apps (document based, tools, etc.) That is to say, Cocoa is a very mature platform designed to make apps feature-rich and consistent while also making the developer’s life easy. WinRT on the other hand gives you rectangles and a blog post that says “good luck”.

He lists a number of problems, including having to reboot Windows constantly while testing the Share Charm; having to disable media elements in he app because of 500ms delays, no control over buffer sizes, and playback issues; and graphics issues:

I want to do real-time 2D vector drawing. Direct2D is perfect for this. But WinRT puts all sorts of limitations on onscreen rendering, most notably: you can only have 1 DirectX swap chain (view) per window. That means I can’t use Direct2D for rendering the scope which means the scope is slower than it needs to be. Dear Microsoft, go spend a few minutes and see how beautifully CocoaTouch and OpenGL work together on iOS. You might get inspired.

Next up is Media Monkey, a popular Windows media player which has been ported to the Windows Runtime platform. I was pleased to see this, as it lets me play FLAC music files on Surface RT. It is not very stable yet though, and I have had difficulty getting it to index the collection of FLAC files which I have on a network-connected drive.

image

What I found most interesting though were comments about the difficulty of displaying lists beyond a trivial size. One user complained:

When I first started MM scanning my music library, I was seeing the Album list grouped into sections headed up by the Alphabet letters. However, as more Albums got added, the heading letters vanished – and I now have an unbroken list of Albums – a great wodge that is very tiresome to navigate through by scrolling.

to which the Czech developer replied:

It’s a big problem, but not in MediaMonkey, but in system itself. Disabling groups is only crashes prevention because of system limitation :-(. Because of this we cannot use semantic zoom as well.

This has caused me to wonder whether part of the reason for the small number of excellent Windows Store apps is the difficulty developers have in getting them to work right. If so, that is a sad state of affairs for Microsoft’s shiny new platform.

In fairness, this is version 1.0, and the best hope is that a significant update to the platform will come before too long with improved controls, performance and features.

Xamarin vs Titanium vs FireMonkey: should cross-platform tools abstract the GUI?

Cross-platform development is a big deal, and will continue to be so until a day comes when everyone uses the same platform. Android? HTML? WebKit? iOS? Windows? Maybe one day, but for now the world is multi-platform, and unless you can afford to ignore all platforms but one, or to develop independent projects for each platform, some kind of cross-platform approach makes sense, especially in mobile.

Sometimes I hear it said that there are essentially two approaches to cross-platform mobile apps. You can either use an embedded browser control and write a web app wrapped as a native app, as in Adobe PhoneGap/Cordova or the similar approach taken by Sencha, or you can use a cross-platform tool that creates native apps, such as Xamarin Studio, Appcelerator Titanium, or Embarcardero FireMonkey.

Within the second category though, there is diversity. In particular, they vary concerning the extent to which they abstract the user interface.

Here is the trade-off. If you design your cross-platform framework to include user interface widgets, like labels, buttons, grids and menus, then you can have your application work almost the same way on every platform. You can also have tools that build the user interface once for all the platforms. This is a big win in terms of coding effort. If the framework is well implemented, it will still adopt some of the characteristics native to each platform so that it looks more or less native.

Some tools do this by drawing their own controls. Embarcadero FireMonkey is in this category. Another approach is to use native controls where possible (in other words, to call the API that shows a button, rather than drawing the button with the graphics API), but to use custom drawing where necessary, even sometimes implementing a control from one platform on another. The downside is that because those controls are not in fact native, there will be some differences, perhaps obvious, perhaps subtle. Martin Fowler at ThoughtWorks refers to this as the uncanny valley and argues against emulated controls.

Further, if you are sharing the UI design across all platforms, it is hard to make your design feel equally right in all cases. It might be better to take the approach adopted by most games, using a design that is distinctive to your app and make a virtue of its consistency across platforms, even though it does not have the native look and feel on any platform.

Xamarin Studio on the other hand makes no attempt to provide a shared GUI framework:

We don’t try to provide a user interface abstraction layer that works across all the platforms. We think that’s a bad approach that leads to lowest common denominator user interfaces.*

CEO Nat Friedman told me. He is right; but the downside is the effort involved in maintaining two or more user interface designs for your app.

This is an old debate. One of the reasons IBM created Eclipse was a disagreement with Sun over the best way to design a cross-platform user interface framework. Sun’s Swing framework, derived from Netscape’s Internet Foundation Classes first released in 1996, takes the custom-drawn approach, which is why Swing apps always look like Swing apps (even if you apply the “Windows” look and feel). A team from IBM, some originally from Object Technology International which was a company acquired by IBM, believed it was better to wrap native controls with a Java abstraction layer, created SWT (Standard Widget Toolkit) to do that, and used it to build Eclipse.

Personally I am wary of toolkits which rely heavily on custom-drawn controls rather than native controls, though I see their value. On the other hand, Xamarin Studio is so far in the other direction that it removes some of the benefit of a cross-platform framework.

My prediction is that Xamarin will come up with its own GUI abstraction framework in future, along the lines of SWT. It is a compromise; but one which delivers a lot of value to developers who want to create cross-platform apps with the maximum amount of shared code.

*I have never understood this use of the term “lowest common demominator”. The LCD in maths is the lowest number into which a specific group of numbers divide exactly, so it is an elegant thing. In cross-platform what you should strive for is the highest common intersection: to make available all the features common to each platform.

Update: in April 2014 Xamarin announced Xamarin Forms, a GUI framework which wraps native controls in a XAML implementation (XAML is the presentation language also used by Microsoft, for WPF, Silverlight, Windows Phone and Windows Runtime (Windows 8) apps. There is a quick hands-on here.

Xamarin 2.0 and Xamarin Studio announced, build for OSX, iOS and Android with C#

Xamarin has announced significant updates to its developer platform. Xamarin is the company formed around 18 months ago, when Novell discontinued its investment in Mono, a cross-platform implementation of C# and the .NET Framework. Its focus is on mobile platforms, in particular iOS and Android, though there is also support for the Mac. On Windows and Windows Phone, the presumption is that developers will continue to use Microsoft’s .NET Framework.

“If you look at what you can develop with C#, there’s about 1.2 billion Windows machines out there, but there’s now about a billion Android and iOS devices. Together we can make C# a universal language for application development and reach 2.2 billion devices,” Xamarin co-founder and CEO Nat Friedman told me.

“There’s a wonderful built-in audience of C# developers, millions of them, who need a bridge to mobile. We can help them take their existing skills and tools, and even code they’ve already written, and bring them to mainstream mobile platforms like iOS and Android.”

The key announcements:

  • Xamarin Studio is  an updated version of MonoDevelop, the Mono IDE. It runs on Mac and Windows.#
  • You can now develop iOS apps in Visual Studio for the first time
  • MonoTouch, the framework for iOS, has been renamed Xamarin.iOS
  • Mono for Android is now called Xamarin.Android
  • A new component store has pre-built components for download, some free, some commercial.
  • Xamarin now offers a free Starter edition, and pricing plans for independent developers, smaller businesses, and enterprises. Indie is $299 per platform per year, Business is $999 per platform/year, and Enterprise $1800 platform/year.

The Starter edition is not much use. It has a limited app size, and even the sample project I downloaded, an Employee Directory, exceeded that size and I had to register for a trial.

Xamarin’s philosophy is to share non-visual code, but to create a user interface that is native for each platform. This is a compromise in terms of the effort involved in supporting multiple platforms, but ensures a native experience on each device. “That’s fundamental to our platform,” says Friedman. “We tell our developers to separate the UI layer from the rest of the app. That allows them to share all the non-UI code across platforms, but to deliver a fully native UI, even though the whole app is written in C#. That’s what users demand now, people want native experiences.”

“We’ve been building tools that essentially project the underlying iOS APIs or Java [Android] APIs into C#”, explains co-founder Miguel de Icaza. “What it means is that people need to build a new UI for each platform.” He adds that Microsoft platform developers should be used to this, as Microsoft itself has several similar but incompatible .NET platforms. “There’s the one on Silverlight, the one on WPF, the one on Windows RT, and the one on the phone, it’s four,” he says. “Developers have had to resort to putting their logic into shared libraries, and build a per-platform UI. We’re reusing that knowledge.”

The ability to develop for iOS in Visual Studio is new. “It’s our most-requested feature of all time.” said Friedman.

I downloaded Xamarin Studio, which in my case was around 1.3GB including an updated Android SDK.

image

The IDE itself is clean and fast, and very much code-centric. It lacks the bloat of Visual Studio, though you will miss many of the features of Microsoft’s IDE.

image

I build the sample Employee Directory app and deployed it to an Android emulator which I use for Nexus 7 development. Deploying the runtime components took a long time, but after waiting patiently the app launched successfully.

image

If you want to do iOS development you will need a Mac of course. Although you can code on Windows, if you then the code is pushed over the the Mac side for compilation and debugging. In order to use Visual Studio, one option is to run Windows in a virtual machine on a Mac, as I have done with reasonable success using Embarcadero’s cross-platform tools.

Xamarin says it is growing fast. There have been 230,000 downloads of its tools, increasing by around 700 per day, and over 12,000 paying customers.

Despite Xamarin’s roots in the open source world (and Mono is still open source), a quick look at the pricing table shows that this is a fully commercial offering and priced accordingly. Presuming customers keep on subscribing, that is a good thing, ensuring the future of the platform; but it is not so good for the smallest developers who might otherwise give it a try.

Fixing Windows blue screen using Internet Connection Sharing in Windows Phone 8

I have been reviewing a Nokia 620 – an excellent budget smartphone.

Yesterday I was travelling and used the Internet Connection Sharing feature. This is one of the best features of Windows Phone 8, allowing you to use your mobile data connection as a wireless hotspot.

Unfortunately it did not work properly. It could connect for a bit, then the PC (a Samsung Slate running Windows 8) would crash. The error is Driver_IRQL_Not_Less_Or_Equal and the driver mentioned is netwsw00.sys.

The fix is easy (once you know). Reboot, and before you connect to the hotspot (or before it crashes), view the properties of the wireless connection. Click Advanced, and enable Federal Information Processing Standards (FIPS) for the connection.

image

Presto! everything works.

If you want to know what FIPS is, see here. The question of what difference the setting makes though is not known to me, though there are some clues here.

Fortunately you do not need to know, just make the change.

I am glad Windows Phone 8 is FIPS compliant (why not?) but disappointed that some issues with Windows 7 and 8 (I repeated the problem in Windows 7) and this hotspot feature, possibly also involving third-party wireless drivers, causes such a catastrophic and repeatable crash.

Review: Nokia Lumia 620, a winner when the price is right

Nokia’s Lumia 620 is now widely available in the UK, and was offered recently at just £120 (including VAT) by O2 on a pay as you go deal (which means that the amount of operator subsidy is small). That struck me as an excellent deal, especially as I already have an O2 sim, so I got one to take a look.

image

The Windows Phone with which I am most familiar is the first one Nokia produced, the Lumia 800, which is still widely available at a similar price to the 620. The 800 is a beautiful phone with a high quality feel, though my early model has a dreadful battery life and suffered from charging problems (going into a state where it could not be charged without much coaxing) until at last a firmware update seemed to fix it.

The 620 is lighter and very slightly smaller than the 800, and feels more ordinary in design and manufacture. On the other hand, it is up-to-date and runs Windows Phone 8, whereas the 800 is stuck with Windows Phone 7.5 or 7.8. The 620 also benefits from a Qualcomm Snapdragon S4 Plus system chip, 1Ghz dual core, versus the 1.4Ghz single core Scorpion and MSM8255 Snapdragon in the 800.

In the picture below, the Lumia 620 is on the left and the 800 on the right.

image

Do not be misled by the apparently faster clock in the 800 (1.4 Ghz vs 1.0 Ghz). In practice, I found the 620 performs much better than the older single-core CPU. Here are my Sunspider Javascript results:

  • Lumia 800: 6987ms
  • Lumia 620: 1448ms

I also have a Lumia 820 on loan. This is the true successor to the 800 and has a gorgeous 4/3″ AMOLED display plus a Snapdragon dual-core 1.5 Ghz chip. It completed Sunspider in just 910ms.

Still, the 820 is around £350 on pay as you go deals, more than double what I paid for 620. It is in a different high-end market, whereas the 620 is in an affordable category alongside dozens of budget Android phones like the HTC Desire C, Samsung Galaxy Ace 2 or Sony Xperia U. If Microsoft is to make real progress with Windows Phone 8, it has to be competitive here as well as at the higher end of the market.

You can see how Nokia has reduced the cost of the 620. The screen is TFT Capacitive, not AMOLED, and looks dim and small next to an 820. The battery is a small 1300 mAh affair, slightly smaller than the one in an 800. The side buttons feel like cheap plastic.

That said, I would rather focus on what the 620 does have, including A-GPS, Bluetooth 3.0, microSD card slot, 5MP camera with flash, front VGA camera, NFC (Near Field Communication) support, accelerometer and compass.

Two significant advantages over the old Lumia 800 are the removable battery (so you can carry a spare) and the microSD card slot, supporting up to 64GB of additional storage.

One thing I noticed with the 620 is that charging the battery is super quick. I have not timed it yet, but it charges considerably faster than the 800.

Battery life when on standby is substantially better than the Lumia 800. With light usage and wi-fi off, I am getting more than 2 and half days.

image

There is 512Mb RAM and 8GB storage; reasonable at this price. The Lumia 610, predecessor to the 620, had only 256Mb RAM which caused app compatibility issues.

Getting started

The out of box experience for me was pretty good. I put in my O2 sim, which worked without any issues. The setup asked for my Microsoft account and password which also worked, though as is typical with Microsoft, I found myself having to enter this several times more when setting up the SkyDrive app.

I have my own Exchange server which uses self-signed certificates. I installed the certificates and rather to my surprise auto-discover then worked and I was able to add my Exchange account to Outlook on the device without my having to enter the server details.

So far so good; but I was expecting some sort of automatic or semi-automatic process of installing the apps I was using on the Lumia 800, but this is more difficult than it should be. Nothing appeared automatically. You have to go to the store and re-install. You can reduce the work slightly by going to your purchase history online and selecting Reinstall; but in many cases that does not work and there is a message saying “App not available on the Web. Try downloading it on your phone.”

That is a shame, since this works well for Windows 8 store apps. The experience of upgrading to a new Windows Phone should be like this:

  1. Buy new phone.
  2. Enter Microsoft account details.
  3. Wait a bit, then carry on where you left off with all apps in place.

Unfortunately we are not there yet.

The new Windows Phone 8 Start screen is a considerable improvement. The big deal is that you can get four times as many icons on the screen, so no need to waste all that space. The Live Tile concept works better on the phone than it does in Windows 8, since you see the Start screen more often. I might work for hours on a PC and never see the Start screen.

The supplied earbuds/microphone are functional but not very good. The sound is mediocre and the earbuds do not feel secure. Incidentally, a much better set comes with the 820; but in practice most of us have our own favourite headset already and I would not mind if Nokia did not bother to include this in the box. Audio with a better quality set is fine, and after copying some MP3s to the device I was happy with the sound.

Once during the course of this review the phone rebooted itself for no apparent reason. Once it froze and I had to remove and replace the battery. Hmm.

Fitting a memory card

The 620 accepts a microSD card up to 64GB. Fitting is not too difficult, though slightly fiddly. First remove the back. Then slide back the silver card holder until it pops up.

image

Insert the card and close the holder.

image

Camera

The camera captures images at 2592 x 1936 pixels. It is fine for the use I am likely to make of it, bearing in mind that I am not yet ready to abandon carrying a separate camera. The camera software supports extensions called “lenses” which let you process the image. An example is Translator which lets you point the camera at some text and have it translated, an intriguing idea from which I got mixed results.

image

I was disappointed to find that Blink, from Microsoft Research, will not install as apparently the 620 does not meet minimum requirements, though I cannot quickly see in what way it falls short.

One small feature that I like on Windows Phone is that you can press the camera button even the phone is locked and use the camera.

Nokia Apps

Nokia has some exclusive apps, of which my favourite is Nokia Drive. I have found it works pretty well for turn-by-turn directions and no longer use my Tom Tom. The 620 lets you install Nokia Drive + Beta, giving you free downloadable maps and offline directions.

City Lens is a fun app that uses augmented reality to superimpose nearby attractions on the image from the phone’s camera. It has some promise, though it asks me to “Calibrate your compass” every time it starts up, which means waving your arms in the air and probably hailing a taxi by mistake.

More seriously, City Lens is only as good as its data, and in my part of England it is not good enough yet, with only a few local businesses showing.

Nokia Transit gives you public transport directions, and worked OK when I asked for directions to my nearest airport, giving a sensible bus route. The app integrates with Nokia Maps for directions and I found the user interface a bit perplexing. The app also freaked out when I asked how to get to London. Sensible options would include my local railway station, which has an hourly service, or a National Express coach from the nearest city centre. Instead, Nokia Transit proposed a seven hour bus journey with numerous changes, starting yesterday (I am not joking). Then the app crashed. Still, looks like it could be useful for local bus journeys.

Nokia Music gives you “Mix radio” for free, and a download service for a per-track fee. Fair enough, though the quality of the Mix radio is indifferent.

Nokia Smart Shoot takes five pictures at a time, and lets you select the best, superimpose faces from one on those of another, or remove people or objects. Face transposition is not my thing, but taking five images at a time makes sense. You can then flip through to find the best, and save it. Useful.

Creative Studio (I am surprised Nokia can use that name) is a simple photo editing app that lets you crop and rotate, remove red eye, adjust colour balance and brightness and so on. It is simple but rather good.

SkyDrive

Microsoft’s cloud storage service SkyDrive is integral to Windows Phone 8. If you follow the setup defaults, photos and videos end up there, though in slightly reduced quality, and it also forms storage for the Office Hub. It is free for up to 7GB of storage and generally works well. Windows Phone would be crippled without it.

Local Scout

Local Scout is an official Windows Phone app that is meant to give information and ratings for local businesses such as shops, restaurants and attractions.

Excuse me while I have a rant. Local Scout was introduced in Windows 7.5 “Mango”, made available in September 2011. It has potential, but I noticed at the time that the data was not that good. In my local area, it included a restaurant that has closed, for example. I hit the link that said “Tell us this place is closed.”

As you can guess, the restaurant is still listed, more than a year later.

There is also a bit of a mystery about Local Scout. It has ratings and reviews, but there is no obvious way to add your own rating or review. The data must come from somewhere, but there are relatively few contributions for the places near me and the app would be more useful with community content.

Local Scout on the Lumia 620 (and on the 820) seems to have got worse. There is no longer a “suggest changes” link so you can no longer easily report that a place has closed. You still cannot add ratings or reviews for places you visit.

All a bit of a disaster. My hunch is that some team created Local Scout for Mango and made a reasonable but incomplete job. Since then, someone decided that it is not important and the thing is essentially frozen. It is still there though; it seems to me that Microsoft should either improve it or abandon it.

This is important because it influences the experience when you pick up a Windows Phone and try to use it. Of course you can use Yelp or TripAdvisor or something else instead; but why does Local Scout occupy a precious spot on the default Start Screen, on most Windows Phones I have seen, when it is so broken?

Office

The Office hub on Windows Phone lets you create, view and edit Word and Excel documents, and view and edit PowerPoint documents. At least, you might be able to. I tried some recent documents on SkyDrive. A PowerPoint opens beautifully, and I can easily edit or hide individual slides. On the other hand, another document I have been working on will not open; it downloads, then the screen flashes slightly, but it never opens. An Excel document downloads and views OK but comes up with a message “can’t edit workbook”.

In both cases, there are in the old binary Office document formats. I tried converting them to the new XML based formats (docx and xlsx) and they worked fine, both for viewing and editing. My recommendation then is to use the new Office formats if you want full access on your Windows Phone.

You can add comments to documents, which is a great feature for collaboration.

If you want to know in detail what will work on the phone, see here, and especially the entry “Why can’t I edit some Microsoft Office documents on my phone?”. This lists “common reasons” why a document cannot be edited. It does not say anything about documents which simply will not open so I guess that is unexpected behaviour.

Given the complexity of Office documents, it is not surprising that there are limitations. On the other hand, it does seem to me problematic that the question of whether you will be able to edit any particular document is, from the user’s perspective, rather hit and miss; and if there are many instances where documents do not open at all I will soon lose confidence in the app.

In an emergency, you could try going through the browser instead, since SkyDrive supports the Office Web Apps.

It may be imperfect, but the Office hub is miles better than nothing.

Other apps

Windows Phone remains a minority taste, and if you want the best and widest selection of apps, you should stick to Apple iOS or Google Android.

That said, the Windows Phone Store does have over 125,000 apps, increasing at around 500 apps per week according to windowsphoneapplist.  Some big names are present, including Twitter, Spotify, Amazon and Google; others are missing or only supported by third party apps, including BBC iPlayer, Dropbox and Instagram. Whether any of these (or others) are deal-breakers is up to the individual.

On the other hand, the strong web browser (see below) means good performance from web apps, which mitigates issues with missing native apps.

YouTube works well full-screen in the browser. Unfortunately BBC iPlayer does not.

A bonus for Xbox users is Xbox SmartGlass, which gives remote control of your console plus a few extras.

image

Internet

Windows Phone 8 includes the Internet Explorer 10 browser, and it is excellent, fast and with decent standards support. It gets a score of 320 at html5test.com, which by no coincidence is the same as IE10 in Windows 8.

image

The 620 also includes the simple, effective internet sharing hotspot feature which was introduced in Windows Phone 7.5, but worth mentioning since it is so useful.

Conclusion

Any budget smartphone is a compromise. The Nokia Lumia 620 is not beautiful to hold, the screen is not the best, the processor is 1.0Ghz rather than the 1.5Ghz on the high-end Lumias, and the battery a bit small.

Nevertheless this is a full Windows Phone 8 smartphone, performance feels snappy, and it supports a generous range of features. It fixes annoyances seen in some earlier Lumias, with a replaceable battery and no fiddly flap over the micro USB port.

The Lumia 620 is a better choice than the old Lumia 800, still on sale at a similar price. It performs basic functions admirably, and has valuable extras like Nokia Drive +. Outlook and the Office hub make it a good choice for Microsoft platform users on a budget.

The Windows Phone 8 OS itself is nice to use but in some areas not as good as it should be. Some of the supplied apps, like Local Scout, are not good enough, and a few crashes suggest bugs.

Web browsing is great though, and strong features like add-on “lenses” for the camera app make up for a few flaws.

In summary, a Lumia 620 is a great way to see what Windows Phone can offer at a budget price. If you can find one for under £150 it is a great deal.

Lumia 620 Key specifications

3.8” display

Dual-core Snapdragon S4 1.0 Ghz, Adreno 305 GPU

Wi-fi 802.11 a/b/g/n, Bluetooth 3.0, NFC

5MP camera with flash, front-facing VGA camera

8GB storage, 512MB RAM, MicroSD up to 64GB

1300 mAh battery

A-GPS

Magnetometer

Ambient light sensor

Orientation sensor

Proximity sensor

Windows Phone 7.8 Live Tiles are buggy, say users

When Microsoft announced Windows Phone 8, one disappointment was that existing phones would not be upgraded to the new mobile operating system. In mitigation, Microsoft promised Windows Phone 7.8 instead, an upgrade to Windows Phone 7.5 that implements the most visible feature of WP8, a new Start screen with more flexible live tiles that can be sized small and other new features.

Some users are now receiving 7.8 upgrades, but the news is not all good. According to reports on the Windows Phone Central forum, many users find that the Live Tiles are not refreshing correctly after the upgrade.

image

The idea of Live Tiles is that they refresh in the background with the latest data, such as news alerts or incoming emails.

Developers Heathcliff writes in detail about the problem. He describes three methods to update a Live Tile. The basic ShellTile.Update method works OK, he says. However, if you use an external URL to update a tile, using ShellTileSchedule.Start, it “behaves erratically” and may trigger a problem that drains your battery and makes excessive use of your data connection. Finally, HttpNotificationChannel.BindToShellTile, which uses Microsoft’s notification servers, does not seem to work at all.

On WP 7.5 this method just works as expected. I actually hope I did something wrong here. Or else I don’t understand how this could ever get past the Microsoft Quality Assurance department.

he says.

Finally, users also complain of slower performance after the update, which makes starting apps more laggy.

If Microsoft has put more effort into its new Windows Phone 8 operating system than into an update for existing user, that is understandable, but short-sighted. Those existing users are the best possible evangelists for the platform as well as potential repeat customers; and Windows Phone with its tiny 2.6 per cent global market share, according to IDC, needs all the help it can get.

That said, with decent new WP8 phones like the Nokia 620 available cheaply (O2 in the UK offered this for £120 pay as you go earlier this week), existing Windows Phone 7 users who want to stay up to date are better off buying a new device.

Browser monoculture draws nearer as Opera adopts WebKit, Google Chromium

Browser company Opera is abandoning development of its own browser engine and adopting WebKit.

To provide a leading browser on Android and iOS, this year Opera will make a gradual transition to the WebKit engine, as well as Chromium, for most of its upcoming versions of browsers for smartphones and computers.

Note that Opera is not only adopting WebKit but also the Google-sponsored Chromium engine, which is the open source portion of the Google Chrome browser.

What are the implications?

The obvious one, from Opera’s perspective, is that the work involved in keeping a browser engine up to date is large and the benefit, small, given that WebKit and Chromium are both capable and also close to de facto standards in mobile.

This last point is key though. If everyone uses WebKit, then instead of the W3C being the authority on which web standards are supported, then the WebKit community becomes that authority. In the case of Chromium, that means Google in particular.

On the desktop Microsoft’s Internet Explorer and Mozilla Firefox both have substantial market share, but in mobile both iOS and Android, which dominate, use WebKit-derived browsers. BlackBerry is also using WebKit in its new BlackBerry 10 OS.

There is already a debate about web pages and applications which make use of webkit-specific tags, which often implies a degraded experience for users of other browsers, even if those other browsers support the same features. A year agao, Daniel Glazman, co-chairman of the W3C CSS working group, wrote a strongly-worded post on this issue:

Without your help, without a strong reaction, this can lead to one thing only and we’re dangerously not far from there: other browsers will start supporting/implementing themselves the -webkit-* prefix, turning one single implementation into a new world-wide standard. It will turn a market share into a de facto standard, a single implementation into a world-wide monopoly. Again. It will kill our standardization process. That’s not a question of if, that’s a question of when.

Therefore, Opera’s decision is probably bad for open web standards; though web developers may not mind since one fewer browser variation to worry about makes their life easier.

People commonly raise the spectre of Microsoft’s Internet Explorer 6 and the way it effectively froze web standards for several years, thanks to its dominance. Might WebKit’s dominance repeat this? It is doubtful, since the IE6 problem would not have been so great, except that Microsoft decided it would rather promote its own platform (Windows) rather than the web platform. The WebKit community will not do that.

On the other hand, for rivals like Microsoft and Mozilla this is a concern. Something as important as web standards should ideally be vendor-neutral, so that big companies do not use standards as a means of promoting their own platforms and making other platforms work less well. In practice, it is rare that standards are truly vendor-neutral; the big vendors dominate standards groups like the W3C for exactly this reason. That said, it would be true to say that the W3C is more vendor-neutral than WebKit or Chromium.

Leaving all that aside, another question is what value Opera can add if it is building on the same core as Google and Apple. That is a matter I hope to clarify at the Mobile World Congress later this month.

Not just a four-horse race: three new mobile operating systems joining the fray

Some have declared the mobile OS battle over, won by Apple and Google Android between them. Microsoft and RIM Blackberry will fight it out for third and fourth place.

Maybe, but I doubt it will be so simple. There are not one, not two, but three further open source mobile operating systems which have significant backing.

Tizen is supported by companies including Intel, Samsung, Orange, Vodafone, Huawei, and NTT Docomo, and managed by the Linux Foundation.

image

It is based on what used to be MeeGo (which itself came out of Intel Moblin, Nokia Maemo and so on). Tizen is intended to work on smartphones, tablets, and in embedded devices such as TVs and in-vehicle entertainment.

Firefox OS is a new project from Mozilla, whose Firefox browser is under threat from Webkit-based browsers such as Google Chrome.

image

Mozilla promises that:

Using HTML5 and the new Mozilla-proposed standard APIs, developers everywhere will be able to create amazing experiences and apps. Developers will no longer need to learn and develop against platform-specific native APIs.

Ubuntu also offers a mobile OS, along with an interesting add-on that lets you run Ubuntu desktop from smartphone when docked (this can also be added to Android smartphones).

image

All will be interesting to watch. Tizen is particularly interesting. Samsung is the largest Android vendor and the largest smartphone vendor. While this is currently a win for Android, it is possible that Samsung may want to steer its customers towards a non-Google operating system in future.

Equally, logic says that the open source world would be better getting behind a single Android alternative, rather than three.

Contract Bridge on a tablet: Funbridge vs Bridgebase vs Bridge Baron

Bridge is an ideal game for a tablet, well suited to touch control and the kind of game you can play for a few minutes or a few hours at a time, which is excellent for travellers.

So what are the choices? Here is a quick look at some favourites.

Funbridge is available for iPhone, iPad and Android. There are also versions for Windows and Mac. The Android edition is the newest but works fine, though of all of them it is the iOS release that is the nicest to use.

image

The way Funbridge works is that you always play against a computer, though this is on the internet rather than running locally, but your scores are compared with other humans playing the same hands. I have not tried the “Two players game” so I am not sure how that works, except that the other player has to be a “friend” in the Funbridge community system. It looks like you play with your friend against two bots.

Funbridge has a lot to like. The user interface is excellent, much the best of all the tablet bridge software I have used and better than most desktop bridge software too. There is a good variety of game options, including one-off games, tournaments of 5 games each, and a series ladder you can climb from 1 club to 7 no trumps. You can select one of 6 conventions, including ACOL, SAYC (American Standard), and 5 card major at three levels from beginner to expert. I think this is a hint that to get the best from Funbridge you should use the 5 card major system.

Another nice feature of Funbridge is that you can go back and replay a hand to try a different line of play. You can also see all the other scores on any hand, and how they were bid and played.

Funbridge is not perfect though. The bidding is eccentric at times, and it can be hard to persuade your partner bot to play in no trumps rather than a suit. There is definitely an art to winning at Funbridge that is a different from what it takes to win at a real bridge table.

Since you are playing against a cloud-based server, you can only play if you have an internet connection. Not so good for most flights.

Funbridge is a pay per game service. Currently 50 deals costs £1.49 (about 3p each) or if you pay more the per-deal cost falls to under 2p. Unlimited deals for a year costs £69.99.

That said, you can get 10 games a week for free, though you only get the 10 free games if you have no paid games in your account; slightly unfair to the paying customers.

Bridgebase is available for iPad, iPhone, Android and Amazon Kindle. Bridgebase also offers a browser-based game based on Adobe Flash. Like Funbridge, you can only play with an internet connection. You can either play with human opponents, or solo with three bots.

image

Of course human opponents are more fun, though there are advantages to playing with bots. No pressure, you can think for as long as you like, and none of the issues which afflict online bridge, such as players simply disappearing when in a bad contract, or being bad tempered if you make a mistake.

The Bridgebase user interface is OK though feels clunky compared to the smoothness of Funbridge. As in Funbridge, you can compare your score with other human players even if you play against bots. You cannot replay games, but you can undo your play which means you can easily cheat against the bots if you feel so inclined. Against humans your opponents have to approve an undo, which they will be reluctant to do other then in cases of genuine mis-taps.

The biggest problem with Bridgebase is the standard of the bots, which is much weaker than Funbridge. The play can be quite bizarre at times, sometimes excellent, sometimes daft.

A weak feature is that if your computer partner wins the auction, it also plays the contract, sometimes badly. I do not see the point of this. You may find yourself playing “hideous hog” style (Victor Mollo’s character who always tried to play the contract) as it is painful reaching a good contract but watching the bot throw it away.

Bridgebase is free to play, though there are subscription options online to get some extra features.

Bridge Baron is available for Android, iPad, iPhone, Amazon Kindle and Barnes and Noble Nook. It is inexpensive (£13.99 currently on the App Store) but you have to pay separately for each platform. Unlike the other two games, Bridge Baron runs entirely on your device, which is good if you are offline, but means you do not compare your score against other humans. You can set the standard from novice to advanced.

Bridge Baron plays well enough to be fun, though well short of the best computer players. You can replay games at will. You can compare your score against the Baron’s score, review the bidding and play, and undo your play at will. You can also ask for a hint from the Baron.

The Bridge Baron user interface is basic, a little worse than Bridgebase (though faster) and much worse than Funbridge. I do not know why the card icons are so small; it is like playing on a huge table.

image

Still, good fun and good value.

Conclusion

All three of these games have something to commend them. Funbridge for the best user interface and a standard good enough to be enjoyable despite a few eccentricities. Bridgebase for the option to play with real people, and for free play with bots. Bridge Baron for playing offline.

On the other hand, Bridgebase is spoilt by the poor play of its bots. Bridge Baron is dull because you cannot compare your score with other humans. Funbridge is the one I choose if I have some deals available, but can get expensive if you play a lot, and you will get annoyed with your computer partner from time to time.

There is nothing on a tablet that comes close to Jack Bridge for standard of play.

Finally, note there is no bridge app for Windows RT. So if you are a bridge addict with a Surface RT, you are out of luck.

Last minute offer: attend BlackBerry Jam Europe in Amsterdam for half price or even free

At the end of January RIM is launching BlackBerry 10 in a now-or-never moment for the company. The new smartphone, based on the QNX embedded operating system, has distinctive features that just might win it a foothold in a crowded market dominated by Apple iOS and Google Android.

image

If you are developing for BlackBerry or thinking of doing so, it is worth attending one of RIMs developer events, and coming up in a couple of weeks is BlackBerry Jam Europe, which I imagine will be buzzing thanks to the launch of new devices. The event is in Amsterdam and runs on 5th-6th February.

The normal cost for new attendees is €300 but if you use the following code you can register for half price:

DJEGYX

This is limited to 20 registrations so be quick! I am not sure if it also works on the alumni registration offer price but it is worth a try.

If even that is a stretch, we also have a pair of free passes to give away. Email me tim (at) itwriting . com today 23 Jan with a paragraph on “Why bother with BlackBerry” and the best entry gets the code at the end of today. Only condition is that you give permission to have your comments posted here.