Friday, May 16, 2014

Talking "community" on Channel 9

On Monday* I was interviewed for App Hack Monday as part of a conversation about "Guide to making the most of local app communities".


You can watch it at http://channel9.msdn.com/Shows/Appy-Mondays/App-Hack-Monday-5-Guide-to-making-the-most-of-local-app-communities

Here's one comment to give you an idea of what's covered:
"This short interview actually tells a lot about ICT events, and how they have been changed over the years.Very good and entertaining yet informative, thanks, I am going to participate"


* It was actually recorded last week ;)

Monday, May 12, 2014

Microsoft & Cordova (PhoneGap) sitting in a tree...

An exciting announcement from the Microsoft Open Technologies group today as they announced integrated Visual Studio support for cross platform development.
At //BUILD/ it was announced that WinJS would add support for Windows Phone and is being open sourced to allow for support of Android and iOS too.
Of course, this left one massive question: How does this sit with PhoneGap?
Unfortunately I was unable to meet up with anyone from the team to find out more and see how the two can live together. Now we seem to have an answer though.

This is very exciting. - Especially considering my history ;)

You can read the full details of the announcement at http://msopentech.com/blog/2014/05/12/apache-cordova-integrated-visual-studio/?scid=social23750084

Friday, May 02, 2014

Where we write optimised code: then and now

It wasn't so long ago that code written to run on a mobile device was so constrained by memory and processing power that it was really important to take time to optimise that code for performance. Despite the physical and technical limitations of the device we still wanted a good experience from a seemingly fast and responsive application.
In contrast the code that was written for the back end server was running in an environment so, comparatively, rich in resources the performance of that code was rarely ever considered. It didn't matter that it was inefficient as it still executed really quickly.

Fast forward to today and things have reversed.
Portable devices now have specifications that put the laptops and PCs of a few years ago to shame. As long as code is written in a vaguely sensible fashion, performance issues due to the inefficiency of code now rarely need considering.
On the flip side though, the code that is now running as part of the back end services is no longer on our own powerful server somewhere. Instead it is running in the cloud where we pay for execution time and so performance again becomes an issue.

We used to optimise on devices for the user experience. Now we optimise the code running on the server (cloud) to reduce costs.
Both help the product/company and all that time we spent learning to write efficient code was well spent.

Thursday, April 03, 2014

The sad realisation about Windows 8.1 Update 1

No it's, not the name.

So, the newly announced, latest update to Windows 8 adds better support for people using it on a device without touch.

Guess what? that's most machines running Windows.

Is it any wonder that, broadly speaking, people who don't have touch input on their Windows 8 machines don't use store/metro/modern apps?

You could argue that this is the age old story of Microsoft taking 3 versions to get something good but it just makes me sad.

I'm sad because I know how much trouble many developers had trying to even begin comprehending how to create a good touch interface when they'd spent their whole lives working with just mouse and keyboard. (And if I'm honest I've seen very few apps that work well with both mouse and keyboard.) For lack of any other guidance they typically followed what Microsoft were saying to create an interface that could be used by both mouse and touch input, but ultimately that didn't turn out to be the best advice and the underlying platform was inadequate for providing a good experience.

Ok, things are getting better but the rate of improvement seems much slower than the rate of change.

The thing I like about technology and the reason I work with it is because of the potential it has to improve lives. When that technology is mobile that potential gets expanded further still. Internet connected devices the world over are making tasks easier, improving health and even saving lives.

With so many smart people working in technology why do we still have so many low quality apps? Why are so many apps just recreations of things that already exist? Where's the innovation? Where are the people creating exciting new apps that push the boundaries? Or why are the majority of developers happy to just keep doing the same things over again? Why are developers happy to create sub-standard experiences just because of the limitations of the platform?

Let's push things forward.

Rant over.


4 screens and the cloud, and things

This is what I took away from the Build day one keynote. Microsoft are really starting to acknowledge that the future of computing is truly ubiquitous. Lots of different devices used in lots of different ways and all connected to the Internet.

Broadly, devices fit into two categories, those with screens and those without.

Those without being those that are part of the, still not widely appreciated or fully understood, Internet Of Things.

Those devices with screens comprise: phones; tablets; PCs; and TVs.
Of course "phablets" blur he lines between phone and tablet. Plus some laptops blur the line between tablet and PC. Generally though, these terms cover the vast majority of current computing devices and the terms are broadly understood well enough to be universally usable.