Archive

Posts Tagged ‘microsoft’

XboxOne: Microsoft’s Entry Into The Next Console Generation.

May 22nd, 2013 2 comments

This year was already shaping up to be a great run for gamers, what with all the new IP heading our way and multiple high quality sequels, and the next console generation will likely be upon us before the year is out. Had you asked me last year what my predictions were I would’ve told you that we’d be lucky to see the next generation Xbox this year and it was far more likely that we’d see both of them sometime in 2014. I’m quite glad to be wrong in this instance however as whilst I might still be primarily a PC gamer I grew up on consoles and will always have a soft spot for them.

Microsoft XboxOne ConsoleToday Microsoft officially announced their successor to the Xbox360: the XboxOne. If you’ve been following the rumours and leaks like I have there’s nothing too much surprising about the console itself as it sports the exact specs that have been floating around for a while. However there are still a few surprises from Microsoft’s next generation console and the launch event clarified some of the more controversial rumours that had been flying around. Suffice to say that Sony and Microsoft have very different audiences in mind for their next gen offerings, meaning that the choice between the two might no longer be based on platform exclusives alone.

Whilst I won’t go over the hardware specifications as they’re near identical to that of the PS4 (although I can’t find a confirmation of DDR3 vs GDDR5) there were a couple surprises under the hood of the XboxOne. For starters it’s sporting a BluRay drive which was kind of expected but still up in the air thanks to Microsoft initially throwing its support behind HDDVD, giving a little credence to the rumour that they wouldn’t incorporate it into their next gen offering. It also brings with it a HDMI in port, allowing those with set top boxes to run their TV through it. Whilst that doesn’t sound like much it’s telling of the larger strategy that Microsoft has at play here: they’re marketing the XboxOne as much more than a games console.

Indeed all the other features that they’ve included, like Snap Mode and the upgrades to their SmartGlass app, are all heavily focused on media consumption and making the XboxOne the central point of your home entertainment setup. Considering that current generation Xboxs are used to watch media more than they are to play games this change in direction is not surprising however it could alienate some of the more hardcore games fans. It seems Sony was well aware of this as their launch focused far more heavily on the gaming experience that their console could deliver rather than its additional media capabilities. The delineation then seems clear: if you want a gaming machine go for the PS4, but for everyone else there’s XboxOne.

Microsoft XboxOne Controller

The Xbox had always been Microsoft’s last piece in the Three Screens puzzle and it appears that the XboxOne will in fact be running a version of windows under the hood. In fact it’s running 3 different operating systems: Windows 8/RT, a second Xbox OS that’ll remain largely static (for developers) and the third layer sounds more like a hypervisor, managing access to resources for the 2 main operating systems. I speculated last year that Microsoft would be looking to bring WinRT to the next gen Xbox and that appears to be the case although how much of the functionality is directly compatible is still up for question as Microsoft has stated that you’ll “need to do some work” to port them across.

Unfortunately it does look like Microsoft wants to take an axe to the second hand games market as whilst the rumours of it needing to be always online have turned out to be false (although games can make use of Azure Cloud Gaming services which would require an online connection) installing a game to a hard drive locks it to that particular Xbox account, requiring a fee to do it on another. Whether or not you can play games without installing them is still up for debate however and the answer to that will make or break the second hand games market.

Additionally there’s going to be no backwards compatibility to speak of, save for transferring of licenses for media and your gamer score. Whilst this was not unexpected this combined with the lack of a second hand games market might be a dealbreaker for some. Whether this will push more people to Sony remains to be seen though as whilst they’ve alluded to backwards compatibility possibly coming via some kind of cloud gaming service that won’t be something former Xboxers will care about. It’s far more likely that the decision will be made on what the console will primarily be used for: gaming or media.

I’ve been something of a stalwart “buy all the things” consumer ever since I had a job that would allow me to do this but with the announcement of XboxOne I’m not sure if that will be the case anymore. I say this because I believe that the vast majority of titles will be cross platform, thanks to the x86 architecture, and as of yet there hasn’t been any compelling exclusives announced for either platform that would draw me to it. The Xbox360 landed a purchase solely for Mass Effect but I get the feeling that we won’t see another title that’s bound to a single platform like that again. With that in mind it’s highly likely that my current console collection will be slimmed down to one, and the last man standing will be the PS4.

I would love to be convinced otherwise though, Microsoft.

 

The Strange Dichotomy of IT Certifications.

May 20th, 2013 No comments

The story of the majority of IT workers is eerily similar. Most get their beginnings in a call centre, slaving away behind a headset troubleshooting various issues for either their end users or as part of a bigger help desk that services dozens of clients. Some are a little more lucky, landing a job as the sole IT guy at a small company which grants them all the creative freedom they could wish for but also being shouldered with the weight of being the be all and end all of their company’s IT infrastructure. No matter how us IT employees got our start all of us eventually look towards getting certified in the technologies we deal with every day and, almost instantly after getting our first, become incredibly cynical about what they actually represent.

Microsoft Training and Certification

For many the first certification they will pursue will be something from Microsoft since it’s almost guaranteed that every IT job you’ll come across will utilize it in some fashion. Whilst the value of the online/eLearning packages is debatable there’s little question that you’ll likely learn something that you didn’t already know, even if it’s completely esoteric and has no application in the real world. For anyone who’s spent a moderate amount of time with the product in question these exams aren’t particularly challenging as most of them focus on regurgitating the Microsoft way of doing things. This, in turn, feeds into their greatest weakness as they favour rote memorization over higher order concepts and critical thinking (at least at the introductory/intermediate levels).

This has led to a gray market which is solely focused on passing the exams for these tests. Whilst there are some great resources which fall into this area (Like CBT Nuggets) there are many, many more which skirt the boundaries of what’s appropriate. For anyone with a modicum of Google skills it’s not hard to track down copies of the exams themselves, many with the correct answers highlighted for your convenience. In the past this meant that you could go in knowing all the answers in advance and whilst there’s been a lot of work done to combat this there are still many, many people carrying certifications thanks to these resources.

The industry term for such people is “paper certs”.

People with qualifications gained in this way are usually quite easy to spot as rote memorization of the answers does not readily translate into real world knowledge of the product. However for those looking to hire someone this often comes too late as interview questions can only go so far to root these kinds of people out. Ultimately this makes those entry level certifications relatively worthless as having one of them is no guarantee that you’ll be an effective employee. Strangely however employers still look to them as a positive sign and, stranger still, companies looking to hire on talent from outsourcers again look for these qualifications in the hopes that they will get someone with the skills they require.

I say this as someone who’s managed to skate through the majority of his career without the backing of certs to get me through. Initially I thought this was due to my degree, which whilst being tangentially related to IT is strictly speaking an engineering one, but the surprise I’m met with when I mention that I’m an engineer by training has led me to believe that most of my former employers had no idea. Indeed what usually ended up sealing the position for me was my past experiences, even in positions where they stated certain certs were a requirement of the position. Asking my new employers about it afterwards had them telling me that those position descriptions are usually a wish list of things they’d like but it’s rare that anyone will actually have them all.

So we have this really weird situation where the majority of certifications are worthless, which is known by all parties involved, but are still used as a barrier to entry for some positions/opportunities but that can be wholly overwritten if you have enough experience in that area. If that’s sounding like the whole process is, for want of a better word, worthless than you’d be of the same opinion of most of the IT workers that I know.

There are some exceptions to this rule, CISCO’s CCIE exams being chief among them, but the fact that the training and certification programs are run by the companies who develop the products are the main reason why the majority of them are like this. Whilst I’m not entirely sure that having an independent certification body would solve all the issues (indeed some of those non-vendor specific certs are just as bad) it would at least remove the financial driver to churn as many people through the courses/exams as they currently do. Whilst I abhor artificial scarcity one of the places it actually helps is in qualifications, but that’d only be the first few tentative steps to solving this issue.

Join Myself and LifeHacker Australia For TechEd North America (in New Orleans!)

April 17th, 2013 No comments

If you’ve been here a little while you’ll know that last year I won a competition to go up to Brisbane to cover TechEd Australia 2013 for LifeHacker Australia. During my time up there I wrote three posts covering everything from PowerShell, the evolution of the term “private cloud” and why Windows Server 201 would succeed. Evidently the LifeHacker writers and readers loved what I wrote and I ended up winning the mini-competition with the 2 other guest bloggers. At the time I was told that this would lead onto another series of posts for Microsoft themselves however that never eventuated but I did end up with a shiny new HP MicroServer that’s become the mainstay of my home network.

I thought that would be the end of it but a couple months ago Angus Kidman, the man behind much of LifeHacker Australia’s tech coverage, contacted me with an offer: come with him to the USA and participate in covering TechEd North America as part of their World of Servers initiative.

Of course I said yes.

TechEd North America 2013 LifeHacker Australia

It will be much the same as it was last year, I’ll be attending TechEd in New Orleans every day and writing up a post that sums up the lessons learned that I take away each day. The primary focus will still be on Server 2012 although with Microsoft’s increasing focus on cloud integration you can rest assured that I’ll be weaseling my way into as many Azure sessions as I possibly can. It’s going to be interesting to compare and contrast the two as I’m sure TechEd North America is going to be huge by comparison and hopefully that means we’ll get some juicy insights into some of Microsoft’s upcoming products.

But this post isn’t just for me to humble brag to you guys. I’m here to tell you that LifeHacker Australia is offering this very same opportunity to 2 lucky IT professionals! To enter all you have to do is fill out this entry form and answer a few questions about your IT chops. Once you’ve done that you’re in the running to win a fully paid trip to New Orleans to cover TechEd North America and you’ll get to hang out with me for the duration of the trip (most people would consider that a perk…most people ;) ).

If you’re a budding blogger hoping to get a foot in the door or just a tech head who loves everything Microsoft then there really isn’t a better opportunity than the one LifeHacker is offering here. You’ve only got until May 1st to get your entries in (that’s 2 weeks people!) so I’d encourage you to get it in sooner rather than later. I’m incredibly excited to be going along for the ride on this one and if my previous experience was anything to go by it’ll be a blast and it’d be amazing if I could bring one my readers along for the ride.

Hope to see you there! :D

 

When Spending Limits Go Awry: An Azure Story.

April 15th, 2013 No comments

As longtime readers will know I’m quite keen on Microsoft’s Azure platform and whilst I haven’t released anything on it I have got a couple projects running on it right now. For the most part it’s been great as previously I’d have to spend a lot of time getting my development environment right and then translate that onto another server in order to make sure everything worked as expected. Whilst this wasn’t beyond my capability it was more time burnt in activities that weren’t pushing the project forward and was often the cause behind me not wanting to bother with them anymore.

Of course as I continue down the Azure path I’ve run into the many different limitations, gotchas and ideology clashes that have caused me several headaches over the past couple years. I think most of them can be traced back to my decision to use Azure Table Storage as my first post on Azure development is how I ran up against some of the limitations I wasn’t completely aware of and this continued with several more posts dedicated to overcoming the shortcomings of Microsoft’s NOSQL storage backend. Since then I’ve delved into other aspects of the Azure platform but today I’m not going to talk about any of the technology per se, no today I’m going to tell you about what happens when you hit your subscription/spending limit, something which can happen with only a couple mouse clicks.

Azure Spending Limit

I’m currently on a program called Microsoft BizSpark a kind of partner program whereby Microsoft and several other companies provide resources to people looking to build their own start ups. Among the many awesome benefits I get from this (including a MSDN subscription that gives me access to most of the Microsoft catalogue of software, all for free) Microsoft also provides me with an Azure subscription that gives me access to a certain amount of resources. Probably the best part of this offer is the 1500 hours of free compute time which allows me to run 2 small instances 24/7. Additionally I’ve also got access to the upcoming Azure Websites functionality which I used for a website I developed for a friend’s wedding. However just before the wedding was about to go ahead the website suddenly became unavailable and I went to investigate why.

As it turned out I had somehow hit my compute hours limit for that month which results in all your services being suspended until the rollover period. It appears this was due to me switching the website from the free tier to the shared tier which then counts as consuming compute hours whenever someone hits the site. Removing the no-spend block on it did not immediately resolve the issue however a support query to Microsoft saw the website back online within an hour. However my other project, the one that would be chewing up the lion’s share of those compute hours, seemed to have up and disappeared even though the environment was still largely in tact.

This is in fact expected behaviour for when you hit either your subscription or spending limit for a particular month. Suspended VMs on Windows Azure don’t count as being inactive and will thus continue to cost you money even whilst they’re not in use. To get around this should you hit your spending limits those VMs will be deleted, saving you money but also causing some potential data loss. Now this might not be an issue for most people, for me all it entailed was republishing them from Visual Studio, but should you be storing anything critical on the local storage of an Azure role it will be gone forever. Whilst the nature of the cloud should make you wary of storing anything on non-permanent storage (like Azure Tables, SQL, blob storage) it’s still a gotcha that you probably wouldn’t be aware of until you ran into a situation similar to mine.

Like any platform there are certain aspects of Windows Azure that you have to plan for and chief among them is your spending limits. It’s pretty easy to simply put in your credit card details and then go crazy by provisioning as many VMs as you want but sooner or later you’ll be looking to put limits on it and it’s then that you have the potential to run into these kinds of issues.

 

Azure Transient Fault Handling and Entity Framework Tracking Issues.

March 21st, 2013 No comments

If you’ve ever worked in a multi-tenant environment with shared resources you’ll know of the many pains that can come along with it. Resource sharing always ends up leading to contention and some of the time this will mean that you won’t be able to get access to the resources you want. For cloud services this is par for the course as since you’re always accessing shared services and so any application you build on these kinds of platforms has to take this into consideration lets your application spend an eternity crashing from random connection drop outs. Thankfully Microsoft has provided a few frameworks which will handle these situations for you, especially in the case of Azure SQL.

NuGet Install Enterprise Library Transient Fault Handling FrameworkThe Transient Fault Handling Application Block (or Topaz, which is a lot better in my view) gives you access to a number of classes which take out a lot of the pain when dealing with the transient errors you get when using Azure services. Of those the most useful one I’ve found is the RetryPolicy which when instantiated as SqlAzureTransientErrorDetectionStrategy allows you to simply wrap your database transactions with a little bit of code in order to make them resistant to the pitfalls of Microsoft’s cloud SQL service. For the most part it works well as prior to using it I’d get literally hundreds of unhandled exception messages per day. It doesn’t catch everything however so you will still need to handle some connection errors but it does a good job of eliminating the majority of them.

Currently however there’s no native support for it in Entity Framework (Microsoft’s data persistence framework) and this means you have to do a little wrangling in order to get it to work. This StackOverflow question outlines the problem and there’s a couple solutions on there which all work however I went for the simple route of instantiating a RetryPolicy and then just wrapping all my queries with ExecuteAction. As far as I could tell this all works fine and is the supported way of using EF with Topaz at least until 1.6 comes out which will have in built support for connection resiliency.

However when using Topaz in this way it seems that it mucks with entity tracking, causing returned objects to not be tracked in the normal way. I discovered this after I noticed many records not getting updated even though manually working through the data showed that they should be showing different values. As far as I can tell if you wrap an EF query with a RetryPolicy the entity ends up not being tracked and you will need to .Attach() to it prior to making any changes. If you’ve used EF before then you’ll see why this is strange as you usually don’t have to do that unless you’ve deliberately detached the entity or recreated the context. So as far as I can see there must be something in Topaz that causes it to become detached requiring you to reattach it if you want to persist your changes using Context.SaveChanges().

I haven’t tested any of the other methods of using Topaz with EF so it’s entirely possible there’s a way to get the entity tracked properly without having to attach to it after performing the query. Whether they work or not will be an exercise left for the reader as I’m not particularly interested in testing it, at least not just after I got it all working again. By the looks of it though a RC version of EF 6 might not be too far away, so this issue probably won’t remain one for long.

The Ups and Downs of a Weekend Developing on Azure.

February 25th, 2013 No comments

I heap a lot of praise on Windows Azure here, enough for me to start thinking about how that’s making me sound like a Microsoft shill, but honestly I think it’s well deserved. As someone who’s spent the better part of a decade setting up infrastructure for applications to run on and then began developing said applications in its spare time I really do appreciate not having to maintain another set of infrastructure. Couple that with the fact that I’m a full Microsoft stack kind of guy it’s really hard to beat the tight integration between all of the products in the cloud stack, from the development tools to the back end infrastructure. So like many of my weekends recently I spent the previous coding away on the Azure platform and it was filled with some interesting highs and rather devastating lows.

Azure Websites StatsI’ll start off with the good as it was really the highlight of my development weekend. I had promised to work on a site for a long time friend’s upcoming wedding and whilst I had figured out the majority of it I hadn’t gotten around to cleaning it up for a first shot to show off to him. I spent the majority of my time on the project getting the layout right, wrangling JavaScript/jQuery into behaving properly and spending an inordinate amount of time trying to get the HTML to behave the way I wanted it to. Once I had gotten it into an acceptable state I turned my eyes to deploying it and that’s where Azure Web Sites comes into play.

For the uninitiated Azure Web Sites are essentially a cut down version of the Azure Web Role allowing you to run pretty much full scale web apps for a fraction of the cost. Of course this comes with limitations and unless you’re running on at the Reserved tier you’re essentially sharing a server with a bunch of people (I.E. a common multi-tenant scenario). For this site, which isn’t going to receive a lot of traffic, it’s perfect and I wanted to deploy the first run app onto this platform. Like any good admin I simply dove in head first without reading any documentation on the process and to my surprise I was up and running in a matter of minutes. It was pretty much create web site, download publish profile, click Publish in Visual Studio, import profile and wait for the upload to finish.

Deploying a web site on my own infrastructure would be a lot more complicated as I can’t tell you how many times I’ve had to chase down dependency issues or missing libraries that I have installed on my PC but not on the end server. The publishing profile coupled with the smarts in Visual Studio was able to resolve everything (the deployment console shows the whole process, it was actually quite cool to watch) and have it up and running at my chosen URL in about 10 minutes total. It’s very impressive considering this is still considered preview level technology, although I’m more inclined to classify it as a release candidate.

Other Azure users can probably guess what I’m going to write about next. Yep, the horrific storage problems that Azure had for about 24 hours.

I noticed some issues on Friday afternoon when my current migration (yes that one, it’s still going as I write this) started behaving…weird. The migration is in its last throws and I expected the CPU usage to start ramping down as the multitude of threads finished their work and this lined up with what I was seeing. However I noticed the number of records migrated wasn’t climbing up at the rate it was previously (usually indicative of some error happening that I suppressed in order for the migration to run faster) but the logs showed that it was still going, just at a snail’s pace. Figuring it was just the instance dying I reimaged it and then the errors started flooding in.

Essentially I was disconnected from my NOSQL storage so whilst I could browse my migrated database I couldn’t keep pulling records out. This also had the horrible side effect of not allowing me to deploy anything as it would come back with SSL/TLS connection issues. Googling this led to all sorts of random posts as the error is also shared by the libraries that power the WebClient in .NET so it wasn’t until I stumbled across the ZDNet article that I knew I wasn’t in the wrong. Unfortunately you were really up the proverbial creek without a paddle if your Azure application was based on this as the temporary fixes for this issue, either disabling SSL for storage connections or usurping the certificate handler, left your application rather vulnerable to all sorts of nasty attacks. I’m one of the lucky few who could simply do without until it was fixed but it certainly highlighted the issues that can occur with PAAS architectures.

Honestly though that’s the only issue (that’s not been directly my fault) I’ve had with Azure since I started using it at the end of last year and comparing it to other cloud services it doesn’t fair too badly. It has made me think about what contingency strategy I’ll need to implement should any parts of the Azure infrastructure go away for a extended period of time though. For the moment I don’t think I’ll worry too much as I’m not going to be earning any income from the things I build on it but it will definitely be a consideration as I begin to unleash my products onto the world.

 

Consoles Aren’t Going Away and Mobiles Won’t Take Over.

January 15th, 2013 No comments

You wouldn’t have to be a reader for long to know that my preferred gaming platform is the PC but I’m pretty sure it comes as no surprise that I have all of the current generation consoles (apart from the WiiU, but I do have a Wii). I grew up with both platforms and arguably I was more of a console gamer when I was younger but as time went on I found that PC gaming just sat better with me. What I’m getting at here is that whilst I might be a PC gamer I’m certainly not one to call for the demise of the consoles and indeed believe that the platform will be around for quite a long time to come.

Current Gen Consoles Playstation 3 Xbox360 Wii

Others don’t share that view, in particular Ben Cousins who wrote this article on Kotaku outlining the reasons why consoles are going away:

Many people (me included) have been saying publicly that they think the ‘console’—dedicated hardware designed primarily for gaming—is on its way out.

I used to keep a list of famous developers and executives who shared my view, but it got too big to maintain!

Anyway, here’s just two whom you might care about: David Jaffe and Hideo Kojima.

He then goes on to list 5 data points and 2 assumptions that back up his claim and on the surface they appear plausible. Indeed many of the supporting points are based at least partially on ideas that everyone involved in the games industry knew about but I feel the conclusions drawn from them are a little over-reaching, enough so that his idea that consoles are going away is at the least premature and at the worst grossly misinformed.

Take for example the first data point about consoles being sold at a loss. This is no revelation as console makers have been doing this for decades prior and have still managed to turn a profitable business from them. Indeed while Nintendo might be breaking its usual rule of not selling consoles at a loss it doesn’t take much for them to become profitable with the sale of a single title enough to push it over the line. In fact if you look at the past 5 years things look pretty good for the major consoles, especially for Microsoft and Nintendo. I believe Cousins is being slightly unfair by going back further than that because those years were right at the beginning of the current generation console’s life and that’s arguably the point at which the greatest losses will be incurred.

 

I’m also not sure how 40% of the sales occurring after the price drops supports his idea that these people are somehow the mainstream gamers. Taken literally that means that the majority, I.E. >50% of current gen console owners, bought their console before these price drops/product revisions occurred. I’d also argue that a portion of those new sales were also current owners upgrading older consoles as in the case of the Xbox the original was something of a jet engine when used and the subsequent iterations vastly improved that experience. I’ve heard similar tales from PS3 Slim owners as well so I don’t feel the “mainstream gamer” argument holds up with console sale figures alone.

It’s not a secret that mobile devices are pervasive but it’s also quite known what they’re capable of and what their primary use is. Indeed console makers are aware of this and have been working to expand their console experience onto the mobile platform. Microsoft has long been working towards achieving their Three Screens idea which would see the experience between Xbox360, Windows Phone 8 and Windows 8 unified together enabling developers to provide the same experience regardless of the platform. We’re still a long way from achieving that and whilst smartphones do a good job of getting close to the console experience they’re still not in the same league, something which console owners are acutely aware of.

The rest is speculation based off those points which I won’t bother digging into but suffice to say I don’t get the feeling that consoles are going to go anywhere in a hurry and I’m willing to say that there’ll definitely be several more generations to come. The mobile market might be growing but I believe it’s an additive market, one that’s bringing more gamers in not one that’s cannibalizing gamers away. There’s also the fact that consoles are increasingly becoming the media centre of the house, something that smartphones are going to have a hard time replacing. Still we’re both deep in speculation territory here so the only way to settle this will be to wait it out and hope that both our opinion pieces are still online in a decades time.

Windows RT Running on ARM Has Full Win32 Compatibility.

January 9th, 2013 No comments

As far back as I can remember the differences between the full version of Windows 8 and the tablet version, now dubbed Windows RT, were made pretty clear. Whilst the Modern UI section of them was going to be essentially identical the full version of Windows wasn’t going to run on anything that wasn’t x86 compatible and RT would be the version that could run on low power systems like ARM. This, logically, came with some draw backs the largest of which is the omission of the desktop environment on Windows RT devices. In all honesty this didn’t bother me as Microsoft is making a version of their Surface tablet (and I’m sure others will as well) that would run the full desktop anyway.

The delineation also made a lot of sense due to the different markets that both versions were targeting. The full version is squarely aimed at the desktop/laptop space whilst the RT version is strictly for mobile computing. In terms of functionality there’s a lot of crossover between these two spaces but the separation essentially meant that you had your desktop with its oodles of backwards compatibility that Microsoft is known for whilst also getting that nice, highly focused tablet environment should you want it.

However as it turns out Windows RT is far more full featured that I first thought and is capable of running Win32 applications:

Windows 8 RT Running x86 Programs

Thanks one intrepid user, Clrokr, over at XDA Developers it has been found out that Microsoft actually included full Win32 compatibility in Windows RT devices that run on the ARM architecture. Whilst this doesn’t mean you can straight up run those executables on said platform it does mean that any Windows application that you have the source of can be recompiled to run, without issue, on Windows RT devices. The above screenshot is from another user, peterdn, who has recompiled PuTTy to run on ARM and it appears to be functioning quite fine. Other applications have also been tested as well and shown to work as you’d expect.

Thinking about it more clearly this shouldn’t have come as a surprise as the architecture diagram for Windows 8 clearly shows that C/C++/C# are fully supported on both platforms and the inclusion of the desktop on Windows RT devices (again something I wasn’t aware of) would have you thinking everything was there to support this. As it turns out the only thing that was stopping this from working in the first place was runtime authentication level that was hard coded to only allow Microsoft signed applications to run in such an environment. The jailbreak that Clrokr details in this post is simply an in memory overwrite of this value which will allow any application to run. From there you just need to recompile your application and you’re golden.

The reasons for the lock out make sense from a business point of view: Microsoft was trying to create a pristine tablet environment that was tightly controlled in order to create a better experience. However at the same time porting all of the underlying architecture to ARM would have required quite a bit of effort and locking this functionality away from people seems like a strange idea. Whilst I’m not going to say they should unlock it for everyone having it as a configurable option would have meant that most users wouldn’t know about it but power users, like the ones who discovered this, could take advantage of it. I haven’t seen if Microsoft has made an official response to this yet or not but I’m sure they’d win more than a couple fans if they did this and it doesn’t look like it would be that hard to implement.

I was genuinely surprised by this as I hadn’t caught on pretty much all of Windows, including everything that makes it tick under the hood, had been ported across to the ARM architecture. I had believed that it was just a port of the core functionality required to support the WinRT framework but as the above screenshots prove Windows RT devices are pretty much fully fledged copies of Windows, they just need their applications recompiled in order to work. Of course questions of how those applications fair vs their modernized counterparts in a tablet environment remains to be seen but it’s interesting that the option is there and that Microsoft has gone to such lengths to keep people from fiddling with it.

 

Windows Phone 7: The Disconnect Between Product Quality and Market Share.

October 8th, 2012 No comments

I remember when I first saw Windows Phone 7 introduced all those years ago now how it just looked like Microsoft playing the me-too game with one of its biggest competitors. This was also a time when RIM, you know those guys who make the BlackBerrys that everyone used to rave about, where the kings of the smart phone world and Android was still considered that upstart that would get no where. Back then I said I’d end up getting one of these handsets eventually, mostly for application development purposes, but also so I could share the experience with you, my readers. I never really made good on that promise but thanks to LifeHacker I’ve had the privilege to have a Nokia Lumia 900 as my sole communications device for the past couple weeks and I thought it was high time I told you what I think of it.

Before I get into the meat of the underlying operating system I want to take a little time to comment on the phone itself. Nokia, renowned for their low end handsets that are everywhere, sheds those preconceptions easily with the Lumia 900. Whilst I know its no indication of the underlying quality the 900 has a really nice heft to it, feeling quite solid in the hands. The specs are actually quite incredible with it sporting a 1.4GHz Qualcomm Scorpion processor, 512MB RAM and 16GB of internal storage. Couple that with an 8MP camera with Carl Zeiss optics capable of capturing 720p video you’ve got a solid base of hardware that’s easily comparable to all other handsets from its generation. The battery life is also pretty incredible, easily lasting a couple days with moderate usage. Indeed if Nokia were to release a similar phone to the Android market there’s no doubt in my mind that it’d be right up there with the likes of Samsung and HTC.

My first impressions were quite good for Windows Phone 7 with some teething issues that I’ll dive into. On the surface Windows Phone 7 is visually pleasing with the large icons, live tiles and a very smooth scrolling experience that all just works. Just like you do with Android or iOS you sign into your phone using your Windows Live ID, which can be any email address you want, which then hooks into the underlying services that power your Windows Phone 7 handset. For the most part this is synching with things like Live Contacts, SkyDrive for your cloud storage and any other Microsoft service. For the most part these work well however I had a stumbling block at the start which did sour me initially on the platform.

So ever since I moved from my Windows Mobile device to my first iPhone all those years ago I’ve had my contacts stored in Google Contacts as that was the easiest way to ensure they’d follow me from platform to platform. Thankfully Windows Phone 7 allows you to add accounts across a wide range of services, Google being one of them. So I entered my details and hit sync…nothing happened. Indeed even when I tried to sync to my LiveID (which has nothing in it) I got a similar error saying “Attention required” and upon investigation it said that my username/password combination wasn’t correct. No matter what I did to get this to work it would always come up with this same error for both services. To rectify this I had to reset my phone to factory defaults, sign in again with my LiveID and then attempt to sync again. For Google Contacts I had to create an application specific password to use it (I have 2 factor auth turned on for my Google account)  but I wasn’t prompted for this from Windows Phone 7 like I have been for other services. Realistically I’d expect a little better from a platform that’s been around for this long and this was why I was initially unhappy with Windows Phone 7.

However all the other in built apps like email, messaging and maps work absolutely flawlessly. It didn’t take me long to get everything in sync with all my emails coming down as soon as the server received them and things like MMS, which usually require some fiddling to get them to work properly, just worked straight away from the APN settings that came down from Telstra. The problems I experienced getting my contacts onto Windows Phone 7 were really the only major issue I had with the platform itself and it speaks volumes that the rest of the experience was so trouble free by comparison.

Of course the platform itself is only part of the equation as it’s the third party applications that can make or break it. Thankfully I’m please to say that for all the major applications like Twitter, Facebook and Shazam there are native applications and the function pretty much identically to their counterparts on the other major platforms. There are of course some differences in the applications that can be rather irritating (Twitter for instance doesn’t preload tweets like it does on Android) but they are more than usable. I wouldn’t say I prefer the Windows Phone 7 experience over Android or iOS as I was very much used to the former due to it being my platform of choice for the past year and a bit but I don’t find myself wanting for any specific feature. It’s probably more due to the fact that Windows Phone 7 has its own UI styling that’s pretty consistent across all the applications and for some instances that fits well but for others it just doesn’t really work at all.

Where Windows Phone 7 starts to fall down is in the niche application area, I.E. those applications on other platforms that you have for one specific need or another. My best example of this would be SoundCloud, a music sharing application, which has a great application on both Android and iOS. For Windows Phone 7 there’s no official application and all the third party solutions are really quite bad, to the point of being unusable. Of the 3 I tried no one supported logging in with Facebook and since I have no idea what my SoundCloud password is (I never set one, because of the Facebook integration) I simply could not try them. The SoundCloud mobile application is actually quite good but it doesn’t function the way you’d expect it and in order to get similar functionality you have to do things that aren’t particularly intuitive. Reddit is another example as whilst there’s an usable application (Alien News) it’s just not as good as Reddit is Fun on Android.

The state of the niche applications might not be a big deal to the majority of people who only need a few major applications (which are well supported on Windows Phone 7) but for power users like myself it feels like you’re artificially limiting yourself to being a second class smart phone user. Now this is no fault of the platform, it’s simply a function of its popularity among the wider public, and the only thing that will solve it is more users and time. Whether that will happen is hard to say as whilst Windows Phone 7 market share has been growing it’s still hard to call it anything more than an also-ran in comparison to Android and iOS.

In an objective comparison between all the platforms, forgetting the applications as they’re not strictly reflective of the platform itself, I can say that Windows Phone 7 is most definitely comparable to Android and iOS. The interface is slick and smooth, the built in applications are very usable and there are no real show stopping bugs that prevent you from doing anything that you could do on other platforms. Whilst I’m not sure if this will become my default platform of choice for the future (considering my Lumia won’t get Windows Phone 8) I definitely can’t fault anyone for choosing it over any of the other ones available. Indeed for certain people, especially those who are heavily invested in the Microsoft platform, I’d recommend it over anything else as its tight integration with Microsoft would make it much more worthwhile.

So overall I was very impressed with Windows Phone 7 as I was truly expecting the majority of applications to be no where near as good as their iOS/Android counterparts but they were. The most telling thing was that I never found myself wanting to do something and then finding out I wouldn’t be able to do it. Sure the experience wasn’t ideal in some cases but the capability was there and in many cases that’s all that matters. It will be interesting to see how this compares to the upcoming Windows Phone 8 and whilst I won’t promise that I’ll rush out to get one for the review (I’ve made that mistake before) I won’t say to no if Microsoft gives me a loaner for a couple weeks.

Which is actually a real possibility considering I’ll be blogging for them :D

Microsoft Should Break The Public Cloud Wall.

September 27th, 2012 No comments

Like all industry terms the definitions of what constitutes a cloud service have become somewhat loose as every vendor puts their own particular spin on it. Whilst many cloud products share a baseline of particular features (I.E. high automation, abstraction from underlying hardware, availability as far as your credit card will go) what’s available after that point becomes rather fluid which leads to the PR department making some claims that don’t necessairly line up with reality, or at least what I believe the terms actually mean. For Microsoft’s cloud offering in Azure this became quite clear during the opening keynotes of TechEd 2012 and the subsequent sessions I attended made it clear that the current industry definitions need some work in order to ensure that there’s no confusion around what the capabilities of each of these cloud services actually are.

If this opening paragraph is sound familiar then I’m flattered, you read one of my LifeHacker posts, but there was something I didn’t dive into in that post that I want to explore here.

It’s clear that there’s actually 3 different clouds in Microsoft’s arsenal: the private cloud that’s a combination of System Centre Configuration Manager and Windows Server, the what I’m calling Hosted Private Cloud (referred to as Public by Microsoft) which is basically the same as the previous definition except its running on Microsoft’s hardware and lastly Windows Azure which is the true public cloud. All of these have their own set of pros and cons and I still stand by my statements that the dominant cloud structure in the future will be some kind of hybrid version of all of these but right now the reality is that not a single provider manages to bridge all these gaps, and this is where Microsoft could step in.

The future might be looking more and more cloudy by the day however there’s still a major feature gap between what’s available in Windows Azure when compared to the traditional Microsoft offerings. I can understand that some features might not be entirely feasible at a small scale (indeed many will ask what the point of having something like Azure Table Storage working on a single server would achieve, but hear me out) but Microsoft could make major inroads to Azure adoption by making many of the features installable in Windows Server 2012. They don’t have to come all at once, indeed many of the features in Azure become available in a piecemeal fashion, but there are some key features that I believe could provide tremendous value for the enterprise and ease them into adoption of Microsoft’s public cloud offerings.

SQL Azure Federations for instance could provide database sharding to standalone MSSQL servers giving a much easier route to scaling out SQL than the current clustering solution. Sure there would probably need to be some level of complexity added in for it to function in smaller environments but the principles behind it could easily translate down into the enterprise level. If Microsoft was feeling particularly smart they could even bundle in the option to scale records out onto SQL Azure databases, giving enterprises that coveted cloud burst capability that everyone talks about but no one seems to be able to do.

In fact I believe that pretty much every service provided by Azure, from Table storage all the way down to the CDN interface, could be made available as a feature on Windows Server 2012. They wouldn’t be exact replicas of their cloudified brethren but you could offer API consistency between private and public clouds. This I feel is the ultimate cloud service as it would allow companies to start out with cheap on premise infrastructure (or more likely leverage current investments) and then build out from there. Peaky demands cloud then be easily scaled out to the public cloud and, if the cost is low enough, the whole service could simply transition there.

These features aren’t something that will readily port overnight but if Microsoft truly is serious about bringing cloud capabilities to the masses (and not just hosted virtual machine solutions) then they’ll have to seriously look at providing them. Heck just taking some of the ideals and integrating them into their enterprise products would be a step in the right direction, one that I feel would win them almost universal praise from their consumers.