Around a month ago Lorraine and I went to a Windows 8 development conference at the MS offices in Edinburgh. Clearly as a non-developer I was out of my depth for a lot of it, but the simplicity and low barrier to entry both technically and in terms of publishing really made their mark on me. I left with the sense that I didn't just want to promote Windows 8 and the associated ecosystem any more, I wanted to add my own apps to the mix.
So it was with a sense of trepidation that I downloaded Visual Studio and fired up my first shell of an app.
Back in the mid '90s I was a fair dab hand at C and spent thousands of hours coding for mutiplayer text adventure games, so I figured my first foray into Windows 8 apps should be a text adventure!
C# and XAML turned out to be the easiest route into coding I've seen thus far, with such a low barrier to entry that despite never having touched them before and having no clue what I was doing, I had a working engine written inside a couple of evenings. I've spent the last month expanding the engine and writing (what I think is) a quality text adventure and have already started on my next - now that the engine is written it should be a doddle!
Looking forward to coming up with more ideas and adding more content to the MS store now that I know how simple it is to start developing WinRT apps
I’ve watched in amazement, befuddlement and disbelief over the past month or so as industry analysts and tech pundits have slated, berated and laughed at Windows 8, culminating in an article on Forbes.com today entitled ‘Microsoft’s Future Looks Grim’.
What. The. Hell?
Putting aside for now that these articles typically hang the entire future of the company the latest edition of the Windows home operating system and ignore the still available and fully supported Windows 7, the massively popular server platforms and products (MSSQL, Dynamics Family, System Center Family, Exchange, Lync anyone?), already hugely successful Microsoft Hardware division and the entire existence of the Xbox, they don’t seem to have any clue as to how Microsoft operate.
These days, tech bloggers seem used to rapid release cycles, short product lifespans, and every product release having the potential to seal the fate of a multi-billion dollar business. This is certainly the case with Apple – the original iPad was only released two and a half years ago, but is already no longer supported by and will receive no further software updates from the fruity giant. When Apple release a new OS, be it iOS or OSX, they expect everyone to upgrade to the new edition rapidly, allowing them to orphan the previous versions and simplify support.
This is not a strategy that Microsoft have ever followed, and it’s not one I see them adopting any time soon. Every significant OS release by Microsoft has a long support lifecycle – XP’s extended support stretches on into April 2014! – and there’s a tacit assumption that adoption will follow with peoples natural upgrade cycles, rather than being foisted upon them by Microsoft.
The same predictions flooded the interwebs when Vista was released, yet somehow Microsoft prevailed. Funny that. Not only did they prevail, they went on to release Windows 7, which surpassed Windows XP not too long ago as most popular Operating System in the World.
The total number of machines running Windows of some variety in the world as of August this year was 91.77%, of which 42.5% were XP and 42.72% were Windows 7. I hate spouting off statistics, as they can be warped and moulded to fit any argument typically, but I think this shows exactly how Microsoft customers operate.
They don’t feel the need to constantly upgrade, they continue to be supported by Microsoft for many years into the product’s life, and when it comes time for them to upgrade due to either old hardware, software requirements, or any other reason, they upgrade to a version which has had time to mature in the marketplace and will serve them well.
This is the one point I need to make crystal clear – MS users typically do not upgrade immediately upon the release of a new operating system, and nor are they forced to. People who buy a new Windows 8 PC also buy Windows 7 downgrade rights, so if they want to stick with Windows 7 they’re more than welcome to.
We saw the exact same thing when Vista was released, with people sticking with XP (which many still do!) due to the widely documented Vista teething problems, and when Windows 7 came out many finally moved across. The Windows 8 adoption rate falls somewhere between that of Vista and Windows 7 just now, making it a huge success when compared historically to the upgrade from XP to Vista, which many found as jarring as the move from 7 to 8 today.
It’s going to be hugely exciting watching what products come out over the next few years to take advantage of the Windows 8 ecosystem, the paradigm of ‘one kernel to rule them all’ that Microsoft have embraced is a huge shift in the industry which finally gives me a glimpse of the devices I want to use!
The Apple and Google (and partner) strategies have to date been to create two different classes of device – content creation devices and content consumption devices, and never the twain shall meet. Microsoft’s approach is to marry the two together under a single kernel which runs across desktops, laptops, netbooks, ARM tablets, x86 tablets, phones, and before too long, the new Xbox.
It’s no wonder Valve are speaking out against Windows 8 so vehemently! Windows 8 can marry PC, tablet, phone and Xbox gaming together, with the Xbox Marketplace becoming a single distribution point for all platforms. It rips into Valve’s Steam business in a massive way – what CEO wouldn’t speak out against that?
The Windows 8 app store is growing at a remarkable rate, at time of writing it has ~20,000 apps available (worldwide) and is growing at a rate of 500-600 apps per day. And quite rightly so – app developers are realising the huge potential of this ecosystem. The ability to develop once, and with minor effort distribute to all platforms has to be hugely enticing.
The promise of Windows 8 is still some time away, and while devices like the Surface give a tantalising look at the future I look forward to enjoying, it’s worth remembering that Microsoft is not playing a short game, it’s going to take years for us to get to the zenith of Windows 8’s potential, and that’s a trail I’m looking forward immensely to blazing.
Microsoft’s Future Looks Grim? My arse.
My job is Head of Emerging Technologies at an MSP - day to day I define ways to leverage new tech to improve our working practices and customer experiences. I maintain a long term view of technology, in order to ensure our company not only remains relevant in an industry that changes minute by minute, but helps to define how the technology world around us is shaped for future generations.
I've been running a 64GB Surface RT with black touch cover for a few days now, and by far the most common thing people have asked me since receiving it is 'How is it? How does it compare with the iPad?' Every time I'm asked, my brain becomes so filled with gushing praise for the device that I fail to adequately communicate my thoughts, so here I'll try to lay them out more eloquently. It's not all praise, there are negatives, however if there's one takeaway from this random spiel, it's that this in my opinion is the way forward for compute devices for the next 5 years or so.
It's hard to approach the topic of the Surface without directly comparing to the iPad, doubly so for me as it's the device I used as my primary tablet before switching to the Surface. While some Surface proponents would argue that it's an unfair comparison, I think it's one worth making right from the start.
Apple have laid out their vision in no uncertain terms - there are creation devices (laptops/desktops) and consumption devices (tablets/phones) and the two should remain separate with clear delineation, playing to their strengths without weakening them by trying to make a jack of all trades device.
Microsoft's vision is very different, with a blurring of the lines through all devices so radical, that all devices running Win8 (desktop, laptop, tablet, phone) share a common kernel and user experience. The latest range of Windows 8 devices, including the Surface range, deliver devices which can be used as both content creation and consumption devices, allowing people to have just one device to fit all their needs.
There's a definite linear scale of use cases upon which all computer users can be placed, from the casual surfers to the hardcore gamers and power users. It's down at the lower end of this scale that the Surface RT really targets - those people who use their laptop for web browsing, document editing, email and the like. It gives them a device which can replace that laptop while simultaneously delivering a fantastic tablet experience.
This device is NOT for the people at the other end of the scale - the power users and gamers - it's a great device to augment an existing setup, but it cannot replace a full desktop or laptop for people who use a wealth of x86 applications.
That being said, and considering myself a definite power user, using the Surface RT to augment an existing setup is a very worthwhile endeavour. I haven't needed to take my work laptop home once since getting it, the SkyDrive experience cross device is fantastic, I do find myself missing a native Visio app for the RT though.
Bearing in mind that I came to the RT from the iOS ecosystem, the Microsoft app store seems pretty sparse and barren by comparison. Surprisingly though, after going through my iPad and writing down all the apps I actually use, I found pretty much everything I use on a daily basis already available, which is awesome.
A notable exception is Cisco AnyConnect, with Cisco claiming RT lacks certain APIs it needs to function, so until this is resolved I can't VPN into work which is hugely frustrating. Luckily thank to the 'cloud syncing' features of Win8, I never need to VPN in to get docs or the like, only to RDP to servers for remote management. Which I can't do. Which some would argue is a benefit for the company;)
On to features, I'm writing this blog post on the touch cover, and it's been a remarkably pleasant experience - I'm making a few more mistakes than on a regular keyboard, but I'm typing happily at almost full speed (around 110wpm) and everything's where I expect it. I've tried a number of different keyboards with my iPad 2 over the years, and none of them were what could be considered a joy to use. Syncing over Bluetooth, the battery drain on the iPad, charging the keyboard or replacing batteries - all a pain in the arse. The touch keyboard isn't an afterthought or an addon, it's an integral part of the device, and it works beautifully. In fact, I have it sitting on my lap right now, kickstand out, typing along merrily just as I would on a laptop - albeit without the heat of a thousand suns burning through my trousers and murdering my future children.
A number of reviews talk about performance issues and lag with the Surface RT, and sadly they're right. Cut the Rope lags sometimes, as does the app store - often times I'll have to hit a button a few times to see any effect, as the machine struggles to keep up with me. Is it frustrating? Yes. Is it a dealbreaker? For me, no. Most of the issues are software-side, and so can be rectified. It's not across all apps either, most work great all the time, but when it does happen it's pretty jarring, and breaks you out of the otherwise fluid UX of Windows RT.
The Office team didn't know about the Surface's existence when developing Office for Arm, so the preview version that shipped with the device was slow as all hell and horribly unoptimised. Once they were able to optimise it though, the difference has been markedly improved. Is it perfect? No. Is it good enough for a user at the low end of our use case scale to use effectively and productively? Absolutely.
I own both a VGA and HDMI adapter for my iPad2, and have used both (as well as airplay) for delivering presentations to various screens. One thing that's always bugged me is that the only option available using these is to screen mirror at the iPad's native resolution. Being able to extend the Surface to an external monitor over HDMI at that monitor's max resolution is a godsend.
At my desk at work I have a USB hub with keyboard, mouse, USB to Ethernet, and a wireless USB headset/mic adapter connected, with an HDMI trailing to a 22" widescreen monitor. Plugging in two cables transforms the Surface into a device I can do most of my work on, while a Windows 8 VM on a server in our datacentre gives me everything else I need over RDP.
I'm actively trying to use the Surface as my only device, so for now I've had to give up my multiple monitors, which is sad, but I'm hopeful that manufacturers like Plugable will bring out ARM drivers for their USB to DVI adapters, enabling multi monitor again.
Surface multitasks. Well, it does and it doesn't. You can have two modern-ui^H^H^H^H^H^H^H^H^H^H fuck it, I'm going to call it Metro. You can have two Metro apps running concurrently, with one taking up around 80% of the screen real estate, and the other 20%. It may sound a bit gimmicky, but in reality it's amazing. Having a messaging window snapped to the 20% while watching a movie on Netflix or writing a blog post - like I am now - genius. Using the camera app to record video while typing into OneNote - fantastic for recording presentations. This is one thing that Surface does really, really well. Trying my iPad just now just felt old and clunky - that's a personal opinion - I just know I couldn't go back now.
Is this a laptop replacement? Yes and no. It's a laptop AND tablet replacement for people at the low end of our use case scale, it's a tablet replacement for people at the high end of it.
It's not a device for people who need specific apps only available on Android or iOS, so before you get one, make sure it does everything you need. It's perfect for students, it's perfect for my parents, I can make it work for me at work, but that's probably only because I was a sysadmin for the better part of a decade so I know a bunch of workaround tricks.
The fact that I can use those tricks is awesome. The fact that if I want, in desktop mode, I can fire up a command prompt and tracert is awesome. The fact that I can regedit it or fiddle with config files is fantastic. I can use this device like a laptop, or like a tablet, and it works really, really well. With occasional lag and slowdown.
And no AnyConnect.
And no x86 applications.
But I'm ok with all of those, because the pros far outweigh the cons. For me.
The perfect device for me would be a Surface Pro in the same form factor as the Surface RT - the pro's added thickness and weight might stop me getting one. We'll see.
Ask me specific questions, and I will answer as best I can!
Recently we opened a new office in the heart of Shoreditch, in an old Church building that we gutted and renovated from the ground up. As part of this renovation we had the opportunity to put in a top of the line infrastructure, with a few little nonstandard extras.
One of the things I wanted to address was people grabbing meeting rooms ad hoc (we have six of them in the new office), leaving them showing as available still in Outlook resource calendars, leading to wasted trips as people go to the room only to find it actually in use.
I looked for a while at solutions like the RoomWizard from Steelcase, but ultimately at several thousand dollars per unit, they were going to prove far too expensive, as well as being victim to inevitable fingerprint smearing on their touchscreens.
To get a home brewed solution in place at a fraction of the cost, we mounted an Android tablet mounted outside each one of the six meeting rooms, displaying the day's appointments for that room so people can tell at a glance if the room is free or not without needing to look through Outlook. The benefit of being able to see if the meeting room is free, or going to be in use shortly is very useful.
The major issue with this is that it still doesn't give an easy way to book that room out from within the room itself, the consequence of which is that people looking for room availability will still see it available in its Exchange calendar, leading to wasted trips from desk to room, only to find the room’s not free.
Clearly a method for people to book the room rapidly was required. The obvious solution was to let people book it from the tablet itself, but the tablets are mounted behind glass so people can’t fiddle with them and change their settings, or heaven forbid, turn them into Angry Birds terminals. This also avoids the fingerprint smearing issues that can so quickly make a pretty screen look filthy.
My solution was to build a simple and elegant single button booking system, whereby a physical button push would allow people to book the room for a half hour block of time, updating the Exchange calendar instantly to avoid people the indignity of walking up three flights of stairs to find a room has been snaffled.
Building a system like this from the ground up is actually a very simple prospect, requiring an Arduino Uno with Ethernet and PoE, a refurbished first generation iPad, a wireless doorbell, an Arduino Proto PCB board, an Arduino Project Box, an IPM-110 iPad premier mount, and some hitherto forgotten C programming ability.
Step one was to build a prototype device on a breadboard, in order to keep things simple and get the code written and working. The circuit itself is incredibly simple – one push switch and a couple of resistors (100ohm and 10kohm) connected for pull down. Pin 2 is set as an input on the Arduino board, and it, 5V and ground terminals connected to the breadboard as below. Normally current flows from 5V to pin 2 (setting its state to HIGH), when the button is pushed the path of least resistance changes, and it flows via the switch to ground, bypassing pin 2 and changing its state to LOW. Using pull down resistors like this guarantees that the signal change from HIGH to LOW and vice versa will be clean and without any analogue judder.
With the circuit in place and an Ethernet cable connected to the Arduino, code writing came next. A full transcript of this code is available at http://pastebin.com/p1JfHZWJ, but at a high level it:
- Waits for a switch press.
- Sends a UDP packet to an NTP server, and captures the returned NTP data.
- Converts the NTP data to proper time and date.
- Connects to a mail server via telnet on port 25.
- Echoes SMTP commands to the mailserver in the format of a VCalendar entry.
- Resets Arduino.
With the code written, and the prototype breadboard in place and working, I needed a way to affix the solution to the wall beside the meeting room doors without having to run unsightly cables up or through the walls. My solution here was to buy some wireless doorbells (in brightsolid colours no less), affix them to the walls in each meeting room, and replace the switch in my breadboard above with the RF receiver from the doorbell assembly. The result is that the circuitry and cabling can be neatly hidden away in an appropriate location, and the only cosmetic change to the rooms is a single colourful button to press.
With the prototype complete, I went ahead and cut this down from the relatively expensive prebuilt Arduino circuit to the bare bones required for it to function, as below, with six female jumpers exposed for attaching the doorbell guts and Ethernet modules. Forgive the mess!
Circuitry finalised, I sketched and etched a custom PCB to hold it, taking care to minimise footprint, and soldered it together. For mass production, the boards can be ordered prebuilt to my specification for ~$7 per unit, typically in multiples of 25. As I just wanted one at this stage, building it myself was the most economical option.
This reduced the cost from £22 for the processor assembly to around £4. The six exposed pins allow connection to the RF receiver from the wireless doorbell and my chosen ethernet board, pictured below – a nano Ethernet board based on the same Wiznet W5100 ethernet chip I used for prototyping, allowing me to keep using the same libraries with my code.
Right now I’m waiting for the wireless doorbells and Ethernet board to arrive. Once they get here, my plan of attack is to run it for a time in our Dundee HQ so I can take note of any quirks or unintended consequences before rolling it out to the London office. This also gives me a great excuse to revisit the tablet solution and take advantage of the recently dropped prices of first generation refurbished iPads. Event Board by Ender Labs is a great app to display whether a meeting room is currently available or in use. Coupled with a suitable frame to hide the home and power buttons, and with all multi touch gestures disabled, it becomes a perfect partner to my booking solution and avoids those unsightly finger marks on the touchscreen.
The finished cost should work out at around £30 per unit (plus iPad of course). Not bad at all for such a useful device, especially when compared to the several thousand dollars some companies are asking for comparable devices! All in all, I’m pretty happy with how this project has turned out. I’ll update once more when the final pieces have arrived and I’ve deployed the finished version.
I’ve been running the Windows 8 consumer preview since the day it was available, both on my primary work machine and my home computers, and having seen both its highs and its lows, as well as actively probing its potential, I feel somewhat beholden to share my thoughts on the subject.
Firstly, let’s address the immediate feeling you get when you fire up the new OS and hit the start menu key for the first time. I hated it. I hated the fact that it took up my full screen, I hated that it looked stupid on a multi-monitor setup, I hated that its idea of organising all of my programs was to take every icon from each subfolder within the ‘Programs’ section of my old Start menu and lay them out in a flat layer. I immediately went and installed ViStart, which adds the old, familiar Start Menu back in.
Fast forward a couple of weeks though, and I’ve uninstalled ViStart. I no longer miss the Start Menu, and Windows 7 boxes feel old and clunky – why the change in heart? Well, firstly it’s fast. I mean really fast. Boot times are down to around 12 seconds (Core i7, 8GB DDR3, OCZ Vertex 2 SSD), and every motion and transition within the OS itself is incredibly smooth. Now when I hit the start key on my keyboard and the Metro UI flashes onto screen, it’s accompanied by a swooshing sound in my internal monologue – it’s so smooth. Secondly, I've tuned it to my needs. It was stupid of me to assume that it would be tailored to how I want to use it straight out of the box - in the business world, Microsoft don't provide solutions, they provide products from which you can build a solution. Sharepoint, Dynamics, the System Center Suite, none of these are solutions, they're products that a business must invest time tailoring to their needs. That's how I now view Windows 8, and after a couple of weeks I have it configured in a way that suits me beautifully.
My acceptance of the new UI is one thing though, I live and breathe technology, it’s not a huge deal for me to get used to a new piece of tech or a new way of working. Understanding the real beauty here requires a probe below the UI layer, into the underlying business strategy underpinning the whole Windows 8 piece.
Microsoft have submitted a patent request (http://bit.ly/yBjhNk) that demands more than a casual glance, or a nod of ‘oh, that’s cool’. It’s a move that has the potential to fundamentally change the way we use computers, redefining what a computer even is. The core of the idea is a keyboard dock for a tablet, much like that of the Asus Transformer Prime, but with more hardware built in. While the Prime has a battery in its keyboard dock, MS are thinking bigger, adding an x86 processor for legacy app support, and more RAM. The upshot of this is that when you plug a tablet into this dock, it changes from being a tablet with a keyboard, to being a full blown laptop in every respect. With a touchscreen.
That would be a cool feature for iOS or Android, and it would give us new ways to consume data and work, but it wouldn’t fundamentally change how we perceive computers or interact with them day to day. Windows 8, in that respect, is a game changer.
In Microsoft’s vision (or how I perceive it at any rate) there won’t be laptops, or ultrabooks, or desktops any more. There’ll be a single tablet device that you take with you wherever you go, plugging it into appropriate hardware to expand its capabilities to full laptop or desktop mode depending on where you are. Sitting on top of this will be Windows 8 – an operating system that’s as much at home on a tablet as it is a desktop or laptop.
Imagine working on a document at 5:30pm, it’s time to go home but you want to keep working – you undock your tablet from its docking station, detaching it from its ‘desktop dock’ which provides an x86 processor, 8GB RAM, keyboard, mouse, and dual 22” monitors. It switches back to ARM mode, flicking from a Windows desktop that requires keyboard and mouse to the tablet-oriented Metro UI, retaining all your data and the document you’ve been working on, just presenting it in a different way. On the tube journey home you continue working away, with the convenience of a tablet enabling you to be productive despite lack of space. You get home and plug the tablet into your home desktop dock, adding new hardware capabilities to it, linking it to your home storage and changing it to Windows Media Center mode. Or gaming mode. Or another work configuration. The choice becomes yours, how you want your machine to behave is in your hands.
Underpinning this whole idea is the concept that you no longer have multiple machines. A tablet is no longer an add-on device to enhance your desktop and laptop capabilities, your tablet /is/ your device. One device, one operating system, vast and varied capabilities.
If Microsoft can bring this to fruition, and there’s no reason they can’t, for me it’s a game changer. In one swift move they’ll have sewn up the tablet, laptop and desktop market, both for home and business users. Devices like the iPad will look dated and irrelevant in a world where they’re static and unchanging, unable to adapt to varying needs depending on where you are.
I need this device in my life, and to make it work well, it needs Windows 8.
In the beginning there was email, and it was good. It fulfilled the desire for a more rapid exchange of information than traditional paper-based mail could achieve. Emails started off life as an electronic duplication of snail mail, performing the same function but in a faster way. Emails were polite, well structured, and sent with purpose.
Over the decades though, email has devolved into a much more insidious beast, clawing away hour upon hour of productive time from our working days as we strive to control the ever-increasing influx of information we’re bombarded with via this increasingly antiquated communications channel.
In my personal life, I rarely use email – it exists for filing order confirmations and the occasional mailshot from companies I’m interested in. For my day to day communication needs I have far more productive channels open to me. Twitter, Reddit, Facebook, Google+, Flipboard… the underlying ethos is the same for them all; sharing of knowledge and information with diverse crowds with as little effort as possible.
The real paradigm shift when examining these technologies vs email is in the way information is disseminated. In email, a piece of information is sent to a select few people and then sits there, hidden from the world amidst an ever-growing sea of irrelevancy. In all of the communication channels I use in my personal life, information is flung open to a wide audience in a way that I define as useful to me, ever-flowing and always relevant.
Collaboratively sourced knowledge and information is almost invariably more powerful and accurate than information from a single siloed source – the power of Wikipedia is in its openness, its decriers would claim that it’s inaccurate and open to tampering, yet it remains a vital tool in modern life for many.
Why then can’t I get the same openness and collaboration in the workplace? If I can find my childhood BFF from age 5 in a handful of key presses, why don’t I know what the finance team are currently working on? Or that there’s a project that I can add valuable insight to? Or that the new tracking system the sales team are thinking of buying is one I’ve previously used and can help with?
Siloed, closed communication is a tool of the past. Companies like MangoSpring, Huddle, Jive and others are springing up to take advantage of this market niche, adding a social, collaborative layer to businesses, opening up their true potential.
Lew Platt, former CEO of HP once said “If HP knew what HP knows, we’d be three times more profitable.” Thanks to tools like the above, within companies we’re starting to learn what we know, and for me, that’s a very exciting time to be in a business.