Technology Blog


Welcome to the Alchemise Technology Blog. Before replying to a post, please review our privacy policy. All replies are subject to prior administrative approval.


Tech Days Live – Highlight

All of today’s presentations were interesting on day 1 of Tech Days Live. However, this video was my favourite moment (<3mins):

 

You can find out more about Tech Days Live here: http://www.microsoft.com/en-gb/techdays/.

Posted in Computers and Internet, Web Development | Tagged | Comments Off

HTML5 Audio Failure on Mobile Devices

Disappointingly I have abandoned an attempt at getting HTML5 audio to work on touch devices. Initially I thought Google Chrome Mobile might be able to support it, along with Safari on iPad’s. But it appears not to be the case. Essentially Google and Apple have decided that they won’t easily allow HTML5 Audio playback on mobile devices because of bandwidth implications. The reasons I feel this is short-sighted are as follows:

  • Devices might be attached to Wi-Fi networks with no cost implications.
  • The app/page might be running offline, with all the sounds cached anyway.
  • Users should be given the choice/ability to overrule.
  • No such restrictions exist for video which uses more bandwidth.
  • The user is explicitly requesting the content by visiting the page.
  • There is no reason why sound files might be any larger in size than any other content.
  • Audio is part of the HTML5 standard.
  • Apple and Google provide services that stream audio content.
  • Audio can be downloaded via HTML5 or JavaScript anyway with appropriate steps.
  • Google have provided the proprietary Web Audio API for explicitly playing audio in web pages, so why not support the HTML5 standard in mobile situations?
  • The page provider cannot know the bandwidth implications in either mobile or desktop scenarios.

Chrome Mobile prevents playback of HTML5 audio unless it is directly initiated from a user generated event (such as a click). With that in mind, the work-around was to initialise the sounds from a user event, without the user knowing (by seeking to the end of the sound, or lowering the volume, or some other hack). Once initialised, sounds could be played normally from JavaScript code.

This worked, but then Google recently released an update to Chrome Mobile that prevented my code from working, for unknown reasons. The JavaScript still runs, but no audio is played.

On Safari/iPads, it was a slightly different story. The restriction on audio playback from user events is the same as Chrome. But my audio initialisation code called methods/attributes on audio elements that probably aren’t supported/implemented in Safari (again, for unknown reasons). So the JavaScript code failed to execute on iPads. Since, I don’t have an Apple environment I cannot investigate to find out the culprit.

Desktop audio is unaffected. But for touch, I am currently only targeting Apple and Android devices, and so HTML5 audio is out of reach. HTML5 is getting close to the “Holy Grail” – an API that works consistently across platforms and devices (at least the main features, anyway). And so it’s disappointing that HTML5 audio is poorly supported on both mobiles and desktops. I suspect for a lot of commercial applications, it may be the deciding factor on whether to “go native” or not.

Posted in HTML, HTML5, JavaScript, Mobile Apps, Tablets, Web Development | Tagged , , | Comments Off

SVG, CSS and JavaScript Intellisense in Visual Studio 2012

If you have ever worked with inline SVG in your HTML5 documents in Visual Studio 2012, you will be aware of the joys of SVG intellisense. It even includes an SVG code snippet. But if you then decide to edit standalone SVG files, you may be disappointed to discover that CSS and JavaScript/ECMAScript are not intellisense-enabled by default. But there is a very easy fix (you’ll be kicking yourself if you haven’t thought of it already).

The fix is to associate the “.svg” extension with the HTML editor in VS2012. Here is how: Go to “Tools->Options->Text Editor->File Extension”, and manually add an association for the SVG extension with the HTML editor:

svg-intelli

You will then have CSS and JavaScript intellisense enabled when editing SVG files. You will also still have SVG intellisense, of course.

Posted in HTML5, JavaScript, SVG, Visual Studio 2012 | Tagged , , , | Comments Off

Improved Touch Controls in Space InVectors

There have been some major improvements to the touch controls in Space InVectors. This should make it more accessible to a wider range of devices. The controls now scale and position appropriately for the target device, and are generally more user friendly. Check it out.

Known issues in a couple of scenarios: the Mobile Firefox browser will display screen glitches and may crash on Android (seen on the Nexus 7). The Mobile Dolphin browser will corrupt the title screen, for unknown reasons (also Nexus 7). These issues are assumed to be browser/driver implementation issues, rather than issues with the game itself. The recommended work-around is to use the Chrome browser instead.

Posted in HTML, HTML5, JavaScript, Mobile Apps, SVG, Tablets | Tagged , , , | Comments Off

Strange Issue with SVG Clip-Paths in Safari 5

I was playing with sprites in SVG, and modified a number of sprites to be rectangles, with clip-paths, to create coloured shapes. I defined the clip-paths in the document’s <defs> section (as you would). When I ran the application it worked perfectly in all the main browsers, except Safari 5 (on Windows 8).

The behaviour was bizarre. All the sprites were correct except for those using the last defined clip-path. Instead of a clipped rectangle, the browser just displayed an unclipped rectangle. So the sprite was switching between a shape and a rectangle. I verified the clip-paths themselves for errors, but they were fine. So I was left scratching my head and Googling.

The work-around was to place the clip-paths in the main document area instead instead of the <defs> and to place these inside a group (although I’m not sure the group makes a difference). I owe this work-around to this interesting SVG-related article: blog article on sawyerhollenshead.com.

I assume this is just a problem with Safari 5, as I haven’t tested on later versions, nor on iOS or OSX. I hope the work-around is helpful to someone.

Posted in HTML, HTML5, JavaScript, SVG, Web Design | Tagged , , | Comments Off

Responsinator.com

One way of viewing how websites appear using different devices and various screen sizes is to use the utility at Responsinator.com. Having just been disappointed by how the touch controls in Space InVectors display on a Galaxy SIII, I decided to try it on Responsinator. Here is how Space InVectors looks on various devices, with the new experimental touch controls enabled (note: devices are not shown to scale):

Touch Controls View on Resposinator.com

As you can see from the image, there are clearly some outstanding layout and scaling issues with the controls (not to mention with their behaviour). So expect some improvements in due course…

Posted in HTML5, JavaScript, Mobile Apps, SVG, Tablets, Web Development | Tagged , , , , , | Comments Off

Experimental Touch Controls for Space InVectors

I have now included some experimental touch controls into Space InVectors for your enjoyment on touch devices, such as the Nexus 7, or iPad tablets. Support for “pointer” events on Windows 8 tablets is not yet available. Please let me know if you encounter any difficulties (spam me with blog comments, or email: info@alchemise.net). The touch controls should be considered in a “beta” state.

In addition, the physical frame rate of the game has been halved from 60 frames per second (FPS) to 30 FPS, making it more “tablet-friendly”. The game’s “underlying” frame rate still remains at 60 FPS (as per the original arcade game), but every other frame is hidden from view. This may potentially result in a more jerky animation on some devices. Alternatively you may not notice any discernible difference. Please let me know of your experiences.

The touch capability has only been briefly tested on a Nexus 7, and so I welcome any additional feedback.

Have fun.

Mike.

Posted in HTML5, JavaScript, Mobile Apps, SVG, Tablets, Web Development | Tagged , , , | Comments Off

Visual Guide for Building Team Foundation Server 2012 Environments

The Visual Guide for Building Team Foundation Server 2012 Environments walks you through the installation and the configuration process of Team Foundation Server 2012. It is also written and designed to reflect real-world experience of the installation and configuration processes via detailed steps, well-defined screenshots and videos; and hence the name “Visual Guide”. It’s a collaborative effort between industry experts and Microsoft partners, available on CodePlex.

Posted in Team Foundation Server, Visual Studio 2012 | Tagged , , , | Comments Off

I’ve now migrated to Outlook.com

This week I upgraded from Live Mail to Outlook.com. It wasn’t intentional. Along with other Live users, I received an email from Microsoft informing me about Outlook.com, with an attractive link enticing me to “Upgrade to Outlook.com”. I assumed it would take me to a site informing me of all the benefits of migrating my account to Outlook.com…so I clicked it. And then it actually transferred my account, without so much as an “are you sure you want to do this” message, and with no mechanism to revert back.

A bit sneaky, Microsoft, if you ask me. Oh well, no ill effects so far. And I have to say I do find one pop3 service to be very much like another (ok, perhaps a bit disingenuous to Outlook.com!). But that’ll teach me to click on links in spam, even when it does originate from Microsoft.

Posted in Cloud, Computers and Internet, Windows Live Email | Tagged , | Comments Off

Live Mesh is being formally retired on February 13

I received an email today from Microsoft informing me that Windows Live Mesh is to be formally retired on February 13, 2013. There’s no surprise there – Live Mesh users have known for a while that they were on borrowed time.  But it is nevertheless disappointing, as Live Mesh has a USP of it’s own – the ability to securely and quietly connect and sync with any computer from any location on the web, through firewalls, and without additional configuration. This is not entirely true of SkyDrive, despite there being some obvious overlap.

I understand the rationale and the desire to consolidate their products into the SkyDrive service. But I can’t help feeling that had someone in some committee somewhere simply suggested rebranding Live Mesh as SkyDrive Mesh, the whole shutdown thing might have been avoided. But what do I know? Oh well, another good cloud-based service bites the dust (see my earlier post on the ephemeral nature of clouds) - but it was always free, and there are alternatives, and so I have no cause to complain.

I haven’t decided yet if SkyDrive is going to be the service for me. Whilst I’m quite content uploading mp3′s to cloud storage providers, when it comes to personal files, security is more of a concern. And SkyDrive is, essentially, a collaboration service.  I’m not suggesting that it is in any way insecure – nor am I am paranoid about Microsoft snooping on my 2011 tax return (or whatever) - I’m more concerned about me inadvertently releasing all my personal information to others accidentally one day. I like a strong level of demarcation in this regard. But I plan on exploring this further – I do have until Feb 13, apparently.

Posted in Cloud, Computers and Internet, Mobile Apps | Tagged , | Comments Off