# Friday, 27 December 2013

As I was performing testing on the Acer Iconia W4, I noticed that when I was using my Microsoft Sculpt Bluetooth Mouse with it, it was jittering and jumping and unusable every now and then. I thought it was a mouse compatibility and was about to run further test when people on the forums also mentioned that there were problems, and it seems like it was related to the WiFi card, since turning off WiFi solves the jumpiness issue. Why of course that is not an appropriate fix, so I decided to poke around.

If you're not in the reading mood, you can check out the video for the fix here.

So first we need to get into device manager, and here are the steps in case you're unfamiliar with it. First you need to go to the desktop, call out the charms bar and hit settings. Then you click on PC Info in the flyout.

image

This will bring up the System Information window, in which you want to click on the Device Manager link.

image

This will bring up the Device Manager which shows you a list of all hardware in your PC, expand the item called Network Adapters, then Right Click (or tap and hold if you're not using a mouse) on the device called Broadcom 802.11abgn Wireless SDIO Adapter, and then select the Properties menu item.

image

This will bring up the properties dialog for the adapter.

image

What you want to do is click on the Advanced tab, then find the Bluetooth Collaboration item, now in the Value drop down it'll say either Auto or Enabled which is not what you want, click on the drop down and choose Disabled from the list.

UPDATE 29th December 2013 : Setting the value to Disabled seems to have some performance issues with high bandwidth Bluetooth usage, like joysticks and speakers. I'm currently using the AUTO setting instead and it seems to be giving more positive results.

Then remember to press the OK button to save the changes.

You should see an IMMEDIATE improvement to your mouse performance.

I do not know if this will break anything, but so far both Bluetooth and Wireless seem to be functioning perfectly fine for me without any further hiccups.


Friday, 27 December 2013 23:53:33 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Tuesday, 24 December 2013

I bought and have been using the Acer Iconia W4, it's a small compact 8" Windows 8.1 tablet using the latest Intel Atom Baytrail processor, check out my short video review here.

When I got the Acer W510 I found that it was a pretty decent media consumption machine, but the new Intel Atom Baytrail in the Acer W4 is just AMAZING when it comes down to watching videos, having NO ISSUES at all consuming H.264 videos of high bitrate. I'd say that the fact that it has so much processing power at it's disposal and since it's running on PROPER x86 Windows 8.1 it's pretty future proof to playback H.265 videos as well. Check out the video proof here.

I've actually done numerous videos regarding the Acer Iconia W4, and I have a few more down the line, so check out the playlist below and subscribe to get informed when new videos get added. View the playlist now.


Tuesday, 24 December 2013 15:30:30 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Thursday, 05 December 2013

When Internet Explorer 10 launched, it caused some problems with the antiquated browser detection feature of ASP.Net, and thus you needed to make sure that you installed the right patches or performed the right fixes in order to get everything working properly. And I talk about the IE10 incident here on my blog.

And now Internet Explorer 11 has just been auto updated to many users, and again I was seeing problems with my websites. At a MUCH worse scale this time I might add, not only were scripts not being sent ASP.Net didn't think IE11 was capable of receiving cookies which just royally broke the website.

Sometimes your site might seem ok, but buttons are not working and everything that seems to be tied to Javascript seems to be malfunctioning, looking into the Javascript debug console you see something similar to this message :-

'__doPostBack' is undefined

or something like

'WebForm_DoPostBackWithOptions' is undefined.

Once again Scott Hanselman talks about the problem, and mentions the obvious solution of ensuring your server patches were up to date.

But I couldn't get my client's servers patched for some reason, so I hunkered down and tried to manually patch the browser definition file. At first I thought I could just insert the new version into the existing IE browser definition file like it was done for IE10 the last time. Then I actually saw the IE11 user agent string:-

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

The MSIE moniker which was used to identify Internet Explorer was DELIBRATELY removed, because IE11 is more than capable of handling HTML5 now and they didn't want any poorly coded Javascript library to incorrect identify IE11 as being an older, less HTML5 capable browser and tell users to use some other browser instead. Very good intentions I must say, too bad ASP.Net brefore 4.5 happens to be one of those legacy systems that do User Agent sniffing and because it didn't see anything it knew was defaulting IE11 to something which couldn't handle Javascript, Cookies, and many many other things.

At first I thought about writing a regular expression pattern which could parse the new User Agent and identify the browser properly. But there were 2 problems with that idea. The first was that I was CRAP at writing complex regular expressions, the second was the fact that why should I even bother with browser sniffing? Every damn browser supports Javascript now, and websites pretty much NEED Javascript anyway. So I set about to make it so that the default browser definition enabled all modern features.

I did so by overriding the default browser defintion at my web site level. First I created a app_browsers folder in the root of the web site, then I create a file called newdef.browser with the following content

UPDATE Jan 30th 2013 : You might not see changes right away when you drop the file in, you might want to try restarting the IIS web pool, if you can't do that, try toggling the compilation/debug attribute under system.web in the root web.config file by alternating it between true and false to restart it.

<?xml version="1.0" encoding="utf-8"?>
<browsers>
<browser refID="Default">
 <capabilities>
  <capability name="browser" value="Generic UpLevel" />         
            <capability name="type"                            value="Generic" />
            <capability name="ecmascriptversion"               value="3.0" />
            <capability name="javascript"                      value="true" />
            <capability name="javascriptversion"               value="1.7" />
            <capability name="w3cdomversion"                   value="1.0" />
            <capability name="supportsAccesskeyAttribute"      value="true" />
            <capability name="tagwriter"                       value="System.Web.UI.HtmlTextWriter" />
            <capability name="cookies"                         value="true" />
            <capability name="frames"                          value="true" />
            <capability name="javaapplets"                     value="true" />
            <capability name="supportsCallback"                value="true" />
            <capability name="supportsDivNoWrap"               value="false" />
            <capability name="supportsFileUpload"              value="true" />
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
            <capability name="supportsMultilineTextBoxDisplay" value="true" />
            <capability name="supportsXmlHttp"                 value="true" />
            <capability name="tables"                          value="true" />
        </capabilities>
</browser>
</browsers>

What the file does is that it overrides the default browser definition of a crummy featureless browser to a more up to date one which supports all the cool stuff like cookies, Javascript, etc. etc. I basically just copied all the capability tags from the Chome browser definition file.

WARNING : If for some poor unfortunate reason that you actually RELY on ASP.Net's browser detection feature to detect ancient browsers this will effectively BREAK the function so do so at your own risk!


Thursday, 05 December 2013 23:29:33 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  |