Alok Menghrajani

Security engineer at Square. Previously co-author of Hacklang and pushed for adoption of 100% https at Facebook.

Home | Contact me | Github | Twitter | Facebook

This post contains a list of technologies I'm looking forward to having. Some of these ideas already exist in some form or the other, but aren't yet mainstream (or at least not around where I live, in 2013).

Smart phones are amazing. In the last 15 years, we have gone from usually having a slow internet connection at home to having a decent internet connection in your pocket. Looking back in time, today's phones are an amazing piece of technology. I however think there is still room for improvement.

universal key

When I leave my home, I need to carry at the very least my car keys, my home keys and my driver license. You can setup your home to unlock with your phone (, and you can hack your car too, but this feature is not there "by default". I also don't think California law enforcement lets you store your driver license on your phone.

secure payment

Whenever you pay with your credit card, the person handling your card has an opporunity to read and remember the information on your card and then later commit credit card fraud. I look forward to using phone based payment systems. The phone can generate "one time tokens", or use some other kind of cryptographic function, which cannot be used to later reuse your credit card information.

concierge like service

Today, the main app on my phone is the web browser. If I want to book a hotel room, I can't just ask my phone to do it. I need to go on some hotel related website, search for a hotel in a particular city, for a particular date, and then filter through the results based on my preferences. In some cases, my phone already has all this information: it could keep track of where I'm going and what are my preferences. A really smart phone could also notice if I booked a flight but forgot to book a hotel and remind me about it.

Taking a flight in a few hours but there's traffic on the way to the airport? Your phone should be able to figure all this out, and offer to call a cab at the right time.

It's cumbersome to keep track of the exact calorie intake. It's also sometimes hard to estimate how many calories you are burning in a given day.

I would love to own a device which kept track of intake and communicated with my watch/phone/computer to give tell me if overall, I'm burning more calories than I'm consuming.

I don't know how this would work, perhaps an electronic crown around a tooth, or an electronic pill which lodges in your stomach?

There should be a standard way to tell restaurants and caterers about food allergies. Maybe even a way to communicate which food and drink items you tend to like or dislike?

I have witnessed several cases where someone told the waiter about a specific food allergy, but the waiter forgot (or didn't care?) to mention the specific food requirement to the cook. This once lead to a really bad reaction, epinephrine injections and emergency hospital care.

I sometimes leave my home and wonder if I locked the door before leaving. I could install electronic locks or go through the process of hacking my doors, but I don't think it's worth the effort.

A cheap & universal low-bandwidth network could interconnect various physical objects and provide access to useful information.

You can buy Dolby 5.1 or 7.1 speaker systems. Wouldn't it be better if each speaker came with a built-in camera and a microphone too? Your home entertainment system would provide high quality Skype conversations with your loved ones across the world. The cameras would be useful for home monitoring when you are away. They could guide robots around the home. Etc.

In addition to having all this speakers, cameras and microphones, I'm looking forward to the day streaming services (Amazon Instant Video, Netflix, etc.) actually provide their content in the highest audio quality. I use such services a lot and I feel I'm under-utilizing my high definition audio & video setup.

Computer systems are built as layers. When you are reading this webpage, you are using some piece of hardware. This hardware talks with an operating system. The operating system communicates with a browser. The browser and web application have a set of protocols they have agreed upon, which describe how to render the content.

These layers have been designed over decades. Once a layer gets wide spread adoption, it becomes very hard to change the API it exposes to the layers above it. E.g. modern CPUs aren't really designed as CISC processors, but they continue to expose the x86 API. Not being able to easily evolve APIs implies technologies don't evolve as fast as they could.

I unfortunately don't have a good solution for solving the problem of evolving APIs in a reasonable way. One solution would be to have expiration dates so designers have the maximum flexibility and don't need to care about old & legacy systems. This would probably make the end users really unhappy.

Floor to ceiling windows in modern buildings look great. They however cannot be opened for cleaning. This usually means you depend on having someone come and clean your windows. Window cleaning is considered a high risk job, so it's expensive. You end up in a situation where your windows get dirty in about a week or two, but get cleaned once every 6 months.

A car wiper like system would solve this. A push of a button could trigger a spray of soapy water, followed by a rubber squeegee.

I feel most cars are designed with mechanical engineering and estethics in mind. The newest generation of Audi and BMW look great and have better engine performance than the previous generation. However, the electronics have always been poorly designed. I can list a hundred defects with the cars I have driven, things like if you leave the lights on, why does the car let the battery drain instead of switching off the lights. Or why doesn't the gps offer to reroute you to a gas station when you are low on gas, instead of having to search for a gas station manually. etc.

A lot of these problems could probably be solved if car makers used an open software platform, similar to Android for mobile phones.

I have an Roomba, one of the latest models. iRobot has been building these for at least 10 years, but today's robots are still pretty stupid: they bang into (and spoil) furniture, walls and floor moldings. They can roll right past a big piece of crumb and not notice it (the robot will eventually pick it up later, or the next day). I can't leave any charger cables or shoes lying around or my robot will risk tangling itself.

A much better Roomba would be filled with onboard cameras and find better paths. It would avoid touching furniture and would do a better job at picking things up. In the future, it might even be able to talk the home entertainment system (see 5. above) and get a camera view from higher up?

We know Mercury's surface and core temperature*, but our microwaves and ovens can't tell when our food is cooked or warm?

* I actually don't think we know Mercury's core temperature, we have a fair idea about the planet's composition and we can guess what the core is like.


A list of sites with other people's ideas...