Saturday, August 29, 2009

When top organic search result on Google matches an AdWords ad

What should Google do, when the top algorithmic result for a user's query is going to match an advertisement that AdWords has in its repository? It's in Google's interest to make a user click on the ad, instead of the organic result (to reach the same destination).

I have observed this for some months now - Google displays the ad just above the top search result, with an eye-catching yellowish background, most-probably in an attempt to make the user click on the ad, instead of the top organic result. This type of behavior doesn't happen every time, probably because that would lead to:
  1. A deeper understanding of how AdWords works.
  2. Allegations of evil-practices by Google.
  3. Advertisers not wanting to buy ads for their own brand-name/product-name.
  4. The inevitable possibility of competitors copying this trick.

Quite likely, Yahoo did not intend this, but this is a fine example nevertheless:

Friday, August 28, 2009

YouTube doesn't offer HQ-quality option where it offers HD

I have an Internet connection which plays YouTube videos with HQ option smoothly (zero buffering delay). It isn't fast enough, however, to directly play videos with the HD option turned on. It's a little odd that YouTube does not provide the lower, HQ option on those videos where it provides the HD button.

For me, this means that I can only play them in the (poorer-quality) standard version (since my connection isn't fast-enough to play at HD). So I can't watch Nokia Booklet 3G first video at HQ (unless I use Video DownloadHelper, of course).

'Body orientation' should be considered as a physiological sense

As I'm unwell these days, and taking bedrest, I was imagining a computer-system that allows me to read news and write blog posts while I'm lying on the bed (getting bored). Then this thought came to my mind - with our eyes closed, we can always tell what the orientation of our body is (w.r.t. the imaginary vertical axis perpendicular to the surface of the earth, and passing through its core). We can confidently tell that our body is in any of the following orientations, even with our eyes closed
  1. Upright (the way we walk)
  2. Upside-down (like some criminals are hung during torture)
  3. Lying head-up (sleeping with chest facing the sky)
  4. Lying back-up (sleeping with our facing the sky)
And we can also tell whether our body is tilted (like our legs are upwards and head is downwards - something like a 45 degree line), and can compare less tilt to more tilt - all with our eyes closed. We can even draw our body's orientation on a paper without ever looking at ourselves in that configuration.

I went to Wikipedia and (briefly) read the following articles - Sense, Equilibrioception, Proprioception, and Aircraft attitude. Although equilibrioception and proprioception appear remotely related to body orientation, they don't seem to nail the concept completely.

Hence, I believe that body orientation should be considered as a physiological sense (if it's really not covered under the currently defined senses), since we seem to possess the ability to determine our body's absolute orientation (w.r.t. the earth's surface).

Monday, August 24, 2009

The DMCA should exempt computer-science undergraduates

This thought struck me yesterday, when I was traveling towards Delhi - reflecting upon my college days. I'm a Computer Science & Engineering graduate, and back in my college days, I, like any other CS undergrad, used file-sharing programs extensively (I've probably used about 10 of them). I also downloaded and used all sorts of cracks, keygens, loaders, patches, and serials to rip-apart the piracy-protection measures used by commercial software, and make them run forever.

I believe that of all people on this planet, at least CS undergraduates should be fully exempt from the provisions of the Digital Millenium Copyright Act. CS undergraduates are the people on whose shoulders rests the future of computer science - the next Facebook, the next Twitter, the next Omegle, the next Firefox, and so on (and the next Napster as well).

These HyperSmart people should be free (free as in beer and free as in speech) to tryout and explore any application/service they want to, any way they want to. Because curtailing their freedom to explore the frontiers of computer-science - in the name of law - will stifle their ability to understand, apply, and innovate.

Some specific examples? CS undergrads should be free to
  1. Violate the EULAs of commercial software, and TOS of online services.
  2. Setup online radios or media-streaming-servers using VLC.
  3. Use cracks to activate Windows 7 Ultimate, Office 2007, etc.
  4. Irresponsibly disclose security flaws in popular software.
  5. Reverse-engineer the Windows OS, or steal stealable source code.
  6. Hack into their university's networks, or try to bring it down.
  7. Download and use unlicensed copies of any commercial software.
  8. Install Mac OS X on non-Apple hardware, and crack-open iPhone OS.
  9. Download copyrighted content off BitTorrent/LimeWire/other P2P.
  10. Setup proxy servers to circumvent firewall restrictions.
  11. /*

Saturday, August 22, 2009

Human brain's amazing power of lexical analysis

I was reading an old - May'08 - issue of India Today, when I saw an ad by Future Brands. The ad included a sentence, with spaces between the words removed. It looked like this (click here to look at a scan of the original ad)

I was impressed by the human brain's ability to successfully perform lexical analysis on a continuous stream of characters, as a sentence (although the color difference and the division into 3 rows provide help). When I gave this stream to Google Search, it gave up (again, it must be remembered that Google Search didn't get help from the color differences and the division into 3 rows).

I created some mockups in PowerPoint, and by editing the scan, to see the effects of
  1. Color variations
  2. Font differences
The mockups look like this, and it can be seen that the more parameters by which individual words are separated from each other (font-color, font-size, font-type, spacing, etc.), the easier it becomes for the brain to read them as separate words

And yes, it's slightly more difficult to perform lexical analysis on the string, if less number of parameters are different - like below

Wednesday, August 19, 2009

When is it good to have four different Web search engines?

The four engines I'm referring to are Google, Yahoo Search, Bing, and It's good to have all these different engines in some specific situations. Some of these some specific situations are
  1. When one wants to discover new Web content (using the same query)
  2. When one is doing research on a particular topic
  3. When one is looking for some rare information
In case (1), having multiple search engines is particularly helpful. To understand this, remember that in some situations, the sum of first SERP of each of the four engines can be more useful than the sum of the first 4 result-pages of Google (this observation, in fact, is the very premise of metasearch engines). For a query entered by a user, Google has its particular defintion of what it thinks is relevant for that query (this definition is governed by Google's algorithms). Although Google's definition serves the world well (as its market-share and its consumer-satisfaction numbers show), it's likely that in some specific situations, a user may actually be looking for alternative definitions of "relevant", something that only a different search-engine can provide. The same query entered into each of the top 4 search engines brings up results of a different type. And this different perspective is what I like/want sometimes.

Check out screenshots of the SERPs of Google, Yahoo, Bing and for the query time pass activities. It's clear that in this situation, having four different engines helps. For similar reasons, using multiple search engines (sometimes) helps in case (2) and (3).

And that's why I'm sad at the impending folding of Yahoo Search into Bing. It was good to have Yahoo Search as an independent player...

Monday, August 17, 2009

Find-similar-stuff features should allow inputting multiple things

Google provides a nifty feature that allows one to "search for web pages that have similar content to a given site", using the related: operator. An example of this feature in action is below

Google Search showing websites similar to

I hypothesize that this feature will work more accurately, if it allows a user to specify more than one input (this of course means that all the inputs specified by the user already individually fit those characteristic(s), on the basis of which the user wants to find more websites).

This is because the definition of similar can sometimes be unclear. Many times it's possible to find multiple characteristics which are similar between two things (an apple and an orange are both fruits, are both round, are both about the size of a tennis ball. Which particular characteristic does a user have in mind?). If I specify orange as my sample item, should Google Search return an apple as a similar item, or a lemon? This is unclear if the only input item specified is an orange. However, the moment I specify orange, grapefruit, and tangerine as the sample inputs, it becomes more clear (more so to a human) that the particular characteristic on the basis of which I'm looking for similar stuff is the thing being citrus. Hence, lemon is a more appropriate item that should be returned, compared to apple.

It should be noted that the same logic is applicable when one tries to grow a set on Google Sets.

Back to Google Search. What should Google return, if I specify as the input (at the back of my mind, I'm trying to find out websites which allow me to book railway tickets). From my input, it isn't immediately evident that I'm looking for those websites that allow me to book railway tickets. Since allows users to book tickets for flights, buses, railway, et al., it's likely that the websites returned will allow some/all of these types of tickets to be booked (some of the results may not allow booking railway tickets).

However, if I specify both and as inputs (the latter allows only railway tickets currently), it becomes clearer that booking of railway tickets is a more important ingredient that I'm looking for. The Venn diagrams below should make this clearer:

Specifying only leaves room for ambiguity

Specifying two websites adds clarity (in this case)

Hence, I believe that Google should allow users to specify more than one website as input, to return similar websites.

My detailed profile on Google

Sunday, August 16, 2009

Situations in which nothing beats Twitter, yet: Part 1

I've been tweeting quite frequently over the last couple of days. And I've also been using Twitter's search feature quite often - to gauge the pulse of the public on particular topics. I've been trying to understand the types of situations in which Twitter (and Twitter-like services) are more useful than traditional services such as Google's search, as well as situations in which Twitter, et al., are most useful, compared to any other service.

In part 1 of this hopefully multi-part series of posts, I'm describing a simple situation in which Twitter helped me to verify my doubt/feeling/observation quite effortlessly. Interestingly, I couldn't think of any other easier/faster/simpler way to do this.
  1. I visited a blog post on the website of Los Angeles Times
  2. I felt as if the website has been redesigned, since the last time I visited it
  3. To verify this feeling, I headed to Twitter and queried latimes redesign
  4. Twitter's results instantly showed me that other people too had observed the site's redesign, thus verifying my feeling
  5. Being a regular reader of NYT's website, I also felt that the new LA Times website looked somewhat similar to NYT's website
  6. I quickly queried latimes redesign nytimes on Twitter
  7. Twitter's results instantly showed me that other people too had felt that the new design of the LA Times website looked like it had been copied from NYT's website, thus verifying my feeling
I've placed screenshots of this situation here. Viewing them should provide clearer understanding of what I'm trying to state in this post.

How does one do this on Google? I don't see any way currently...

Search engines indexes can beat URL-shorteners induced link rot

I've been reading about the recent fiasco surrounding's initial announcement to shut down its service, and the resultant furor about the consequential link rot, reaching to the point of fingers being raised at all these URL shortening services (more coverage here, here, here, and here). Although subsequently backtracked, the whole episode has provided us a much-needed caution.

I was thinking about easy ways to prevent/solve the problem of link rot resulting from a URL-shortener shutting down its service. Among many ideas (such as Facebook/Google/Microsoft/Mozilla/Wikimedia/Yahoo launching industrial-strength URL-shortening services, that have much more guarantee of remaining alive than services from cash-crunched startups), one idea looked particularly easy and doable - search engines saving mappings of short-URLs in their indexes, for future use.

The way this idea is supposed to work is simple
  1. Currently, when Google crawls the Web (including Twitter posts), it supposedly indexes only the content (e.g., it indexes only the short-URLs present in tweets)
  2. Whenever Google encounters short-URLs (recognized by a human-built index of these services), it should execute them and save the mappings in its database
  3. These mappings will be now be available for reuse to Google Toolbar users
  4. When a users surfs the Web, Google Toolbar will actively look for any short-URLs on the current webpage (the same way it currently looks for mappable addresses, etc.)
  5. If it encounters any, it will query Google's short-URLs database to fetch its destination (and it may also be used to feed Google's index with as-yet-unindexed short-URLs, thus acting somewhat like a distributed crawler to help build Google's index)
  6. If the original service isn't available to redirect the short-URL, the Toolbar will offer to redirect the user to the correct destination
This method should work for short-URLs that are public - the ones that can be accessed and indexed by search engines. To also record mappings of short-URLs that are generated and used privately by users, the Toolbar should offer an optional feature which monitors the user's usage of URL-shorteners, and upon detection of any private usage of such a service (such as in Gmail/Hotmail), automatically saves the mapping to a user's Google Account.

Providing such a feature will help a search engine to differentiate itself from rivals in one more way. And addition of this feature to a Toolbar will make it more desirable/useful.

Update: Just read this story on Ars, about Google's possible plans to include microblogging search into its service. To more deeply understand a microblog post (and its context), it makes sense to execute any short-URL present in that post, and to analyze a digest of the destination. My current idea requires simply recording these mappings, for reuse.

Click to read my idea about a default video-player inside Flash Player

Saturday, August 15, 2009

Problem: Measure 10 liter with containers of capacity 19, 13 & 7

Today I was challenged to a liquid-measuring problem by my brother. Given two containers full of water, with capacity of 13 and 7 liters respectively, and an empty container of capacity 19 liters, how does one measure 10 liters of water (without spilling any amount)?

After spending 10-15 minutes, I finally reached a solution. It's possible that this solution has some amount of redundancy, and thus isn't canonical.

The schema followed in this solution is this: X-Y, where X denotes the amount inside the container, the Y denotes the remaining capacity.
  1. 0-19, 13-0, 7-0 Starting configuration
  2. 13-6, 0-13, 7-0
  3. 13-6, 7-6, 0-7
  4. 6-13, 7-6, 7-0
  5. 6-13, 13-0, 1-6
  6. 19-0, 0-13, 1-6
  7. 19-0, 1-12, 0-7
  8. 12-7, 1-12, 7-0
  9. 12-7, 8-5, 0-7
  10. 5-14, 8-5, 7-0
  11. 5-14, 13-0, 2-5
  12. 18-1, 0-13, 2-5
  13. 18-1, 2-11, 0-7
  14. 11-8, 2-11, 7-0
  15. 11-8, 9-4, 0-7
  16. 4-15, 9-4, 7-0
  17. 4-15, 13-0, 3-4
  18. 17-2, 0-13, 3-4
  19. 17-2, 3-10, 0-7
  20. 10-9, 3-10, 7-0 Solved
Click to read my idea about a fuel-saving car-AC

Friday, August 14, 2009

Crediting only Firefox for retriggering browser innovation is unjust

I've been keenly following the development of Web browsers for many, many years now. I remember trying out Opera way back in 2002. And I remember trying out Firefox 0.9, and I also remember installing Firefox 1.0 (the very day it was released). Even today, I use five browsers - Firefox, Chrome, Opera, Safari, and IE.

One thing that baffles me often is the disproportionate amount of credit given to Firefox, for "bringing innovation back to Web browsers", and for "reigniting the browser wars". Sure, there is no denying that Firefox did become the first alternative browser post the year 2000 to have gained widespread adoption among the masses. However, it is not true that Firefox alone deserves the credit for attempting to bring innovation to Web browsers.

That credit, in my opinion, should be shared among three browsers - Opera, Safari, and Firefox (even the old-horse Mozilla Suite may be included). It's funny how the public thinks that Firefox innovated tabs, when Opera browser had been carrying them for years before Firefox even existed. It's also funny how Chrome and Safari flaunt those thumbnails they display on their new-tab pages as their features - when it was Opera which innovated this feature with Speed Dial, way back in March 2007 (read here, here and here). And it's also funny that no - and I mean no - news story ever mentions the 2003 launch of the KHTML-based Apple Safari, packed with many innovative features (Firefox was launched in 2004), when talking about the resurgence of the browser wars.

It's worthwhile reading the Wikipedia articles on Safari and Opera to learn how these browsers have been innovating rapidly - at least as fast as Firefox. The article about features of Opera is even more impressive (remember, Opera was launched back in 1996). Also, I've uploaded screenshots of many official webpages of Firefox, IE, Opera and Safari. These give a good idea of the features of each of these browsers.

So the next time you read an article that overwhelmingly credits Mozilla and Firefox (like this recent article on NYT), remember to give the respect that is due to other browsers - such as Opera and Safari - and the credit that these browsers genuinely deserve.

Google is using Doodle more frequently, to give a Bing-like feeling

Over the past few weeks, I've felt that Google's use of the Doodle has become somewhat more frequent. It is almost certainly not a coincidence that this feeling has been cropping up in me since the June 2009 launch of Microsoft's Bing.

One of the key highlights of Bing's user interface is a new annotated photo that appears on its homepage each day. Not only does it provide feel-good feeling (and good information), it also includes links to interesting searches related to the photo. homepage (US) on July 29, 2009
It's probable that Google has observed that Bing users have liked the images that appear on its homepage, and to ditto this on its own homepage, Google has started making more frequent use of these Doodles.

This source shows that Google's use of Doodles in 2009 is expected to be the highest ever in its history (assuming its collection is exhaustive).

Update (13-Feb-10): Google's Doodle has become larger, taking it closer to Bing. homepage (South Africa) on February 13, 2010

Wednesday, August 12, 2009

Adobe should integrate a "default" video player inside Flash Player

//This post is based on my current assumption that right now it's not possible to run a FLV file directly inside Flash Player, without use of a 'video player'

Mozilla's Firefox 3.5 supports Ogg-Theora based video-playback inside the browser. Adobe's Flash Player plugin also supports video-playback.

One crucial difference between the way they play video is that use of Flash Video format mandates the creation and use of a player for that video (if playback controls are required). In contrast, Firefox 3.5 includes a default, inbuilt video-player for video files, with a fine set of playback-controls. Website owners need to merely upload a video file to their website, and rest of the job can be done using Firefox. Website-owners resorting to Flash Video, however, also have to bear the pain of creating a player for video.

I believe that Adobe should integrate a default video-player right inside the Flash Player client. Such a move has the potential to attract a sizeable chunk of website-owners towards the Flash Video format, as it'll enable them to directly upload the FLV files to their websites, without having to dirty their hands building a video-player. The end-users benefit as they don't have to download a new video-player each time they visit a different website, and they can play videos directly within Flash Player, with a consistent user-experience.

One simple reason why Google has shifted search-ads leftwards

Today, while reading a story on TechCrunch about Google shifting search-ads to the left of the page, I looked at some Google search results on the 21" LCD (widescreen, with 1.6:1 ratio) of my workstation at my company, and realized that Google might have done this for a very simple reason - to counter search-ad-blindness on large, widescreen displays.

Placing search-induced ads on the extreme right of a webpage is going to be significantly less effective on large-sized, widescreen monitors, as the images below demonstrate (it is important to emphasize that this effect can be appreciated better by actually sitting on a large, widescreen LCD, than by merely looking at the screenshots below):

The original screenshot with search-ads in the middle

Edited screenshot with ads moved to the extreme-right

It is easy to see that for all practical purposes, search-ads are invisible to a user on a large, widescreen monitor, if they are placed on the extreme-right. The user's eyes are affixed to the left, leading to the search-ads getting ignored automatically.

And users only click ads they see...

Tuesday, August 11, 2009

Car AC that intermittently turns on and off can save a lot of fuel

A few days back, I wrote about my years-old desire for a refrigeration compressor that has variable cooling capability. Today, while I was driving back from my company, I got an idea which can save a potentially significant amount of fuel spent on the in-car AC. At its core, this idea is related to the variable-cooling "HyperCompressor" idea I wrote previously.

In summers, I usually drive with the AC on at all times. In the past, I've noted many times that my usage of the in-car AC is not to reduce the temperature of the whole passenger cabin, but primarily to keep throwing cool air at me. Based on this observation, today I conducted a small experiment - I would run the AC for 5 minutes, then turn it off for 1 minute (while keeping the fan running at all times), then again turn it on for 5 minutes, then turn it off for a minute, and so on, to see the effect on my user-experience.

I observed that my experience was sufficiently comfortable during the 1 minute period when the AC would be off. My overall experience was good, minus the manual on and off I had to do (which is automatable anyway). Crucially, however, nearly 16% of the fuel normally spent on air-conditioning was saved, whilst causing me negligible discomfort.

I concluded that if my car had a feature which allowed me to automatically run the AC in this on-for-five-minutes and off-for-one-minute mode, I would be able to save a delicious 16% fuel spent on the AC.

Some things deserve mention here:
  1. This fuel-saving is true only in cases where the usage of AC is similar to my usage
  2. It should be possible to change the durations for auto-on and auto-off (for example, someone may want to set this as on-for-nine-minutes and off-for-one-minute, to save 10% of the fuel spent on AC)
  3. The intermittent on-off nature of this mode brings this hypothetical AC somewhat closer to a variable cooling AC. For example, in the 5+1 minutes mode, a binary representation of the power-status of the AC is: 111110111110111110... For each 6-minute period, the AC effectively runs at 0.83 cooling level. The smaller the durations of on and off are made, the closer this AC will get to a truly variable cooling AC (for example, for 50+10 seconds mode, the effective cooling per minute - 0.83 times - is closer to a truly variable cooling AC, than an AC with a 5+1 minutes mode)
  4. It's important to remember that an intermittently-running AC is not a true variable cooling AC. While an intermittently-running AC achieves reduced cooling mathematically - on a time-averaged basis, a truly variable cooling AC will actually cause reduced cooling on a continuous basis. Its values for a 6-minute period will look like this: 0.83, 0.83, 0.83, 0.83, 0.83, 0.83
  5. Some might say that the use of a thermostat also leads to fuel-saving as well as variable cooling (for example, an AC that was on for 6 hours in an 8 hour period effectively ran at 0.75 level, saving 25% fuel). While thermostat does save fuel, it shouldn't be considered as variable cooling because use of a thermostat usually leads to longer periods of on and off, leading to situations when it gets too cold, or slightly hot, thus violating the objective of a variable AC. So while the use of a thermostat can be thought of as a sinusoidal wave with higher amplitude and higher time period (as well as higher average value), intermittently-running leads to a wave with lower amplitude and lower time period
  6. It is assumed that the AC is built such that it can happily bear these multiple power-ups and power-downs, without breaking its jaws
  7. When I would turn off the AC, it would keep throwing sufficiently cool air at me for ~30 seconds (this is to be expected, since the heat-exchangers should be expected to remain cool for a while), thus really utilizing the previously-done cooling
  8. It's easy to replicate this feature in room ACs. Current ACs allow power-saving and cooling-control on the basis of temperature (using a thermostat), it'll be good if they incorporate power-saving and cooling-control features that work on the basis of time
Click to read my thoughts on a weakness in Google's Chrome

Monday, August 10, 2009

Hoping to make a killing on my small investment...

Last Wednesday (5-8-09), I invested a small amount in a book - INR 1,300 (~$27). I hope to get a return in the range of 5,000-50,000 times, over the course of next few years. I term such an investment, a "HyperInvestment".

Let's see how things pan out.

Saturday, August 8, 2009

How do we know that Bing doesn't violate software patents?

During my college days, when I used to read Microsoft's announcements about Live Search, I sometimes used to wonder - how does one ascertain that Microsoft doesn't secretly violate some (or many) software patents - specifically, search-related patents?

I still wonder about this, sometimes. When Bing was released, I got particularly concerned - how in the world does one ascertain whether or not Bing's underlying plumbing is Google's famous, and much publicized, PageRank algorithm (patented by Stanford University)?

This issue can be extended to the array of online applications and services that are cropping up all over the Web - popularly clubbed together as Cloud Computing. How does one know that Amazon Web Services is secretly not violating dozens of software patents, (perhaps even intentionally) because it knows that the only thing its users can see is the service's user-interface, and it can make its systems work better by including patented technology?

Reading about Leader Technologies' dispute with Facebook made me pen my concern...

Friday, August 7, 2009

Google Chrome's automatic update model has a weakness

Google Updater automatically and silently updates Chrome, even if a user is currently browsing the Web (using Chrome). Crucially, however, the update comes into effect only when a user restarts Chrome. I assert that this model for has a shortcoming, which becomes apparent in the way I use my computer.

I frequently keep my laptop running for days on end. Usually, this involves keeping the browser running continuously too. If this browser is Chrome, it means that any updates that are released and applied during these days won't come into effect until I restart Chrome (which may take place after many days, because I usually have too many tabs and windows opened, and it's just not possible to restart the browser). Any browsing that I do in these days potentially exposes me to security threats. 

Proposed solution: When Google Updater updates Chrome, it should notify the user that an update has been applied, and should strongly suggest restarting the browser if the update includes security-related improvements (Google's current approach, combined with my proposed solution, as well as some other update-related ideas that I haven't yet listed is a near-ideal update system I call "HyperUpdate"). 

Update (11-9-09): I just noticed this message on one of my workstations, and it shows that Windows automatically/forcibly restarts the system when certain important security updates are applied. This is probably done to prevent a vulnerable system from continuing to run till a user-initiated restart takes place (the flipside is that these automatic restarts have frequently led to data-losses). This situation is similar to the continuing-to-run-vulnerable-Chrome situation that I've described above
Update (12-9-09): Kaspersky Internet Security 2009 also alerts the user to restart the system, whenever an update is downloaded that can come into effect only after a restart. Again, this is to prevent a less-fortified KIS from continuing to run, creating a window, in which KIS isn't providing as much protection as it can.
My idea to reduce the amount of spam email in inbox

Thursday, August 6, 2009

We need a compressor with variable cooling (a "HyperCompressor")

I've been thinking about this thing for many years now (perhaps over 6 years). Today's air-conditioners (ACs) have compressors that operate in a binary fashion - they are either on (consuming full electricity), or they are off (consuming no electricity).

In the 15+ years of my experience with ACs of all shapes and sizes and types, I've observed that many times, we require a reduced level of cooling, compared to the maximum cooling capacity of an AC. In such situations, we wish that the AC throw semi-cooled air at us, because it feels hot if we turn it off, and it feels cold if we turn it on.

However, this is not possible with today's ACs. They can only be turned "full on" or "full off". They cannot be made to reduce the coolness of the air that they throw (essentially, the extent of cooling performed by an AC's compressor cannot be varied), and hence some of the following tricks are used to approximate the effect of reduced cooling
  1. Varying the fan speed
  2. Use of a thermostat
  3. Mixing of warm air
The results of these non-optimum tricks are
  1. No saving in electricity, for tricks 1 and 3
  2. Non-optimum user-experience, for trick 2 (I've observed that use of thermostat sometimes makes the room too-cool or too-warm, at least temporarily)

And so I wish that we had a sort of truly variable compressor, which shall allow me to actually vary the extent of cooling. Most importantly, its power consumption shall be directly proportional to the extent of cooling. This potentially revolutionary refrigeration-compressor shall allow me to choose 50% cool air on days when the weather is cool, so that I can save myself from uncomfortably-cold air, and also save 50% of the electricity.