Tagged with engineering

The transfer of complexity

I would not give a fig for the simplicity this side of complexity, but I would give my life for the simplicity on the other side of complexity. – Oliver Wendell Holmes, Jr.

I remember attending Mobile Money Monday sometime in November, 2010 for a session on Mobile Web Trends. At that time, I was still thinking about how the whole service delivery platform had changed from SMS to USSD and MMS to GPRS and mobile applications. However, In his talk about the Mobile Web, Shwetank Dixit from Opera made a very interesting comment about the mobile explosion in Kenya and its impact: It was based purely on existing technologies such as SMS and USSD. In fact, the entire mobile money service of m-Pesa is completely based on USSD. The thing is if services can be delivered efficiently on existing technology platforms, then why use more advanced platforms as what is happening in the mobile industry ?

One obvious reason is the UX. Basically, mobile OS’es such as Android, the Apple iOS and Symbian allow developers to build pretty GUIs and define how text and graphics should be displayed rather than just a string of text. But I think there is a more important reason than that. It’s about transferring complexity from the development stage to the deployment platform.

I know I know. Too many multi-syllable words in that previous sentence. So here goes. If you had to develop an application using a normal non-OS solution, you would basically have to learn how USSD text works, how the network would deliver it and basically how to build an USSD-based product which does not typically work on C++ or Java or some other well-known OOP language. Secondly, design-wise you would barely get any flexibility. SMS limits you to 140 characters. Too many messages and it jams up the inbox (without any way to delete old messages automatically). Only text. The business model requires extensive network tie-up, etc. Basically, at the developer end you get badly killed. So it’s simple. Build it on an Android or/and an iOS platform and deploy.

However, what happens is that the complexity of building the app is not killed. It is transferred. It is transferred to the customer who has to  replace his existing barely-feature-rich handset to a fully loaded Apple iPhone to enjoy the product. It probably requires a GPS-enabled handset to locate a joint. It requires MMS capabilities to send across the required data. This is all fine in the USA but in countries like India and African countries, people first demand proof-of-concept before any adoption takes place. That’s why handsets with radio facilities exploded in Mumbai. The concept of radio and its entertainment value was already tested and proven. Apps and GPRS-based services, however are an entirely different story.  So was interactive TV which failed because people refused to adopt it without any proof of concept. So we end up missing a whole section of people who hold back from moving up the value chain because they don’t perceive value in moving.

I’m not writing this post from a developer’s point of view to increase adoptibility. I’m viewing it from the customer’s point of view. My biggest frustration is that a lot of people don’t have access to critical services and information because the complexity of the operation is transferred to them. It’s not that it cannot be done on a simple technology. It’s just that it requires a lot more (a LOT LOT more) effort from the development team along with certain UX and feature compromises to deploy the basic information on a plain-vanilla platform. And this kills adoption by people who could really use and benefit from the service: whether it is the rural poor unable to access financial services because they don’t have proof of identity (designing a process that requires documentation to open accounts is easy; deploying a product like UIUD across the country from scratch for people with absolutely no documentation of existence is difficult. (In the first scenario, the complexity is transferred to the customer – the responsibility to run from pillar to post to get the required documentaiton, in the second, it is transferred to the provider which simplifies the subsequent processes for the poor) or the humongous number of brands and sub-brands we face every time we go to make a purchase (tweaking a few options and launching them as multiple sub-brands is easy which transfers the complexity of making the choice to the customer).

The second example reminds me of Apple. When Steve Jobs (hesitatingly) accepted the role of interim CEO, his first action was to do a in-depth review of all of Apple’s products . There were around 50 of them.  Basically, customers had to choose among 50 of Apple’s products alone, forget about what HP, Compaq and Dell were launching. The complexity of choosing products to launch was transferred to the customer as products to choose from. As Steve himself said during WWDC 1998,

What I found when I got here was a zillion and one products. [...] It was amazing. And I started to ask people, why would I recommend a 3400 over a 4400? Or when should somebody jump up to a 6500, but not a 7300? And after three weeks, I couldn’t figure this out! And I figured if I can’t figure it out working inside Apple with all these experts telling me into it, how are our customers going to figure this out?

Steve decided to simplify. Legend says (and so does Icon :) )  that he went up to a white board and drew  a 2 X 2 matrix. The rows were “Types of computers” i.e. Desktop or notebook and the columns were “Types of users” i.e. Professional andConsumer (as per the picture below). That’s it. 4 products. Simple. And with that, he conquered the world.

grid of apple's products

Credit: Allaboutstevejobs.com

I think the basic point of what I’m trying to say is this: It’s that not all complexity can be killed. Those are few and very obvious instances where it can actually be removed from the process and the product. The problem is the complexities which get transferred. It’s when we can’t deploy services on simple platforms that middlemen arise. It’s the problem of standing in line for railway tickets that travel agents for trains arose. Online booking have reduced that complexity somewhat, but not without setting up its own complexities of requiring internet access and owning credit cards and bank accounts. It’s when there was a difficulty in getting a driver’s license (demanding repeat visits to the RTO) because the list of documents required was not updated that agencies who help you obtain driving licenses arose. It’s the complexity of choosing across multiple (and only slightly different) products that personal shoppers arose.  Unscrupulous moneylenders make unheard of profits because of the complexity of opening a bank account or getting crop insurance.These intermediaries take on the complexity and put in the effort required to resolve that complexity. To be fair, some of these middlemen obviously also provide a lot of other services to help the customer through fair and legitimate results but their jobs exist because of this complexity. Complexity which should not have been handed over to the consumer in the first place.

Telecom products and VAS are still at their infancy. In my opinion, this is the first infrastructure sector that is actually a carrier of knowledge rather than crude oil or power. It is, in fact, as I optimistically believe, the answer to the wide-spread problems of rural illiteracy, ignorance, lack of participation on vital issues and influence of propoganda . However, if these products / information are halted at the gates of customer complexities, it’s akin to the bureaucracy which refuses to let life-saving medicines into the city through octroi because the papers are not in adequate order. In fact, I have to re-iterate that. Customer complexity is like a bureaucratic government corporation – a bureaucracy that prevents information from reaching its rightful owner. The owner shouldn’t have to run from pillar to post sorting out the mess. It should be the producer who takes on the responsibility to deliver the information to the consumer’s footstep no matter where he is. It’s easy to demand that the customer accept some of the complexities to better their own lives. It’s a fallacy to expect it. It’s only when the consumer adequately believes in the proof-of-concept in his existing state of being, that he is ready to be hand-held into the more advanced nuances of your service/ product.

Bonus link: When strength becomes weakness. Dave Trott may be an advertiser but I swear, each one of his posts is worth printing and pinning to the wall !

Bonus talk: One of my favorites Barry Schwartz on the paradox of choice (based on the example of too many brands to choose from)

Update: Found another couple of videos on the topic from TED which I forgot to add
Sheena Iyengar on the art of choosing:

A slightly different one on choice which actually supports choice up to a point: Malcolm Gladwell on spaghetti sauce

Tagged , , , , , , , , , , , , , , , , ,

An IDE/ text-editor for the rest of the sciences

This is a total braindump from my previous post on How to Learn. One thing I didn’t mention in there was one of the reasons that I could learn programming much more easily was the usage of IDE or an Integrated Development Environment. Think of the difference between coding in a basic text editor such as Notepad and an IDE/ language specific text editor as the difference between writing a document in a simple text editor such as notepad versus in Microsoft Word. Word is a lot richer in terms of features and functions allowing you to bold, italic or underline a word to more complicated functions such as review, commenting or tracking changes in the documents, table formatting, etc.

One of the most helpful features in IDEs/ language specific text editors is listing the available functions in a particular context. For example, if you want to convert a double (decimal) number “d” to its string equivalent (as a text; remember even in Excel, you can’t perform string functions such as concatenate on numbers; you need to convert the number as  a text), you just type “d.” and automatically all the functions that can be performed on a double data type gets listed, of which toString() is one; choose it and automatically the statement gets updated with the correct syntax. Something like this:

Another help using such applications is that it can highlight incorrect syntax or compilation-errors on the fly. So you know something’s wrong and the app gives you a guide as to where that error might possibly lie. There are obviously a lot more complicated functions and features in an IDE such as integration with web servers, databases, and other systems without leaving the environment/ application itself but I want to focus on the two simpler features that I described above. For one simple reason: If learning a programming language can be so enhanced by using a context-specific text editor, I wonder how the same, if implemented, could help learn all the other sciences and arts as well.

Think about human physiology as an example: If an assignment was “Describe the flow of blood around the human body”, how would an IDE based learning behave? I’m going to pretty much subvert the class structure as per the OOP concept and use my own concept of OOP for physiology so please don’t mind. So the parent class may have cardiovascular system, containing sub-classes heart, arteries and veins. Then, you would have lungs as a seperate class which would be part of both the cardiovascular class (filterting the blood of CO2 and adding O2) and the respiratory parent class (for the structure and the actual storage of air). So if you were building the structure, you could not do an heart.distributeblood() since the heart does not distribute the blood, it only pumps it into the aorta. Similarly, a femoral artery (artery that distributes blood to the groin area) cannot have the function bloodfromheart() since it would get its blood from the aortas; not from the heart. Similarly, the heart could not contain the attribute haemoglobin since only red blood cells contain haemoglobin. And so on. This plug-and-play model would help:

1. Understand which part / sub-class can perform what function;

2. Understand each part’s source and destination

3. More importantly, understand what function a particular organ cannot perform

4. Put together the pieces of the puzzle. If one organ’s artery and veins are configured correctly, on running the application, blood will “flow” through the organ keeping it alive. If it’s wrong, then blood won’t flow and an error is thrown up with the details. This allows the student to further troubleshoot that specific area/organ. I don’t intend this to be necessarily designed as a computer application. It could even be something like the Crystal Maze game that used to come on TV:

Yeah, I know, as in life, some people are a lot slower than others in the Crystal Maze :) . But whaddya think, wouldn’t this be a better way to learn? I would have loved it if my day was filled with puzzles, context (rescue the patient) with guidelines on where errors are being generated without mentioning the solution, wouldn’t it be clearly a more absorbing and better learning experience ?

Tagged , , , , , , , , , , ,

Brilliant post from Dan Lyons

I love this post by Dan Lyons (better known as Fake Steve Jobs):

Friends Without Benefits

Not saying something is wrong with the way things are. But IBM is the only big company trying to solve problems truly on a global scale. (It could just be plain marketing but it’s too early to be cynical)

Tagged , , , ,

NetFlix could easily be the next StarTV

Well, ever since NetFlix has started its streaming service, the adoption of the service has been incredible what with its  expectation to acquire almost 5m new subscribers this year. Interestingly, NetFlix has eschewed the traditional content (UCG like YouTube and Vimeo) and the traditional revenue model (ads). NetFlix focusses only movies and TV shows and only as a subscription-based model.

NetFlix Business Opportunity by Reed Hastings:

The beauty of this service is that the subscriber choice and segregation does not happen at a “channel” level (such as choose StarTV or Zee) or a “bouquet level” (News, Regional, GEC, etc.). It happens even more granularly at the episode (Season 1 Episode 1 of Scrubs) or the serial level (Scrubs). Hence, this kinda increases the signal-to-noise ratio (useful content to stuff I dont watch but have to pay for since it’s part of the bouquet). Right now, NetFlix is pursuing more of a catalog strategy (as in all the older episodes) rather than a premium TV channel with pay-per-view. But I believe that apart from this, this is the exact service delivery model that will dominate the media landscape in the future if  a single pipe-to-the-home kind of strategy is followed by the integrated teelcom operators i.e. the “bouquet” would be a landline, internet and cable / DTH. At the backend would be a content delivery server which will dish out the content as and when the subscriber requests it through a media interface (TV setup box/Internet webpage/mobile app).  In such a backend architecture, even my ad platform can easily be built to deliver customized ads to each subscriber. The ad purchase model would be based more like the AdWords model rather than the current media buying franzy that happens since content would not be broadcasted but delivered to a specific IP-based device.

But as Reed Hastings, CEO, NetFlix says in the presentation attached: ”almost no customers leave cable for netflix””. Why? We offer only a fraction of the content of the CST, and no sports

(CST refers to Cable / Satellite /Telcos)

Exactly ! One of the real hinges on which such a model could revolve is the giant libraries of content that will be required. If producers of such content are ready to work on such a platform, is there any reason we would need Star and Zee (from the perspective of the content which they aggregate and distribute – not the original content they produce)? Am I missing something here? What is the weak link in this argument/model ?
 

I have written about this earlier as well

Tagged , , , , , , , , , , , , ,

On IVR menus

We all know what a pain customer service is. Usually, banks and telcos are the usual suspects but it pretty much applies to all B2C companies. Now that smartphones are profligating through both developed and developing countries, it’s time to probably re-think the way one of the key parts of the customer service - the design or more importantly the usability of the IVR.

With all the apps that various companies are already offering, I think another app should be launched by each of these B2C companies (like ICICIBank, Vodafone, etc.) for basically wading through the IVR. This would work as follows (Note: Only for phones with some kind of operating system which is capable of launching third party apps)

1. The entire IVR map should be available on the phone along with a clear label of what service each node in the tree would provide. This is not a confidential design really as any of the competitors can decipher the entire design of the IVR within 30 minutes of logging on to the IVR.
2. In case an authentication is required (such as the account number, pin code or the debit card number), the same should be highlighted at the node on the IVR tree itself
3. Updates in the IVR tree should be checked automatically every time the app is launched.
4. From a usability perspective, it should be in the language chosen by the user.

This automatically helps the user immediately go through the tree and easily get to where he needs.

Advantage for the user:

He spends less time on the IVR and then, after giving up, wasting more time in queque waiting for a customer service executive

Advantages for the company:

Same thing. It results in more effective utilization of the IVR and the customer service centre thus reducing the costs of both customer touch-points.

4. A more advanced version of the software would allow you to directly choose the option you require from the GUI of your phone and basically the app itself would navigate the tree based on the hierarchy to choose the service.

Take the example of the tree below:

So in the example menu hierarchy above, suppose I wanted the option of the call hold facility as highlighted in the diagram above, I could just select it and the phone would simulate the pressing of the keys 4 (For products and services), 2 (For sub-menu DT and VAS) , 5 (For sub-sub-menu Call Mgmt Service) and 4 (Finally for call hold service) in that order
The main challenge is not reversing the path to determine the order of the numbers to be pressed but the simulation of pressing the keys to choose the option. I remember in landlines (tone dialing), each of the 9 digits pressed emitted a tone at a different pitch and frequency based on which the instrument could identify the digit pressed. Not sure how handsets identify dialing numbers in the mobiles. I’m sure an identical principle works here and in touch screen phones, since it’s entirely software controlled, there could be a way to simulate the pressing of the key for each of the choices. In fact if an API can be built into the IVR, it could actually do away with the key simulation since the application can be integrated with the IVR through an API. Some IVR vendor like Cisco should be in a position to actually build both the app (with a template where the IVR hierarchy can be updated) and the API and sell this as a value-add to the service provider. There would also be an issue in terms of authentication when the software needs to prompt the user for a username / password. But that would need to be integrated into the app. I think an API is the way to go.

5. Further, an even more advanced version would also probably inform me of my position in the queque to the call centre (after I move out of the IVR; the option of “Press 9 to speak to a customer service executive” ) so that I could decide whether to stay in the queque or alternately further explore the IVR tree to see if I can find the service I need.

Let’s accept the fact that today’s IVRs are a waste of time. All they do is either encourage the subscriber to disconnect the call in utter frustration leading to customer dissatisfaction or route his call to the customer service representative thus unnecessarily increasing costs. There has to be a better way of designing them without it seeming to the customer that it’s just a roadblock between him and the service he requires from a CSR.

UPDATE: Oh I was thinking about this before I slept and I realized one thing. If I used an API, i would require a data session to navigate through the IVR, but if I needed to go to the call centre, the app would have to initiate a seperate voice session since voice quality on the current data networks is a bitch. I wonder how that would work?

Tagged , , , , , , , , , , ,

TED Talks: Tim Berners Lee

An SQL query for the Internet? That’s what the Sir Tim Berners-Lee proposes to do with his concept of linked data. Tim compares the search on a complex protein between Google and  a search through his linked data architecture. Google- millions of results; not relevant, the linked database – 32 hits; all relevant.

While it is a little unfair to compare a generic Internet to linked data for such a specific query, the implications are pretty cool. Usually, when we come across tables, it is usually the summary of all the analysis performed. Or you get documents. Not DATA! Time demands raw data! Can you imagine governments putting up entire databases on the Internet – public domain information, obviously and then we can actually query that data for our own requirements. I remember downloading Excel sheets on Netflix rentals from the Long Tail blog to see if I could tease out some of my own inferences. It was pretty cool !

 The gap I see is the intent of people to “upload” raw data. I can’t imagine that even though you purchase a report from a research company, they would give you access to the entire database of data. But Tim takes this concept to an entire new level. That of linked data for relationships. He goes:

In fact, data is about our lives. You just — you log on to your social networking site, your favorite one, you say, “This is my friend.” Bing! Relationship. Data. You say, “This photograph, it’s about — it depicts this person. ” Bing! That’s data. Data, data, data. Every time you do things on the social networking site, the social networking site is taking data and using it — re-purposing it — and using it to make other people’s lives more interesting on the site. But, when you go to another linked data site — and let’s say this is one about travel, and you say, “I want to send this photo to all the people in that group,” you can’t get over the walls. The Economist wrote an article about it, and lots of people have blogged about it — tremendous frustration. The way to break down the silos is to get inter-operability between social networking sites. We need to do that with linked data.

 If this does work out, though, suddenly, the Internet will be a much richer source of information. See the talk here.

Edit: Finally, managed to get the video embedded. Check it below:

And this is the result, a year later: WOW !!

 

Tagged , , , , , , , , , ,

Bloom Energy presents the Bloom Box Fuel Cell

I’m loving it…….finally, a good slogan for a more meaningful product

Product: Generation of power for large buildings, server farms with the least amount of green house gas emission.

Funda:

Product is based on two fundaes:

1. Distributed generation i.e. comsumption is synchronous with production (kinda like a captive power plant) hence you don’t worry about transmission and distribution losses and..

2. the solid state fuel electrolyte except that the electrodes aren’t made of  the usual precious metals or corrosive acids

Clients: eBay, Google, Staples, and FedEx

Architecture:

From FC:

  • The Bloom Energy Server is made out of fuel cells, or electrochemical cells. A single fuel cell consists of an anode, a cathode, and an electrolyte stuck between the two. As fuel flows in through the anode side and an oxidant comes in over the cathode, a reaction is triggered that causes electrons to move into the fuel cell’s circuit, producing electricity.
  • The Bloom Energy Server isn’t actually a server–that’s just a PR buzzword. In actuality, it’s a distributed power generator. Each “server” produces 100 kW of power, consists of thousands of fuel cells, costs between $700,000 and $800,000, and pays for itself in three to 5 years based on an energy cost of 8 to 9 cents per kW hour.
  • There are many different types of fuel cells. Some of the more popular ones include methanol fuel cells, hydrogen fuel cells, and zinc-air batteries. The Bloom Energy Server consists of solid oxide fuel cells, which are attractive because they can be made out of low-cost materials with high energy efficiencies.
  • The cells can run on a variety of fuels, including traditional fuel, natural gas, biomass gas, landfill gas, and ethanol.

Diagram from FC:

There’s nothing more to say except:

60 minutes feature:

Animation from the company itself here

Write up from FC here

I am beginning to get some serious respect for John Doerr and KPCB. These buggers seem to gain some cred on being at the forefront of every new technology sphere whether it was Google on the Internet search front, Amazon on the online retailing front and now these guys on the green energy front

Tagged , , , , , , , ,

I heart Google Googles

Seriously, all the noise about Google Wave and Google Buzz is cool. But what really kicked in my excitement-al hormones was Google Goggles . Simply put it is like a virtual Robocop kinda thing where he looks at someone and then based on the image, all the data from the FBI database would be available to him.

So basically, you take a snap of some object and based on the visual information, Google  searches out and gets you all the info on that particular object. From what I understand, right now this works on landmarks, art and books – not so good on people.

I really love this. If they could open it onto a platform where people could mashup services on this platform, such as build a facebook profile based on an image or usage this as part of what Battelle talked about in the Search about using barcode scanners for getting the best prices in the neighbourhood

See the video below as to how Goggles works:

via Indianweb2

Tagged , , , , , ,

Cruel thoughts

Well one of the points of arguments between engineering and CA that favors the engineer is that the laws of engineering and mathematics are defined by the Gods (or whoever) while those of CA are by the ICAI and whoever consitutes the US GAAP committee (or whatever).

My understanding of accounting was best captured in my status message on GTalk: “Debit what comes in, credit what goes out. What comes in must go out. Hence, double entry! (Or was that a double entendre).”

I was just wondering….if I had enough money to “influence” these committees, I’d love to fuckin’ reverse these rules every 5 years. So it would be like “This is the year of debit what goes out and credit what comes in unlike the last year”. Unlike, the laws of engineering, this won’t really kill anybody (Except those rank holders of the “debit what comes in and credit what goes out” variety who would probably perform seppaku). Oh and the best part? There are 3 couplets of these “fundamental” or “golden” rules of accounting. That gives you 6 combinations to fuck around with….one year, all reversed, the next year only for real accounts, the next real and nominal……and so on. Given that for only one set, these buggers take 3 years to learn, it should be fun if they had to go through the same rigor for each of the 6 combos (even more fun when we change the rules every 5 years and they need 3 years just to get certified in it). Spend 18 years studying while us engineers, B.Arts, B.Com and BBAs do what’s really important (Fucking Around the Country Side)

He ! He ! :evil grin:

Tagged , ,

TEDTalks: Pranav Mistry: The thrilling potential of SixthSense technology

Forget the tablets, forget the e-readers, just check this TEDTalk. Pranav Mistry really really changes the definition of integration between the real and virtual life with his incredible Sixth Sense product. And it all started with the analysis of the rollers that keep the ball in our normal computer mouse rolling. Mind-blowing !!

Tagged , , , , , , , ,
Follow

Get every new post delivered to your Inbox.