sharadsinha

Posts Tagged ‘technology’

Economic Cost of Badly Designed Software Systems

In Design Methodologies, Education, Embedded Systems, Engineering Principles on July 18, 2016 at 10:47 PM

The goal of every design activity, whether in computing or in some other field, is to come up with a system that serves some economic purpose. So, there are software and hardware systems that fly an airplane, that run our cars and power grids etc. In the past, people were distantly connected with these systems. They were mostly passive users with these systems being used for very specific purposes. However, there has been growing emphasis on using these systems, especially software systems, in governance and delivery of public services to citizenry. A lot of these public services are routine in nature and not particularly associated with life threatening risks (unlike power grids, cars etc.). Perhaps this is one reason why so many software systems for the delivery of public services are so poorly designed. Not only the design itself can be poor, but also the testing and validation for these systems is taken very lightly. I also feel that the testing and validation of these systems have to sync with the general life style and attitudes of the citizenry they serve. However, this is perhaps asking for the famous Swiss chocolates when not even a basic candy is available. ūüėõ

Software systems that are used in industrial systems undergo rigorous testing and validation and still they can fail, crash, malfunction and give erroneous results. Studies conducted on the economic cost of such badly designed systems have reported losses of billions of dollars (see here and here). However, if badly designed software is used to provide citizen services, I am not aware of any report that analyzes the associated economic loss. You may be wondering what triggered this post or this conclusion. Well, in India, the government has mandated booking of cooking gas via dedicated hotline numbers which connect to a software system that manages the booking request, generation of customer invoice etc. However, during a recent such exercise, my father received a SMS that the booking has been cancelled (with an even funnier reason stated in the SMS: “Reason: Cancelled Booking”). He did not apply for cancellation. So, he had to drive to the vendor to inquire about this because a number of these vendors are not responsive enough to answer such questions on phone. The vendor replied that it is a software glitch and the booking will be processed shortly; the SMS can be ignored. Not only all this put stress on a citizen but also resulted in precious petrol going down the drain. Now multiply this one incident with another one lakh (a hundred thousand; a very conservative estimate) such cases a month and you get the picture. By the way, there are around 15 crore (i.e. 15 million) consumers of liquefied petroleum gas (LPG, the primary cooking gas in India) (see here).

Apart from the economic cost (whether big or small), such incident create friction and distrust in the system. This is a bigger danger as it cannot be put in monetary terms. Citizens begin to suspect service providers and begin to complain. All of this can be avoided if these social software systems are properly designed and the service providers educated about their proper usage. Unfortunately, this last part seems to be the least of concerns for many people involved in such exercises.

User Interface (UI) Design for Computer Systems

In Design Methodologies, Embedded Systems, Engineering Principles on January 13, 2016 at 8:03 PM

I believe that a proper User Interface (UI) design for computer systems is a must. All the technical, scientific and engineering wizardry that engineers may do while writing code and developing the system comes to a naught if the user interface is not human centric. There are countless examples of poor UI designs and one can find it at even those places which excel in research and development. Will it not be surprising if you happen to visit a renowned research lab or university where it takes time for a user to figure out how to use a machine to update some data on a card? It can be a bewildering experience.

When you go to an ATM machine to withdraw money, you are actually interacting with the machine through a user interface (UI). You insert your card, provide security details and choose options from the on-screen menu. This is all fine as long as you understand the languages used by the machine. These and similar other machines like queue number dispensers, ticket vending machines etc. are often used these days.

Among other things, I consider the choice of language as the most important decision that a user should be allowed to make before he provides other inputs to the machine for processing. If the user does not understand the current language and it takes a while to figure out how to set the language, it leaves the user with a bad experience.

The very-first view on the screen of such a machine should be related to the selection of a language. Now, the message there could be “Choose a language and a list of language is also shown simultaneously”. Of course, this assumes that ¬†the user would understand the message “Choose a language” written in one of the supported languages. But I think a better option is to simply show all the supported languages without any message. ¬†The user can then simply select one and thereafter the usual process follows.¬†Such a design would work best with ATM machines, ticket vending machines etc. These are machines with which a user interacts instead of simply relying on it for information. For instance, the speedometer display¬†of your car just provides you with information; you do not interact with it. For such interfaces, other UI designs will be suitable.

The problem with UI design in many systems is that it is done by engineers and managed by managers who have little training in this sphere or simply do not care to think as much as they would while doing software and hardware design for the system. This results in a clunky and sometimes dangerous user interface. Here are some examples of poor UI designs and their effects.

So, the next time when you do a UI design, please have some consideration for the poor users and let them have an easy life! ūüėČ

Frustrated with Passwords?

In Embedded Systems, Engineering Principles, Industrial Consortia on January 30, 2014 at 11:21 PM

There is a huge amount of research literature on security, privacy, hacking etc. associated with computer networks of all kinds. Almost all of these networks work on the principle of authenticating users before granting access.  Similarly, all internet based services like your email account, online banking account , Facebook etc. authenticate users before granting access. You need a user id and a password to access all these services. When you use multiple services, you need to create multiple user ids as well as passwords. The problem is that you need to be able to recall these when the need arises. So either you memorize them or write them down somewhere or store in the cloud. This indeed becomes frustrating when you try to use really strong passwords for your accounts. Can there be a better solution that using passwords? Can the sign-in process be simplified? People are making efforts in this direction. There is a an online petition against passwords movement that seeks to educate both users as well as companies to simplify the sign-in process to access services. There are industrial efforts also in this direction. The Fast Identity Online Alliance (FIDO) is also working in the same direction. However, this is not the end of this issue.  Solutions like using device authentication for online authentication restricts the ease of access with respect to devices. For instance, currently you can login to your Gmail account from any computer. However, if a solution ties this login to your personal laptop, you will not be able login through any other device. It remains to be seen how this story unfolds. Will there be really a solution or will users have to live with a compromise between security and privacy concerns on one end and ease of access on the other?

Technology Innovation and Unemployment

In Education, Interdisciplinary Science, Research and Development on September 30, 2013 at 12:48 AM

Automation has increased productivity in many areas. If you look at the assembly line or shop floor of a car manufacturer, you will see automation in its full might. Though you will still find a certain number of workers, their number is far less compared to pre-automation days. You may have also come across call center staff who deal with queries related to insurance, bank related tasks etc. Most of these queries are routine in nature and it is the same kind of information that the staff has to provide to the callers. There is recent news that companies like IPsoft are providing artificial intelligence based virtual call center staff to handle such queries. This is expected to reduce the number of people required in BPOs and call centers. 

An aprocryphal tale is about a conversation between Henry Ford II and Walter Reuther. The former was the head of Ford Motor Company while the latter controlled its union. When Ford asked Reuther how he would make robots pay union dues, Reuther asked in return if Ford could make his robots buy cars. Ford got the point that any increase in productivity has to be met with an increase in the number of consumers. Ford raised the salary of his staff so that they could afford to buy cars. 

Do you think that an increasing rate of technological innovation can lead to rise in unemployment? If you believe in this, you probably believe in Luddite Fallacy. I would rather suggest to be open to debates on this issue. This issue is far from resolved and new insights keep coming now and then. Two opposing views on this issue can be found here and here published in The Economist and Forbes respectively.

Given the fact that many engineers work on systems which are meant to increase productivity, provide better services, it is only relevant to have a look at an aspect of economics and social change that they are seldom concerned with. It is not so much about questioning what they do rather it is more about understanding the mysterious ways in which the world moves!

Automation & Your Skills

In Design Methodologies, Education on August 12, 2013 at 12:24 AM

During my undergraduate studies, when I first went to a workshop of carpentry, sheet-metal etc. where they teach you how to work with wood and metal and how to make different shapes and objects with them, I did not understand why an Electronics & Communication engineering major was supposed to learn those things. I am sure that there are many who will question that way and this debate will probably never end.  Probably, the best learning outcome of such an exercise is the improvement in our abilities to focus, concentrate, be precise and measure accurately. Also, it helps develop a sense for working with limited resources. After all the quantity of wood or metal that each student is given can be limited and one has to ensure that one gets the work done with that limited quantity. Perhaps such learning exercises should be promoted by also focusing on these learning outcomes.

In today’s world of complex manufacturing, computer aided design tools and computer aided manufacturing have taken over such manual tasks. Once can define and draw any shape using sophisticated design tools and have it carved out by a computer aided manufacturing machine. While these computer aided tools came into existence to deal with complex shapes as well as with the increasing scale of manufacturing, they do not let you have the experience of working with your own hands. So it is quite possible that someone adept at using these computer tools, will fail to bend a sheet of metal at a perfect 90 degrees. So what can be a not so promising consequence of this? Excessive reliance on automation even for simple tasks may lead to a loss of such basic skills. At the same time you run the risk of being unproductive when such computer tools shut down for some reason even if the work does not really require them. Automation is intended to reduce time and manage complexity and scale of operations. It is not supposed to replace acquiring skills by hand where possible.

Another example would be tools like Maple and Mathematica. These are extremely powerful tools to solve mathematical problems. Would you stop learning how to solve a differential equation or how to calculate the area of a triangle by pen and paper method because these tools can do it for you? I guess your answer would be “no” because if your answer is “yes”, you risk a future where people would have forgotten all such knowledge and lost such skills which would instead be built into computer/software systems. A breakdown of such systems would leave you with no option to get back on track!

P.S. The idea for this post came after reading Are We Losing the Secrets of the Masters?¬†This article also mentions about old books which described in detail design of magnets and electromagnets, making neon signs, silver printing, building a forge, blacksmithing etc. Some of these books can now be found here, here¬†and here. ¬†A PDF version of a 1896 book titled “Five Hundred and Seven Mechanical Movements” digitized by Google can be found here¬†and associated websites on animation of engines are this and this.

PhD vs Work Experience: The Perennial Debate

In Education, Engineering Principles, Intellectual Property, Research and Development on March 9, 2013 at 11:35 PM

Those of you who have ever considered doing a PhD or getting a higher technical degree would have definitely come across this debate on PhD vs work experience. One can find so many articles and opinion posts on this subject. Many of us tend to evaluate PhD and work experience by replacing one with the other. Setting aside financial considerations, we tend to evaluate these two experiences by examining the worth of each when replaced by the other. I think that this approach is improper. PhD ¬†and work experience can be/made to be complimentary to each other. Not all work experiences are of high quality and same is the case with PhD granting institutions. Not all companies are alike just the way standards differ across institutions of higher learning. I would not be debating the pros and cons of PhD or of work experience in this post as that subject merits far greater analysis than what I can put in a blog post. However, taking a broader view, I would say that a PhD program lets you get out of your comfort zone and explore complex, unbounded problems which could be fundamental or applied in nature. It teaches you to learn, examine (and re-examine), critique, argue and persuade using facts and figures. Its not that there are no corporate jobs where one cannot learn these very things. But they are far and few and the degree to which you need to exercise your brain varies across them. As an example, you can be a great lawyer, corporate, civil or criminal, but being a great lawyer is different from being able to comment, analyse, contribute to the very subject of jurisprudence which gives rise to all judicial activities. Another example: you can be an excellent system on chip architect, but being able to get into the depth of power integrity analysis is a different story. Of course you can be a great power integrity analysis engineer too who can apply all sorts of engineering tricks to perform clean power integrity analysis but you need not be able to comment, analyse or examine the principles on which power integrity analysis is based to the same depth as a typical ¬†PhD degree holder would do. The point I am trying to make is that “there is space and need for both kinds of experiences“. They need not be present ¬†to the same degree in one single person. The utility of a PhD and that of work experience depends on many factors. At the end of the day, you do a PhD because you want to explore, find new things or just sit back and critically reflect on the existing things because other people are ¬†busy meeting the demands of the market which has its own challenges!

The Internet of Things

In Embedded Systems, Engineering Principles, Interdisciplinary Science on November 29, 2012 at 2:43 PM

When I first attended a presentation on “The Internet of Things”, I was not very excited. It turned out to be nothing more than a glorified description of sensor networks. Though this phrase was first used in 1999 as reported in an article in RFID journal, it has been interpreted in many different ways by different people. Trying to find a way through that maze of descriptions is really difficult. However, after reading a lot about it and based on my own understanding of embedded systems, sensor networks and systems engineering, I would like to share what it means for a non-technical audience. I find it best to explain through examples. Take the case of a smart home. You can control the appliances in your home while driving your car as there is a communication network that links you up with them while you are driving. Your smartphone connects you to the internet where you can shop, play games together with your friends and download apps that make your phone more versatile. It syncs with your email accounts and any sync enabled application, helps you make payments on the go (mobile banking), provide access to your data anywhere through cloud based tools like dropbox etc.. The GPS on your phone helps you find your way in a city by showing you on a city map that has been downloaded on to your phone using a wi-fi or similar data connection. You can drive almost safely even in a city new for you! These examples demonstrate an interaction between humans, electronic devices which may have sensors, mechanical devices and the traditional internet. By traditional internet I mean the internet which was seen initially¬† as just a repository of information and which has now grown to include processing engines like¬† those which facilitate “voice enabled search and SMS” on your smartphones, storage and compute space for cloud applications (like Amazon’s EC service) etc. Thus the “Internet of Things” is nothing but a network where human actions, electrical and mechanical devices and the internet come together to interact in a meaningful way. The scope of this interaction can be as varied and wide as possible depending on the intended result.

Software, Patents, Innovation, Ideas: A Curious Mix

In Education, Intellectual Property, Interdisciplinary Science on October 8, 2012 at 6:13 PM

Filing a patent is a big thing these days, especially in the academia. It has been there for quite a long time in the industry though. Earlier, it would suffice to publish in top quality journals or conferences, but now patents are the real icing on the cake. Filing a patent is a costly process and it is far more costlier to prosecute it till its allowed lifetime after it has been granted. One needs not only really deep pockets to engage in patent litigation but also an elaborate infrastructure to find out instances of patent infringement.

While a lot of the patents in earlier days would describe an invention/innovation in terms of its parts that make it work with detailed diagrams of parts etc., a lot of patents these days are filed based just on ideas. It is ideas which are getting patented and this is something that many people are concerned about, especially in the software industry. History shows us that similar ideas have been developed by different people independent of each other at different times and it is no different in modern times. Do we really have to patent ideas? Are they patentable? Don’t they stifle flights of fancy and imagination which have helped people in coming up with brilliant inventions and technologies? Where is the tradeoff between protecting intellectual property and protecting flights of imagination? I think that protecting both of these are important.¬† However, the dimension of “time” that patents add to an idea/invention can have an impact as one man’s flight of imagination at time “x” prohibits another man’s flight, even if independent, at¬† time “y” where x > y. It is a curious mix and definitely an important issue to be discussed and debated. You might be interested in reading ” The Patent, Used as a Sword” published by the International Herald Tribune.