HTML 5, Native Apps, the iPhone and Windows 8

7 03 2012

I have been a tad quiet on the blogging front for a little while, simply because I haven’t had time really to sit down and write anything (though I have found time to read a lot)….Ok excuses over…

In this post I want to look briefly at the whole HTML 5 Vs Native app debate, and how Windows 8 potentially changes that landscape…

 

HTML 5

It’s something that has been a dream of developers, a single code base, a single “app” if you like that works on any system you can think of. HTML 5 does deliver that, well sort of. You see HTML 5 maybe being touted as that multi platform solution, but the whole architecture of using a browser and HTML isn’t right for actual applications. If you want to present some information and some basic functionality (think blogs for example), then HTML makes great sense, and that after all is what it was originally conceived for, to deliver content (not applications) to any machine.

The issues arise when we start to use HTML to deliver actual applications, and this is something that has been going on for some time – long before HTML 5 raised its head (my own companies have done this too). There is nothing wrong with web apps as such, but you must realise that they do lack certain functionality, and equally important, the user experience is NOT as good as a native application.

 

The iPhone effect

Before the iPhone was released, many software development companies were starting to deliver real business solutions as “thin client” applications – essentially web apps. I personally hated these, but did see the benefits when it came to roll out, updates etc over standard “thick client” applications. Many companies even started to deliver apps via FLASH, providing the software with a richer environment, much improved user experience but still rely on the distribution architecture of the web to actually deliver the app to the end user.

With mobile devices, there was no flash support, and we started to deliver “mobile” web apps, though not that great and a little clunky, they did work to an extent…But then along came the iPhone and this did change everything.

The iPhone had a much better web experience than any other handset, yet still using web apps on such a device was not good. The iPhone though had an app store, and an environment that worked well for delivering applications to the device, and these were native applications, applications that actually worked very well and provided the user with a much improved experience. All of a sudden to support mobile well, it was expected you write a native app…

 

Flash support

Flash did provide great experiences over the web architecture; the whole plug-in concept did get round so many issues with traditional thick and thin client apps, though Flash did have a lot of issues, especially security ones…Flash was also dependent on support on the device, on PCs this wasn’t a problem, but on mobiles etc the game was different.

By not supporting FLASH and singing the praises of HTML 5, Apple effectively killed off the browser plug-in and cross platform support for technologies that could deliver thick client experiences in a thin client fashion. Instead, Apple forced that user experience to only be available via native apps, as it knew all too well, no matter how good HTML 5 is that it cannot compete with native applications…

 

Native Apps

I personally think the whole native app experience is far far better for the end user. Native apps deliver great usability, the look good and their functional capabilities far outweigh the potential of a web app. The App environments provided by Apple and now Microsoft also negate so many issues associated with installing “dodgy” software.

By controlling the distribution of applications, Apple and Microsoft effectively can ensure (to a high level) that the applications are good, that they perform well (which makes their device look good) and just as importantly, know the application isn’t up to no good. The problem with the web, installing plug-ins or actually applications is that the end user doesn’t have anyone else saying “yeap, this is fine to install”. As a consequence, the majority of computer problems, viruses etc are born out of the end user installing something by being tricked into thinking it was safe….

 

Native expectation

So many of us are now used to the native mobile app experience,  which we like, that we now expect the same sort of environments on our desktop machines, tablets go without saying.  Because of this, Apple and Microsoft are providing app stores on desktop machines, which potentially changes how we install applications on our machines – and the sort of experiences we start to expect. You could argue that the iPad has really started this migration of “apps” from the mobile phone to general devices that we use…

 

Windows 8 effect

Though the iPhone and iPad dominate their respective market places, Apple don’t dominate the desktop, and we must remember that the desktop is still a massive market. Windows 8 no matter what is written about it will change the desktop, and with Windows 8 you can only install “metro” apps via the application store. These apps are immersive full screen rich experiences, and they are native applications. So, just as we see with mobiles, we will start to users opting for “apps” over HTML 5 web experiences.

For businesses, even micro-online retailers, the importance of delivering native “apps” appears to be growing. On the plus side, this means you have the opportunity to really deliver applications and experiences of note to consumers, on the downside, you have to realise that you need more investment in the front end of your applications. (Mind you, the amount of time spent making sure your HTML website runs the same on all browsers across all platforms, and then is mobile compatible etc etc the difference may not be as great financially as you expect).





Silverlight, WPF, HTML 5, Metro and err…Flash…

20 09 2011

There is a lot of talk about these technologies, especially
after the Windows 8 BUILD preview. For many, Silverlight and WPF appear to be
dead, simply because it isn’t supported in the Metro world of Windows 8…This
technically is and isn’t true, depends what you think is in a name…

Windows 8 Metro

Looking for Files from any application in the Metro world, 1 single user experience

WPF and Silverlight

Both of these are essentially built on .NET libraries, which
in the desktop mode are still there, just as they are in Windows 7. However, in
the Metro world, these libraries have made their way into the WinRT library
collection, with this in mind and the fact that Metro runs XAML, you see that,
well the names may have changed, but Silverlight and WPF does run in Metro.

To “Metro” your application you do have to make some
changes, and these are very small indeed, we are talking a few changes to
include libraries and that’s about it. These changes though appear to be mainly
focused on touch enabling your application fully in the Metro world.

So if you wrote WPF applications and or Silverlight apps
that run OOB (out of browser), then things are pretty much business as normal. However,
if you wrote RIAs in Silverlight and had them running in the browser, then you
won’t be too happy. You see IE10 in the Metro world will not support plugins,
and that’s probably all down to touch and touch based libraries. If you want to
run Silverlight in a browser, then you need to be in desktop mode and use IE10…Not
perfect, but makes sense…

We also have to remember what we want to have as our
experience on the machine. You see, Silverlight in browser mode, and even
Flash, does deliver “Applications”, but the user experience can be very
different between apps. In the Metro world, Metro isn’t just about making your
apps run on that part of the OS, but is also about a seamless experience, look
and feel between all applications. It is also about integrating these
applications with the OS and other installed applications. What does that mean?
Well you cant have a Flash or Silverlight app running in Metro that then doesn’t
behave as other apps do, or more importantly how a user expects them too. In
the Metro world we can “Search” inside apps, we can seamlessly share content
and data between apps that never knew anything about each other. If we allow a
Silverlight app from a browser to run, then it won’t support this level of
experience, and more often than not, it won’t look and feel like a “Metro” app.
That consistent look and feel is what users want, expect and Microsoft has to
enforce…

Charms and searching within Apps

All apps should behave the same, deliver that same look and feel and support functions such as "Search" and "Share" in the same way. A single user experience

Apps

Apps are essentially the future for the desktop and the web,
Microsoft understands this, just as well as Apple does. You see the web was
never designed to deliver us “Applications”, rather it was designed and
architected to distribute and deliver content. This is primarily why we have
plug-ins for browsers, as even HTML 5 has limitations on what you can and can’t
do. Throw into the mix the horrible issues that arise with browser
compatibility and you see why Apps are far better for the user and for the OS.

Just as we have with mobile phones (and Apples iPad for
example), we will have an app store, which allows us to purchase (or get for
free) applications, for Windows 8, these will be XAML (WPF / Silverlight apps)
or HTML 5 with Javascript (though I believe and suspect XAML will be the
technology of choice).  In this way, Apps
will behave in similar fashions, so it makes it easy for any user to add more
apps to their machine and use them quickly and efficiently. This isn’t the case
with browser plugins nor with typical “chrome” based applications.

Death of Flash?

Well not really, but I do fear this signals the beginning of
the end for Flash. Essentially if you develop in Flash, I would be jumping ship
fast! I also have a chuckle when I think of apps such as Tweet Deck, which essentially
will have to be “Metroed” or make its users have to move to the desktop. Since
I have seen Tweet@rama in demos on Windows 8, I think Tweet Deck will have to
get itself “Metroed”, if it wants to stay alive…

Flash will be on the desktop side of things only for Windows
8, and that includes AIR. So what does this mean for Flash? Well why would a
user want to “flip” into desktop mode, go to a website or open a Flash based
application and leave the lovely Metro world behind? It isn’t going to happen.
Sure for business applications, complex studios (such as photoshop), users won’t
mind moving back to the desktop, but then it makes sense to be in desktop mode
for these kind of complex applications. But most things in Flash are either to
enrich our web experience or to provide a cross platform simple(ish)
applications – such as Tweet Deck. So in the new world, those apps would be
delivered by XAML in Metro and by HTML 5 in the browser, leaving nothing for Flash
to deliver.

The future…

Well the future of the web is HTML 5, the future of real
RIAs is Apps as too is the future of desktop applications. For complex
applications and legacy applications we will have the classic Desktop mode from
Windows 8, and I think this makes a lot of sense. Essentially Windows 8 is
everything to everybody; no matter what they want, expect and need to run…

WPF and Silverlight developers will simply be named Metro
developers (or something similar), web developers HTML 5 developers and Flash
will slowly disappear from the PC as it has already the iPad and probably Mac
OS…





The future of the web? Apps all the way…

11 02 2011

This year will be the first year it is believed, that web access will be carried out on more mobile devices than actually through a PC or laptop. That’s a massive shift in the way we use the web. But don’t think that means we are sticking with browsers and HTML 5 even. What it really means is that more of us are looking towards mobile apps for access…

Take an example, do you from your mobile device use Tesco website for your shopping, or do you use their app. Almost everyone will say the app (if you shop at Tesco via the web that is). So why do we use the app and not the website? Simple, user experience…

Apps User experience

The problem with mobile devices is the screen real estate, they are simply small, even when you use an iPad, the real estate is smaller than a traditional netbook or my 19” wide screen TFT monitor…So seeing everything can be tricky, and it means scrolling around a lot. Secondly is the experience, waiting for pages to load over the web etc etc.

Apps provide a more “desktop” type experience, often loading is done in the background or even core data is stored on the device. So that means performance is greatly improved and we don’t have to pay greater network charges. In addition, apps are designed specifically for the realestate problem, so we get nice smooth experiences which make browsing using a web browser pale in comparison…

What can we learn from this…

What we learn is that, HTML 5 may be the future of websites and even rich internet experiences on the web and to some extent mobile devices, but the future is still on the device itself. Running software via a browser is architecturally inefficient; it’s very restrictive and comes with no end of issues. That’s simply because the web was not designed to deliver applications, rather it was designed to deliver content.

Can we deliver “apps” to the desktop? Yes we can. This is something I am a strong believer in. The web is great for delivering content and communications between the client and a server. If we make the small leap that components of an application are content, then we see that we can deliver desktop apps down to the client via a website, and have them communicate with servers in the cloud over HTTP. This is why I love the Silverlight model, as it’s all there…

Delivering applications this way makes the most of the web architecture and leverages all the benefits of being on the desktop, just as “mobile apps” make the most of being on the device. This is a great way of delivering real applications to business users, either over the web or intranet, running them out of the browser. You have a desktop app, with all the flexibility of a web app. A great solution….

Facebook scenario?

I’m not saying this is where we should all be, but websites such as Facebook would benefit massively from having a desktop app version. Why? Well how many people do you hear actually compliment the Facebook website on its looks, feel and how they use it? I don’t think any, rather I hear constant moaning about its performance, lack of intuitive navigation and, well the list goes on. The only good point is that they can access it over the web. But, how many use Facebook the website on their phone? Hardly any, rather they opt for their devices Facebook app (which delivers a better experience than the website most times). So if you had the choice as an end user, would you  have a rich desktop app for Facebook, rather than having to go to the website? I know I would!

Silverlight and Flash can deliver those capabilities, HTML 5 cannot. I think the future should be HTML 5 for websites, Silverlight and or Flash for desktop “web” apps…





HTML 5, Flash, Silverlight, The Cloud…The future is here?

8 11 2010

I.T. seems to be at one of those cross-roads in terms of how people use software, where they use it, and how and where they choose to store their data.

There has been a lot in the press regarding HTML 5 and I have posted some thoughts on this in the past. There has been equally as much speculation as to the future of technologies such as Flash and Silveright and whether they are now redundant technologies as HTML 5 moves closer. In addition to these, rather large discussions, we are also talking about moving content and software away from traditional servers and PCs, and handing control over to the “Cloud” and “SkyDrives” etc…

So this post is looking at indicators of where we may all end up based on feedback I have received from businesses, the general public, phone professionals and my own thoughts…

HTML 5

This is the easiest one to start with really. HTML 5 will be here, at some point. Many say a lot sooner than I personally believe and many (as there always are) saying this will change everything (which it won’t at all). What HTML 5 will do, is simply to replace the need for browser plug-in to enrich a users web experience to an extent. For example, we will no longer typically use Flash or Silverlight to just stream video, give our website some pretty animations etc etc. Some will argue that’s a good thing, and if you are a purist (in terms of open environments, using only HTML to deliver content) then yes it is. For Video and animations, yes it is a good thing…

However, there are big problems with the whole architecture and the way HTML and the web in general works. The problem here is the web browser. When the web was conceived, the browser was simply an application that displayed some content, it wasn’t to be used as an environment in which processing can occur. But, we are here, and the browser is used to run “script” and to initiate communication between the client and the webserver…HTML sets out standards, but, with everything, with multiple choices (in terms of browesers here) you get different results. No matter what standards are in place, web browsers handle, and will handle the same HTML and even script differently to each other. This is a horrendous state of affairs, meaning that the same website has “allowances” for multiple browsers. This isn’t good…From an end users point of view, “who cares”, but from a development, maintenance and cost point of view, this is not acceptable really. Even if the browsers did handle it all the same (or got very close), testing would still need to be made on each browser platform, and for every time a new browser is released / updated. But this is where we will still be with HTML 5, don’t listen to any marketing hype or to any so called “experts” on this….This is simply the facts….HTML 5 will not change the web for us at all…

Silverlight and Flash

HTML 5 will have a big impact on Flash I believe, after all sites that utilise flash do so to enrich the website. HTML 5 will do this, and unfortunately for Flash, developers will adopt this and leverage it before they look at Flash. So where can Flash go? Well there are still many things Flash can offer that HTML 5 won’t be able to, or at least won’t be able to offer consistently across all browsers. Because of this I see Flash filling small gaps that HTML 5 leaves (the same applies to Silverlight). I do think though Flash will see a massive reduction its use on the web, but will maintain its use for presentations, short movies, and games.

Silverlight is a little different. I have never really seen Silverlight as a pure web technology, and those out there who keep comparing it to Flash or HTML 5 obviously know nothing about Silverlight. Sure Silverlight can give you animation online, deliver RIAs, stream movies etc (all that Flash and HTML 5 can do), but Silverlight has a lot more to offer. The architecture behind Silverlight I feel is spot on. It mixes both the worlds of Desktop and Web seamlessly, effectively delivering desktop applications (with all their power) via the internet for installation, communication and maintenance. This is very different to HTML 5. Because of this, developers will use Silverlight for business applications, for RIAs that need to do more (integrate, carry out complex functions etc) and all without the reliance on the browser or server doing processing jobs. This reduces testing and ensures a single code base (and that’s how it should be). In addition, you get frequent updates, and full support from Microsoft, which again are good things for real developers…

There has been some confusion as of late (mainly in the media and Microsoft haters) as to the value of Silverlight to Microsoft and the fact that it is also used on the new Windows Mobile & platform. Let’s get this clear, Microsoft will concentrate more now on HTML 5 as HTML 5 is a big online technology, and it needs to keep up with others. So this is no surprise. However, Silverlight is and will remain a core development platform for the web, RIAs, Out of browser applications and experiences (which it does now). Sure the Silverlight team will also now work more on its Mobile use and adoption, and that’s because they need too. So all we are talking about is prioritisation of the progression of Silverlight. This is clear from reading up on Silverlight, looking at Microsofts future plans and listening to what is said rather than reading between lines when a press release comes from Microsoft…Silverlight will become increasingly more important to Microsoft in the future, as more developers realise that they can use a single platform to code for the web, the desktop and mobile devices…

Cloud computing, SaaS and SkyDrives

I mention SkyDrives here as that is what Microsoft terms your cloud computing storage space with Windows Live and on your windows mobile 7 phone.

I think in the past couple of weeks, I have had more feedback than ever before on the cloud and its use, from both businesses and the general public.

So let’s look at businesses. Businesses cannot move everything over to the cloud, it’s as simple as that. There are savings to be made via the cloud for business, but it has to ensure that it can move those applications and content to the cloud. That it doesn’t already have a cheaper alternative, that it can trust the cloud providers security measures etc 100% and that there is a way to port to other providers in the future. All in all, business is still wary of this and why shouldn’t they be. I see businesses embracing the cloud and SaaS for smaller elements of their operation, ones that do not require so much compliance and that are not that critical to the organisation. This is not a bad thing, rather it is a good thing, the cloud here allowing IT to provide better solutions to the business at lower costs. I don’t believe the increased popularity of the cloud will translate to vast amounts of an organisations data or services being moved to the cloud. Rather the cloud becoming another IT implementation option.

So what of individuals. Well only last week I posted that individuals may well be the big winners of cloud computing. But even here, individuals are more sceptical of cloud based services. It seems that keeping some photos online, music and videos is fine. But when it comes to more personal documentation, you cannot beat a good hard drive or storage device at home. Because of this, I don’t see the masses adopting cloud computing and sky drives….Google may want us all to use the Cloud for software and storage, but the simple fact is, we like control over everything. If our data and content is only in the cloud, then we feel vulnerable, not just to theft, hackers or work colleagues finding things out etc, but also to cloud providers themselves. Let’s face it; Google has an appalling record on data protection and our privacy.

So what is the right usage for individuals? Well Microsoft though I feel has pitched it correctly. Providing 25Gb of space in a sky drive to windows live users (perhaps a little too small really). This is enough space for most people, sure it could be larger to allow us to synch a lot more content, especially music and videos. But it’s a good start. I also love the fact that my Windows Mobile 7 phone provides options to just take a picture and have it stored in my skydrive and not on the device. But, I still have enough space on the device to cart around with me a certain level of music, pictures etc etc. (No doubt this amount of storage will grow). So it’s a nice blend, one I personally am comfortable with, and one most people I speak too are comfortable with…

Conclusion, if any?

It seems in IT, too many marketing companies, experts etc provide to much hype. Everything is also “brilliant” or “rubbish and a fail”. It’s either 100% the way of the future or 0%…There is never any middle ground, and it is the middle ground which actually is where we are heading, in terms of our web usage, devices, online services and storage…And there is nothing wrong with that at all…