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…





BUILD and Windows 8…

19 09 2011

So last week saw Windows 8 developer preview being shown off at Microsoft’s BUILD conference, and well, there was a lot to take in. BUILD was also showing off Windows Server 8 and a host of other Microsoft initiatives / solutions, including Windows Phone 7.5 and Windows Azure. With all that being shown off, it was hard to keep up and understand what exactly Microsoft was telling us about their future products and services. Unfortunately, as with most things Microsoft does, this meant that there was a lot of “dodgy”, to put it politely, blogging and tweets being thrown around. Essentially many tweets and blog posts were simply wrong, or written by pure Microsoft haters, so the messages coming out from BUILD did get a little lost for some…

Anyway…Let’s have a look at Windows 8 and what it could mean to consumers and businesses…

Metro

Well this is the new interface style if you like, what Windows now looks like by default. Metro is something Microsoft has been pushing, but it’s essentially a design look and feel. Many people see this as
primarily just for tablets, but I disagree. I like the idea of switching on my PC to see the “live tiles” environment, allowing me to peer into applications without needing to open them. It’s a feature I like on the Windows Phone 7+ platform, and I personally think it works really well for the PC, laptop, tablet market. Metro applications also look and behave great, and I have no problem with moving away from “chrome” based windowed applications.

Windows 8 new Metro UI. It's Alive...

The “Metro” side of Windows 8 only supports “metro” style apps and HTML running in IE10 (currently no Silverlight or Flash in the Metro browser experience). Metro also provides a design methodlody for applications, and as such, a framework for developers to work within when delivering “apps”.

There are also “contracts” in place between applications, allowing them to share functionality via “charms”, such as the “search charm”. What does that mean, well it means you can search inside your app from the standard search dialogue. Even better, you can share content between apps using the “share” charm, so I am in one app, and I wish to share some content, I can click on the system charm and simply share it with another application. This provides a real slick feel to using the system, as if the Apps are part of Windows 8, as opposed to a single bit of software that simply runs on Windows 8. There is quite a difference there…Essentially metro and charms all adds to the user experience, and rich environment, Windows 8 aims to deliver.

Charms in action

Using "Charms" with touch screen keyboard to search within apps

Many though have stated, why ship Metro style for the PC if you are also supporting the more traditional “desktop” look and feel, which essentially is Windows 7 updated. There have even been calls for supplying metro only for tablets, and desktop view only for traditional laptops and desktops, a bit like Apple shipping iOS for tablets and full on Mac OS for Mac Books. Well to these people I simply say “you don’t get it”…

Flexibility, choice and function is what people want. If I own an iPad and I want to edit some pictures by using Photoshop, I can’t. That means switching over to my laptop, Mac book, PC whatever to do that work, not great if I am at the mother in-laws for example. So why not deliver a tablet that can allow me to do that work if I want? What’s wrong with having the flexibility and option there? Nothing…After all, I don’t have to go into the standard desktop if I don’t need to…

Native Desktop

The native desktop is still there, essentially it looks and feels like Windows 7, and there is nothing wrong with that. The native desktop is used to support more complex applications, applications such as Photoshop or Visual Studio, applications that need lots of tool bars, need to show lots of actions and functions to the user. There is nothing wrong with these types of applications, and not all applications could be designed the “metro” way (nor should they).

The native desktop is just that, it’s everything Windows 7 is right now, so all your legacy / business applications that have gone before will run fine on Windows 8.

 

Tablets, Laptops, Netbooks, PC’s, Phones…ARM, the lot…

One of the big things with Windows 8, and something Microsoft kept on pushing at BUILD, was that Windows 8 is for all devices, and that means all forms of hardware. So Windows 8 runs well on my fully blown development beast of a PC, yet it works just as well on a small wafer thin tablet running an ARM processor. This is actually great, it means I have a single experience across all my devices, while Microsoft needs only support a single platform.

Now, throw into the mix Microsoft’s investment into the cloud and Windows Live, and you start to see added benefits of this kind of thinking. You can have all your devices understand “state” between them, so understanding where I am in an xbox live game for example, or where I am in terms of a business process. That makes life a lot easier and flexible. Simple things such as changing my “Avatar” on my PC is replicated across all my devices, which is a great touch…

For quite sometime I have wanted a tablet that allows me to install everything I may ever need on it, so that includes development studios, it includes database administration suites, it includes photo editing software etc etc and I simply cannot do that with a tablet. So that means I lug around a great laptop just in case I need these things, yet I mainly use that to search the web, run some power point presentations, check email etc etc. With Windows 8, I can get my PC on a tablet, and use it as a tablet, until I need to use it properly, and in such an event, I can…

 

WinRT, .NET, WPF and Silverlight

Ok, now this is where many bloggers etc really annoyed me, especially those saying “Microsoft has killed .NET and Silverlight”. The essential truth is that many “components” that make up the .NET framework (and therefore the Silverlight framework) have been incorporated into WinRT (which is the metro side of Windows 8 libraries – if you like). Metro apps run either XAML or HTML 5 (note that if you are familiar with WPF and Silverlight that XAML is the front end of those technologies) but don’t run what we could term “native WPF or native Silverlight” applications. Metro apps “managed code” environment is either C++, VB, or C# (oh that’s just the same as WPF and Silverlight), and pretty much everything is the same. If you have an old Silverlight or WPF app,
you do need to make a few, and I do mean few changes, before it runs in the metro environment. I personally don’t see the big problem with this. Sure if you have a business application running on Silverlight, you now need to change it if you want to run it in the Metro world, however, you can always run it in the desktop environment…If you want to migrate, make the few changes and away you
go, and you now have a Metro application. Those changes are essentially a few include changes, and that’s it…

When you look at “Metro”, you see that it really is just an update to Silverlight / WPF, actually the whole of Windows 8 looks and feels like a Silverlight / WPF.

 

HTML 5 and scripting languages

HTML 5 is now supported along with Javascript in Visual Studio 2011, now I don’t think this shows any movement away from Microsoft technologies (such as XAML), rather it shows Microsoft’s aim of allowing as many developers as possible to develop great applications for Windows 8.

From some of the videos I have watched, I would suspect that using XAML is better for Metro applications (well delivering some of them), however, HTML 5 is going to do more than adequate job.

 

Windows Azure

There was a lot on Windows Azure, especially when we start looking at how Windows 8 synchronises between all your devices. Now I am not one who has shouted about the cloud from day 1, I have often spoken of some of the issues regarding compliance and many issues with the cloud. However, that being said, Microsoft uses Azure very very well with Windows 8. They have also gone through a lot of work of exposing may Azure interfaces to developers, allowing them to take advantage of the power of Azure across all devices. Great thinking…

I also liked a lot of things being done with Azure, and how Microsoft have really addressed compliance issues that do raise their head when we think of cloud computing. If I am honest, I think the stuff I have seen on Azure of late has me praising the concept of the cloud so much more. Though I feel that’s more aimed at “Azure” than cloud computing in general. I still have issues with IaaS and concepts of cloud applications running in my browser (I hate that, I want a real user experience, a real application, and guess what, with Metro or the desktop and Azure, I can get that very easily).

 

Developers, developers, developers

BUILD was all about developers, and that means putting them at the forefront of Windows 8, giving them the tools they choose to develop with and allowing them “sell” to potentially millions of customers. On that note, there was a lot made about the sheer number of devices out there that will be running Windows 8, and just how big that audience is for developers. I know that Apple has gained traction here; I know that Android has gained traction too, but at the end of the day, if you develop for Windows you have the biggest audience out there. And that is a fact…Throw into the mix Windows 8 capabilities on tablets and the deal with Nokia, and I think you see that Microsoft is working hard to get even more devices running their software.

 

Much more I have missed…

There was simply so much at BUILD that I can’t possibly start talking about all the things I am aware of, nor did I fancy writing multiple blogs on essentially a platform that is only at developer preview stage.  I didn’t touch on Windows Server 8, nor other features such as NFC enablement, but there you go. Go visit Channel 9 and watch the hundreds of hours on BUILD.

Essentially, Microsoft has been working very hard, it has taken on board the need for touch, and the fact that mobile and tablets are becoming must have devices, and as such, Microsoft should have Windows running on them.

I personally think Microsoft has done a great job with Windows 8 and Azure, and I can really see them taking Apple on head to head in markets where Apple currently dominates. Is this Microsoft getting back to their best? I think so…





Apps Apps Apps. Oh and web services

31 08 2011

The growing demand for smart phones, and the ever growing number of us who now own one, and almost rely on one, means we (as consumers and end users) now expect to be able to consumer content and work in different ways. It’s amazing that “culturally” many of us now come to expect certain possibilities from our mobile devices, and that means we expect certain things from the content we wish to access or the solutions we wish to use to work. With this in mind, we need to architect solutions and user experiences not just for the “web” or the desktop, but for both, and not just for both, but also for mobile devices…

 

Apps, Apps and yet more Apps

It really all started with the iPhone, the drive for “there’s an app for that”, which means many of us now use apps for so many day to day type tasks. Apps deliver a far greater user experience than any web based “app” can in a mobile browser, even HTML 5. Keep in mind this fact, as it means consumers expectations are higher than ever, which ultimately means software developers need to provide “App” solutions, and not rely on HTML 5 for cross platform compatibility.

This same expectation on our mobiles means we expect similar from our desktop experiences. So while HTML provides cross browser capabilities and the newer HTML 5 provides richer experiences, it doesn’t quite hit the expectations consumers and users now have.  So what does this mean? Well it means that the desktop application is not dead, rather it is evolving, throw in the cloud and we can see where things “should” be going…

The Cloud

The cloud and SaaS opens up new doors, especially for “Apps”. Relying on HTML 5 to deliver cloud based applications is simply mad, simply because user’s expectations have moved on. For me, HTML 5 is simply 2 years already too late. The solutions then should be delivered in “app” type fashion, and this is where I believe Silverlight and Flash will lead the way. Both can deliver almost desktop type solutions and user expectation, but be deployed over the web. With Silverlight you can run it within the browser or out of the browse, as if a real desktop application installed on the machine. This surely is the way to go…

I know Apple goes on about HTML 5, but do we really believe that Apple sees people using HTML 5 apps on their iPad, when a user can access a far better experience, more features etc. by simply using the “App” for that?

Web Services

Good old web services play a pivotal role here, allowing any form of application (desktop, HTML 5, Silverlight, Flash etc) to communicate and essentially “work”. It seems that all these technologies are starting to “align” which means that these are exciting times…

One architecture for all?

With the cloud, web services and the drive for apps, we essentially have a single architecture that is already drawn out for us for so many different types of solutions. The only down side is that “apps” need to be developed for individual platforms, though Flash and Silverlight cover a few of the basis. But, “Apps” are essentially the front end of the solution, all the work is still being done down in the engine room and via web services, so it’s not as big of an issue as many may try and claim.

New ways of doing business

This architecture, and mobile devices, along with their apps, opens up so many new avenues for the ways in which we communicate, we consumer content, we play and how we work. It even means so many business processes that we believe are fixed in “stone” can be changed, and be changed for the better and at a cost that isn’t astronomical.

I think Apps, along with the cloud and web services will change the way in which so many day to day processes and tasks are done, I also firmly believe that there are a number of technologies in the pipeline that will take too long to evolve and will be overtaken by the “app” monster…I feel the big HTML 5 could well be one of them, with many organisations not investing in new HTML 5 websites, or applications, rather opting for real “Apps” leveraging web services…

What do you think will suffer at the hands of apps?

It would be interesting to know what other budding technologies, or big ideas, that you think may potentially fall by the wayside, because we now have such an architecture and consumer expectation for Apps…





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…





Silverlight 4 PivotViewer…I like it…A lot…

2 07 2010

There aren’t many controls that I see that make me sit up and think “wow”, however this really is one of those. For a while now I have been coming up with new ways in which to allow users of our workFile ECM product to access massive amounts of data visually, allowing the user to search through them in a graphical way that is both intuitive, but more importantly in a fashion that is usable rather than just looks pretty. We have had quite a lot of success with this, however in certain areas our solution just isn’t perfect, and for these areas we revert to more traditional methods of understanding / navigating data. The main issue is usually the potential amount of data the user may have to look through…

Let’s have an example. A while back I was asked to consult for a company that were looking at a solution that needed to look through vast amounts of pictures and graphics. The vendor had a very visual solution; it looked great and performed ok, for small sets of data. It involved using nicely animated thumbnails of data, which the user could then navigate, very similar to the standard tree view with details pane. However, the problem arises when your node could contain hundreds of thousands of images (which the customer did have). While the demo looked great and all the representatives from the client thought it would do the job perfectly I had to speak up and ask just how it would cope with say 500,000 images in a single node….. The vendor looked a little shocked and said “you would navigate in the same way or break the node down into several other nodes”…The client looked fine, however again I had to point out that scrolling up and down searching for a single image in 500,000 or popping into every sub node to find my image would take a hell of a long time. It was at this point that the vendor and the client both realised that this solution wasn’t going to work for them….Now this may seem obvious, but the issue with cracking graphical interfaces in this fashion is that, while they work great on smallish subsets of data, they really do fall down to massive vast amounts of information (you can’t beat a good text based search can you…..or can you…)

This morning I decided to finally look at the PivotViewer with Silverlight 4, and, I was very impressed. I have to say I like it a lot…All of a sudden I have a tool that can give me just what I have been looking for (without anyone here having to spend a long time coding).

What is PivotViewer

Basically it is a Silverlight 4 based control that allows you to graphically represent collections of data. You can filter and sort this data quickly and move between different views of your collection allowing users to quickly identify just what they are looking for, or perhaps trends in data for example…

What could we use it for?

Well there are many things it could be used for. A couple quickly spring to mind. Imagine a way of quickly and accurately reviewing your quarterly sales in a graphical format. Then imagine being able to break that data down (using the same graphical format) into each month, then week, then day. Or perhaps you want to compare cars based on fuel economy, price, and number of seats. As a user, you can filter and re-filter all this information graphically so you can quickly and intuitively find what you are looking for…

There are many uses for this particular tool, and it could indeed lead to RIAs that deliver a completely new way of providing us with data and even navigation…

Interested?

Well if you are interested, have a look at http://www.silverlight.net/learn/pivotviewer/





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