17 December 2019

Meet FireChat, an app people use when internet is blocked or network not available

By Vasim 4 Comments

FireChat is an app that relies on Bluetooth and WiFi Direct to connect to their phones even when there is no internet and then allow people to talk.



HIGHLIGHTS
  • FireChat uses Bluetooth and Wi-Fi Direct to create a network between available phones in an area.
  • This is the reason why it doesn’t require internet to work.
  • In areas with blocked internet, some people use FireChat to communicate.

How can you communicate when internet is blocked, something that is happening with alarming regularity in India nowadays? There aren't many good options. But if you aim to communicate while you are out in a group, for example if you are at a cricket stadium watching a match with friends and want to talk to each other even if there is no internet, you can use FireChat. This is a chat app that works without internet, something that has also made it fairly popular with protesters who seemingly rely on it to talk to each other even when authorities have blocked internet.
FireChat is a peer-to-peer chat app - in other words messages sent through it hop from one phone to other - and it uses technologies like Bluetooth and Wi-Fi Direct (peer-to-peer Wi-Fi). This is the reason why the app has found favours with protesters in Iraq, Ecuador, Spain and even in some protests in Indian cities. It has been created by a company called Open Garden. The app is available for the iPhone as well as Android phones.
How does Firechat work? The idea is quite simple:
- FireChat uses Wi-Fi Direct or Bluetooth to create a mesh network, a network that grows in coverage area the more people are using it. For example, if there are 100 people using FireChat in a close area - say a stadium - these 100 people can exchange messages if they are sitting close to each other. What this means is that if Person 99 is sitting 300 meters away from you, out of your phone's Bluetooth coverage area, you can still send a message to him or her because there will be 98 other FireChat users between you and that person, and the message will jump from one phone to other.
- Th range for two smartphone users to talk to each other is around 200 feet.
- Here is how FireChat describes itself: "FireChat works even without an Internet connection or cellular phone coverage. Use it anywhere: planes, public transportation, cruise ships, campuses, and crowded events. All you need is a few people around you using FireChat."
-FireChat allows sending of messages and pictures, including private messages that the app says are peer-to-peer encrypted.
- FireChat uses allows users to create chat rooms, private as well as public.
- If and when internet is available, FireChat works like a regular chat app.
- To use FireChat you must install it on a phone and create a FireChat account.
While the app sounds useful, and it indeed offers useful means of communication, it has limits. The biggest limit is that the app works well in close spaces such as a stadium, or a place where a lot of people have gathered. This is because to create its mesh network, it needs phone users and those phone users must have FireChat installed as well as have their Wi-Fi Direct and Bluetooth working.
FireChat is not a substitute for a regular internet-based application like WhatsApp, and it is definitely not as reliable as a regular chat app. It is also not as secure because it is using technologies - Bluetooth - that by their nature are open technologies. For example, if you can join the mesh network created by FireChat, so can others. In 2014, FireChat developer told Wired website, "People need to understand that this is not a tool to communicate anything that would put them in a harmful situation if it were to be discovered by somebody who's hostile ... It was not meant for secure or private communications."
But may be when the choice is between a total communication blackout because network is saturated or not available and a not-so-secure messaging, it's easy to see the choice people will make. That seems to be the value of FireChat.
Read More

5 December 2019

You've Come a Long Way, Linux-Baby

By Vasim 7 Comments
When Linux first emerged from its cocoon in a frenzied Usenet thread, it is doubtful that almost anyone imagined the project would ascend to global prominence.

Even more astonishingly, its dominance was driven as much, if not more, by its adoption by the private sector -- although it posed an antithesis to its business model -- as by any of its other notable traits.

It is precisely because its road from obscure curiosity to corporate mainstay was so unlikely that it pays to appreciate how Linux got to where it is today. Here's a look at how far Linux has come over its 28-plus years -- and at the tech titans that helped it get there.


In the Beginning Was the Kernel

On the off chance that anyone reading an in-depth column on Linux doesn't know much about its genesis, following is a brief review.

In the early 1990s, Finnish university student Linus Torvalds set out to create a clone of a pedagogical Unix-like system called "MINIX."

What started out as a modest effort to pursue his educational goals quickly attracted the attention of the denizens of Usenet, an early Internet forum. They were not only excited to get their hands on Torvalds' creation, but also were eager to pitch in and make it work for the widest community of users possible.

That's when Torvalds threw open the doors -- with trusted lieutenants standing in front of them as bouncers -- to community code contributions. When the GNU project, which was woefully behind in its work on the Hurd kernel, saw Linux burst onto the scene, the two projects soon entered a symbiotic relationship.

As anyone who has had any amount of experience with Linux knows, the Linux kernel development team (across all of its continuity) doesn't produce installation-ready operating systems.

Rather, these systems spring up from the pluralistic ecosystem of Linux distributions. This ecosystem did not materialize overnight, but although the maturation and proliferation of distributions took time, Linux uptake by the private sector kept pace as the ecosystem became more dynamic.

Business as Unusual

Though the birth of Torvalds' brainchild certainly marked a milestone in software development, players in the commercial tech sector were no strangers to advances and knew what sort of development models suited their objectives. If the established tech companies had their preferences, why did they even pay Linux any mind in the first place?

There were a couple of architectural and logistical points in Linux's favor that eventually piqued the interest of the more daring tech companies.

To start with, the fact that Linux had a devoted community of users constantly writing new kernel modules for whatever hardware they wanted it to run on meant that Linux held the potential to embrace a wide spectrum of devices.

This rapid expansion of compatibility was even further catalyzed by the kernel's open development model: If a company's developers wrote a kernel module for their preferred hardware, they could submit it to the Linux kernel project itself and, if accepted, count on further assistance from the community and the lead developers.

In other words, the open source nature of Linux meant that components that otherwise would languish in a small development team could tap into the dedicated work of the crowd for further refinement.

Another crucial factor for Linux's ultimate success was the debut of what arguably was its first killer app, the Apache Web server. From the beginning, Linux could bring solid Unix-style tools to bear in the form of the constellation of GNU Project tools -- from the GNU C Compiler (GCC) to the GRUB bootloader to even the Bash shell, to name only a (very) few.

To be sure, these could get Linux users with a sufficient degree of aplomb pretty far on their own, but Linux could not yet boast many specialized applications.

That all changed when the Apache Web server came out. Released under a license similarly liberal as the one governing Linux and GNU, Apache could be downloaded easily, configured, and run on Linux to host dependable sites on the burgeoning World Wide Web.

Users who formerly had to consider purchasing costly Web server software had a free, high-quality alternative, dramatically lowering the barriers for them to prop up a website and unleash their creativity. This definitely benefited hobbyists greatly, but it also provided private tech companies with a viable avenue to avoid licensing products from competitors.

In fact, it was the desire to outflank competing companies that paved the way for Linux's most profitable gambit. IBM, shrewdly, did not want to miss out on the chance to provide services on the ebullient Web of the late 90s. However, there initially was no easy route to the Web that did not go through its entrenched competition -- namely Netscape.

Apache's arrival was an incomparable stroke of luck for IBM, as it let the company establish a presence on the Web for next to no cost.

As a thank you, IBM invested a portion of the savings into open source software development. The company's embrace of open source did not stop there, though: When IBM sought an operating system to showcase its hardware, it once again declined to license expensive software from a competitor and turned to the Linux distribution we now know as "Red Hat."

IBM has supported the growth of Linux ever since, investing substantial sums into Linux development and even going so far as to outright acquire Red Hat earlier this year.

It's hard to say whether IBM would have maintained its lofty perch as a powerhouse of technological innovation had it not placed its faith in Linux and open source software generally, but its purchase of Red Hat undoubtedly is a sign of IBM's enduring confidence in Linux.

Open Source Closes Deals

One can make a convincing case that IBM vindicated Linux's commercial viability, but it was by no means the last company to make Linux a key part of its business. Quite to the contrary, Linux has enjoyed even more and deeper integration into the work of private companies that previously produced proprietary software exclusively.

There is probably no more illustrative example of this than Android. Free or open source software purists sometimes take issue with how "open" Google's end product actually is, but Android is still an incredible boon to Linux on the whole.

It ensures that Linux receives continued monetary support from Google, and it has been indispensable in extending Linux's global reach. Today Android is the most prevalent mobile OS in the world.

It also proved to consumers, who may not appreciate how pervasive Linux servers are on the Internet, that Linux stands on equal footing with any other operating system, whether server, desktop or mobile in nature.

Linux also looms large in the realm of Internet of Things (IoT) devices, the bevy of networked appliances that have erupted onto both the enterprise and consumer markets. The vast majority of IoT devices are not manufactured by tech sector stalwarts, and manufacturers looking to break into the IoT market generally don't have the capital to license a commercial OS at scale.

Here, too, Linux made for a snug fit between its unbeatable price point and its versatile hardware support. Truly, few other kernels or OSes could run on devices that run the gamut from thermostats to smart home assistants to industrial sensors without breaking a sweat.

Granted, IoT doesn't have a great reputation for security, as this class of devices has an outsized tendency to make up botnets like Mirai. I know as well as anyone that IoT security has a long way to go, but Linux's dedicated community, ample support from large tech companies, and mammoth presence afford the industry the tools to meet the challenges IoT faces.

The trending of information security and cloud computing practices toward virtualized containers has driven businesses into Linux's open arms, too.

To briefly explain the use of virtual containers (often referred to as "containerization"): Instead of running one OS per piece of hardware, users can configure one instance of a container management program, such as Kubernetes, and run dozens or hundreds of individual containers concurrently on one set of hardware. Each container, which is a barebones OS with limited access rights to the system running the container manager, thinks it is the only OS on the system, reducing the risks that one container's compromise propagates to others.

Once again, companies favor free Linux-based OSes over paying to utilize alternatives, especially when containerization demands such a dizzying scale of system deployment. Considering that Linux can beat Windows and other competing options on size (as its image is way smaller than that of server-grade Windows) and on cost, Linux easily makes the top pick for containers.

Finally, and most astoundingly, there's Microsoft. The history of Microsoft's tumultuous relationship with Linux deserves its own article, but suffice it to say that initially, Microsoft was not a fan of the fledgling open source project. Yet in 2014, the company made the now infamous declaration that Microsoft hearts Linux, and the connection between the two has been growing rosier ever since.

At first, many in the open source community were skeptical of Microsoft's ultimate level of commitment to reinforcing the continued maturation of Linux, not to mention suspicious of the purity of its motives in doing so. Since then, Microsoft has given its earnest support to Linux at every turn.

The software giant started by releasing the Windows Subsystem for Linux (WSL), an instance of Linux that can live inside any edition of Windows 10, and that soon will be virtualized fully, once WSL 2.0 leaves the Windows Insider program sometime next year.

Microsoft didn't stop there, though. The company created a modified version of the Linux kernel as part of its Azure Sphere enterprise solution. Though not as widely available as WSL, it constitutes a huge first for a company that once eschewed open source software entirely. Considering that few people predicted the partnership in the first place, there's no telling what fruits it will produce in the future.

All of these developments taken together paint an encouraging financial picture for Linux. As IBM, Google and Microsoft all have a stake in Linux's continuing ability to thrive, they all have become major backers of the project, contributing generous sums to its coffers annually. Strangely enough, as this trio of tech titans all compete in one arena or another, Linux is the only sacred cow they all agree to look after.

The Kernel That Keeps on Blossoming

When viewed in the scope of its entire life cycle, Linux has reached a commanding height that most homegrown projects can only dream of. Far from assimilating into the old guard that invited it into their midst, Linux is still as dynamic as ever.

As artificial intelligence has given rise to ambitious new applications like self-driving cars, Linux-based initiatives have stepped up to supply the base system to meet these applications' unique needs.

For instance, the Ubuntu distribution's parent company Canonical has been especially active in supplying the OS for self-driving cars, and rumours continue to swirl that Canonical eventually will become a publicly traded company.

Red Hat also is driving innovation from its newly insulated financial position as an IBM company. It recently signed on with Mozilla to optimise Web Assembly to run compiled code in the browser more efficiently and open-sourced the code for the Quay containerisation management software.

Between the assureds of its position and the enduring quality of its work, Red Hat truly has become the gold standard of open source profitability in the eyes of many.

It's a common jeer that Linux enthusiasts refuse to admit that the "Year of the Linux Desktop" will never come. Regardless, Linux has accomplished the more impressive feat of securing its place as a power player in a fast-paced tech industry that has shed so many others.
Read More