How far will Microsoft go with HTML ?!


image

Let’s face it people, if you can deliver your product in HTML without compromising on UI/UX then … you should !!!

HTML is the ultimate cross platform technology, and that’s the sad truth.

I still do believe that Silverlight has a large part to play both on the web and on the desktop BUT I admit HTML5 is starting to look good for delivering simple Line of Business applications.

What I wanted to do today is discuss something interesting that I’ve been watching unfold, and that is the story of Microsoft Data Explorer.

The reason I am watching this project very closely is that it could be a sign of the future direction of Microsoft products. Bare in mind thou it is only a beta/labs project.

What’s I find interesting in this product is this

  1. it is a web application hosted on azure as a service
  2. it has a desktop, offline and connected, implementation of the application
  3. Both 1 & 2 look almost identical in functionality
  4. They appear to be aimed at a Metro style app world, that is they look like prime candidates for a future “metro style app”
  5. They are what I would categorize as “Line of Business” apps
  6. They are part of the SQL Azure family
  7. The UI technology behind the app is HTML based
  8. Considerable size Microsoft project that I would consider as embodying Microsoft’s future vision for apps.

All of these things interest me because this app could be a window into the mind of Microsoft and it’s architects. An idea of how they plan to build the next decade style LOB apps that cross desktop & metro, cloud and offline, and possibly across devices.

So let’s see how the desktop client of this product works Smile

The install can be found here, it’s early beta BUT public. I encourage you to go forth and install it and see for yourselves how all this hangs together.

It installs in the “Program Files” folder

00008

It has an entry point known as “ClientApp”

image

 

Now this is where it gets very interesting … This is a quick analysis of the architecture of this desktop app..

 

00007

It’s a Win32 app that runs

  1. ServiceHosts
  2. HttpListeners
  3. Forms that host WebBrowsers
  4. Forms that are also Javascript interceptors/windows

Basically it is a desktop app that is a local webserver serving up webcontent..

Now that is an interesting approach, imagine taking your HTML Metro Apps and having that exact codebase running on the desktop within these local webclients ..

What’s more is this local WebClient is a ASP.NET host .. yes it hosts asp.net content Smile

This is a rendered screen and the parts that make up the screen..

00006

The root folder that the app is installed at is what is loaded into the “client website”

00001

It consists of css , js & views (which are just ASP.NET content)

 

00003

 

00004

 

00005

And the “BIN” folder contains the executable’s and the binaries that make the desktop client run ..

00002

Will this architecture work in the big wide world with firewalls and port rules on local systems?!

But the idea of taking your metro style app , html ones, and having them run as is on the desktop using a similar architecture is a pretty awesome idea no ?!

I know of other Microsoft products that are going HTML and are more than likely going to follow a similar architecture.

Anyway I thought I’d share this with you, I actually like the approach BUT I have to admit the performance of this desktop app is very slow, I haven’t analysed the reasons for this as I would have expected it to be much faster running as a local web hosted application .. but go figure …

Bottom line is I like what I see … interesting times ahead in the HTML world Smile

… now back to my forever favourite technology Silverlight !!!!

9 responses to “How far will Microsoft go with HTML ?!

  1. mmh sounds familiar:
    “An HTML Application (HTA) is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript. The HTML is used to generate the user interface, and the scripting language is used for the program logic. An HTA executes without the constraints of the internet browser security model; in fact, it executes as a “fully trusted” application.

    The usual file extension of an HTA is .hta.

    The ability to execute HTAs was introduced to Microsoft Windows in 1999, along with the release of Microsoft Internet Explorer 5. [1]
    ” source http://en.wikipedia.org/wiki/HTML_Application
    I did HTA back then and was cool idea but never a joy to code. IS HTML5 fixing all teh problems, Idon’t know. I still think using a text markup language for applications isfiitong a square peg in a round hole.
    Back to my XAML coding🙂

  2. Pingback: How far will Microsoft go with HTML ?! | Silverlight and other cool things …

  3. Ah yeah HTA were an interesting take on standalone web apps. Back in the days, I published a proof of concept for standalone Silverlight applications. This was a preview of the Silverlight Out of Browser applications to come.
    http://blog.galasoft.ch/archive/2008/04/24/silverlight-running-standalone-full-trust-applications.aspx

    Of course HTA never made it big, mostly because of JavaScript, which is interesting to consider nowadays. Seems that many people forgot what we went through back then, and want to go through it again🙂

  4. Ahh yes HTA apps, and i remeber your clever hack Laurent with SL running in an HTA many years ago.. Was cool then and is still cool today🙂

    I also remember in 2009 when Opera announced it’s labs project UNITE, the idea of including a “web server” like feature into it’s browsers. (Link to announcement below). This is also the type of thinking I think MS product teams may now be heading down, assuming they build more web apps that they currently deploy in azure or on webservers that they also may want to run locally on the client desktop..

    I liked Opera’s UNITE idea and and am immensly sad that they didnt fulfill that vision, probably due to implementation issues with ports, firewalls and local service permissions etc..

    Also MS have the ground work to do their own local running, light webservers. They have IIS Express, just package this up into IE and bam you have a way for web apps to go from cloud to client! I would be very suprised if MS didn’t try to do this.. This could have been the perfect solution for DataExplorer, have IE10 serve up the web content as a server (including ASP.NET content) and then the data explorer team concentrate on the actual app…

    Anyway hope to see if this is just a point solution or a FAD with future HTML products… I’m closely watching the Dynamics and BPOS products to see their approach to client software this comming year …

    Opera Unite:
    http://dev.opera.com/articles/view/labs-taking-the-web-into-our-own-hands-one-computer-at-a-time/

    IIS Express:
    http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx

  5. SL running in HTA? cool I could add another layer to my Matryoshka hack where I did put a WinformsApp in a WPFBrowserAPP in a SL app. http://forums.silverlight.net/t/221771.aspx/1 because somebody asked for Winforms within SL. It’s pointless but fun.
    About the integrated webserver; I wondering how LigthSwitch is doing it. Since they allow to deploy a LS app into single executable instead of hosting on IIS, they have to have a build-in webserver for hosting the WCF Data service that talks to the database.

  6. HTML 5 looks promising as of now but it has long road ahead to get into the arena of LOB apps. At the moment I think Silverlight is the best choice. I would like to see that MS build something on top of LightSwitch which supports Silverlight desktop and web both. If they come up something to build a WinRT app using Lightswitch with xaml /html. This would be great.
    Till then Silverlight will flow in my blood and I would continue to develop apps on this great technology.

    Cheers

  7. Pingback: How far will Microsoft go with HTML?!

  8. Pingback: How far will Microsoft go with HTML ?! :: Learning

  9. yeah, this isn’t exactly new – can you think of any apps that respond to F1 by starting up a local web server and the help content is served from that?🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s