The development of an enterprise solution that allows mobile devices to be integrated into corporate IT, delivers mobile device management and provide users with desktop capabilities, such as file access, printing, faxing or generating database reports, has been in the works for several years.
Business users have repeatedly expressed their desire, especially in light of Bring Your Own Device (BYOD) programmes, to obtain a platform-independent cloud desktop solution that could be used with any browser and virtually any device.
While there are plenty of web-based file explorers available, such websites are still a long way away from providing a true desktop experience.
Initially, on a pure feature level, the implementation of a desktop solution based on JavaFX was deemed to be quite successful, but the graphical design options were limited. The deathblow in the end was the startup time for JavaFX Runtime users. They would have to wait at least sixty seconds without any feedback - a value that most today would find unacceptable. In the end it didn’t matter that Oracle ended its support for the platform, as the full development of the JavaFX client had already been written off.
Against the background of the JavaFX experience and the ample choice of Rich Internet Application (RIA) development methods, it is surprising that the first Windows 8 beta fully supported HTML5 perfectly, but not Silverlight. While Microsoft made some improvements in the Silverlight area, it became clear that the company was now banking on HTML5.
But what makes HTML5 so special?
HTML5 is a standard that runs on virtually all of the latest browsers. Apple, Google, Microsoft and Adobe are all using the new standard, which clearly confirms its strong long-term role for both now and the future. It is a very low maintenance standard to run, as it does not require plug-ins, such as Flash or Silverlight. In addition to being able to present videos and other media rich content, HTML5 excels in mundane web routines.
For example, the standard automatically reloads/refreshes a page to ensure the selection made aligns with the users’ local applications. Through HTML5, users can now do more than simply display images as the standard enables images to be rotated quickly and fluidly. To further support these properties, HTML5 also has the ability to store data locally.
Is the time right for HTML5?
HTML5 is currently a hot topic being discussed by nearly everyone, but a true and tested standard has yet to be decided upon. In a press release announced in May 2011, the World Wide Web Consortium (W3C) set 2014 as the target date for completion. Those using HTML in their development will need to take certain aspects of this into consideration, such as recommending that their customers use specific browser versions. For example, while there has been no further progression of HTML in Internet Explorer 6 - 8, there does seem to be a strong place for it in Internet Explorer 9. However, this version still greatly lags behind competitors in regards to speed.
Despite these difficulties HTML5 does allow users to create very sophisticated solutions. And one thing is certain - whoever can gain HTML5 experience today will be at a clear advantage in the future, as the demand for HTML5 know-how is likely to grow immensely in the coming months.
An example of this is the drag-and-drop-upload, which is currently not supported by Internet Explorer and Safari. As an alternative to this feature, the user is instead offered a conventional upload via filepicker. The Modernizr feature list provides a good overview, however, as with any automatic process, it comes with its own limitations that need to be taken into consideration.
Design and usability - HTML5 and cloud desktop services
While the requirements for a cloud desktop solution are extremely high for the HTML5 project, it is expected to be the ideal platform to meet the BYOD and consumerisation trends for all platforms. But the best design is of no use if it is not user-friendly, which is why any HTML5 cloud desktop solution should go through an internal beta process to gain feedback from the first users.
How to approach a HTML5 project?
As an HTML5 cloud desktop is not a server-based website, but a client running in the browser, communication is optimised between client and server. This architecture is also the structural backbone of the development team, which is a clear success factor in a product development.
Being a true client software (not a server-side website), also completely eliminates the challenge of software distribution. Due to the solution’s easy-to-use features, users are able to install and use it immediately by simply clicking a link.
HTML5 is now feasible and the results are excellent. Development time is comparable, if not faster than the development of mobile clients, despite the time invested to fully understand it. Indeed, the question then arises of what the future will hold and whether native client development makes any sense? Currently the answer for complex applications is quite clear, native client development definitely has benefits.
This will remain so over the next few years, because the HTML5 client has no way to access local interfaces or the operating system, and it is in these areas that the first changes on the horizon are already emerging. Motorola, for example, offers within its Webtops, SDK's USB interface as a web service. RIM, with its WebWorks and SDK for the next generation of BlackBerrys is also working on various local functions. If this trend continues, then HTML5 can fulfill the promise that Java previously attempted.
by Carsten Mickeliet, CEO of Cortado