The Source for Java Technology Collaboration
User: Password:



Philip Brittan's Blog

July 2003 Archives


Why is my cell phone so much more powerful and easy to use than my desktop phone?

Posted by pbrittan on July 31, 2003 at 08:39 AM | Permalink | Comments (4)

I have a big black phone with lots of buttons on my desk. I have a very small silver phone that I carry around with me all the times. I use each of these phones on a daily basis. Although they perform the same basic function (allow me to call other people and to receive calls), and they cost roughly the same, they are quite different in a number of ways.

Some of those differences make sense to me. For instance, I enjoy the comfort of the large form factor of my desktop phone. And of course my cell phone is tiny for easy portability. My desktop phone has some features that I don’t usually miss on my cell phone – multiple lines (my cell phone does have call waiting, but frankly I hate that), conference calling, intercom, and transferring calls – because I use my office phone for purposes that require those features and I use my cell phone for purposes that don’t generally require them.

However, there are some differences that make no sense to me. Specifically, my cell phone has a ton of great, easy-to-use features that my desktop phone does not have and that I wish it did. Beyond the obvious one that I can take my cell phone with me, these include a nice readable display and a totally useful built-in phone book (which actually should be server-based), it's compatible with any cheap ear piece (my desktop phone requires a $300 adaptor, unfathomably), I can see missed calls and recent calls (outgoing and incoming), it has voice-activated phone book and menus, caller-ID by default, ringer mute… The list goes on. It even has a bunch of cool features that I don’t use, such as Web browsing, email, games, and a built-in FM radio!

Now, maybe my desktop phone has a lot of these features, but if so, they sure aren’t obvious to me. And if I can’t use them, they might as well not exist. I am reminded of a Bjarne Stroustrup quote:

I have always wished that my computer would be as easy to use as my telephone. My wish has come true. I no longer know how to use my telephone.

I hope someone can explain to me why these gross differences exist. The only credible explanation I have heard so far (from my colleague Lou Franco) is that there is much more competition among cell phone makers and wireless service providers (who subsidize phone purchases) than there are among line phone makers and wired telephone service providers who, despite deregulation, represent near-monopolies. This competition has apparently led to a tremendous pace of innovation in the cell phone space.

So if my cell phone is so great, why don’t I just throw away my desktop phone? The main reason is signal quality. The difference in signal quality between my cell phone and my line phone is still great enough that I am unwilling to give up my line phone and in fact, I will prefer my line phone if both are available to me at any give point.

But, that signal quality difference is disappearing. Cell phones are getting better all the time. I hear that 3G will eliminate the difference. As that gap closes, I will be free to chuck my desktop phone, or, more likely, desktop phones will be forced to start innovating again to try to keep me from doing that. Already cell phone usage is surpassing residential landline usage .

There may be an analogy here for the software world. A number of people have said that Internet Explorer has been stunted in its innovation curve by the fact that it is a monopoly. During its fierce competition with Netscape, IE improved rapidly and became the better product, hands-down. But now that the browser war is over, Microsoft has no incentive to push IE's bounds: almost everyone already uses it and no one pays for it.

So what happens when an alternative becomes compelling enough for large numbers of people to use it rather than IE? John Patrick argues that Opera has achieved that. Joel Spolsky says that Mozilla Firebird is the one.

Line phones are still used, despite all the great features of cell phones because they have a ‘killer feature’ – signal quality. Does IE possess such a killer feature that will keep Opera and Mozilla at bay? Is it integration with the OS? And if so, then just as 3G promises to eliminate the signal quality difference, can IE’s killer feature be overcome?



Java vs. .NET, part 1 - Usability

Posted by pbrittan on July 30, 2003 at 01:34 PM | Permalink | Comments (19)

Microsoft has the upper hand on the usability front

This Blog entry is the first in a series in which I plan to analyze the challenges that Microsoft .NET poses for Java and explore ideas for overcoming those challenges.

Many people love to rail against Microsoft products, saying how bad they are. And there is a sense in which this is justified: many Microsoft products are not as robust and scalable as some other products, and perhaps they don’t have all the conveniences for system administrators that other products do (at least they don’t in early versions).

But let’s face the hard facts, folks: Microsoft user applications rule. They are slick, they are sharp, they have tons of great features. Users like them -- overwhelmingly. Here is what one disgruntled CIO had to say about Microsoft product usability vs. that of the Linux community:

McCourtney added: "Microsoft is just more functional and useful. They actually conduct usability studies to see if people can intuitively use their apps. I don't recall any postings on SourceForge in that topic area." And if there are, I'll bet they say something like, "Users are dumb! They don't DESERVE to run Linux!!"

And it’s not just Microsoft applications. It is the Windows operating environment and all the ISVs who natively write to that environment. Microsoft sets the style and the ISVs (to one degree of success or another) follow that style, locking in the Microsoft leadership.

Please pardon me for saying this, but most Java apps look shabby compared with other desktop apps. Java now has a reputation for shabby-looking apps on the client-side. Swing was supposed to address this and has failed. IBM’s SWT comes closer but still hasn’t really challenged native MS technologies on the client. I am encouraged by Alan Williamson’s review of Juliette as a project that takes the UI seriously, but they apparently had to provide their own GUI layer!

There was hope a few years back that the Web would change this equation. The expectation was that all applications would move out of the native environment into the browser, where they would be much more intuitive than that complicated Microsoft stuff, and of course would be powered by server-side Java.

Well, although many apps have moved into the browser, usability issues haunt those Web apps – badly. Many Web app projects have become shelf-ware. The Web architecture has been sold to the CIO (and possibly CFO) as a way to reduce costs and increase flexibility; and the potential for that is real. But there has often been tremendous push-back from users on the sluggishness and low usability of those browser apps. For day-in-day-out usage, users generally prefer the experience of their old client/server or desktop applications. Amy Fowler gives a great example of this for the consumer market. (And by the way, who controls the browser?)

The non-Microsoft camp likes to claim that MSOffice is so popular simply because it is often bundled with new PCs, and there is no doubt that plays a role. But it is also the case that Office and other Microsoft-based apps are very sharp and highly usable for the vast majority of users. We must take product usability very seriously to make inroads against Microsoft domination.



Server-Based

Posted by pbrittan on July 30, 2003 at 06:36 AM | Permalink | Comments (2)

Before I get much further in my Blog, I just want to make one thing perfectly clear: I love servers. Or more accurately, I love having my applications and data on servers, and then I like to just forget about those servers. I want them to be someone else’s concern. I simply want my applications and my data to be wherever I need them. I want them to be backed up without my thinking about it. I don’t want to install them or upgrade them.

That’s all about me as a user. As a developer and system administrator, I also love servers. I’d much rather debug a problem in my data center than out on a user’s desktop machine. In fact, I’d love to take a server out of rotation on my load-balancer and spend as much time as I need fixing and testing the problem there, without having a user looking over my shoulder, sighing heavily, and tapping a pencil impatiently on her desk. If my apps need more memory, I’d rather plug it into my servers all neatly arranged in a rack rather than running around and lifting the hood on each individual user’s desktop machine.

As a business owner, I also love servers. Servers give me a good price/performance ratio. I can almost think of them as disposable. I certainly can’t do that with my desktop PCs – but I’d like to! My sys admins are more productive when fixing problems or upgrading software and hardware. My employees can access our corporate apps from home and on the road (so I can work them around the clock!) And perhaps if the promises of On Demand / Utility Computing are realized, my server-based systems will be able to take full advantage of the cost savings and efficiencies of virtualizing my processor load across a grid. If I’ve got a lot of client-side application code -- in fat clients (VB, Swing, SWT…) or fat browsers (DHTML, JavaScript, Applets, Flash…) -- I can’t do that.

Yes, I do love servers.



No More Programmers

Posted by pbrittan on July 29, 2003 at 11:12 AM | Permalink | Comments (7)

I hear that Macromedia Flash is going to alleviate the burden of having programmers. I’ve been hearing for the past two decades about how this or that new software development system was going to allow business users or designers to create software, and therefore companies wouldn’t have to employ expensive programmers. As a further benefit, IT would be much more responsive because users would just create what they wanted on the fly without having to wait for developers to come get requirements, do design, code, test, refactor, code and test again, etc. (or maybe nerds are just unpopular).

There have been a number of visual languages that have promised this but none of them has gained widespread usage. Sun has even announced something in this category, and it appears that some folks are moving beyond visual programming into audio debugging. I have a friend who left the software development world entirely to go get an MBA and become a banker because he thought that Microsoft Access would allow business types to create their own software and therefore put an end to the profession of programmer – that was 7 years ago. The Web was supposed to allow graphic designers to easily create on-line applications without gorpy tech skills. Guess what happened?

The flaw with the programmer-less vision is that building software involves a lot more than the memorization of programming languages. Any experienced developer knows that learning new languages is not hard. The hard part is understanding how to design software (and I don’t mean just the graphics) and how to use whatever tools are available to create systems that solve the right problems, and that are robust, scalable, and maintainable. Learning how to dip your brush in the paint is the least part of being an artist.



Welcome

Posted by pbrittan on July 29, 2003 at 11:09 AM | Permalink | Comments (1)

Thanks for visiting my Blog. And thanks to java.net for hosting it!

In this space I plan to comment on a range of topics including rich thin clients, Java, Microsoft, browsers, standards, business strategy, software development, product usability, and the effects of the Internet and collaborative systems.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds