Click here to close now.

Welcome!

Java Authors: Liz McMillan, Pat Romanski, Elizabeth White, Kevin Benedict, Dan Ristic

Related Topics: Java

Java: Article

Software Should Be More Hard Wearing

Software Should Be More Hard Wearing

I am always in awe of people who develop hardware. They're the real engineers of our profession, the ones pushing forward the speeds at which things work, their size, and their connectivity. For example, in 2005 there were more computer chips produced worldwide than grains of rice harvested and at a lower unit cost. Tonight as I was watching a movie from the 1980s, instead of dating it by the big hair and shoulder pads, the tree rings were most visible by the size of the mobile phone the hero was using, the lack of a plasma or LCD wide-screen TV in an otherwise luxurious living room, and the absence of a satellite navigation device as the lead characters got lost following directions from a map.

Why is it then that we in the software trade have let the side down so badly? Whereas hardware has advanced so dramatically in the last 40 years, I believe that software has stumbled along and, at worst, gone backward in a sort of fashion-driven and hysteria-led fervor. It must drive the hardware guys crazy - each time they achieve a new technological breakthrough with engineering brilliance, the software that runs on their new marvel seems to take the same number of steps backward that they managed to advance.

I remember coding in RPG in the 1980s and struggling to keep response times down so users wouldn't become dissatisfied with the application and bombard our help desk with complaints. If things got too bad, the customer could always upgrade their box to a newer and more powerful model and, riding the wave of Moore's Law with semiconductor speed doubling and price halving every six months, this was always the long stop for poorly performing code. However, as each new box came along with more memory and more processing power, the software somehow became larger and slower, so that the overall response time never seemed to really go down. I always felt sorry for the hardware engineers who with each new chipset probably thought, "Phew, we've just created an X mega/gigahertz chip; now everything that ran slowly before will perform OK, let's take a break," only to receive the call on their vacation that a new OS release or software package had been created that needed their new hardware specification as a minimum and could they please work on the next release to make it perform acceptably.

My mobile phone broke the other day after it fell on the kitchen floor, and after an apologetic call to my network provider, they agreed to send me a new one. Fortunately it wasn't going to cost me anything so I naturally talked myself into getting the latest whiz-bang model. When it arrived I was in awe of the thing: it's super slim, has the most gorgeous anodized case, a viewing area larger than my digital camera's, and as a piece of engineering is a work of art. The software on it, however, is absolutely terrible: to send a message I'm required to open a folder called messages, select "create," then type the message, pushing a button for "options", then pressing "send" again, which then asks me whether I want to send SMS or MMS. From a usability standpoint, it is just appalling. I don't care about network protocol; I want the phone's software to figure out which to use by analyzing the message's content.

There are two buttons on the front of the phone that will connect me to the Internet, one of which I keep pressing by accident when I'm backing up through menus. I don't want to connect to the Internet, ever, so I then have to press another button to cancel this. "Do you want to cancel?" This is the only time the phone ever asks for confirmation and, unfortunately for me, the only time I don't want to be asked. After pressing "Yes," it then comes up with a dialog telling me the number of bytes transferred that I have to press another button to dismiss. Why do I care about the number of bytes? It feels like the thing has a bunch of debug options left on. When I receive a call and the lid is open I press the green call button to accept. If I get a call and the lid is shut, all I have to do is open it and not push the button. Nice touch Mr. Usability Designer, except that if I open it and push the green button because I'm not thinking it holds the call. What is holding a call? All I know is that I can hear them and they can't hear me and I have to now push another button to retrieve the call.

My TV has a recordable receiver that can store shows on its internal hard drive allowing me to watch them at my leisure. This is great and totally changes the way one watches TV; however, when the chaps wrote their software on it they decided that the remote control buttons for changing channels would be up for a higher channel and down for a lower number. Not a bad choice, except the person writing the software to allow the program guide to be viewed used, not illogically, down for higher number channels (as the list is sorted with the lowest number at the top), so there are now two opposite ways to switch channel numbers depending on which part of the device's software you're using.

The list of frustrating software things that plague every existence doesn't end there, and it just disheartens me that the basic task of analyzing, understanding, and tooling for the user's most frequent and simple scenarios seem to have been overtaken by an obsession to cram as much functionality as possible into the hardware, overloading it with slow and poorly thought-through applications. In software we need to stop this millennium's ridiculous obsession with chasing the latest architectural fad or silver bullet that whizzes past, and instead focus on going back to basics and finding out what our users want and giving them something that's reliable, resilient, and more hard wearing.

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (5) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Carl 02/12/07 01:57:58 PM EST

It's not accurate to say "look at how cool the h/w is" with your cell phone but complain about the "s/w" as if the UI were the only s/w involved. There is so much s/w behind making that phone work, routing calls, cells, protocols, etc. The h/w by itself would be useless. (Then there was all the CAD/CAM software used to design the h/w and its chips and circuits, run the manufacturing process, track production, shipping...).

Similarly with the RPG example; "gee, I still have to worry about poor performace 'cause we've junked up the fast h/w with useless features" - except that nobody wants just paper reports printed out weekly; they want their reports on-demand via the web. That's a ton of s/w behind all that. Do you have any appreciation for the internet and web browsers?

I think that a good part of the problem is the ephemeral nature of software. First of all, you can't see it or touch it, so like with these examples (above) he doesn't realize how much s/w he is touching. It has gotten very much more sophisticated, with layers upon layers of code. If he, as a s/w guy, isn't aware of it, how much less is management above him aware?

Does software engineering have problem? Sure. Would more engineering disciple help? Probably. But since software bits are "free", but hardware costs money to manufacture, it'll probably always be easier for bad software to "escape" (i.e. be released) than bad hardware - especially when the question is "does it work?" and not "does it work well?".

Bill Albing 02/12/07 01:05:40 PM EST

You know, it's not really the fault of the software developers, per se. All your examples have to do with software that has to work with hardware in an integrated fashion, and the companies that make those devices still see themselves as hardware companies not as service companies with solutions that integrate both hardware and software. Until they do, you'll see this disparity between hardware and software advances.
But I agree with you that it would be great if we had the latest software on the latest hardware.

Reema 02/09/07 03:17:08 PM EST

Absolutely agreed! AJAX doesn't do a whit for us if we don't know the basics of UI design...

BK 01/22/07 10:15:27 PM EST

I agreed: hardware folks are real engineers. Software "engineer" are more like "pseudo-engineers". This is related to the fact that software "engineering" practices itself is "promiscuous. What do I mean by that?.
The answer is that hardware engineering is along either you get it right or you get it wrong most of the time i.e it is more stringent. Software on the otherhand can give appearance of being right and give you some functionality till the bugs surfaces.
Also, you can have fairly sloppy programmers/developers producing reasonably good enough application with today's RAD or IDE tools. Hardware's working is more elementary and therefore takes better engineers to understand and design it well.

There, you have it: software allows Tom, Dick, Harry of lower caliber to code; hardware allows only those who knows engineering well to work with it for most part.

Dennis Muzza 01/22/07 06:29:13 PM EST

Yes, hardware engineering is a much more formal discipline than software engineering and there are many things we should be learning from them, but while not trying to downplay their achievements, mastering and harnessing the laws of electronics doesn't present nearly the same kind of challenge as figuring out the best way to arrange and present information to us fickle humans. While we still have a long way to go in the field of usability, looking at the achievements of the last 30 years (Lotus 1-2-3, Mac, Linux, Google, and a long etcetera)I don't think software professionals as a whole should be particularly ashamed.

@ThingsExpo Stories
SYS-CON Events announced today that CommVault has been named “Bronze Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY, and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. A singular vision – a belief in a better way to address current and future data management needs – guides CommVault in the development of Singular Information Management® solutions for high-performance data protection, universal availability and sim...
SYS-CON Events announced today that SafeLogic has been named “Bag Sponsor” of SYS-CON's 16th International Cloud Expo® New York, which will take place June 9-11, 2015, at the Javits Center in New York City, NY. SafeLogic provides security products for applications in mobile and server/appliance environments. SafeLogic’s flagship product CryptoComply is a FIPS 140-2 validated cryptographic engine designed to secure data on servers, workstations, appliances, mobile devices, and in the Cloud.
The best mobile applications are augmented by dedicated servers, the Internet and Cloud services. Mobile developers should focus on one thing: writing the next socially disruptive viral app. Thanks to the cloud, they can focus on the overall solution, not the underlying plumbing. From iOS to Android and Windows, developers can leverage cloud services to create a common cross-platform backend to persist user settings, app data, broadcast notifications, run jobs, etc. This session provides a high level technical overview of many cloud services available to mobile app developers, includi...
BroadSoft on Tuesday announced that it is a recipient of the 2014 Frost & Sullivan Market Leadership Award in the Hosted/Cloud Internet Protocol (IP) Telephony market for Latin America. According to Frost & Sullivan market research, the Latin America (LATAM) hosted/cloud Internet Protocol (IP) telephony market, including integrated unified communications and collaboration (UC&C) applications, is currently experiencing a rapid growth trajectory and is expected to exhibit a tenfold rise in annual revenues in the 2013-2020 period. With more than 600 cloud deployments internationally, BroadSoft w...
SYS-CON Events announced today that StorPool Storage will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. StorPool is distributed storage software that allows service providers, enterprises and other cloud builders to run data storage on standard x86 servers, instead of using expensive and inefficient storage arrays (SAN).
Temasys has announced senior management additions to its team. Joining are David Holloway as Vice President of Commercial and Nadine Yap as Vice President of Product. Over the past 12 months Temasys has doubled in size as it adds new customers and expands the development of its Skylink platform. Skylink leads the charge to move WebRTC, traditionally seen as a desktop, browser based technology, to become a ubiquitous web communications technology on web and mobile, as well as Internet of Things compatible devices.
GENBAND has announced that SageNet is leveraging the Nuvia platform to deliver Unified Communications as a Service (UCaaS) to its large base of retail and enterprise customers. Nuvia’s cloud-based solution provides SageNet’s customers with a full suite of business communications and collaboration tools. Two large national SageNet retail customers have recently signed up to deploy the Nuvia platform and the company will continue to sell the service to new and existing customers. Nuvia’s capabilities include HD voice, video, multimedia messaging, mobility, conferencing, Web collaboration, deskt...
VoxImplant has announced full WebRTC support in the newest versions of its Android SDK and iOS SDK. The updated SDKs, which enable audio and video calls on mobile devices, are now compatible with the WebRTC standard to allow any mobile app to communicate with WebRTC-enabled browsers, including Google Chrome, Mozilla Firefox, Opera, and, when available, Microsoft Spartan. The WebRTC-updated SDKs represent VoxImplant's continued leadership in simplifying the development of real-time communications (RTC) services for app developers. VoxImplant (built by Zingaya, the real-time communication servi...
SYS-CON Events announced today that Site24x7, the cloud infrastructure monitoring service, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Site24x7 is a cloud infrastructure monitoring service that helps monitor the uptime and performance of websites, online applications, servers, mobile websites and custom APIs. The monitoring is done from 50+ locations across the world and from various wireless carriers, thus providing a global perspective of the end-user experience. Site24x7 supports monitoring H...
SYS-CON Events announced today that Intelligent Systems Services will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Established in 1994, Intelligent Systems Services Inc. is located near Washington, DC, with representatives and partners nationwide. ISS’s well-established track record is based on the continuous pursuit of excellence in designing, implementing and supporting nationwide clients’ mission-critical systems. ISS has completed many successful projects in Healthcare, Commercial, Manufacturing, ...
Sonus Networks introduced the Sonus WebRTC Services Solution, a virtualized Web Real-Time Communications (WebRTC) offer, purpose-built for the Cloud. The WebRTC Services Solution provides signaling from WebRTC-to-WebRTC applications and interworking from WebRTC-to-Session Initiation Protocol (SIP), delivering advanced real-time communications capabilities on mobile applications and on websites, which are accessible via a browser.
SYS-CON Events announced today that B2Cloud, a provider of enterprise resource planning software, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. B2cloud develops the software you need. They have the ideal tools to help you work with your clients. B2Cloud’s main solutions include AGIS – ERP, CLOHC, AGIS – Invoice, and IZUM
SYS-CON Events announced today that Tufin, the market-leading provider of Security Policy Orchestration Solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. As the market leader of Security Policy Orchestration, Tufin automates and accelerates network configuration changes while maintaining security and compliance. Tufin's award-winning Orchestration Suite™ gives IT organizations the power and agility to enforce security policy across complex, multi-vendor enterprise networks. With more than 1...
SYS-CON Events announced today that Cloudian, Inc., the leading provider of hybrid cloud storage solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Cloudian, Inc., is a Foster City, California - based software company specializing in cloud storage software. The main product is Cloudian, an Amazon S3-compliant cloud object storage platform, the bedrock of cloud computing systems, that enables cloud service providers and enterprises to build reliable, affordable and scalable cloud storage solu...
“With easy-to-use SDKs for Atmel’s platforms, IoT developers can now reap the benefits of realtime communication, and bypass the security pitfalls and configuration complexities that put IoT deployments at risk,” said Todd Greene, founder & CEO of PubNub. PubNub will team with Atmel at CES 2015 to launch full SDK support for Atmel’s MCU, MPU, and Wireless SoC platforms. Atmel developers now have access to PubNub’s secure Publish/Subscribe messaging with guaranteed ¼ second latencies across PubNub’s 14 global points-of-presence. PubNub delivers secure communication through firewalls, proxy ser...
SYS-CON Events announced today that Gridstore™, the leader in hyper-converged infrastructure purpose-built to optimize Microsoft workloads, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Gridstore™ is the leader in hyper-converged infrastructure purpose-built for Microsoft workloads and designed to accelerate applications in virtualized environments. Gridstore’s hyper-converged infrastructure is the industry’s first all flash version of HyperConverged Appliances that include both compute and storag...
SYS-CON Events announced today that IDenticard will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. IDenticard™ is the security division of Brady Corp (NYSE: BRC), a $1.5 billion manufacturer of identification products. We have small-company values with the strength and stability of a major corporation. IDenticard offers local sales, support and service to our customers across the United States and Canada. Our partner network encompasses some 300 of the world's leading systems integrators and security s...
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
So I guess we’ve officially entered a new era of lean and mean. I say this with the announcement of Ubuntu Snappy Core, “designed for lightweight cloud container hosts running Docker and for smart devices,” according to Canonical. “Snappy Ubuntu Core is the smallest Ubuntu available, designed for security and efficiency in devices or on the cloud.” This first version of Snappy Ubuntu Core features secure app containment and Docker 1.6 (1.5 in main release), is available on public clouds, and for ARM and x86 devices on several IoT boards. It’s a Trend! This announcement comes just as...
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Raspberry Pi, BeagleBone, Spark and Intel Edison. You will also get an overview of cloud technologies s...