The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

This post is from a very good friend of mine, Billy Hollis. He’s got some interesting food for thought and I think you’ll enjoy his perspective!

For over 15 years now, our industry has been struggling with a crucial tradeoff. We can get broad reach via standards, or we can get the best possible user experience with applications that take advantage of particular devices or platforms.

It's a stereotype that people in software development tend to be code and technology centric and not user centric. Ideally, we would like "one best way" to write our applications, with that "one best way" optimized to allow us to produce reliable, scalable applications as quickly as possible.

However, I don't think we're anywhere close to a universal "one best way". Until the day that web/cloud bandwidth is roughly equivalent to local bandwidth, that can't happen. Until the day that standards balance the need for security and the need for device access, that can't happen. Which means we won't be seeing it any time soon.

So, until that day, our industry must be open to the idea that the way we expose our applications to users must vary with circumstances and application requirements. Sometimes we are OK with straightforward UI and we need broad reach, so we use web standard technologies (e. g., social media). Other times we must have strong integration with devices and the best user experience we can design and create (e.g. clinical records management for healthcare).

Most applications will fall somewhere in the middle, and then we must make hard decisions on what aspects of our application are most important.

Unfortunately, as the people developing the software, we have a tendency to choose what's easiest *for us*. For example, it's usually much easier for us to produce a centralized application. Our deployment story is simplified, and our maintenance path is reasonably clear.

So, in making our tradeoff decisions, we should always remember this: users outnumber developers. Our applications and systems exist for them to get something done.

Large, diversified, distributed groups of users benefit from standards-based development. They get to use the software with whatever device or system they happen to have. They don't have to bend their lives to our software, and that's good for them. Software for such groups usually has a fairly small core feature set, and we can use standards-based UI technologies to give a more-than-adequate user experience.

Smaller, focused, often professional groups of users benefit from applications that make them as productive as possible. That may mean any of the following:

- Intelligent management of complex task-based workflow
- Heads down data entry
- Management of rich data, including graphics and numbers that require context setting
- Visualization of data and analysis features for decision support
- Interface to various devices that supply information to be managed
- Security needs to comply with regulations such as HIPPA

A tangible example may help clarify. At the beginning of the .NET era, I did some light consulting with a local startup working on clinical records software. They decided it would be browser based, because everything they read by various experts in the industry told them that standards-based development was so important that it basically overrode almost all other considerations.

I was the only person advising them to strongly consider a client-based user interface. I know doctors. They demand usability, clarity, and responsiveness in the software they use. That's completely understandable, given the responsibilities they have.

The company devoted six years and perhaps ten million dollars in trying to make that browser-based software function as a clinical records system. At the end of that time, they threw in the towel on it. The doctors simply refused to use it. It worked, in the sense that it managed all the information the doctors needed. It just was not usable and productive enough to replace paper charts.

After six years, they began shifting to Windows Forms wrapping the browser to get more control over the interface. They had just begun to shift to WPF, but the money ran out. 

From what I've seen in HTML5, it still is not ready to give the kind of user experience this sort of application ideally needs. Among other limitations, it lacks the client-based state management to build in enough local intelligence. You could certainly build a better clinical records system in HTML5 than in HTML4, but I still believe it would fall well short of what's possible with other, client-based technologies.

In the last year or so, I've done consulting for the following scenarios:

- Petroleum management software that must run on a local machine, because it is used at oil wells in the middle of nowhere and manages complex data sets with thousands of measurements

- Medical management software that handles complex images and videos, with annotations, dictation, workflow, interface to devices, and strong security

- Kiosk software with touch for manipulation of 3D images

- Retail software that must run regardless of network connectivity, must be highly productive, must have a touch option, and must directly interface to devices such as credit card readers and cash drawers

- Home healthcare that must allow users to travel to homes in a wide area, with no assurance of connectivity, and work with rich databases that must be on the local machine for complete availability

All of these scenarios require capabilities that would stretch HTML5 to the limit, if they could be accomplished at all.

I go into such depth to try and establish a basic concept that ought not be that controversial: for the foreseeable future, our industry needs technology to create rich, productive applications with interfaces that run on the client machines, and in many cases require access to local resources and devices on the client machine.

That doesn't mean I regard HTML5 as worthless or irrelevant. Far from it - I abhor how miserably bad the user experience is on many websites, even those from major corporations. Anything that gives UI designers better options to create more usable and pleasant sites is AOK with me.

However, it pains me to see a recurring attitude among many developers, especially among enterprise-level thought leaders, which is this: whatever works for me is what everyone should use.

I see it in evangelism around process X, Y, and Z, in open source evangelism, and in standards evangelism. All of those areas are valuable - but not universally. Not for every team and every application.

"One size fits all" doesn't even work very well for hats. I hate those adjustable baseball caps, and you don't see Major League baseball players using them.

One of my guiding principles is that any time someone promotes a "one size fits all" concept or technology, I pretty much pigeonhole that person as lacking experience or perspective, since "one size fits all" doesn't work for anything in life.

So it is with HTML5. As I said, I'm in favor of it. There are applications where it's a clear choice, and I hope to see it promote more and better UI design thinking among the software development community, which has historically been delinquent in that area.

But can the HTML5 advocates please give some respect to the alternatives that are needed for other circumstances and other applications? Can we stop with the "HTML5 is taking over, so X is dead" discussions?

We have a generation of users coming up that grew up on iPods and iPhones. Their usability standard is molded by apps on the iPad.

We developers need to step up and take on the challenge of doing better. Sometimes that will mean using the advanced capabilities of HTML5 to create better web applications. Other times, it will means stretching our imagination to the limit to come up with innovative ways to leverage the capabilities of powerful client platforms.

For that range of needs, we'll need a range of UI technologies. We'll need HTML. We'll need Silverlight. We'll need WPF. We'll need other technologies for other client platforms, such as Objective C.

But most of all, we'll need the attitude that we will do what's best for our users, not simply what's best or most comfortable for us.

Print | posted on Saturday, April 09, 2011 3:34 PM

Feedback

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by meni at 4/10/2011 1:55 PM Gravatar
DISCLOSURE: I'm an open-standards zealot as they say. Sorry if this comes as a troll, it's not.

First, to replace many Silverlight scenarios (what's called LOB) you don't need HTML5. HTML4 will do nicely, thank you.

I _don't_ hate Silverlight (assuming this is the child's name), it's a great technology that, so i hear, allows one to be very productive. Great for you. I _do_ hate it when someone puts Silverlight on a public-facing site. Say a bank web-site or a government site. His/Her thoughts were: Microsoft said that it's safe b/c it SL runs on PCs and Macs. Only losers have something else. Well, that was yesterday. Today Microsoft says, if I understand their message: please don't do this (their actual message is: for broad reach use HTML).

A developer who does that doesn't see beyond his/her nose, and angers and puzzles me greatly. Issues as free and open web mean much less to them then the issue of ease of development (which you alluded in your post, so I guess we agree).

When the world is slowly putting the Flash fire out (I hate flash use as much as SL), Microsoft came and happily started another one. Please honestly compare that to Google's actions.

But as they say on slashdot, kicking SL today is akin to kicking a puppy. The game is over. I want to see a developer that comes today to his boss and say: let's do this project with SL. Sure it's not going to work on iPads, iPhones and androids*, but see how easy it is to set up an app?

It is over, get a refund from MS.
[no offense, is was a joke.]

* I heard there's a SL port by novell for android

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by Billy Hollis at 4/10/2011 4:19 PM Gravatar
meni, I'm not sure I understand your point. To clarify, here's a simple question. If it were within your power to make it so that Flash and Silverlight had never existed, would you do that?

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by meni at 4/10/2011 5:51 PM Gravatar
Billy, let me first answer your question with another one: if it was within your power to put Silverlight in high profile sites like FB or Yahoo, would _you_ do that? (when i heard of Ballmer's intention to Yahoo, the first tought that came to my mind is he wants to drive SL adoption).

To answer your question, sure i would rid the world of Flash and SL. I think some free and accepted alternative would arise in a second. Or a decade, which is also fine with me. Which part of "the web must be free" don;t you understand?

You might argue that Silverlight is free, but i'd say: i have a few items i would like to sell to you.

When Microsoft first pitched SL, it said it's x-platform (they stop saying that BTW). Windows and Macs. Do you think for a second that had Microsoft's plan for Silverlight succeeded, god forbid, the Mac port would have been kept up to par for long? If so, again, i have a few bridges you might be interested in.

Look, i assume you like Microsoft's products like SL. But look at the web-stack:
ASCII, TCP/IP, HTML, CSS, JavaScript, JPEG, GIFF (good riddance), PNG, not to mention SVG and Canvas and the gang. None of it came from MS. Microsoft's major contribution the the web other then xmlhttprequest is (was) Silverlight....
The difference is that the web stack is mine, SL is Microsoft's.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by Billy Hollis at 4/10/2011 7:06 PM Gravatar
"To answer your question, sure i would rid the world of Flash and SL. I think some free and accepted alternative would arise in a second. Or a decade, which is also fine with me."

So, you would deny people use of YouTube - and the enormous impact it's had on politics and other areas - for ten years just to satisfy your own personal ideas about how wonderful open standards are. And you "think" some free and accepted alternative would arise, but given the lack of economic incentives in the free model you describe, you have no strong evidence that it would actually happen.

If I understand your position, you would deny the nurses walking the floor using Silverlight-based software my team developed the access to an application that helps them save lives.

"if it was within your power to put Silverlight in high profile sites like FB or Yahoo, would _you_ do that?"

No, and there's absolutely nothing in my essay that even hints at that. You're making a total strawman argument here.

"Which part of "the web must be free" don;t you understand?"

Which part of "there's more to software than the web" don't you understand? You act as if the web is all there is. People have jobs. They need software that helps them do those jobs. Some of them work in distributed circumstances that make a web deployment model desirable, but they need better functionality than HTML or other open standards UI technology can provide.

Your attitude, if I understand it, is that you would cheerfully do away with options that other people find valuable in favor of some abstract principle about the web being free. No consideration for productivity, saving lives, or even the sheer pleasure of watching funny videos on YouTube. Do you really want to stick with such a philosophy? Is your world really that small?

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by meni at 4/11/2011 6:45 AM Gravatar
"If I understand your position, you would deny the nurses walking the floor using Silverlight-based software my team developed the access to an application that helps them save lives."

Wow, wishing Silverlight off the open web amounts to people dying. I never thought about it like that...

Seriously, let me regroup and try to elevate the discussion, and if I sounded too heated I apologize. I do not hate Silverlight. I never said you should not make great apps with Silverlight, including life-saving. The only thing I said is please don't put Silverlight on public-facing websites. Microsoft says something close, namely for a broad reach use HTML. They imply that you need somehow HTML5, I disagree and say that for most LOB apps you can use HTML4. Check out Google's tech talks of the last 3 or 4 years.

As an aside, I hear that iPads are making inroads to the enterprise especially hospitals. Are you saying that today as a team leader, you would recommend starting over again with Silverlight?

Please don't take offense with the following Q: Isn't it the case that you bet a lot on Silverlight and feel a bit shaken with everything that's happening?

Respectfully,
meni

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by Billy Hollis at 4/11/2011 8:05 AM Gravatar
If your core message is "don't put Silverlight on public facing web sites", then (1) I never argued otherwise, and (2) you seem to have let a general hostility towards non open standards technologies get you on a soapbox without really looking very hard at what I was saying.

You asked if I would recommend a group that uses iPad starting over with Silverlight. But in the essay, I called out Objective C as one of the useful options! I don't even understand why you would ask the question, unless you have jumped to a conclusion that I'm here to advocate for a particular technology. I'm not; I'm just advocating for what works best for users.

I stated it explicitly in the essay:

"Sometimes we are OK with straightforward UI and we need broad reach, so we use web standard technologies (e. g., social media). Other times we must have strong integration with devices and the best user experience we can design and create (e.g. clinical records management for healthcare)."



Jumping on a soapbox about open standards, and jumping to conclusions that people who use alternatives are somehow advocates that those alternatives and opponents of open standards, is not helpful. The world is bigger than the web. We need a diversity of software to address a diversity of needs.


When folks like you muddy the issues and reflexively work against anything that's not open standards, like it or not, you sabotage the capability of people like me to give the users what they want and need.



That clinical records management system was a prime example. The open standards contingent pushed that group into using HTML-based technologies, when they were not a fit. Millions of dollars were wasted and users were frustrated, in my opinion unnecessarily.



If you want to tout open standards for the web, fine! But please don't reflexively denigrate and talk down software that's for a broader purpose, that you don't use, and that happens not to suit your purposes.



"Isn't it the case that you bet a lot on Silverlight and feel a bit shaken with everything that's happening?"



I've put a lot of investment into Silverlight and WPF, but they are merely the latest client technologies into which I've done that. I've put even more investment into general design principles, and I need a technology that gives me the flexibility to use them. That's XAML today; it might be something else tomorrow, and I don't care that much because it's all just a tool for me to help users. I'm no more shaken by anything that's happened to Silverlight than I was by the decline of Windows Forms.

What I need might be something else tomorrow. It might even be an open standards alternative, though I see none on the horizon that will give me the flexibility I need. (And if you think LOB applications such as call center applications can be written in HTML4 and still yield the highest user productivity, sorry, but that's simply incorrect.)

So I'm not particularly attached to XAML. I'm attached to creating great user experiences. It frustrates me that as part of that, I have to constantly overcome glib statements by open standards advocates who are reflexively hostile to anything that doesn't fit their personal philosophy about technology.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by meni at 4/11/2011 8:34 AM Gravatar
I regret the first two paragraphs of my previous comment. I shouldn't have made an issue with something that obviously you didn't mean.


My message is "Developer use Silverlight freely, but please, please don't put Silverlight on web-sites." [added another please :-)]

I am happy that we are in agreement over this.

I don't regard developers that make sites with Silverlight (bank sites for example) as evil. But they just do not understand their responsibility, and were there enough of them, today Silverlight was one of the prerequisites of browsing the web.

Let me make an easy prediction: This mix, or one of next ones, Microsoft is going to make an earth-shattering statement of opening the .net stack COMPLETELY and relinquishing any desire to sue anyone over patents it holds. Do not worry, your SL and XAML skills will be in demand one day.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by Josh Reuben at 4/12/2011 6:35 AM Gravatar
Companies and governement departments allocate most funding to software projects for 1 reason: money - to increace profits / reduce costs. This ususally involves an information system of some sort that runs on their infrastructure. As they control their client infrastructure, they dont need to comply to web standards. As workstations are predominantly Windows the most cost-effective API for such apps is WPF - no js muckaround means lower maintainence costs and faster dev.

Pick the average company - they predominantly make money in some non-B2C endevour, and they have various departments that have nice-to-have requirements. When budgets allow, they try and check some of these off. Eg accounting, HR, operations etc. How much of that is internet related or smart phone related?

Yes web-standards make for a rich browsing experience and and I am very happy with my Android phone, but I code for money. I've worked for web startups that have gone bust when the cash ran out (whats the 'new economy' success rate? for every Facebook theres 10000 almost-rans). If I had a choice I would be researching AI, but enterprise apps pay my bills. Thats where the money for software projects comes from.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by meni at 4/12/2011 9:25 AM Gravatar
Josh, if I understand your point, it is: for internal, departmental apps you can use Microsoft technologies such as WPF or Silverlight. Is that accurate representation of your point?

Is so, who do you think disagree with this view?

As an open-standards supporter i never said otherwise.

You also add that these kind of apps pay your bills. Good. But don't you think that for your clients sake, it would be better to develop these apps as webapps? it might be harder and more expensive, and you (and me, and most developers) might not have the skills. But wouldn't this would make the app last longer? Think of all the great VB6 apps out there.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by san antonio dentists at 12/23/2011 11:17 PM Gravatar
First I must tell you we appreciate the great and informative entry.Need to admit that I never learned about this review, I noticed many new facts, in my opinion. God bless you for sharing this information useful and interesting and I also will probably anticipate other interesting posts you closer to the inside future.keep.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by round rock dentist at 1/7/2012 8:10 AM Gravatar
To tell the truth I am very impressed by what you said. You share a ton of interesting information, neat and excellent design you have here. This is certainly one of the most instructive tips on this subject I have ever read.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by san antonio dental at 1/11/2012 12:24 AM Gravatar
This one has got my sight by the quality of the work and for it nice tittle.Thanks for the great sharing with the great clearance.Hope to find some more update here.Keep it up here.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by New Hampshire Wedding Venues at 1/17/2012 11:09 AM Gravatar
This article has great reference value, thank you very much for sharing, I would like to reproduced your article, so that more people would see it. Thanks for this article.

# re: The Eternal Battle: Rich v. Reach…- Guest Blogger, Billy Hollis

left by digital led displays at 2/16/2012 2:14 AM Gravatar
This is really nice piece of work.I have read your article and it is really seems to me very innovative work.
Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: