Skip to main content

Revenge of the Thick Client?

:: Markus Egger, in the latest Publisher's viewpoint, talks about how he sees a rebirth of the thick client, powerful desktop applications as opposed to lame feature-skimmed web clients.

I'm not sure I entirely agree, although when you read the entire column, you'll see that he is not advocating all and out thick clients. Yes, there will always be cases where the functionality on the desktop has to be there but I think design needs to be done to make an application treat its functionality as a service - available when needed and where possible.

To his credit, Markus notes that the Smart Client is really the technology that closes the gap and this is really where the power is needed. In response to his note: "Would you rather use Microsoft Outlook or Outlook Web Access? " My response is simply "it depends on where I am".

I want my information everywhere and I want tools that give it to me. Yes, if I'm doing heavy data entry, I don't want to be required to enter stuff on a web site but hey- WHY am I still doing data entry?

Technology was supposed to evolve to the point where I no longer have to do redundant input. No, we're not there yet but I would rather see developers concentrate on making the functionality accessible WHEREVER it is needed, rather than focus on building a "desktop" client.

Markus' point about the Tablet PC and ink-based interfaces is well placed. You don't want to be doing ink entry on a web-based interface but I also don't want to have to load an huge application to view my statistics. A CEO of a company shouldn't have to install software to see his company information and it's not similar to (as Markus puts it) - "public applications" or "occasionally used applications." Instead it's the "forest v. trees" scenario. He needs to see it on his home computer, his PDA, his pager - wherever he needs the information required to assign responsibility.

His non-scientific observations about web-based vs. Windows-based data entry (web IS going to be slower) are right on target (see page 2). But it also has to do with HOW the data is being put in. Hopefully, a company doesn't submit paperwork to a clerk who then orders books from Amazon. The purpose of the web-based interface is so that ANYONE (from the CEO to the clerk) can order books, as they need them.

I used to write trucking software and often heard demands for I want to dispatch over the web. Huh? Dispatching is the "art" of taking 1000 shipments and matching them with the 100 trucks that are best able to deliver the shipment. It is inherently, a visual and entry intensive operation and isn't well suited to web-based interfaces. Having someone book 100 orders that came in over fax is also not suited to a web-based interface but letting a customer submit their order or check the rates between one location and another, as they need it, IS.

Developers considering the service oriented architecture and smart clients should be very wary of making design decisions based on web vs. desktop clients. Web or WinForms is a USER interface choice - it shouldn't be the business or application architecture (if this is beginning to sound n-tier, that's because it is - nothing has really moved away from that concept).

The Service Oriented Architecture is aptly named. When you go to a restaurant, your server, the table, the background music is your UI. The actual work, interfacing with the food, is performed by the server, hopefully on demand. In the back, almost every restaurant works the same (and it isn't always pretty!), churning out the requests, presented on your behalf, by the server.

Take what you want your application to do and make sure it can be accessed on demand, as a service - then build the appropriate user interface, be it thick, thin, web, smart or dumb, for what is needed.

Now that's being Smart.

Comments

Popular posts from this blog

FoxInCloud Stats

FoxInCloud sent this link a while back about their statistics regarding visits to their site:

http://foxincloud.com/blog/2017/12/27/VFP-community-lessons-from-foxincloud-site.html



What's interesting here is the breakdown of people. Yes, I think it's understandable that the Fox community is getting older.

Another factor is the growth of the mobile and web environments taking over development. These environments really do push people towards the newer non-SQL or free SQL/hosted environments but more towards hosted storage options like Amazon and Google. A tool like FoxInCloud that helps MOVE existing applications to the cloud inherently competes with those environments.

But FoxInCloud also allows developers to extend their application further by giving them a starting point using Javascript and the basic CSS (such as Bootstrap). If you're not rebuilding your application from scratch, it's certainly a great step forward.

Well, that explains CodePlex...

In a move that will be sure to anger open source (or rather anti-paid software, anti-Microsoft open source)  zealots, Microsoft is planning to buy GitHub.

A year ago, I mused about why Microsoft would shut down CodePlex and how the world needs competing source code repositories to be strong. I'm not the only one per this Slashdot article :
"...people have warned about GitHub becoming as large as it did as problematic because it concentrates too much of the power to make or break the open source world in a single entity, moreso because there were valid questions about GitHubs financial viability...." - Jacques Mattheij

I will be interested in seeing this play out - whether developers jump ship or not. Have all the efforts Microsoft has made in pushing towards open source be seen as genuine or will all the zealots jump ship or maybe even attack?

Microsoft's comment about why they shut down CodePlex referred to how spammers were using CodePlex. Well, GitHub has its own …

The World of Updates Today

I just received an update for Office 365. It certainly includes some cool features - including starting in one environment and picking it up in another environment. In recent years, I've certainly enjoined the use of Continuity on a Mac and in fact, I feel spoiled being able to start a message in one environment (even Google) and then finish it off on another.  This has become some pervasive when we were reviewing our most recent backlog at a client site, a similar feature was added to the current workload.

But with web applications, the trend is to reduce the amount of software on a client machine. I used to have automatic backup for all of my machines (thanks Carbonite!) but these days, many of my machines don't need anything beyond the core OS and some basic applications. Certainly that's the feeling with Chromebooks and even the lightweight aspect of many iOS apps. The functionality is mostly in the cloud.

When you upgrade your system, you expect it to a big update. So…