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…





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…..





Abandon Flash / Silverlight for HTML 5? No WAY!

4 02 2010

I have been reading a lot of drivel lately about how great HTML 5 will be and that it means the death of Flash and Silverlight. Sure, Flash isn’t available on the iPad or the iPhone (though it seems Silverlight will be) but isn’t that a failing of Apple rather than Flash?

At the moment when you surf the web, if you do so without Flash installed on your machine you soon notice that your web experiences aren’t the same as everyone else’s and are very much poorer for it. The same is starting to be said of Silverlight, and this is in a world where HTML has been around since day dot of the web. So why should people start to dream that HTML 5 change this?

Bloggers don’t like proprietary platforms

It does seem that a lot of “Journalists” and “bloggers” just don’t like anything proprietary, or for that matter, anything in the world of IT that you have to pay for (well at least to do with the web).  I can see and hear the arguments for HTML 5 being a standard that all browsers understand, a standard that supports multi-media etc etc. But let’s face the fact, that good old HTML 4 still isn’t a standard between all of the browsers. How many times do we visit websites in different browsers and get a slightly different experience. On top of that, let’s look at this from the developer’s point of view. At my own company we spend massive amounts of time checking and building “fixes” so that websites and web applications run on multiple browsers. This is not an exaggeration. When we build websites over a third of our time (if not more) can be for making adjustments for all the browsers interpretation of HTML.

I know a lot of people are now going to say, “That’s the browsers fault for not adopting the standards strictly enough” – but my answer to that is “get in the real world! This is fact”.

So will HTML 5 be any different? No it won’t.

What’s wrong with proprietary platforms life Flash and Silverlight?

So what is wrong with Proprietary platforms in any case? Well I am not sure on this. The only valid argument I ever sort of understand is that Adobe could start charging for us to use Flash, and the same could be said about Microsoft and Silverlight. But again, these claims are from people who don’t really understand how we develop websites and software it seems. To be able to build a flash website or Silverlight website, we need the tools to do the job. We pay for these tools so that we can then develop for that platform. So we are already paying to use these technologies, and it is the developers and development companies that do make this payment. So no “end user” pays for this. Please now don’t say about companies etc paying for these expensive developers, as they still pay for developers when we build websites in pure HTML (which is so very limiting!). I have seen claims that SMEs spend massive amounts on web developers because they use Flash or Silverlight…Well this isn’t the case, sure you may pay more for these types of websites, but that’s because they do more. With HTML 5, even if it can provide similar results to Flash and Silverlight, if you want those results you will still have to pay a developer to develop them for you…

When it comes to web development, you can pick up websites for peanuts; these are simple websites, couple of static pages that may even contain Silverlight and Flash. But, if you are spending massive amounts of money on a website (as some try to claim) then what is your website doing? I can bet it isn’t just displaying a couple of static pages and pretty animations.

At this point I would like to set people a challenge. Go on the web, spend an hour or so surfing and then look at just how many sites are delivered in pure HTML. Sometimes this is easy to spot as the URL at the top of your screen will say HTML. (Though this doesn’t mean the site is developed in pure HTML). Many, you will find will have .aspx extensions or. php or nothing at all. All of this means websites are mainly developed with proprietary software in any case, such as ASP.NET (.aspx) or PHP etc.  If you are wondering why, well it’s simply, HTML maybe a standard for how the browser displays a web page, but you can’t really do anything with it. So if you need a website that dynamically builds itself, or reads in content from others websites, databases, web services etc, you can’t do it in HTML and notepad. You will need something with substance, something like ASP.NET, which then delivers the results as HTML to the browser…(So if you are doing this already, you are tied in to the proprietary software of Microsoft in any case, so why be against Silverlight? Oh and you are developing using the same tools that can build Silverlight applications…)

And there is more

My big big big gripe with people that say they love HTML and that we shouldn’t be using Flash and Silverlight is that they are stuck in the past it seems. The internet wasn’t designed to deliver rich media and RIA’s (Rich Internet Applications). It was designed to allow the sharing of documents that were delivered in the form of HTML. Remember this, because the biggest problem with the internet is the need for a browser.

It is the browser that puts so many limitations on your web experiences and web applications. Imagine only using a browser to search for websites and get simple websites back. That would be great. However, take Facebook for example, lets find it on the web perhaps (if for the first time), decide we like what the website has to say so we want to use it. So let’s pop out of the browser and start using it as an application – no limitations put on us by the browser, we are free to enjoy a great web experience… (Have you seen Silverlight 4 quick prototype of Facebook? If not, try it here http://www.silverlight.net/content/samples/apps/facebookclient/sfcquickinstall.aspx  ). By the way, anyone thinking of Security issues etc, please understand that applications run in a sandbox like this, so they cannot do anything malicious. Though you can use “Trusted” applications – which do have more “roam” on your machine, but again – security is not an issue here…

Ok, I need a simply illustration why the browser can be limiting….So, to illustrate my problem with using the browser, let’s take some very simply and crude examples of how the browser is so limiting. Key strokes…

In Internet Explorer for example, I may have a web application (or plain old website) that wants to allow the user to utilise the keyboard in some way. Let’s say by pressing F5. Oh, but when I do this, my web page is re-loaded, why? Well it’s because you are in an application that is displaying another application / website. Which means F5 is a key reserved for “Refreshing” within IE. Now you could try to suppress these keystrokes from the user (In IE), but, won’t the user expect F5 to be a refresh within the application / website. Hmmmm You see some of the issues.

There are many more simpler problems too, think real-estate of your screen, especially with business applications. The browser is just another window that is holding your application in it, in addition you may have all sorts of add-ins installed on that browser which take up the top 2 inches of the window in any case…Are these any use for the web application you are using? No…

Architecture…

Finally, before I start getting carried away, the whole architecture is not great for web applications (well delivered in HTML etc). When I do something on a website (even if it uses AJAX or lots of JavaScript) most of the processing is carried out between the server and the web page. Which means communication over the network, the web, and more work for the web server to do. This is a pain and not efficient. Some of our processing and “rules” etc could be done in the website / application, and even better if it is carried out by the clients PC and not the server (means we can scale more and work more efficiently).  We really only want to communicate between the client PC and the Server when we need to request new data, or we are saving changes. We for sure, don’t want to be communicating to check validation, get new lists from memory and anything to do with visual elements.

So how can we do all this with HTML? Well we can’t, even with the great HTML 5 we will still be very limited because of the architecture for the web, which means we will always be using Flash and Silverlight to bridge the Server and Client gap when doing things more complicated.

The Future is then? What?

The future is not new developments of HTML etc, rather it is the re-vamp of how we use websites on our machines – opting for web applications to live and sit on our PC as if we went to a shop, bought the CD and installed it (however, communicating and working through the web). Sure there is still a place for traditional HTML websites, these displaying content, wikis etc, but for applications – think Facebook even, and you will see massive benefits from technologies such as Silverlight, with Facebook being accessed on your PC outside of the browser.

So have Apple got it wrong? Yes, if you want to provide a “web experience” then you need to support Flash and Silverlight, simple as that, stop making excuses Apple and get on with it…








Follow

Get every new post delivered to your Inbox.

Join 774 other followers