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…





Why does Apple love HTML 5?

20 03 2011

There is an awful lot of talk and hype regarding HTML 5, with one of its main advocates being Steve Jobs and more importantly, Apple as a company…What so many don’t ask themselves is “why is Apple making a big push for something that essentially provides them no revenue”

 Apple often site HTML 5 as one of its reasons for not supporting Flash and Silverlight, stating they support the web free of plug-in technologies and want to ensure the web stays open source etc etc. Whenever I hear this it is so obvious that there is a different agenda, after all it makes no sense for Microsoft (with Silverlight) or Adobe (with Flash) to charge for these technologies, if they did, no one would use them and no websites would leverage them to deliver rich applications. What I continually find astonishing is the amount of so called journalists and bloggers that believe that Apple want a free, open web. Let’s remind ourselves, Apple exists to make money…

What’s in it for Apple?

Let’s ask ourselves, what’s in HTML 5 for Apple? I mean really in it for them? The answer is, Apps…

Now I may have lost you there, you probably thinking apps have nothing to do with HTML 5 as such, and you would be right. You see, HTML 5 is the future of the web for sure, and it will bring new life to the web with animiations, even video playback to an extent, (though we have this via Flash and Silverlight already, so nothing new to the web, just new to HTML). HTML 5 won’t make the web a “richer place”. You see, HTML 5 will still suffer the same limitations, namely running in a browser, the web architecture and the end user experience (not to mention cross browser compatibility issues, DDA compliance etc etc). This means websites wont be all singing and dancing apps, rather they will remain pretty much website experiences we have at the moment (well with a bit more “jazz” to them). You see, Apple is counting on the web going back to its roots more, and we are seeing this with many more websites looking cleaner, and simpler to meet certain compliancy issues and to make life easier for users (not to mention making life easier for developers when supporting all browsers across all platforms). What Apple doesn’t want is real rich applications to be delivered via HTML 5, well not the type that can compete with desktop based applications, or mobile apps.

Apple doesn’t want HTML 5 to be the wave of the future for application development because it can’t make money from that, rather it wants us all to have to “download” and use specific “apps” for platforms. Think the iPhone App store and you see what I am getting at.

Essentially one of the biggest reasons people opt for the iPhone is not because it’s the best looking phone, it has the so called best screen display (which it doesn’t) nor these days for its revolutionary touch screen and OS, no, it’s because of the App store, and the rich “internet” experiences these apps open the user up to.

Flash and Silverlight are technologies that can deliver “apps” via the internet and over the internet, cross platform, cross browser etc and all from the same code base. This is a real threat to Apple. After all, if I can write a great app using Silverlight and have it deployed with small mods to any form of device, then as a development company I have opened up my markets and saved money. This is a good thing. However, Apple now would have an app that, though rich and great on its platform, is just as good and readily available on other platforms. Which detracts from some of the appeal of its own product.

You see, Silverlght and Flash are real threats to Apples unique “app” store.

Here is an example of why Apps are the future and why Apple wants us all to love HTML 5.

How do you use Facebook on your mobile? Do you use a browser and the HTML version? Probably not because it’s too slow, clunky and the end user experience not that great. You use Facebook via your Facebook app for your mobile, which you downloaded from an App store (for apple, android or market place for windows). Apple take this further with the iPad, providing not just an app for your iPhone, but a slightly different app that works better on the iPad, the iPad being something that apparently is designed for web experiences on the go. Yet it still wants you to download apps, and, that is one of the reasons why Apple don’t want us to use Flash or Silverlight, because these technologies can deliver rich “apps” onto any platform potentially, not just specific to the iOS.

Today I watched an advert for sky news, and there was no mention of the sky news website, only that, for the very best experience, use the sky news iPad app…What does that tell you?

This confirms that Apple see Apps as a way of cornering the web market, especially when over 30% of web consumption was via mobile devices last year in the UK. The future of the web is reverting back to information based sites, with richer websites being delivered in HTML 5 yes, but real applications, and real rich intuitive experiences that work on multiple devices coming from dedicated apps.

Conclusion

Apple doesn’t want to supports Flash or Silverlight, if it did it means they have lost their app store edge. Imagine sky news delivering one solution for all platforms via Silverlight. The advert would have been “get the very best experience with our Sky News App, for iPhone, iPad, Windows Phone, Android and to your desktop”…Immediately, I don’t need to have an iPad to get the very best experience, rather I can choose which device, which OS, all of which detracts from Apple’s marketing and business plans in many may ways.

Apples tactics of using “content” to help us make the decision to purchase their hardware aren’t anything new. Look at how VHS beat off Beta-max? VHS was a lesser solution, but it had more content on it, and more to the point, content that was in high demand. Because of this, it meant users opted for the VHS platform as they then got the films they wanted, which meant Beta-max sales dropped until there was only one, VHS.

So while we all harp on about how great HTML 5 will be, we must remember that the big players (especially Apple) want it to succeed only to destroy Flash and Silverlight, which plays right back into their hands of delivering true rich experiences, only via their platform specific dedicated apps and app stores..And of course, we all do, so we will all be using apps to access the web…

I am a strong believer in the future of the web being Apps, as applications will always be able to potentially deliver far richer end user experiences. What I don’t want to see though is the need access the best experiences based on hardware and what is made available though an “App” store.  We should be able to access these apps directly from web pages, and opt for the mobile version, or the desktop version, or the slate version.

HTML 5 may be a way of lighting up HTML and making it richer, but it potentially could also be the way of forcing us all down the route of App stores and choosing hardware to best access web content. Now to me, that is not the point of HTML 5…





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…





What’s going on Microsoft? Silverlight, HTML 5?

9 11 2010

It’s amazing how the press get hold of something, twist it a little and come up with something that simply isn’t true. Is it because they simply latch onto sound bites, or because they don’t actually understand the technology (or technologies) they talk about? They don’t understand the development community and how development works? Or could it be a case of all of the above? (I am thinking all of the above for many of them)

I have now read numerous blogs, press releases etc that claim Microsoft is abandoning Silverlight. That Silverlight will no longer be used on the PC or MAC, over the web etc, just on mobile phones…This simply isn’t true, and to be frank is somewhat of an annoyance.

Yes it is true that Microsoft’s server and tools capo Bob Muglia stated that HTML 5 will become the company’s main focus for online web applications now. (Though he didn’t help the cause in the way he made his statement). But what does that actually mean. It doesn’t mean Silverlight is to be abandoned at all, it was never meant to replace HTML 5, and it wasn’t meant just to plug the gaps that HTML and HTML 5 have left. It isn’t just Microsoft’s response to Flash either, that is seeing Silverlight in a very simplistic view, almost narrow minded, and indicates you don’t know what Silverlight is…

Silverlight is a different presentation layer for .NET applications. It allows developers to deliver highly interactive, rich and powerful applications, not just stream some video, present some pretty animation etc. You should think of Silverlight as a different front end for .NET. Of which you have already so many choices, such as HTML via ASP.NET, typical forms through .NET, Windows Presentation Foundation (WPF) etc etc.

So what about the statement regarding HTML 5 for web applications? Well, Microsoft are concentrating on getting HTML 5 right, this includes IE (by the way IE9 has been shown to be the most compliant HTML 5 browser out there, ahead of FireFox, Chrome and Safari), and within its development studios (visual studio, web studio etc). To do this, resource no doubt will have to be more focused on this area for the time being…So resource will move away from Silverlight, but Silverlight doesn’t need such a large investment or resource now, since it has matured and become a full fledge part of the .NET family.

HTML 5 support

HTML is the interface to websites and web applications, and it seems to me that the press and many blog writers don’t understand this. Do they realise that ASP.NET v4 delivers HTML to a web browser? So Microsoft concentrating on HTML 5 is expected. ASP.NET (no matter your flavour of it) will need to have the capabilities to deliver HTML 5 web applications, so Microsoft needs to concentrate on this. But does this mean they are ditching Silverlight, no of course not. Did the creation of Silverlight mean Microsoft walked away from HTML presented content with ASP? Did it mean we no longer have win forms of WPF? No, of course not….Yet Microsoft were not exactly moving these along rapidly were they…

No Silverlight 5 for the moment

Some are pointing that they haven’t seen any indication of when Silverlight 5 will be available. All I can say to that is, “How many versions do you expect?” The complete .NET platform is only at v4.0. Silverlight has gone through a rapid development and period of evolution, moving quickly from v1.0, through to v4.0 now (in just over 2 years!). The latest version of Silverlight brings it in line with the .NET family, so Silverlight needed to go through a rapid development phase to catch up, it was a long way behind…

Silverlight as Windows Mobile 7 development platform

Yes, Silverlight is the development platform for Windows 7, and that’s great news to the development community. The fact that Silverlight development focus at the moment is being switched to the mobile platform is again, not surprising. After all, Silverlight has gone through rapid development on the computer. Microsoft has worked hard on tools, templates etc for developers to be able to create powerful desktop (OOB) and RIAs using Silverlight. So, it now needs to do the same for the mobile platform. Microsoft need to make it as easy as possible for mobile developers to quickly deliver powerful mobile applications, so concentrating on Silverlight tools for mobile is obvious…

Yet again I feel the press, and bloggers, don’t understand the importance of this. Silverlight is Silverlight, on the mobile and or on the web, it is still the Silverlight technology, the only difference is on the mobile, we have to follow some stricter rules about our UI and we get different tools and templates to use. Why? Well we have restricted UI space, and we need to be able to allow the user to bring up the keyboard etc etc. It isn’t an alien world, Silverlight on the mobile to developers. It is Silverlight. Just like the managed code behind in Silverlight is not alien .NET, rather it is .NET. This means developers can develop applications for multiple platforms, PC, Mac, Phone, without leaving visual studio, without learning new techniques, without learning new syntax etc. This is great, and because of this Microsoft maximises the number of developers who potentially can develop for the desktop, web and mobile…..

Withering Silverlight? Don’t be stupid…

Well obviously no…Silverlight simply won’t be going through so many quick iterations as it is now in-line with the .NET family. Microsoft are now concentrating on Silverlight mobile templates and tools and ensuring the mobile world for Silverlight developers is just as rich as it can be on your PC.

Concentrating on HTML 5 is a good thing, Microsoft has always been committed to HTML 5 and as HTML 5 slowly gets closer, Microsoft needs and wants to be at the forefront. Web applications will be delivered in HTML 5, that has always been the case. Just like ASP.NET web applications deliver HTML 4 at the moment. Silverlight will still be used on the web to plug gaps HTML 5 cannot fill, it will still be used (and will be more and more so) in an OOB (out of browser) state, effectively providing desktop powerful applications over the web and no doubt will continue to grow.

Silverlight is now a full part of the .NET family, it has caught up, and the .NET family will continue to be the core Microsoft technology for all devices…





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…





HTML 5 – It’s not the end of internet plug-ins

4 06 2010

I have posted a number of times now about HTML5 and my concerns that people see it as a complete replacement for internet plug-in such as Silverlight and Flash, allowing RIAs to be delivered in pure HTML 5. One of the main people who keep going on about HTML 5 is Steve Jobs (though I think a lot of this is trying to convince the users of iPhones and iPads that Flash has a short life ahead). However, it seems that more and more people are sharing my opinion that HTML 5 will not kill of Flash and Silverlight, and that its adoption is a hell of a long way off in general…A recent report and article from Forrester illustrates this…

HTML 5 traction and buzz….

There is for sure a lot of buzz around HTML 5 in the past couple of months, least not because of Jobs, but also because Google has recently open-sourced its VP8 video codex. To date, abilities and licensing issues surrounding such video converters have been one of the sticking points for beta HTML 5, however this is not the only issue. Though there is a lot of internet buzz, it seems that adoption of HTML 5 is a long long way off, with browsers only supporting small fragments of HTML 5 currently. It seems that for wide spread adoption, as users we will be waiting until 2020 or sometime around then…That’s not exactly close is it…Its again another reason why I am not at all “hyped up” about HTML 5, it’s just so far off….

So while HTML 5 is a long way off, just think how much traction Flash and Silverlight will gain in this period. Silverlight is the new boy on the block, but has already around 60% adoption across all machines. That’s rather impressive, all this while HTML 5 is in beta releases and going through a lot of, development pains and issues shall we say…

There is also the issue of cross browser issues. Just like HTML 4, HTML 5 will suffer at the hands of different browsers. The author of the Forest report (Hammond) stated “Until you get consistent behaviour the question will be why you would use HTML 5 when it actually creates more challenges than it solves from a testing and deployment perspective.” I have to say, this has always been an issue with HTML in general, especially when delivering internet applications, and it is one that won’t go away for HTML 5…Though HTML 5 is supposed to be intended as an enterprise-class product, the reality is that the architecture of HTML 5 with the browser has a number of issues and draw backs, even when talking to web services. Though the aim is for HTML 5 to allow easier building of “applications” the fact is that HTML and that side of the web architecture was never designed with this in mind….

Test once…You are all done…

Ahh, well this is not the case is it with HTML. Unfortunately you will need to perform tests on all the browsers out there, and no doubt, place “HTML fixes, CSS fixes and JavaScript fixes” into your application depending on what browser is running it. This does make life a lot harder for testing and development, oh, and of course ongoing support. However, this problem is just not there for Flash and Silverlight, because their architecture is completely different and in many ways separate from the browser and the web in general, indeed you can run Silverlight out of the browser fine…

Hammonds recent report – titled “Does HTML 5 Herald the end of RIA Plug-Ins? Not Really” – found that application delivery through RIA amongst businesses rose to 34% in 2009, up from 26% in 2008. This illustrates the increase use of RIAs amongst businesses, especially with technologies such as Silverlight develop further, all this while HTML 5 is still in its draft phase…

For traditional website material, you could still use HTML and HTML 5 if you wish, however for complex functions and applications, I would always recommend the use of Silverlight, there are just so many hurdles you negate while being able to use a technology that isn’t restricted by the browser web architecture.

Open aspect of HTML 5

So many people claim they love the idea that HTML 5 is “open”. And there are some good arguments made for this, however I have yet to see one example where these arguments are valid. Especially arguments that users may have to pay for Flash or Silverlight use, that you can become restricted to what browsers you can use, or that you are dependent on them for your support…I don’t see an issue or potential issue with any of these arguments, they are just created so people try to feel more safe with an “open” technology controlled by many rather than a single company…

However, this open aspect of HTML 5 may also work against its progress and adoption, especially as open standards are very slow to develop. HTML 5 has been in development for a decade now, and though early candidate releases are recommended for 2012/13, it is a while yet before we see HTML 5 as the standard version of HTML being used. On top of that, cross browser issues and W3C adoption is even further off…

Architecture…

RIAs require processing on the client, or at least they should do. Users expect “thick client” performance and usability in an RIA and on top of that, access to hardware components, such as storage, web cams, other applications running on the client etc etc. The architecture behind the web and HTML jsut doesn’t allow this. Though HTML 5 will bring us a richer web, with easier video playback, website animations and improved usability (a little like Ajax has done), it will always be behind Silverlight for example, that can take advantage of hardware on the client, keyboard interactivity, integration with other applications and the ability to work in a “disconnected state” from the internet….

My own view on the use of HTML 5 in the future…

It simple, for typical web content, HTML 5 will provide a greater level of interactivity, animation and improved user experience. It will no doubt be used for “simpler” RIAs, however its adoption as a serious RIA for businesses is plain fantasy. RIAs need to deliver more, and therefore organisations will continue to look to plug-ins, especially Silverlight more and more. I also believe that websites available to the general public will also have more aspects delivered in Silverlight, even once HTML 5 has gained traction, simply because Silverlight can deliver a better end user experience without many of the hassles associated with web development and HTML, CSS and JavaScript across multiple browsers…..





Silverlight 4 or HTML 5?

6 04 2010

I have been asked this question a number of times in the past 2 weeks, and it is something I have posted about a little in the past https://andrewonedegree.wordpress.com/2010/02/04/abandon-flash-silverlight-for-html-5-no-way/ however, I think I need to clarify my position on this a little further and make it clear just what is the choice here…

HTML 5 and Silverlight 4 are very different “technologies” if you can call HTML a technology. HTML 5 is designed to bring a richer “environment” to websites, basically allowing it to do many things we have taken for granted with Flash and Silverlight, such as animations and the playback of video. However, apart from this, all three are quite different and have their own positives and I guess negatives.

So to answer the question, Silverlight 4 or HTML 5 you have to understand just what you are trying to do, and more importantly (at the moment) when you want to be able to do it…

When?

No matter what your requirement, if you are looking to implement in the next 12 months, then HTML 5 is a no go. HTML 5 has been in development for over a decade now, and it is still a very long way off (well in terms of all its capabilities). Certain browsers have been shown to support HTML 5 in the next year, but this is just elements of HTML 5, not the full monty. All this means, if you want to enhance your website / business application with HTML 5, you are better off waiting for at least another year probably longer before you start evaluating its potential use. For many, this isn’t really an option, so it means a lot of the HTML 5 talk is nothing more than hype and fancy (alas this is true).  So if you cannot wait that long, then I suggest you look at Silverlight.

However, that all being said, if you are thinking longer term, then let’s look at what you want, and if you should be looking at Silverlight x (by then) or HTML 5….

What you want?

If you are looking for just some animation, smoother interactions around the screen and video playback, then HTML 5 may well be the best option for you. This is where HTML 5 will make its mark, providing web users with better experiences. However, this is where HTML 5 capabilities also stop. You see, like HTML 4 currently, developers need more if you want to do more than just show content – they need the capabilities to integrate with web services, interrogate databases, perform calculations, apply business / user rules etc. To do all of this, developers use ASP.NET / PHP for example, which in turn has web pages formatted using HTML. With HTML 5, you are buying into this same architecture, with all its positives and negatives. Dont think that you just do everything in HTML 5, because this won’t be the case..

So when would you think about Silverlight 4? Well, if you want to do more in terms if a rich user experience, and or in terms of functions and capabilities then you will need a more powerful environment, that means managed code. Let’s just compare video for the moment. With HTML 5 we will have the capabilities of showing and playing video in the web browser. However, with Silverlight, you not only have this capability, but also the ability to do much more, such as rotate this, show a video on-top of another video, merge other content on the video, provide video links, add special effects, show video in other controls – the options are limitless….Now let’s take things further, away from simple video playback…What about providing real functionality, processing capabilities etc all things that are typically used for business based applications? Then you need something that provides a “proper” development environment….So Silverlight will for sure be your platform of choice….

Silverlight presents a different architecture in which to use. Applications are accessed across the web, yes, however they execute and run on the client PC, very similar in fashion to having an application installed on your machine via DVD. (The browser does not execute their code, it is simply used to “host” the Silverlight application). This means the application uses your PC processing power directly, it doesn’t need a browser to interpret its format or what it wants to do / show. In addition, Silverlight doesn’t need to rely (or keep talking too) the web server for all requests, many are executed / calculated there on the client machine. In addition, this also means that we can choose to run our application outside of the web browser, ensuring we are not limited to the limitations a browser places on our application. From a developer’s point of view, Silverlight is managed code, and runs on the .NET platform (which provides designers and developers with all the freedom they need to deliver applications that meet all requirements).  From a business point of view, this means there are no restrictions on what you want to achieve with your application.

Quick conclusion…

Its down to time and requirements. If you need something within the next 12-18months, then HTML 5 wont be for you. If however, you are looking for a “richer” environment that doesn’t need complex capabilities, application integration options and is really only used for displaying content across the web, then HTML 5 will be your choice. Finally, if you need to do more, such as provide business type functions and capabilities, then Silverlight 4 will be for you, or at least a mix of classic ASP.NET and Silverlight…..





Redefine the way we use the web, to unlock its potential…Web 3.0?

6 02 2010

This is something I have been thinking about for a number of years now, but more so recently with a lot of talk of HTML 5. Basically we haven’t really changed the way we use the internet (from a technical point of view) since the web became mainstream shall we say. Sure, we now use it in new ways which we hadn’t dreamed of (habits and the way we communicate with each other), but essentially the web still works the same way it always has. We use the web as content rendered as HTML that is displayed back to us in a web browser. Even if HTML 5 is the magic version and delivers so much more in terms of animation and streaming has it actually changed the way in which we use / the web works for us? No…

Let’s not go back to the good old Mainframe environment…

It seems more and more IT professionals and large organisations see the web as the new mainframe, especially when you start talking “thin client” and “cloud computing” (the cloud could be seen as our mainframe..scary). When you start looking at mainframe environments and then cloud and thin client computing, you see that the basic concepts are very similar. So what do I mean, well, all of the processing happens on a server, the machine you actually use to access it, doesn’t really have to do anything. In a mainframe environment we have dumb terminals, in the new way of thinking (trying not to laugh, sorry) we have a PC that run’s a browser (this could be a very low spec machine), and if all we did is “cloud compute” we perhaps wouldn’t need anything else?

Sure I see benefits, some of which are green, but the negatives are so obvious to see. These are essentially the same problems we have with mainframes and the same problems that lead us to using the “PC” and the “Network” to replace mainframes?

Some thin client issues?

Let me give you an example. Imagine you and I are working as designers, creating 3D computer models of pretty much anything. We may even be responsible for animating these 3D models (think something like toy story, I don’t know why, it just popped in my head). Ok, now imagine you are part of a team of say 20 working on these models, of course you are designing Buzz, someone else Woody etc. Let’s think just how much “processing” power do we need for this – just you and your requirements? The answer, quite a bit, well a lot. Now image having to times that by 20. Oh, and now let’s have that processing carried out in a “thin cloud computing environment” (of course your application is written with the fab HTML 5 which means we can do anything), which at the end of the day needs a hell of a lot of work going on at the server, oh and traffic across our network… Do you see the problems?

Well basically, even with the advances of our hardware, the server will be doing too much and things won’t go well. The system will be going slow, maybe crashing, you as a designer will be going mad with frustration, along with the rest of your team, oh and not to mention you are working to a deadline so the project manager is now going mad. Let’s throw into the mix too, that our team is distributed across the States and the UK, and some of us love using Internet Explorer, some FireFox, some even Chrome…Hmm though in theory the web is great here, it is no match to a good old client desktop, some distributed servers…

Now I know I am focusing here on a situation that doesn’t lend itself to “cloud computing” or “thin clients” but if we believe all the hype of HTML 5, cloud computing why shouldn’t we be thinking this is possible? But, as our hardware advances so does our software (though at a slower rate granted) and we as users (be us general public users or business) expect more and more performance and capabilities. So while some of our user requirements do seem to lean us toward a cloud computing way of working, soon our requirements will no doubt swing back the other way (and wont we be repeating the Mainframe and PC story all over again?)

There is an answer

The answer is pretty simple to be honest and it is something Flash showed us the way to a number of years ago when it first started popping up on the web. The answer is a mixture of the two.

So let’s start evolving how we use the web properly (not just our habits) but how it is used. The web becomes a communications network and in some ways returns to its roots. We can still use it in the way we are used to, as in we find websites and we view them in a web browser, however, those websites that aren’t just presenting us with some information, or basic shopping facilities, websites that are more “applications”, get themselves installed on the client machine. So think MS Office on the web. Why install on the client? So that the user experience is not restricted by the web architecture, nor the browser, and that “processing loads” are removed from the server and distributed back down to the client PC.

Isn’t that what Flash was doing, installed and running on the client, err years ago? Yes, and that’s why Flash has worked so well to now…The problems with Flash are not what it visually looks like, nor its basic architecture (running on the client), the problems are that it doesn’t lend itself to being able to deliver “applications”. So it is great for the web to show animations, and funky banners, slick movies etc but don’t think it will be great at delivering that 3D modelling tool we spoke about earlier…

So let’s go back to our 3D modelling requirement in the designer’s studio. In our new web world we are now working with a RIA that actually runs on the client machine, uses local storage on the machine and uses the web only for bare communications and maybe storage of files that are to be shared. All of a sudden, all of the issues with “thin client” and “cloud computing” and server loads are removed, yet essentially we are still using the web and “cloud computing” to an extent…

So the answer is RIAs that use the client processing power and that do not run in the web browser.

Is this available…

Yes it is. Since Microsoft launched its Silverlight platform (which many see only as a competitor to Flash) it has been working towards this type of scenario, where we can maximise the benefits of the PC and the benefits of the web and cloud computing. Silverlight 3 was the first version to deliver an out of the browser experience and this has been taken further with Silverlight 4, with it being able to run as a trusted application on the client machine. Oh it also runs on Mac’s and PCs and if in the browser, any browser…

Silverlight, though in some ways similar to Flash and even the old Java Applets, is a new way of using the internet, rather than us re-inventing the same way of using the web with more bells and whistles. Like flash and Java applets, Silverlight essentially runs on the client PC. Which means we can utilise its processing power to do our work, it doesn’t need to go back to the server for updates to the UI, business rules or anything like that, and it can be done there on the client machine? However, it is connected and delivered essentially through the web as a communications network, so its data and files can be easily pulled and pushed across the web and stored there. Updates to the software are also delivered through the web, with the user being able to get the latest versions of the software just by using the software itself.

At present this is all still young, but the potential is there to change our web experiences and what we realistically should be using the web for. MS Office could be delivered as nothing but a Silverlight OOB (out of browser) application, allowing us to purchase it online and using it within moments. And it would look and feel just like the version we currently have from a CD (not the slightly less functional web version). Business applications could be delivered through organisations intranets, or their “cloud providers”. Websites that provide “secure” trade or partner areas would essentially have these installed on the client machine. Twitter, Facebook and other types of highly interactive websites would be delivered as RIAs installed on the machine (there is a prototype for Facebook already built and made, which you can download and use at http://www.silverlight.net/content/samples/apps/facebookclient/sfcquickinstall.aspx). You havent used the flexibility of the web at all, if you were on a new machine and wanted to get to facebook, still visit the website where you would get prompted to install the client, which would be a simply and quick install…and away you go, back on facebook.

The future then is…

Re-defining the web as a communications network and moving RIAs out of the web browser and down onto the client. By using the web in this fashion we get a truly distributed environment that has the benefits of the web, but also the benefits of the client machine…





Bing Maps getting Silverlight

4 12 2009

Well it had to be just a matter of time before Bing Maps started using Silverlight to deliver the richest mapping experience on the web. Since the start of November I have been playing around with the Silverlight Bing Maps control which far out-performs the AJAX control and for me the HTML version on the actual Bing website.

The payoff

Microsoft's Bing

Microsoft's Bing

Well for the end user, the Silverlight experience is far smoother and allows you greater control. For example zooming into an area on the map using the wheel of your mouse is a nice touch, but the app renders smoothly. In addition you can mesh together traditional map views with aerial photos. There are also nice features such as the street side walker – which currently isn’t available in that many areas, but it allowed me to jump into the map and then walk around parts of the world I have never seen (well visited now….).

With the Silverlight version, everything just feels so much more professional, it’s a real jump forward in terms of the functionality that is capable and the experience it provides the end user. Why not see for yourself, you will need to have Silverlight installed. http://www.bing.com/maps/explore/ NB If you don’t have Silverlight installed I suggest you get it asap.

Microsoft has also followed on a trend of offering “app stores”. A new application gallery will be available allowing developers to include their own information on a map.

The biggest pay off though is the capabilities this provides to other developers and websites that want to use mapping technology. I have already seen a number of demonstrations showing how you can overlay / highlight “areas” within a map. One great demonstration shows the New York marathon route, it not only shows you this route and the “area” covered on the Bing map, but also shows runners moving along the route – comparing their relative times etc….Not bad….

The .NET framework…

I have to say that I like the way Microsoft is going, building everything on the .NET framework or a subset of it. It allows more powerful applications to be built and integrated with each other. This is another great example – Silverlight, which is a subset of .NET with a WPF subset as a presentation layer, combined with the Microsoft Live web services (again delivered in .NET) delivering a feature rich experience for users. More importantly though, working in this way provides the development community with the tools they require to take things further.

By combining the Silverlight Bing Map control with the Microsoft Live web services, it is now a quick and rather simple(ish) task for any .NET developer to deliver powerful mapping / mapped based services to clients that look and perform great.





Silverlight on your iPhone even…

27 11 2009

Ever since I first started to use Silverlight, back at version 1.0 and the managed code alpha 1.1, one of the big appeals was the multi-platform support. For me, multi-platform support in this day and age needs to include more than just a Windows machine or an Apple Mac, it needs to include all flavours of operating systems, including those used by phones. One of the big problems, even for the so called “media rich” iPhone, is that video streaming from websites that use Flash video players, just simply doesn’t work….

Streaming video – no flash…

Recently I got married, and as part of our video package our videographer put together a highlights video. This is great fun, and obviously we wanted to share it with a number of our friends and relatives. Our videographer uploaded the video to a popular video sharing website (not YouTube) and we shared this via Facebook etc. However, a number of friends tried to access it straight away from their iPhones, alas they couldn’t view it because the player used was written in Flash.

Now the iPhone has been quite strict about allowing flash to be supported. A number of reasons exist for this, namely that Flash often slows down the website loading time, or can cause all sorts of problems (crashing etc). However, it seems that Apple maybe supporting Silverlight very soon.

In a report for Betanews.com, Scott Fulton stated that he watched an impressive demonstration of an iPhone streaming video, using Microsoft’s Silverlight technology.

iPhone streaming with Silverlight

Silverlight-powered streaming video on an iPhone – image from Betanews.com

It seems Microsoft have been working with Apple to make this possible, basically getting to a point where Apple is happy having media streamed with Silverlight onto their phone.

So why Silverlight and not Flash

Ahh well, though Adobe claims 99.7% of web browsers are capable of displaying Flash content, Flash is widely criticised for being an antiquated, less than optimal platform. Silverlight content is based on its own flavour of XML (XAML) and without getting all geeky, means Silverlight is a more modern technology that is more powerful, more flexible, more compliant and less likely to crash than Flash. As a developer, Silverlight provides a greater wealth of possibilities and because it is built on .NET (the engine), it means it can be leveraged for more than just multi-media content, it can be used for powerful applications – yes, even mission critical business applications….

Here is a post I wrote on why we choose to use the Silverlight technology; you may find it quite useful. https://andrewonedegree.wordpress.com/2009/04/03/why-we-choose-silverlight/