How Dropbox Tricks Us: An Illusion of Private Space

Most of us use the popular cloud storage service Dropbox. In fact, some of us love it so much that we store files directly in our Dropbox folder while working with them. One of the reasons why Dropbox and other cloud storage services have become popular is that these services give us an illusion of private space. The folder we see on our computers, phones and tablets is a nice little folder that is replicated on the data centers of these storage companies. Not quite. While these companies do have a humongous amount of data storage available at their data centers, it certainly costs them a lot to maintain such centers. They are constantly trying to figure out ways to optimize, compress and simplify file storage mechanisms to save costs and improve performance.

One of these things is file deduplication. Without going into too many technical details, the concept can be explained in three simple steps:

  • User uploads a file to the cloud storage.
  • The storage service realizes that some other user has already uploaded the same file.
  • The service shrugs its shoulders (not really!) and just keeps one copy of the file instead of storing a duplicate copy for the two users.

This illustration should make things clear –

File Deduplication

File Deduplication

But the process doesn’t end there. The service maintains a list of users who have uploaded the same file. So when a user wants to download the file they ‘uploaded’, the service simply checks if the user is listed as one of the ‘owners’ of the file and if yes, allows them to download the file.

Of course, the above process is only useful if the file is popular enough to be owned and uploaded by multiple users. Think mp3s, movie files or ebooks. So even if most of our files on Dropbox, Google Drive, Box or Skydrive are personal documents, file deduplication is certainly a useful technique to save space. But wait, what about privacy?! For that and more, check out this wonderful blog post.

Hope this short post was interesting! As usual, please leave your feedback in the comments sections. Thanks for reading! ūüôā

– Omkar

 

Advertisements

How Torrents Work and More – A Simple Introduction

This post was published 4 years ago on my older blog. Re-posting it here. Most of the things discussed are still relevant.

The spread of broadband internet in India has triggered a vast downloading community. Movies, softwares, music or anything digital for that matter can be downloaded from the internet.

One question occurs to most of us: Where is all this content available? How to download it?

The questions that follow are: Is it legal? What is the internet speed requirement for downloading? Is there a risk of viruses/trojans in the process?

I’ll start right from the basics:
There are three ways of downloading data from the internet:

  1. Direct download from websites (FTP)
  2. Peer-To-Peer Network (P2P)
  3. Torrents

I won’t be discussing about direct downloads (maybe sometime later!) and proceed to the other two.

Peer-To-Peer (P2P):

P2P (Peer-to-Peer) is a data transfer technology that is quite similar to BitTorrent (discussed later) in nature. What happens in p2p is that the client (implying the user, through his software) is connected to a network that is created by a particular software network or a combination of networks.

As we all know, the keyword(s) related to the data we want (generally songs or short videos) is entered in the search box. What the software does next is search for files on the entire network that match our keyword(s). If any files are found, they are listed and a number appears next to it along with other attributes. This number is actually the number of people on the network that have the file u want!

So u start downloading a particular file from the list. When I say downloading, I mean that your software is connected to the people on the network who have the particular file and they ‘supply’ you with the file. Hence, it is partially logical to say that the lesser the number of people having the file, the lesser the speed.

Coming to speed, there are various factors that affect the download speed. The first and most important factor is the bandwidth of your internet connection (commonly referred to as the ‘net speed’). Having a higher bandwidth increases the chances of getting a faster speed. Why I’m using the word chances is because you having a higher bandwidth doesn’t mean there are enough ‘suppliers’ to provide you with the additional speed. This can be explained with a simple example. Consider a water pipe carrying a fixed amount of water. Now, the diameter of the pipe is increased. But it is not logically right to say that more water flows through the pipe just because it’s size has increased. For that to happen, the supply to the pipe will have to be increased. Consider the pipe to be your internet connection, it’s diameter as your bandwidth and the water as the actual data …

Another factor is the internet speed of the people who ‘supply’ the files. You must have experienced the case where a file having higher number of ‘suppliers’ is downloaded slower than a file with lesser number of ‘suppliers’!

Other factors include, the other applications running simultaneously on your PC (web browser, online games etc), your internet service provider’s settings etc.

Moving on to the third way of file sharing …

Those people who have friends that download a lot have most probably heard this word. And that too a lot, I think! Torrents are a very powerful way of fast sharing of large files. Some basic questions are answered below:

What is a torrent?:

A torrent (proper name: BitTorrent) is a basically a protocol (a method of data communication) that is used for transfer and distribution of data over the internet. The basic principle for a torrent network is the same as a P2P network i.e. it involves the sharing data amongst users of the network. Then what is different? We can say that torrents are an advanced version of p2p (this is not technically correct but we can say that for practical use).

In a torrent network, the ‘suppliers’ (as they were called so far) are called seeders. I’ll explain how file sharing through torrent network takes place using a non-technical example.

Suppose, in a class of fifty people, the teacher gives an assignment. It is five pages long. The brightest student in the class finishes the assignment first and everyone else wants to copy his assignment. It can be done in two ways:

  1. The entire assignment is given by the brightest student to another student. He copies it and passes on both (his own and the original) assignments to other students. This is how the sharing takes place (sharp people may have noticed that this is similar to the sharing principle of p2p!).
  2. The original assignment is of 5 pages. So, 5 people are given 5 different pages. They each copy it and pass it on to a student who does not have that page. Also, they look for the other 4 pages of the assignment which they don’t have and copy them! Thus, more number of people are are able to start on the assignment and time is saved!

The second case explains how torrents work. A file that is to be shared is put on the network by a host (the person who has the file – the brightest student, in the example above). Parts of the file are downloaded by different users of the network and they themselves start acting as seeders of those parts!

So how does that help? Well, the load of providing all the downloaders of the file with data is shared between everyone! You give and take! Most importantly, it reduces the heavy and costly hardware requirements that a person would need to host (provide) the file alone!

This picture from Wikipedia illustrates the concept well:

The colors are parts of the file. Observe how the pieces are shared amongst users.

How to actually download files through torrents:

Downloading files through torrents is slightly more complicated than downloading through P2P. Have you ever seen a small-sized file appear on your computer after you clicked on ‘download torrent’ on a website? That file is the torrent file which connects the user to the torrent network. How to use that file? The torrent file must be opened with a torrent software. One of them is mentioned below.

The software asks you where you want to store the file(s) and starts downloading. You’ll also notice that there is an ‘upload speed’ column. That’s the speed with which you are sharingthe data of the file you have. An important point: In most torrent softwares, reducing the upload speed directly affects the download speed! So don’t be selfish!!

Requirements:

Broadband internet connection is highly recommended for using both the networks. P2P can be used on dial-up connection to some extent but use of torrent networks is almost impossible.

Risk of viruses and trojans:

Viruses and trojans are to be expected in any form of file sharing as they thrive on that! It may be discouraging to know, but a good anti-virus software and experience are the only two things that can prevent damage caused by viruses, trojans and malwares. It should be noted that pornographic material is a very common carrier of viruses and trojans. P2P networks are more vulnerable to them than torrent networks.

Legal?

The fact is that most of the transfers on these networks are illegal (i.e. copyrighted material is shared. The softwares of both P2P and torrents cannot be sued for these transfers because they provide a means of sharing data. What data is to be shared depends on the user. Use of torrents and P2P can lead to legal action/fine in some countries where cyber laws are strict.

Some popular P2P softwares (Links):

LimeWire
BearShare

Some popular torrent file sites:

Torrentz
Torrentspy

Torrent software:

uTorrent

Visit the Wikipedia page if you are interested in knowing more (technical stuff) about file sharing.

Please feel free to ask questions/post comments below. Thanks for reading!

 

– Omkar

Why Social Networks Want You To Upload Photos

Think about how much time you spend on Facebook (or Google Plus if you’re amongst the 2%) looking at, commenting on, liking and sharing photos. No seriously, think about it. Founder Mark Zuckerburg has mentioned in interviews that most of Facebook’s success is due to its photo sharing aspect. So it’s easy to conclude that social networks want us to upload and share photos for the sake of keeping you non-productive at work. But that is not the only reason they love your photos.

This topic has been discussed on the Internet quite a few times but surprisingly I still find most of my friends are not aware of this. So here goes.

Photos taken from any modern digital camera (standalone or phone) have something called EXIF data attached to them. What is EXIF data? In case you didn’t click on the Wikipedia link already, here’s a quick breakdown:

  • EXIF data is information – technical and non technical – about the image. So it has things like the date and time when the picture was taken, the camera’s exposure, ISO, aperture settings etc. It also has a unique device number representing your camera.
  • Camera phones and newer digital cameras with GPS can also store where the picture was taken.

The second point is the key thing. Photos contain location information which can be collected by social networks. After uploading a photo on Facebook, we typically see the ‘Where was this photo taken?’ field next to the photo. But you know what, in most cases Facebook already knows! Thanks to the location information in the EXIF data of the photo.

Now why would social networks be interested in your location?

  • To show relevant ads! We’re more likely to click on that ‘50% off’ ad banner if it belongs to a store in our city.
  • To find out about your travels. And then show relevant ads! Hmm, this user seems to travel a lot. Let’s spam her with hotel booking website ads!

Of course, that’s not the extent of it. Social networks mine user data to the point of having creepy knowledge about their lives. Location is just one aspect of it. And it’s legal. After all, we voluntarily (after signing the Terms and Conditions) upload these photos.

Now that you know about all this EXIF mumbo jumbo, you might be interested to know if there’s any way to prevent this and still continue to upload sepia-tinted self-portraits on a daily basis. Yes, there is; softwares like ExifTool¬†remove EXIF data from photos. So now you can simply put all your photos through such a software before uploading then on social networks. Is it worth the trouble? Depends on how much your care about strangers knowing where you’ve been ever since you started uploading photos.

Feel free to ask questions/post feedback in the comments section below. Thanks for reading!

– Omkar

‘Mapology’ Aftermath – A New Apple?

Something has changed. Something feels different. After the huge Maps debacle following the release of iOS 6, Apple’s CEO Tim Cook has issued a public apology.

Now, this is not the first time an Apple CEO has apologized. Steve Jobs wrote a public apology after the steep price cut on the first iPhone just months after its release. But something is different this time. Apple hasn’t stopped there. In the apology, Tim Cook has also pointed users to use other map/navigation services till the Maps app gets fixed. This is the crazy part! A company that is known for perfection in almost every piece of software/hardware apologizing is one thing; pointing customers to use rival products is a completely different story however!

While I understand the sincerity of the apology, I certainly do not understand the logic behind it. Let me explain –

  • Mapping services employ crowd-sourcing – the more users use it and contribute to it/correct it, the better it gets.
  • That’s the reason Google maps is so awesome (and also why it really sucked when it was launched in 2004).
  • Asking customers to use a different mapping service will reduce the number of people using Apple’s Maps which means it will be very difficult for the service to improve!

Of course, out of the 100 million plus iOS 6 users, the number of people who won’t bother with switching to better services is likely to be quite large. But ultimately the users who really depend upon the Maps application are the ones who will contribute the most towards making it a better service.

That apart, it feels great to see Apple not acting arrogant on this issue. They made a mistake, they acknowledged it. It’s how they did it that has me confused.

Of Rectangles and Rounded Corners

Interesting things have been happening with the Apple Vs Samsung verdict going in favor of Apple and the announcement of the new iPhone 5. Now, in spite of being the geek I am, these things are really interesting because I’m feeling a little apprehensive about the future of mobile and smartphones in particular and not because of the characteristic ‘nerdvana’ that follows every iPhone’s announcement.

First, the Apple Vs Samsung case. I have been following the case quite regularly and on most counts it seems Apple has provided some damning evidence against Samsung in terms of documents referring to Samsung executives asking their engineers to refer to the iPhone for cues on improving the UI of their Galaxy series smartphones (the big red ‘End Call’ button being an example). While those are the kind of things that might be relatively straightforward to understand, some aspects of the trial were really strange.
Yes, I’m talking about the whole ’rounded corners and rectangle’ issue brought up by Apple. The argument put forward by Apple was that Samsung has copied the iPhone’s form factor of being a rectangle with rounded corners. This had more or less two legal implications –

  1. Consumers got confused between the iPhone and the Galaxy Series and bought a Samsung phone as a result of the ‘confusion’.
  2. The only reason why Samsung succeeded with it’s Galaxy line of phones was because it copied the iPhone.

I’m sure I’m not the only one who’s not sure about the merits of these arguments. Samsung retaliated by presenting smartphones predating the iPhone which had similar form factors. Apparently that wasn’t enough to convince the jury.

Now this is the part that scares me the most – the fact that Apple calls a rectangular smartphone with rounded corners it’s ‘trade dress’ (a term often used in the trial). It’s like a toilet manufacturing company saying they’re patenting rounded toilet seats enabling them to sue any other company doing the same! And Samsung’s argument was pretty much on the same lines when they said that a rectangular smartphone with a touch-screen was a part of the technological advancement for the entire industry and not an innovation to be patented. This trial reminded me of a ridiculous patent request which, for obvious reasons, got denied. The applicant had tried to patent the mechanism of pointing a cursor on a computer screen – the mouse and the trackpad! Wow, if that patent was granted someone would have surely applied for a patent for ‘staircases’!

Patent wars have always been hindering advancement but looking at this trial’s verdict it seems that things are getting ridiculously out of proportion. I can’t imagine the fact that from this point on (if not already), all the design and engineering meetings will have lawyers present! If a rectangular smartphone with rounded corners is something that can lead to such a big lawsuit then I cannot imagine to what levels this kind of patent trolling is going to stoop.

 

 

Why Your Facebook App Sucks So Much

Love it, hate it or get bored of it – we all use Facebook. In fact, I’m sure most of you are here reading this because of Facebook! And so Facebook came out with apps for iOS and Android since these two mobile operating systems account for about 80% smartphones worldwide. And they’ve been downloaded millions of times since the release date. But one thing became clear right away – the apps sucked! Big time! And they continue to do so. This had many people wondering as to how could a company like Facebook, with the kind of resources and talent at their disposal, release such poorly performing and buggy products. Here’s why –

While this involves some technical stuff I’m going to try to keep it as simple as possible. Apps on iOS and Android are usually developed in Objective-C and Java programming languages. The interface which we users see and interact with, as well as the ‘brains’ of the app are thus said to be programmed natively. But the Facebook apps don’t do that. Sure, the apps are advertised as being available specifically for iOS and Android in their respective marketplaces, but on the inside, it’s a different story.

What Facebook has actually done is that it has created native applications for these mobile operating systems that contain a ‘stripped-down browser’ (a web-view, technically). And in that browser you are actually seeing a minimalistic version of the Facebook website! Not all of it is the website though. The friend request, notifications and messages that appear on the top bar are a part of the native application. And that is the reason for one of the most common bugs in the app – notifications not syncing properly. You may have observed that sometimes, the app tells you that you have a couple of notifications. But when you tap on the notifications button, there’s nothing new there. The same happens for friend requests.

Also, many of you may have noticed that the mobile version of Facebook’s website (accessed on a mobile browser) is much faster compared to the app. This is because the ‘stripped-down browser’ inside the app is not as powerful as a mobile browser application.

But there’s good news. Facebook is finally working on native versions of their iOS and Android apps. Till then, it’s better to use the mobile version of the website.

For a more detailed explanation, check out this awesome link!

– Omkar

Eating Apple Inside Out

I read an article on VentureBeat about Google ‘looking to eat Apple inside out’. Things just got really interesting!

Apple has been mad at Google ever since Android was announced. Steve Jobs’s famous ‘thermonuclear was on Google’ statement was enough to prove the point. And then it just kept going. Apple began partnering with Bing (Microsoft! :O) for search and it was rumored they were going to do away with Google maps as well in their iOS devices. Apple’s WWDC 2012 proved the rumors to be correct as Apple unveiled its own mapping solution. While it’s certainly not going to be on par with Google’s maps, this is a big move by Apple.

So Google is screwed right? I mean, I wouldn’t blame them! Here’s why –

  • Since Apple used to rely on Google maps API for their Maps app, they used to pay Google a lot of money for this service.
  • When iOS developers wanted to use Google maps, Apple allowed them to do so free of cost and paid for it themselves.

That’s a lot of revenue considering how many iOS devices are out there – 365 million as of April 2012.

Google showcased the next generation of Google Maps a few days before WWDC. During the demo, the app crashed several times prompting many analysts to say that the app development had been rushed and that Google had panicked because of the rumors regarding Apple’s new map application. While they may have certainly rushed the app to make the announcement before Apple, I’m sure the guys at Mountain View were pretty calm. They knew what was coming soon – to an iOS device near you.

June 27, 2012. At the Google I/O event, the company announced that their new Google Drive app and the Chrome browser was coming to the iOS. In fact, the apps released today and have raced to the top spot on the App Store. Google is also planning to release a maps application for iOS.

While Apple may be the world’s biggest company and have a cult following, Google has become an integral part of our lives with the search engine and of course, Gmail. Even the most hardcore Apple fans use these services and so imagine an iPhone with 3-5 Google apps on the home screen! That’s certainly going to happen and Apple’s not going to like it one bit. I can almost see Larry Page make a troll face!

– Omkar