Apple Foxconn Labor

Much was commented this week about Apple’s China factories where American’s favorite phone and tablet computers are made.

Being from a developing country myself, I was surprised to see such a big deal made about this “differing” labor practice in such countries when compared to Developed Countries’ practices.

First, because when you compare absolute numbers instead of relative (%), statistics can scare or impress anyone. Take the $1.78 hourly wage and the board figure of $17 a month for example:

$1.78/hr x 40hrs a week x 4 weeks comes to about = $284.8/mo income.

$17 for room for what pretty much looked like my dorm room at University of Tampa, a private university.

$0.70/meal x 90 meals a month = $63/mo for board.

This leaves $204 = 72% of disposable income. My wife has about 50% disposable income (after room and board) and she is the Marketing Director for a private company in Honduras!

When you add to this the fact that this kind of job is a temp job where these Chinese teens will remain for about 3 years to save up as well as gain experience and then move on to bigger and better things, the picture clears up considerably. It’s the equivalent of a job at McDonalds or Burger King! Who in America working at McD’s can tout 72% disposable income!?

Second, because thats how many of American’s consumer products get made: Walmart clothing from the Caribbean & Central America, Dunkin Donuts sugar from Asia, Starbucks Coffee from South America etc. the list goes on and on.

I’m not suggesting there is no room for improvement, but it’s no reason for alarm. If you want to be alarmed, check out factories in countries like Malaysia or Honduras where big companies with solid Social Responsibility Programs like Apple don’t go near!

Use a simple NSNotificationCenter alert

NSNotification Center iOS
NSNotification Center iOS by Marcio Valenzuela
The idea behind this is to notify one object/class of another object/class’ action. Thus you need the following:

1. A Class (A) whose object will register to receive notifications (be notified).
2. A Class (B) whose object will be doing something and when it finishes, must notify the other (post notification)

Receiving Class A

This class must cleanup its listening task so that when it is no longer active, the NSNotificationCenter will not waste time and resources notifying it about events it was once interested in. To do this simply add this to your dealloc method:

//1. NSNotifCtr CLEANUP in viewDidUnload or dealloc
[[NSNotificationCenter defaultCenter] removeObserver:self];

This class must actually register or addObserver:self, (add itself as an observer) to those notifications, preferably at the start such as a viewDidLoad method:

//2. Register as observer of notifications in viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self

Now think of the NSNotificationCenter as this huge billboard which looks like this:

NSNotificationCenter Dispatch Table by Marcio Valenzuela

This class will eventually receive the notification so it must be able to handle it with a method such as this one:

//3. Method to prove notif received…
– (void) receiveTestNotification:(NSNotification *) notification
// [notification name] should always be @”TestNotification”
// unless you use this method for observation of other notifications
// as well.

if ([[notification name] isEqualToString:@”TestNotification”])
NSLog (@”Successfully received the test notification!”);

Now lets switch to the notifying class or Sending Class.

Sending Class B

This class must have a method that is responsible for doing something, like receiving the final downloaded data, or the parsing of a result or picking of an image or person. In such a method, which is the one you want to be responsible of notifying observers that a particular task is finished, you will have some generic code such as:

//4. Post notif to NSNotif in calling method OTHER CLASS
[[NSNotificationCenter defaultCenter]

This is the code that will post to the bulletin board when a task has finished!

Happy Notifying! 🙂