Apple App Store – A New Beginning?

Saturday, 12 February 2011 01:45 by RanjanBanerji

Way back in the early 90s when the web was just getting started and various companies started creating web/browser based applications I predicted that this trend would be short lived.  My prediction was that complex browser based applications would never last and that in the future people would build applications that will run on computers but will get data from sources on the web.  Well we all saw how well that prediction worked out.  Everyone used the web browser as their application platform.  I was as wrong as wrong can be.

But I did have my reasons and I still believe them to be valid.  Web Browsers are not operating systems.  Yet we seek out ways to make them behave like one.  Every customer I meet says they want a web application that looks and behaves like a fat client application.  Well why not build a fat client application?  You would think that would be the easier way right?  Technically perhaps yes, but there is a lot more to technology than just technology.  The rationale most organizations use is:

  • Web applications is a write once effort.  Websites are platform independent.  So as a bank I can create a web application and not worry whether the end user is on a Windows machine, Mac, Linux etc.  So their attempt to simply application delivery organizations put out crappy browser based applications instead of slick and useful fat client applications.
  • IT managers wanted to move away from the world of DLL hell.  More importantly though IT managers wanted to minimize their efforts.  Why would anyone want to deploy applications on each desktop when they can do it just on one or two servers?

The result has been this massive scale adoption of browser based application development which in my opinion is basically substandard.  But the IT management world has pretty much dictated this trend.  Over the years we have all adjusted to absolutely crappy user interfaces rather than fighting back.

Then came the iPhone.  All of a sudden the whole world was focused on Apps.  People were acting as though they had never seen high quality GUI based applications before.  And coming to think about it, there is probably a generation out there that mostly dealt with browser apps and never with rich GUI apps.  No wonder people went crazy over the iPhone.  Then came the Android phones, the iPad, and now the Android tablets.  They are all based on rich GUI applications.  Is my failed prediction from almost 20 years ago finally coming true?

Ask anyone as to what’s so good about the iPhone, iPad, droid, and the new about to be released Xoom tablet?  The one answer you will get is ease of use and amazing apps and app usage experience.  YouTube may be an amazing web site but the YouTube app for for the iPad and droid is just better.  I prefer TED on my iPad vs a web browser.  Banks while maintaining web sites are now creating apps for the apple devices and droid devices. 

Apple also introduced a new concept, i.e., the App Store.  A single place to search for and get your applications.  I am not necessarily a fan of how Apple runs the App Store but the concept is neat.  Get developers to build and distribute applications for free or not through a reliable market place.  All you need is imagination and the ability to write code.  Distributions is not a problem.  This has for Apple opened the door to an incredibly large number of applications.  Google with Android has followed suit.

So are we finally entering an era of quality UI based applications?  Are we finally emerging from the stone age of computing, i.e., the web browser?  I really hope so. 

Categories:   IT | IE
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Debugging Browser Objects (Toolbars) in Internet Explorer 8 (IE8)

Wednesday, 3 June 2009 20:41 by RanjanBanerji

I have built several toolbars for IE and every now and then I end up modifying them and then end up having to debug them.  Up until now this was an easy process.  I would open the source code for the the toolbar DLL in Visual Studio (2005 or 2008) and on the debug property page I would set it to launch IE.  Any breakpoint in my code would get triggered.

Recently I upgraded to IE8.  At the same time I found a bug in one of my toolbars.  SO I set out to debug it and the moment I hit F5 I got the following error: “Error while trying to run project: Unable to start debugging.”.  So I started looking into what went wrong.  If I switched the debug setting from running IE to opening a URL in a browser then IE would launch but my toolbar DLL breakpoints were still not be called.  Was this a new IE8 security feature?  I didn’t think so as I could still debug websites by asking it to open a URL in the browser.

So then I attempted the next best way to debug.  Simply attach to the iexplore process via Visual Studio.  Uh oh! there were several iexplore processes running even though I had just one IE open.  Now I remembered reading about IE8 and how it launches each tab in its own process.  So which one do I attach to?  I went ahead and attached to all.  Still unable to debug.  This was no good.  So I started reading up on IE8 and stumbled upon this blog post: 

In the blog post under item #4 it talks about the fact that the IE8 process model is configurable.  You can what the maximum number of processes is for IE.  This is done by the following registry entry TabProcGrowth (DWORD) that is at:  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

If it does not exist then IE does whatever it wants to.  If set to 0 then IE will use just one process.  Now the debugger works.  I do not know if there is a better option, because with this option, post debugging its a good idea to go to the registry and remove TabProcGrowth so that IE8 can function as it was designed to.


Categories:   IE
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed