Moov2 & CBR at Inter Brewery Regatta 2012


May 15th, 2012

Moov2 clients and all round jolly nice bunch Close Brewery Rentals invited us along to the Inter Brewery Regatta 2012, an annual weekend sailing event they were proud to sponsor this year along with their supplier Maisonneuve.

We were honoured to be included in such a fantastic networking and team building event for the brewing industry and would like to thank CBR and Maisonneuve for organising the event. Getting to experience our local waters (The Solent) from a new perspective was a great experience and thoroughly enjoyed by all.

Below are some of the pictures from the weekend of sun, sea and sailing.

Moov2 at Progressive .Net Tutorials by Skillsmatter


May 2nd, 2012

Moov2 will be represented at the Skillsmatter Progressive .Net Tutorials conference 29-31 May 2012. Dan will be presenting a four hour workshop tutorial on HTML5 for .Net developers. The event offers attendees a chance to get deeper into a subject than a traditional conference format where sessions would typically be only an hour long. Alongside Dan are some other excellent speakers and sessions well worth attending.

For more details check out Dan’s blog or visit the Progressive .Net Tutorials 2012 website.

HTML5 App vs Native App


May 1st, 2012

The business case is simple: “If you want to build a device oriented application then you’re better off building a HTML5 web application as you can build once and satisfy all devices. This saves you huge amounts of money by not needing to build and maintain a separate native application for every platform.”

Sadly, whilst in theory the above statement is true, the practicalities are that this is a much less black and white decision. There are many limiting factors within the above assertion that don’t quite add up to such a convincing argument. We’re just not quite there… yet.

In this post we’re exploring some of the limiting factors and points to consider when deciding whether or not to focus on a HTML5 web app strategy, provide a native application for each platform or a combination of the two.

Reach

The device landscape is a very rapidly evolving minefield. Not only do we have many device manufacturers: Apple, RIM, Samsung, HTC, Nokia, LG, Motorola etc. We also have different operating systems iOS, Android, Blackberry OS, Windows Mobile, Symbian etc. It’s no wonder a “build once reach everywhere” approach is desirable! It is possible too, one thing the majority of devices have in common is some form of web enablement allowing them to render web content. This makes HTML an ideal content delivery mechanism, applying appropriate responsive web design (tailoring the content for the screen size) you can reach a near ubiquitous audience.

This is all well and good for pure content delivery, specifically document content. Things get a little more interesting when your content becomes rich (audio/video), interactive and engaging. From here on in the device and browser capabilities need consideration. This means in addition to the manufacturers and operating systems mentioned above, we also need to consider device model, browser, version numbers and even carrier capabilities when planning an application.

Audience

Chances are your application isn’t aimed at every single person on the planet and so there are more factors to consider than simply “how many eyeballs can I reach?”. Identifying your audience can help significantly in identifying the ideal delivery mechanism. Trends in device usage vary significantly geographically and demographically so it’s worth finding out as much about your users as possible and finding out device preferences and usage habits through research. Even better, do your own analysis if possible. If you have an existing customer/user base find out first hand their choice of platform. User habits are also a key consideration, just because users have a web enabled device does not mean they actually do browse the web. Likewise access to an app store facility does not necessarily entail the purchasing and downloading of apps.

Features

As devices continue to evolve so do the features they offer and the fierce competition between manufacturers ensures devices are offering more and more capabilities. The latest browsers running on some devices do offer access to some of these device dependant facilities but are always behind the native implementations. By sticking to the agreed standards process there is an inherent delay in offering access to these new features, a sacrifce made in place of a common implementation. Even with features that are supported, at this point in time there can be differences in implementation until the standards are finalised.

The more mature features are somewhat well supported across the major platforms such as camera, location services and connectivity detection but there are still several important features for a more complex “application experience” that are not so well supported or even available at all:

  • Background processing – the ability to perform long running tasks outside the scope of user interaction or even when the application doesn’t have focus. A commonly available facility on native apps that is not currently possible in browser.
  • Intents / cross app integration – the ability to leverage other applications within your application e.g. an image editor or file uploader. “Web Intents” is in draft specification and Google and Mozilla are working together on a framework to support it but this is a long way of from broad support, particularly on devices.
  • Local storage – There are viable approaches to data storage and file access in most of the latest browsers. However this can not yet be relied upon for broad adoption but the future does look promising.

In time all of the above will likely form a part of web application capabilities but right now they can not be relied upon for all users if essential to your application.

User Experience

The development frameworks offered when creating a native application have an inherent “feel” to them provided by the standard components and development processes for that platform. Users will have expectations for how the application will behave in line with other application experiences they have. Web applications offer no such common approach. Users conditioned to the way applications look, feel and behave on their chosen device might not be as comfortable with an application that crosses platform paradigms. However it is certainly possible to create a poor native experience, just as you can create an excellent web experience. Due consideration to the users expectations for applications on their device should be paid.

Monetization

App stores are built with a monetization model already catered for. If you intend to sell your application then the transaction process is predetermined with a native application. For web applications this is less clear. Subscription models and pay for access are viable approaches which have the advantage of not having to pay commissions to the app store owner. Bear in mind however, app store users are already conditioned to the payment process and may not be as comfortable with a break from the standard.

Future proofing

One thing we are sure of with regards to the future is that the web is going to continue to play a big part in it. HTML5 looks set to be responsive to evolution (hence why it is and will continue to be an evolving specification). A well structured web application can be open to extension and enhancement as new capabilities become standardised and commonplace. Choosing an app store has somewhat less certainty associated although it is certainly hard to see the powerhouses like Apple and Google losing traction any time soon.

Conclusion

As usual the answer comes down to “It depends” but we’ve explored a few of the key considerations when choosing your app strategy. There are also hybrid approaches such as PhoneGap that mix the benefits / drawbacks of each approach offering closer parity to device capabilities but with a dependency on a third party framework and similar issues with regards to user expectations.

We are heavily invested in web and native mobile applications development, if you think we can help give us a call on 01202 398 380 or email info@moov2.com

Microsoft Kinect SDK Development


April 11th, 2012

Microsoft recently launched an SDK (software development kit) for their futuristic interface device Kinect at www.kinectforwindows.org. Originally available for their Xbox360 gaming system, the hands free, gesture-driven, infrared controller can now be integrated as an input device for custom applications.

We were keen to play around carry out some R&D with this new realm of user input and have developed some simple demo applications using the SDK:

The opportunities available from such an unrestricted form of digital interaction are fantastic, we’ve had lots of ideas for promotional installations, games and other thoughts as to how Kinect could be leveraged in many different software applications.

Have some ideas? Get in touch on 01202 398 380 or info@moov2.com.

.Net MVC Boilerplate


April 5th, 2012

The first comprehensive project to arise from our Moov2 Labs portal is .Net MVC Boilerplate.

In essence, this project provides a jump start for any new project based on the ASP.Net MVC framework saving hours of set up and configuration.

It encourages what we consider to be best practices development, modern HTML5 semantics, responsive design for mobile device support and has a comprehensive unit testing suite. Using .Net MVC Boilerplate allows a project to be kick started in seconds and provides not only a useful set of default functionality but a great guide to some of the best development practices we have picked up over the years.

By making the project open source we hope other developers will be able to make use of the project, learn from our experiences and also contribute back to help evolve the project further.

More details available about the project:
On the Github source page

Is HTML5 ready for enterprise applications?


April 3rd, 2012

Anyone who works with anything even remotely related to web technology will no doubt be aware that HTML5 is all the rage of late. HTML5 is said to offer many advancements and opportunities to the world of web development. However as ever in the tech industry, it does come with its naysayers and technical drawbacks which must also be considered. We have been following the evolution of HTML5 for some time now and want to share our thoughts as to the suitability of HTML5 for enterprise application development. But first of all a brief history lesson…

In the beginning…

Man created the web, defined the HTML language and all was good. People from all over the world were able to curate, connect to and share documents on this new medium called the Internet. But before long, we wanted more. More functionality, more richness and more speed. Simple documents were not enough and we wanted engagement. Massive advancements in connectivity technology has given us significant speed improvements from the dawdling days of dial up. This speed increase has enabled the richer content and increased functionality we desire. However, the mechanisms for delivering such content have always been somewhat of a bumpy road. Some of the more significant attempts include:

  • ActiveX – Reusable programs that could be embedded in Microsoft’s Internet Explorer offered more of the host platforms functionality to the user via their browser. The technology was hampered by being Windows-only, Internet Explorer-only and very clunky. Whilst useful for specific tasks in very controlled environments, it was really quite cumbersome for developers and severely restricted by its limited reach.
  • Java – The Java runtime is still a prolific platform available on most modern operating systems as an additional download. Unfortunately Java has never really excelled at delivering a great presentational experience for users. The additional download and browser plug-in again adds an installation and maintenance headache for enterprise-wide implementations.
  • Flash – In more recent years Flash has been the front-runner of advanced web applications. The introduction of the Flex framework brought enterprise grade software development practices to the web and the ubiquitous reach of the flash player offered the greatest potential numbers for a ‘build-once-run-anywhere’ development (many browsers came bundled with the Flash plug-in pre-installed). This was at the height of browser wars so the abstraction of differences between browsers was a welcome benefit too. However, again Flash was a proprietary plug-in and came with it the same install, update and security issues afflicting the other technologies.

And so the wider web community have pushed back, requiring a more standards-based solution to our interactivity needs.

Enter HTML5! Finally it seems, the standards bodies, guided by passionate individuals and obedient browser vendors are starting to come together to offer a much more aligned environment for feature-rich web application development. All of the major players (Microsoft, Google, Apple, Adobe etc) are investing heavily in HTML5 making it seem like a very serious contender to be the platform of the future.

So why should we care? (AKA: The benefits)

Okay so what is all the fuss about then, what does this holy grail of html offer us that we were so severely restricted by in the past?

Cross Platform

Well, HTML5 is inherently cross platform. Every browser vendor is now striving to offer some level of compliance with the specification thus making the web browser a consistent delivery mechanism regardless of chosen operating system. This makes it ideal for organisations who service users of the Windows, Mac or Linux persuasion and also caters for users with a specific browser preference.

Cross device

Not only operating systems, but HTML5 is a cross device platform too. Modern smartphones such as Apple’s iPhone, Google’s Android and Windows Phone 7 all offer browsers delivering on the HTML5 promise to various extents. The same applies to popular tablets such as the iPad, Amazon Kindle or even Internet TV browsers. This means that if your web application is built right, it will fulfil opportunities far beyond the constraints of the typical desktop.

Plentiful Resources

Another distinct advantage of HTML5 is that the crux of the platform relies upon a common skill set. HTML5 is not a completely new platform but builds upon the HTML, CSS and Javascript legacy that precedes it. As such there is already a huge market of developers armed and able to become all powerful HTML5 masters. Whilst there are specialisms between devices and different server architectures the underlying foundations are a highly transferable skill set.

Accessible

Following a common standard also enables a broader level of accessibility compared to proprietary platforms. Now screen readers (or any other web consuming software) can portray content consistently across these same operating systems, browsers and devices.

Future Proof

Microsoft have already announced HTML5 is a first class citizen on their upcoming Windows 8 release and Apple have equally demonstrated their commitment to HTML5. The support from the major vendors coupled with the emerging best practices HTML5 development such as responsive web design (an approach to supporting multiple screen sizes) and progressive enhancement (enabling application features based on the supported functionality of the consuming device) means that applications developed for HTML5 are now future-proof and will be easily upgradable as more and more of the HTML5 specification is finalised and implemented. Equally, building support for HTML5 targeted at the devices available today likely means support for the next generation devices, in whatever form they come, of tomorrow.

Where’s the catch then?

Unfortunately as always, there are trade-offs to be considered when contemplating a HTML5 development project. As has been alluded to, support for HTML5 is somewhat ‘progressive’. The final specification is still being compiled and is likely to be in a state of continuous evolution for many years to come. However, that’s not to say that parts of the specification aren’t already available for use. They are and offer significant advantages and are well supported in many of the leading browsers.

This leads us to another problem, which is that of browser differences. Each browser vendor have their own views on how the HTML5 specification should be implemented and have differing priorities on which elements to support. However, this is not nearly as much of an issue as it has been in the past. As parts of the specification are confirmed the final implementations tend to align between browsers and it’s only the more experimental features where the major differences occur. Additionally, development frameworks such as jQuery, Sencha and libraries such as Modernizr exist to abstract and handle these differences seamlessly increasing productivity for developers.

HTML5 is also still a relatively young platform, even though it builds on an already strong foundation, the development tools used to create HTML5 applications are still having to evolve at an extremely fast pace. In many aspects of development, developers will be pushed out of their comfort zone to find the best set up for them and the absolute best tools are likely yet to come.

Although HTML5 does offer a much more comprehensive feature set than has been traditionally available in-browser, there are still many scenarios that may require more than is available. Copyright protection, complete hardware integration, advanced video and lower-level operating system functionality are all still a bit far from common browser capabilities at the moment and need to be handled by other means.

In Conclusion, is HTML5 ready for prime-time enterprise applications development? YES!

Now is the absolute best time to be investing in HTML5. Despite the aforementioned challenges, there are still significant advantages to be gained with the adoption of HTML5 as the basis for your enterprise applications. There is an absolutely huge, collaborative community rallying around to support and enhance HTML5. Sharing their learnings and working with browser vendors to help produce the best web experiences ever. It is a very exciting time to be involved in web development and this evolution should be seized within enterprise applications equally as much as the wider web.

Most of what we’ve covered here isn’t specific to enterprise applications development but is equally relevant to them. We wanted to highlight HTML5s suitability and in future posts we’ll focus more specifically on some of the different considerations within enterprise and how the application of HTML5 can achieve huge benefits for internal projects.

Please do get in touch and discuss the opportunities HTML5 can realise for your next project
01202 398 380 or email info@moov2.com

Introducing Moov2 Labs


April 2nd, 2012

Moov2 LabsOne of the biggest challenges in the web/software world is staying abreast of the phenomenally fast evolution of technology. As a development agency we need to be in a position to advise our clients of which are the most appropriate technologies for each project we engage with.

Fortunately we love diving in and playing around with new tech and experimenting with new approaches to development. If there is an opportunity to do something better, faster or different then we want to know about it. Moov2 Labs is an outlet for these experiments so we can share and discuss with the wider community.

Moov2 Labs is our playground of ideas and experiments, the entire source code for the site and projects is open source (available on github) so anyone can benefit from it.

Take a look at the first few projects available on Moov2 Labs and keep an eye out for more in the future.

New hosting partners: Peer1


March 30th, 2012

At the end of last year we changed our web hosts to Peer1. After meeting and reviewing many alternative web hosts we settled on Peer1 and have been so impressed with them we’ve now become a Peer1 partner. This means we will be working with Peer1 to help ensure our clients have the absolute best hosting options available.

Yesterday we took a tour of their brand new data centre in Havant (conveniently local to us) and were very impressed to say the least. It is one of the worlds most advanced data centres. Cooling, power and data are all implemented with an impeccable attention to detail. Utilising latest technology, paying due consideration to the environment also makes it the greenest data centre in the UK.

The UK’s Greenest Data Centre

Great people

Mind bogglingly clever technology aside however, what has impressed us most about Peer1 are their people. True to their “Ping & People” slogan, the personal service offered by a team who genuinely care about our needs really stands out from hosting services we have received in the past. This means we can confidently recommend Peer1 to our clients knowing they’re in the most capable of hands and will receive the attention they deserve.

Sharpening our skills with Improve-on.com


February 20th, 2012

Whilst we love working on our clients projects, sometimes it’s good to “do as we say” by developing our own software projects. Moov2 have recently been working on a new HTML5 website Improve-on.com “a crazy quick approach to explain, sketch and share your ideas about any website”.

Improve-on is an experiment in “The Lean Startup” methodology and a chance for us to demonstrate our latest skills and processes. This has been a very successful exercise and left us with a lot of technologies and approaches we can now incorporate into our client work.

What is Improve-on?

We believed there was an opportunity for a website to exist that allows users to share their thoughts and opinions about other websites in a manner that allows the idea to be communicated visually. The overall goal is to create a community of users who are creating and sharing ideas with the objective of collectively improving the web for the better. People often share their views about websites through various online channels such as Twitter and Facebook.

Improve-on is an outlet through which we hope to channel these opinions into constructive, actionable feedback which website owners can take advantage of.

Why?

For us at Moov2, Improve-on is an opportunity to explore some new technologies and create a showcase item to demonstrate our approach to software projects. Improve-on is being developed following the Lean Startup methodology and agile development principles and is a great example of what these practices can produce. The current feature set for Improve-on has been developed with a small development commitment over the past few weeks and already boasts a wealth of measurable functionality. The ability to quantify progress is key when following a Lean Startup approach, this is explained in more depth later.

What is “Lean Startup”?

Lean Startup is a term coined by Eric Ries for the methodology described in his book of the same name. It is the subject of a current popular entrepreneurial movement in both startup businesses and teams within larger, more established organisations. The approach is derived from experiences within technical organisations but is also being proven in other verticals. What interested us at Moov2 about the approach is the focus on short, fast learning cycles resulting in factual data (referred to as “validated learning”) upon which to base subsequent strategic decisions. This suits our agile approach to software development and helps marry this with business orientated goals.

What technology is used?

This is the geeky part so please feel free to skip this section unless you like your acronyms and techno-babble as much as we do!

Improve-on was a good opportunity for us to put some of our recent training into practice. The site is built using Microsoft ASP.Net MVC3, uses the nosql database MongoDB and also utilises several best practice tool-kits for HTML5 including HTML5 Boilerplate, Modernizr and Lesscss. The site has comprehensive unit test coverage and is deployed using Jenkins continuous integration server. As a result we have been able to confidently release new updates to the live site on a near daily basis.

What does this mean for client projects?

As mentioned, several of the techniques we used throughout the planning, development and implementation of the Improve-on website will prove useful for our client projects.

Release early

We put the site live and invited real users to start using the site as soon as the core functionality was available. This offered the opportunity to get feedback from real users very early on, this gave us some early feedback as to whether the site was going to be useful and also brought some unexpected issues to light which might have otherwise been missed until much later on when the implications of rectifying them would have been much greater.

Release often

We adopted very short iteration times which means we not only had a working website online and usable very early on (within the first few days), but kept updating it frequently with new features. This allows our users to see rapid progress and also ensures any issues are addressed quickly.

Clear Hypothesis

The overall objective of the site was to find out if there was demand for a website through which people could share their ideas about other websites. This was our underlying hypothesis upon which the success of the site would be determined. With this in mind the initial site developed offers just enough functionality to prove this hypothesis or otherwise. If there turns out to be zero uptake of the site, negative feedback about the implementation or it just gets used in a manner different to how we expected then we will find out very quickly. This is as opposed to thinking about every possible feature we could offer and not launching the site until we have something which delivers that. By this time we would have wasted huge amounts of time and resource for a potentially undesired project. By keeping our focus narrow we are able to monitor the site against our hypothesis and react accordingly should things pan out other than expected.

Monitoring

Monitoring is another key aspect we incorporated into the development of Improve-on. By clearly defining our hypothesis early on we were able to define specific metrics to determine whether or not we are on track. The value of these metrics prove critical in answering our initial hypothesis so we wanted them in place from the start. Without this we would only be able to determine the relative success of the project by purely interpretation of whatever details we can get when we choose to review it. Clear metrics in place from the start allows us to constantly review our progress and also fine-tune the development based on the facts our data tells us.

What next?

Improve-on has just been launched and we are using our metrics to keep track of it’s progress and acting on feedback from users to keep evolving the project. However, even by itself as-is, Improve-on is a clear testament of the development skills we have honed at Moov2 and how fast a project can be put together following the principles outlined in this post.

If you have a project you feel could benefit from a Lean Startup approach give us a call to discuss now on 01202 398 380 or email info@moov2.com

HTML5 and Flash – Our thoughts


December 17th, 2011

Adobe flash player logoThere have been a number of announcements and a lot of commentary on the future of Flash, Flex and AIR in the past few weeks. As a software development agency with significant experience in these technologies, we have received a number of enquiries as to our thoughts on the matter.

"Flash is dead"

Probably one of the most bandied about phrases in web technology discussions. And Flash has by all accounts, been dying for some time. Out of interest we did some digging to see if we could find the earliest declarations of the demise of Flash and found one reference to an early touted “Flash Killer” article from March, 2000. Ironically, this was with regards to a tool from Adobe themselves in the form of Live Motion before their acquisition of Macromedia (who owned Flash) in 2005.

silverlight is deadIn more recent years of course, Microsoft entered the arena with Silverlight. Another similar rich, browser plugin-based platform which arrived with similar Flash slaying fanfare from various tech journalists and bloggers. Whilst Silverlight has had no real impact on Flash’s success it has picked up its own momentum and experienced a decent uptake. However, it too is seemingly now in the same firing line as Flash.

So with some perspective then, is Flash (and Silverlight) dead? To our mind no, certainly not. However, things are changing and both Adobe and Microsoft are showing a shift in focus towards the support and tooling for web development to be done in HTML5. Adobe have announced they will no longer be developing the mobile in-browser Flash Player (note this is Flash Player on a mobile device in the devices web browser). Adobe also announced that in the long term, they believe HTML5 is the best technology for enterprise application development. Microsoft has announced Windows 8 and it too has a very strong focus on support for HTML5 applications. So whilst nothing is dead there are clear signs attention is being directed towards HTML5.

Is my application doomed?

Flash was first available in 1996 and is now up to version 11.1. Content written for the original Flash Player will still run today on the latest version, every release has maintained backwards compatibility. There are going to be no issues with any Flash based applications in the foreseeable future. Adobe are still actively developing Flash and AIR and have made no indication they intend to drop the platform.

How does this affect Moov2?

As mentioned previously, whilst these technologies are not dead, things are changing. This is business as usual for us at Moov2 and any other software technology company worth their salt. The technology and tools we use are always changing. Adobe and Microsoft have shown their commitment to HTML5 as the preferred platform for the future of web applications development and we happen to agree. We have already been working on several HTML5 applications and have been very pleased with the results.

Where next?

html5 logo

We will be tackling more HTML5 projects in the coming months, we’re also aware there are still some things that aren’t best achieved with HTML5 alone. Fortunately we can still rely on Flash, Flex, Air, Silverlight or whichever other technology is most appropriate for the task at hand. Of course the other hot topic to which we’ve been giving a lot of attention to recently is mobile development.

If you’re concerned about your current or future technology options get in touch and make use of our extensive experience
01202 398 380 info@moov2.com.