The Hidden Triggers That Control Our Decisions: Lessons from Influence Chapter 1

Have you ever agreed to something and immediately wondered, “Why did I just say yes to that?” You’re not alone. In the opening chapter of Influence: The Psychology of Persuasion, Robert Cialdini reveals a fascinating truth: humans, like animals, operate on autopilot more often than we’d like to admit.

We’re All Running on Mental Shortcuts

Cialdini begins with a striking observation from nature. A mother turkey will lovingly care for anything that makes a “cheep-cheep” sound, even a stuffed polecat (a natural predator). Remove that sound, and she’ll ignore or even attack her own chicks. This might seem absurdly simple, but before we judge the turkey too harshly, we should look in the mirror.

Humans rely on similar automatic patterns, what psychologists call heuristics or mental shortcuts. In our increasingly complex world, we simply can’t analyze every decision from scratch. We need these shortcuts to function. But here’s the catch: these same shortcuts make us predictable, and when others understand our triggers, we become vulnerable to manipulation.

The Magic Word: “Because”

One of the most eye-opening studies Cialdini shares involves something as mundane as a copy machine. Psychologist Ellen Langer discovered that people waiting in line were far more likely to let someone cut ahead when that person provided a reason, even if the reason was essentially meaningless.

“Excuse me, I have five pages. May I use the copy machine?” had a moderate success rate. But add the word “because” and watch what happens: “Excuse me, I have five pages. May I use the copy machine because I need to make copies?” Suddenly, compliance rates shot up dramatically.

Think about that for a moment. “Because I need to make copies” isn’t really a reason at all—everyone at a copy machine needs to make copies! Yet the mere presence of the word “because” triggered an automatic compliance response. We’re programmed to look for the form of a proper request (statement + because + reason), and once we detect that pattern, we often stop analyzing whether the content actually makes sense.

The Contrast Trap

The second major principle Cialdini introduces is the contrast principle, and if you’ve ever bought a car, you’ve experienced this firsthand. After negotiating the price of a $35,000 vehicle, somehow a $500 upgraded sound system doesn’t seem like much money at all. A $1,200 extended warranty? Sure, throw it in!

This isn’t about being bad with math. The contrast principle operates at a perceptual level, not a logical one. When we experience two things in sequence, our perception of the second is dramatically influenced by the first. Real estate agents use this masterfully—they’ll show you overpriced dumps first, making mediocre properties seem like palaces by comparison. Clothing salespeople know to sell the expensive suit first, then suggest accessories, because a $95 tie feels reasonable after you’ve just spent $750.

The insidious part? This doesn’t feel like manipulation. It feels like genuine assessment. The tie really does seem reasonably priced in that moment. The contrast has altered our perception without our awareness.

What This Means for You

Cialdini isn’t just sharing these insights for entertainment. He’s sounding an alarm. We live in a world filled with “compliance professionals”—salespeople, marketers, fundraisers, and negotiators—who understand these psychological triggers and use them deliberately. They’re not necessarily bad people; many are simply applying proven techniques that work.

The first step in defending yourself is awareness. When someone gives you a reason for something, pause and ask: Is this actually a legitimate justification, or am I just responding to the word “because”? When something seems like a good deal, consider: Am I comparing this to the right baseline, or has my perception been skewed by contrast?

Our automatic response patterns evolved to help us navigate the world efficiently, and most of the time they serve us well. But in an age where understanding these patterns has become a professional skill for those seeking compliance, awareness becomes our most powerful defense.

The good news? Once you see these patterns, you can’t unsee them. And that awareness might just save you from your next impulse purchase, unreasonable commitment, or manipulative request.

The Making of a Manager by Julie Zhou (former Facebook/Meta VP)

This is a great read. Reading regularly is one of the key ways to make sure that one continues to grow in whatever endeavor being pursued. In a matter of sitting down for a few hours, there is usually a wealth of insights that can be obtained by reading. I definitely recommend this one to engineering managers and those that may be curious about the role.

Thoughts on “Analyzing Ad Library Updates in Android Apps”

Paper: I. J. Mojica Ruiz, M. Nagappan, B. Adams, T. Berger, S. Dienst and A. E. Hassan, “Analyzing Ad Library Updates in Android Apps,” in IEEE Software, vol. 33, no. 2, pp. 74-80, Mar.-Apr. 2016, doi: 10.1109/MS.2014.81.

This article explores the cost of app updates caused due to ad library updates in Android apps. Typically, app releases have non-zero cost from development and QA perspective. The cost may also vary based on the complexity of the app. If an update is being released, oftentimes it needs to go through a full QA pass. Even when an update is released to an app store such as Google Play, it is not guaranteed for customers to update. Customers may choose to skip an update if they feel that it could disrupt their existing experience. The authors posit that ad library updates may be impactful to the developer’s bottom line, and hence it is important for them to get out to customers. 

The authors mention that about 51-60% of free Android apps have some sort of ad integration (with free apps accounting for ~91% of the overall apps available in app stores). The cost of performing ad updates, are categorized into the following by the authors: software maintenance (making changes for new ad library versions), app delivery delays (due to adoption rates can cause revenue impact), lack of ads (due to old ad libraries), and poor user experience (due to bugs in the ad libraries that have not been updated). 

The data the authors have gathered has been done via crawling Google play and doing static analysis on downloaded APKs. They concentrated on apps that have at least 10 raters (effectively 5,937 apps / 13,983 app versions). They found that 65% of app updates included updated ad library, 44% included added ad library and about 28% included removed ad library. Even a stable app such as a calculator app may need to be updated due to its ad integration. They have categorized the top ad providers and have provided stats in regard to the number of updates they have required in 2011.  

In regard to recommendations provided, the authors suggest developers to choose an ad provider that is stable in regard to frequency of library updates. Additionally, if the app relies on a webview, that can be updated more easily through a server-side deployment. Ads can be served through a webview owned by the developer. Though some of the ad targeting may be not as good as native ads when served through a webview as the ad may not have access to all the same data as if it was running natively. In Android, it is also possible to patch some code during runtime (for example Java code can be patched via classloader). This mechanism is fairly complex and thus the additional complexity would only be justified in exceptional cases. I chose to read this article due to my interest in Android. The uber takeaway for me from this article is to always question your dependencies when building and to have some data in regard to frequency of updates required by your dependencies and how that matches with your intended release cadence.

Thoughts on “Rancid: Reliable Benchmarking on Android Platforms”

Paper: S. Afonso and F. Almeida, “Rancid: Reliable Benchmarking on Android Platforms,” in IEEE Access, vol. 8, pp. 143342-143358, 2020, doi: 10.1109/ACCESS.2020.3014533.

https://ieeexplore.ieee.org/document/9159586

This is a recent paper (published August 2020) talking about the problem of benchmarking code on Android platform. Benchmarking allows us to gather data in regard to how our software is performing as well as potential opportunities for additional optimization. The author mentions how benchmarking on Android poses unique challenges. Android is built on top of Linux OS. Application code is typically written in Java (and now more recently potentially in Kotlin). Android also does allow Native code (C/C++) to be written and then it can be referenced in Java through the JNI. There are few challenges that come into play when benchmarking on Android: there could be other processes & apps running in the background that could skew results, processor frequency which can be updated (for example due to power constraints), temperature (temperature throttling), and processor affinity. In the case of processor frequency, there are two separate governors for CPU and GPU. Temperature can impact processor and memory frequency, since the frequency may be reduced by the governors to cool the device. This means that even the ambient temperature which the device is in can impact test results. The author observed sometimes cores being shut down due to this thermal throttling. One thing that I learned from this paper about Android is the concept of processor affinity and how it impacts performance. The author mentioned that modern architecture is built around Arm’s big/little multicore CPU. This architecture consists of having two processors with one that is more performant than the author (hence the name big/little). This means that the performance of the code will be impacted by which processor it runs on. 

The author introduces a framework they have developed called ‘Rancid’, which can be used to mitigate some of the issues outlined earlier when benchmarking Android code. For me, the greatest take away from this paper was the additional understanding it gave me when it comes to Android code optimization and how things such as background processes, processor frequency, processor affinity and temperature impact it. I chose to read this paper because Android continues to grow in influence as a mobile operating system. The mobile space itself does not show any signs of slowing down. Learning Android deeply is a valuable asset to have. 

I tried searching for ‘Rancid Android framework’ to find the website where it can be downloaded, however the only results that came up were references to the paper. So it seems as though the authors have not yet released this framework for public consumption. It would be interesting to play around with this framework to get a better sense of how it works and perhaps eventually it can be incorporated into developer’s standard toolchain when developing on Android. 

Introduction to Verizon Innovation Centers

For me, this was a very interesting talk by Jack Tang (former UW EE alum) who was Director of Verizon’s Innovation Center at the time of recording. I am interested in entrepreneurship and tech innovation in general so I found this talk enjoyable to watch. For one, it made me further appreciate Verizon as a company. Prior to this, I did not know that Verizon is a relatively young company (founded in 2000), with headquarters in New York, has over 175k employees, yearly revenue on the order of $120B and growing 5-8% annually. 

Verizon Innovation Center is a program that entrepreneurs, and companies can take advantage of where they can consult with experts from Verizon and utilize some of Verizon’s own testing labs & services to help facilitate in bringing their products to market. Verizon can also play the role of matchmaker where they can connect companies for their mutual benefit. The interesting thing here is that Verizon has committed to not taking any intellectual property or ownership claim from these companies in the context of their collaboration. Verizon’s long term hope is that the companies eventually do use Verizon services and products for their companies but Verizon does not require this. There are two Verizon Innovation Centers currently: one in San Francisco, California and the other in Boston, Massachusetts. 

Jack Tang recognized the following growth trends in his talk: Connecting Computers (originally led by AOL through providing internet to folks in 1995), Connecting Information (led by Google and Wikipedia in 2000), Connecting Expressions (led by Youtube in 2005), Connecting People and Activities (led by social networks such as LinkedIn, Facebook and Yelp) and the next subsequent trend to be Connecting Everything Intelligently (such as cars, devices, trees, trash cans, houses, etc.). The last trend is where Jack Tang believes Verizon is well positioned to continue to innovate and help companies and entrepreneurs accelerate. Verizon has helped build solutions in a wide array of domains such as Smart Grid, Broadcast Audio, Education, Healthcare, Network Access and Entertainment. I do agree with this trend that Jack illustrates and I believe that this democratization of being able to build internet access in devices is a very powerful driver for innovation in the IOT space. 

Another observation I made is that looking at the website for Verizon’s Innovation Center is that they also seem to offer cloud services. One of the areas they are proving service for is in video streaming, which can help facilitate live streaming of content. This area seems to somewhat overlap with other cloud providers such AWS, which also has similar offering through Elemental suite of services (called AWS Elemental MediaLive).

For more information on Verizon Innovation Centers feel free to visit their website: https://www.verizon.com/about/sites/default/files/annual/delivering-innovative-solutions.html