Daily Archives: November 22, 2007

the doctor Says There’s Nothing Wrong With Fat Client

I recently read an article over at Knowledge @ Wharton on Software’s Future where they said that there is a drive toward hybrid desktop/webtop software, that there are limits to both approaches, and that the future for software may be a blend of the best features of both, that really got my attention.

The focus of the article was on the fact that Adobe Systems, Microsoft, and Google recently made new product announcements around advancements that they believe will be the future of software. Adobe with its buyout of Virtual Ubiquity that created a web-based word processor on Adobe’s new software development platform, the AIR, that can run on-line or off-line; Microsoft with its Office Live Workspace that extends Office and allows users to store and edit documents on the web and share them with others; and Google with its “Gears” that allows developers to create web applications that can also work offline. Based on these offerings, the experts at Wharton are predicting that the hybrid software model is going to emerge and take hold and be long-lived.

Furthermore, they are predicting that this new hybrid software model will develop in two phases. In the first phase, web-based applications that offer the same features as current desktop applications will become common. In the second phase, web applications and desktop software will co-mingle and the functionality advantage of desktop software will erode.

Well, this would be a great prediction – if it wasn’t for the fact that phase 2 exists today and has existed for a long, long time. It’s called Fat Client, or Thick Client, and some on-demand software as-a service providers, like Iasta, have been delivering software in this model for years! Now, you might say that it’s not the same because browsers are ubiquitous and fat clients tie you to a single platform, but that’s just not true.

First of all, there’s nothing stopping you from writing your fat client application in Java, which is as multi-platform as you can get. Secondly, should you decide you’re going to use Flash or Flex, you’re not even going to be compatible with every major web browser, yet alone every platform. The most popular browser is still IE and, guess what, that’s Windows only. Microsoft abandoned IE support on Mac years ago. Opera, still not that popular, even though it had most of the innovative features that you find in today’s browsers first, is only PC, Mac, and mobile. Only FireFox comes close to covering today’s common platforms, namely PC, Mac, and Linux, but don’t expect every plug-in or extension you commonly find on the PC to be available cross-platform. Basically, the web-browser is not universal, as not all browsers even support CSS fully and identically, and has no advantage over a well-designed Fat Client in Java.

Thirdly, and most importantly, whereas web-browsers and plug-ins are encapsulated from the underlying operating system and don’t give you a lot of control over local processing and no capability to save or cache data locally, Fat Clients give you the best of both worlds. You can work locally, or over the web. And since there are a number of open source browser projects out there, including the Mozilla technology base that FireFox is built on, there’s no reason a Fat Client can’t include a browser if that’s what you feel you need for that web experience.

Let’s face it, the web isn’t what you see through your browser, the web is a set of services that can be defined and encapsulated in protocols such as HTTP, FTP, SMTP, etc. that constitute the application layer of the internet and that run on TCP/IP. The browser is one way you can view data that is available over the web, but it’s not the only way.

So next time someone suggests “Fat Client”, don’t dismiss it as current generation technology or something that isn’t “web” enough. Done right, “Fat Client” is the hybrid future of software technology. It’ll let you work locally on a document or your own spend data set and then let you collaborate over the web and share your document or data in real time when you’re ready. It’ll let you use your local laptop resources when you’re on the plane and without internet connectivity and a remote server when you’re online. And you don’t have to worry about downtime due to internet failure. Let’s face it – even if you’re SaaS provider does have 99.999% up-time, that’s useless if your local city construction crew accidentally slices through your T3 internet connection and takes your internet connectivity down for a couple of days. So forget about the Thin phase – it’s time to get Fat!

Strengthen Your Supply Chain

In yesterday’s blogologue I told you that your brand was a terrible thing to waste – and that the strength of your company’s brand ultimately lay in its supply chain, and not the latest fad dreamt up by your company’s marketing mogul. This means that, unfortunately, it’s up to you to protect the brand, and not the apathetic advertisers who lounge around all day being “creative“.

So how do you do that? The Industry article Strengthen Your Supply Chain that I referenced yesterday has some good starting points. It tells you to focus on five key elements that cover most of the basis. It’s key elements were:

  • traceability
    you should be able to track all products, components, and raw materials backwards and forwards through the manufacturing process
  • measurement
    basically, testing; identify the components and risk points (start with the hand-off points) and then have internal quality assurance personnel or an independent auditor test each component and at each risk point
  • certification
    certification programs set guidelines and involve an additional process of checks and balances: these usually fall into regulatory, industry self-regulation, and third-party certification
  • efficiency
    be sure to adopt a traceability and testing program that works with day-to-day supply chain operations
  • organizational buy-in
    successful supply chain management depends on the cooperation of employees at each and every level

To this I’d also add, at a minimum:

  • Visibility
    It’s important to not only know what goes into your products, but where each raw material, component, and product is at all times. Could they have been tampered with? And, if you are dealing with consumables, how long did they sit on the truck? Could they have gone bad?
  • Modeling
    In order to be sure you have the right process, including the right checks and balances, you need to be able to model the supply chain as it is, as it should be, identify the differences, identify what could go wrong, and insure an appropriate test is included for each hand-off point, risk, and exception.
  • Supplier Management
    You ned to insure that your suppliers understand the importance of the process, are following the process, and are reporting any and all problems that arise, including those that they are able to detect internally. (If too many problems arise internally, even if they are corrected before defective or contaminated goods are shipped, then they need help with their process as the risk of something slipping through the cracks is too great.)

Finally, I’d like to point out that as important as certification is, checking out the certifications is even more important. In some parts of the world, it’s quite easy to buy a faked certification document. Just because a new supplier sends you a certification document, that doesn’t mean they are actually certified. Be sure to check with the organization that issues the certification that the supplier in question was actually certified AND that the certification is still in effect. But don’t stop there – if the certification is one that is actually done by third parties, check out the reputation of the third party conducting the audits. Are there any complaints against them? If so, how many and how recent. In some places, it’s even easier to buy a successful audit then it is to buy a fake certification.