Bombay Calling

Bombay Calling is a 2006 feature documentary film directed by Ben Addelman and Samir Mallal. Produced by the National Film Board of Canada which follows the journey of Kaz Lalani the pioneer of Call Centre Outsourcing. Bombay Calling chronicles the lives of young call center workers in Bombay (Mumbai) India.

Bombay Calling
Bombay Calling promotional poster
Directed byBen Addelman, Samir Mallal
Produced byAdam Symansky
Written byBen Addelman, Samir Mallal
Music byRamachandra Borcar, LCD Soundsystem, Bombay Rockers, DJ Aqueel
CinematographyBen Addelman
Samir Mallal
Edited byHannele Halm
Distributed byNational Film Board of Canada
Release date
August 22, 2006 (Limited)
Running time
72 mins.
LanguageEnglish

Synopsis

Bombay Calling delves into the lives of a group of young Indians working outsourced jobs at a call center in Bombay. Without focusing too much on the politics, it profiles several characters as they train for and attempt to sell phone services to clients in the UK. The film shows both sides of the impact of globalization on India - the economic benefits, but also the break with tradition and loss of innocence the characters face. By the end of the film, the telemarketing venture has failed but the characters are resilient. For this reason, the film has been compared to Startup.com.[1]

Awards

It won the Grand Jury Prize at the Indian Film Festival of Los Angeles, and Most Innovative Documentary at the Doxa Film and Video Festival. The Film has played at festivals such as Hot Docs, Melbourne and Bergen and received a theatrical release in Canada during the summer of 2006.

Release

On August 22, it was released on DVD in Canada by Mongrel Media. National Geographic International has been broadcasting the film on cable television around the world, and it was shown in India on August 15, to critical acclaim.[2]

Reviews

"An eye-opening look at the strangeness of an emerging and already conflicted middle-class."
LA Weekly

"4 stars...a vibrant, insightful look at young people employed in India's bustling call-centre industry....like an East Asian companion piece to Startup.com."
Eye Toronto

"Analogous to nothing so much as Mamet's Glengarry Glen Ross, so vividly does it encapsulate the mug's game of sales."
Toronto Sun

"Captures the Sense of the cool world inhabited by telemarketers."
Vancouver Sun

gollark: Well, obviously you'll have some items available to build stuff from.
gollark: - Checks if the available-items list already contains the item needed. If so, just return that.- If not, checks for recipes to do what is wanted- If one exists, iterate over them (not sure what to *do* with them)- If none exists, we can't do anything, so just return no tasks, no costs and no outputs.
gollark: ```rusttype Items = HashMap<ItemType, u32>;fn quantity(items: &Items, desired: &ItemType) -> u32 { if let Some(available_quantity) = items.get(desired) { *available_quantity } else { 0 }}fn contains(items: &Items, desired: &Item) -> bool { quantity(items, &to_item_type(desired)) >= desired.quantity}fn satisfies(available: &Items, desired: &Items) -> bool { for (typ, desired_quantity) in desired.iter() { if quantity(available, typ) < *desired_quantity { return false } } true}fn to_map(is: &Vec<Item>) -> Items { let out = HashMap::new(); for i in is.iter() { out.entry(to_item_type_clone(i)) .and_modify(|e| { *e += 1 }) .or_insert(0); } out}fn one_item(i: Item) -> Items { let out = HashMap::new(); out.insert(to_item_type(&i), i.quantity); out}#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)]pub struct CraftingResult { pub tasks: Vec<Recipe>, pub costs: Items, pub outputs: Items}fn solve(desired: Item, available: Items, recipes: &MultiMap<ItemType, Recipe>) -> CraftingResult { if contains(&available, &desired) { // If our available items list already contains the desired item, yay, we can just do nothing return CraftingResult { tasks: vec![], costs: one_item(desired), outputs: one_item(desired) } } if let Some(recipes) = recipes.get_vec(&to_item_type(&desired)) { for recipe in recipes.iter() { let result = solve() // ??? } } else { CraftingResult { tasks: vec![], costs: HashMap::new(), outputs: HashMap::new() } }}```My code, or at least part of it.
gollark: That is NOT THE HARD PART.
gollark: (I'm still confused though)

See also

References

  1. .
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.