Sunday, August 12, 2007

Quality of Apples and Dells from One Big Factory in China

There is a fascinating article in this weekend's WSJ about "The Forbidden City of Terry Gou", a huge electronics factory in Shenzhen, China, where a half-a-million strong army of workers churn out Apple iPods, iPhones, Dell laptops, etc. The importance of this factory is emphasized through statements like "presently all iPhones are made here" and the quotes that western customers get addicted to such cheap and cost-effective manufacturing.

Amen to the entrepreneurial spirit of Mr. Terry Gou, whose Taiwanese company by the name Hon Hai runs the factory, along with many others in mainland China. The guy apparently drove around the US in the 80s and 90s to pitch his company's manufacturing capabilities. Now his company has operations in dozens of countries. Who says entrepreneurial spirit flourishes in the Silicon Valley or London only?

The article goes on to highlight some allegations of poor conditions for the workers; apparently there was a news scandal with some folks accusing Apple of using exploited labor to make their iPods at Mr. Gou's factory. I can hardly believe Apple's assessment that a majority of Apple-set standards were being complied with, but lets leave the politics and human rights aside for now.

What do you make of the following argument I put forth:

"The notion of an Apple product being of higher quality than a Dell product (or visa versa) is flawed. After all, they are all produced in the same factory"

Now there are many possibilities here which may blunt the above statement. For example,

1. Part of the quality of a product, say in years of successful operation, depend on product design.

2. The quality checking of an Apple product may be more stringent than a Dell product (or visa versa).


But still, there is no denying that a significant part of the quality in any manufactured product stems from how well trained the workforce is, and what sort of raw materials and machinery is used to make products. So I conclude that many products that are made in the same huge factories of China and sold all over the World have the same (or suffer from) quality issues.

Next time I choose between "Made in China" products, I am going to partially discount any claims of one product being of a better quality than the other.

Wednesday, July 25, 2007

Got the $199 EEPC, the $9.99 broadband; now where is the content?

I read about the ASUS EEPC today (http://www.hothardware.com/News/Asus_Eee_PC_Hands_On_Preview_/).
Here are the highlights that struck me as most interesting:
1. Full blown Linux distribution (Xandros) with Open Office installed
2. Weight of <900 gms
3. Expansion through USB
4. VGA output
5. WLAN/Ethernet connectivity
6. Rumors of putting 3G connectivity on the EEPC soon
7. $200
8. $200
9. $200
10. $200

Yes the pricing is very attractive, and it will be a high volume seller in developing countries (think volume, think China, Latin American, Africa, and South Asia). There are offcourse, lots of issues here. For example, localization is one issue. Then there is the issue of Internet connectivity itself.

But the most important issue is that of content. So far, the content on the Internet is limited to cater to people who have some western-style education. Content for the masses, and I mean content that is interesting to large populations of developing countries does not exist. One of most important business plans that needs to be written now is how to produce, syndicate and price content for this huge market. Unless we have meaningful and reasonable content to offer, the case for spending $200 on a computer becomes very weak.

We also need to understand that there may be populations who now have access to the Internet, but other basic infrastructure such as roads, delivery services, banking systems, electricity, etc. lag far behind.

How do we prevent the situation of putting the cart in front of the horse?

Saturday, July 21, 2007

Skills and programming languages

One of my cousins asked me about the programming language to learn to acquire the "skill" of computer programming. By skill she meant, I suppose, something that can be marketed in a job interview as a differentiator from the other candidates.

But ever since compiler/interpreter design advanced beyond assembly programming, most computer languages are written as simple English statements, making computer languages easy to learn and understand. In fact, the "skill" in Computer programming is almost independent of the computer language used.

So what is the skill part?

The real "skill" is understanding the capabilities and limitations of the underlying data-structures and algorithms that come pre-packaged with several of the contemporary high-level programming languages. Now that requires some serious CS education. For example, the CLR book is an excellent resource for mastering data-structures. And if you are brave you could read Knuth's work.

Still, its good to be conversant with the syntax and peculiarities of a programming language or two because it saves a *lot* of time and debugging effort while actually writing up code. In my experience, I can trace the usage of my programming language learning/usage patterns as this

Age: Computer Language
7-9: Logo
10-12: Basic
13-16: Pascal, C
18-21: C, C++, 8086 Assembler
21-25: Java, C++, VB
26-27:C#
27: Python
28: Python, C++

Thats a whole lot of languages. Now lets analyze the list and come up with the minimum but adequate list of things to read

1. For syntax, just learn C, or C++, or C#, or Java. The syntax of these languages is nearly identical and knowing one of these well will go along way toward working in any of these languages. But do not assume you know one if you know another! These different languages exist because they were created to support different programming paradigms and architectures. Please read up the fine print before switching arbitrarily between them!!!

2. Learn a scripting language like Perl, Python, etc. in addition to a "heavy duty" language like C, C++, C# or Java. In many circumstances writing a quick (although perhaps inefficient) program in a scripting language can save you lots of time.

So my 2 cents about the marketable skill part: C++ and Python. And a good data-structures course.

Friday, July 20, 2007

Paradigm shift towards near-network communication

There was a story on Slashdot (http://pressesc.com/01184858412_multi_gigabit_wireless) about new radio technologies that will make it possible to communicate between devices separated by a few meters at rates of several Gbps. Think Bluetooth on steroids.

I am tempted to declare this possibility as one of the most exciting things in the future of Networking. Whoa thats a big statement, but consider the possibilities from having the facility of super fast near networks.

1. Wireless peripherals, finally. Yea I know we've heard this before, but with this fat bandwidth pipe even (super) HD resolution screens and data-pumps such as set-top-boxes could go wireless. Only 1 power cable per box.

2. Networking at the edge. The prospect of mobile-p2p bcomes very compelling if you consider that near network connectivity will exceed the capabilities of core/access networks. Offcourse the latter will also improve, but given that it is cheaper to have users buy devices with high-wirelss bandwidth interfaces rather than deploy fiber-optic cables to every apartment, I believe that near networks will become a cost-saving platform to distribute content.

Example: My neighbor and I see the 2012 Olympics in super HDTV resolution. Can we form a near-network bridge instead of having the access network fork 2 separate copies to both of us? Here is the possibility to mitigate the fundamental bottleneck of on-demand high-definition content delivery of havng to unicast at the last leg no matter what smart protocol you employ.

Monday, July 16, 2007

DVRs n us in year 2010+

I read an article in the WSJ (http://online.wsj.com/article/SB118458998340567497.html)earlier today which spoke about how cable companies are incorporating DVR technology into their service offerings. DVR or Digital Video Recorder technology enables the wonderful convenience of time shifting using which users can watch their programs at any time after the broadcast. Many also provide convenience features such as the facility to cut out advertisements from the broadcast.

The article says that 50% of US cable subscribers will have DVRs by 2010 and goes on to predict that the DVR will become an essential aspect of the TV experience.

When this happens, TV will no longer be, well, TV. What a DVR offers is very titillating to my geek sense: A time travel feature as far as my TV is concerned, something that has more potential than just geek excitement.

The PVR is yet another acknowledgment of the limitations of our unicasting infrastructure for VOD. If there was infinite network capacity and infinite server capacity then no content provider would allow content caching on users' PVRs (even if it was DRMed). This mental block is noted in the WSJ article, but now cable companies see the value ($) of promoting PVR technology. The truth is that PVRs enable a whole bunch of services that were just not possible with the current unicast infrastructure for VOD. Lets talk a little about these golden nuggets for the service providers.

1. Directed ad-insertion: Yep I know we all think that PVRs are supposed to cut out the ads. But imagine the mouth watering preposition of inserting a car ad when daddy is watching the Simpsons and inserting a Harry Potter trailer when little Johnny sees the show. The Simpsons program downloads once, but the directed ads get inserted at the Q-tone according to who is watching.

2. Promise of large scale VOD: Its true: supporting concurrent VOD through having a centralized server is just not feasible with present bandwidth (including ADSL 2+) or server capacity. This explains why even P2P video technologies like Joost feverishly download and cache content when a user is not watching. The short bursty duty cycle of watching TV in the day (meaning people watch TV for maybe an hour every day on average) is a great opportunity to cache content on the local PVR during the downtime.

3. The battle for the boss-box of the living room: The battle to become the defacto box of the living room is on. Is it going to be the game consoles like X-boxes and Sony PS*s with their growing hard disks that can double as PVRs? Or will they be service providers" set-top-boxes/PVRs? Any of these stake-holders would love to win over the eye-balls and ear-drums of the whole family.

Friday, July 13, 2007

Oh Mr (Video) DJ I want to dance for Real

Real player v11 is going to change everything in the "User generated" video content category i.e. You-Tube and Google Video sort of content.

A few months ago I was looking for ways of downloading You-tube videos. There was a rather arduous way with Linux and Mplayer and scripts and that sort of stuff. Typically not what would excite a budding video mixing artist. But now Real has done it. The latest Real player provides an easy way to download any non-copyrighted content into your hard-disk on a plain Windows PC (Real says that a Mac version is in the works). Best thing is, it supports all sorts of formats.

In short, I now envision 1000s of budding Video DJs downloading little clips of video from all over the Internet, stitching n' mixing them up (adding value through their talent), and then republishing content.

And I imagine that after a few iterations, this content may just graduate from "User Generated" to hugely engaging and popular A-class content. Wow this is like the analogue of open source software. Open source content, being refined and sliced and diced and mixed for your viewing pleasure.

Saturday, April 21, 2007

The professional content on-the-Internet video bug

In this post I try to unravel the forces that are working to implement professional video content dissemination with the Internet as the distribution platform. So I am speaking about the iTunes stores that try to peddle TV shows to paying customers, for example.

Why Internet Service Providers love it?

  • Its the best killer application for "broad" broadband services. And marketing-wise it is "scalable" - customers get the video quality that is directly proportional to how good their Internet connection is, providing the perfect temptation to upgrade and pay for the newer broadband being rolled out. Oh and its perfectly legal with no liabilities like P2P class of applications - after all the content providers have already got the IPRs of the content worked out with the MPAA!
  • The same video content can be transcoded into different qualities (bit-rates) according to the end users' Internet connection and devices. Gosh they sell $2 TV shows on iTunes for a tiny iPod screen and get away with it!
Why web companies love it?

Video content++ = users++ = ad-revenue++

Why Content providers love it?

Content is like Prada bags. Expensive to create and cheap to reproduce. Every conceivable way of getting more copies of it out to a paying customer is quick easy money. More so when the distribution channel is easy to deal with and cheap. Yep: costs about $1 to stream (unicast) a movie over the Internet using a CDN infrastructure. Compare that with the hefty tab of producing and distributing a DVD to a video store. Renting on the Internet is way more profitable.

Do end customers love it?

Well, so everyone is trying to convince customers to love it but there are some significant shortfalls before it is universally "the" way to rent movies.
  • Media bridge Most customers don't have the media bridge to connect their Internet content to their AV equipment (TV, home theater). And when they do connect it, the quality doesn't always work out as compared to the old fashioned DVD (and definitely not the HDTV quality blue-ray DVDs).
  • Time-to-download Latency is still an issue for some situations. And most people dont have broad-broadband in their homes yet. The ballpark number of hours to download a DVD is
10/ (Broadband download speed in Mbits)
  • Offcourse media codecs provide "play as you download" formats, but customers will get annoyed if the download rate doesnt keep pace with the bitrate of the video: i.e. their decoder freezes in the middle of the movie and the screen says "buffering".
  • Video-store fun factor Theres always the fun factor of reading the back of a DVD cover. If I know which movie I exactly want to see, then I may just rent it online. But what if I really want to "see a movie". I haven't seen a replacement of the video store browser yet. And they still can't sell popcorn and skittles over the Internet as I wait for my turn at the register!
  • Its not TV so theres no quick channel zapping Internet TV is poor at for one key factor: channel zapping. Even good IPTV solutions are noticeably slow when it comes to channel zapping. Perhaps unfortunately, most Internet TV solutions were marketed as "TV" solutions. So maybe there is a lack of expectation management in this area.

Tuesday, April 17, 2007

Challenges in realizing mobile P2P networks

This is a short paper I wrote sometime ago about the challenges in realizing scalable mobile p2p networks.


Mobile p2p: A list of challenges and todos

Mobile peer-to-peer networks that share content among mobile devices using multiple network interfaces have been proposed recently. We highlight the important research issues in this area in order to foster further discussion in the important multidisciplinary problems surrounding mobile peer-to-peer networks.

1 Introduction and Motivation

Newer mobile devices such as cell phones and PDAs are capable of connecting to heterogeneous networks over multiple interfaces such as WLAN, WiMAX, cellular 3G networks (UMTS, GPRS, etc.), USB (to PCs), and Blue tooth. Simultaneously, generous amounts of persistent storage such as flash memory and mini-hard drives make these devices candidates for in-network storage and dissemination of multimedia content in a mobile p2p network. Such p2p collaboration can result in significant cost savings: for example, by limiting the amount of data downloaded over expensive cellular data links and instead downloading data over WLAN or Blue tooth from a nearby mobile device, there can be significant cost savings for mobile device users.

There are a number of technical challenges in mobile p2p system design. These can be broadly categorized into content discovery, resource allocation (shared wireless channel contention, bandwidth, battery power), security (content integrity, user anonymity), high churn (due to mobility and unreliable wireless channels), and building incentives for users to participate in mobile p2p networks. The objective of this paper is to enumerate these challenges in order to spur further research in these areas. This list of challenges will also serve as a checklist for mobile p2p system design.



Before we digress into the specific research problems in mobile p2p networks, it is insightful to visualize the concept of a mobile p2p network. Figure 1 shows various mobile devices in a region covered by a cellular data network. These devices are also equipped with WLAN and/or Blue tooth (near-network) interfaces over which ad-hoc networks are formed in proximity situations, such as when many users carrying mobile devices are riding a public bus. These devices hold content that may be interesting to other riders on the bus, for example, a user may have downloaded a newscast into his device earlier that day.



Near-networks are highly dynamic and change rapidly as users carrying the mobile devices move and toggle their device interfaces on or off. The persistence of the various interface connections on mobile devices also varies, with near-network interfaces being more prone to channel interruptions than cellular data connections. Similarly, the costs and throughputs of the various network interfaces vary significantly.

2 Challenges in mobile p2p

There are several important open issues in mobile p2p systems that we enlist below.

1. Content discovery Near-networks change quickly and unpredictably due to mobility and network interfaces on devices being turned on and off. A distributed hash table content discovery algorithm may not function in this environment, especially since the content available in a mobile p2p network will itself change quickly with device mobility. A reactive (on-demand) flooding content discovery approach may be feasible for a small p2p network. Another approach may be to use a centralized directory server accessed through the Internet where mobile devices register their content at the time of joining and leaving the p2p network (assuming Internet connectivity).

2. Session Mobility Session mobility is one of the primary issues of mobile device networks. Mobile devices should seamlessly and transparently handover p2p sessions between interfaces. For example, when a user moves out of a WLAN access point range, the p2p application should switch over to the cellular data network interface, locate the content on this new network, and recommence the p2p session. The handover should be content based, not device based, in the sense that the system should strive to reconnect to the relevant content, and not necessarily the same peer as before.

3. Power efficient protocol design Conserving power is of prime importance, given that mobile devices usually run on batteries. Power efficient design has to be a part of the mobile p2p protocol itself. For example, a centralized content discovery lookup will avoid flooding the p2p network with content discovery query packets, thus conserving power on the mobile devices comprising the network.

4. Delay tolerant protocol Content dissemination in mobile p2p networks will be highly asynchronous due to the transient nature of the underlying physical network. Moreover, a p2p session may span long periods of disconnected operation. The p2p protocol should adapt to long periods of network disconnects.

5. Human mobility Modelling the spread of information in mobile p2p networks is closely related to human mobility. For example, a content file is ‘transferred’ from the near-network of a bus to a cafe’s when a user moves from the bus to the cafe. Designing around human mobility models is crucial for the proper functioning of mobile p2p protocols.

6. Broadcast property of wireless networks Transports such as WLAN offer the possibility of a one-to-many broadcast in the p2p network. This is useful when one device shares popular content with it’s (nearby) peers. The challenge here is exploiting the broadcast property without incurring excessive power drain on only one broadcasting peer. Moreover, long periods of broadcast create channel contention with other competing sessions on the same transport channel.

7. Costs and incentives In addition to bandwidth, battery consumption, and storage space is also a cost to users. Modeling these in incentive mechanisms will significantly influence user participation in mobile p2p networks.

8. Content integrity Mobile p2p networks are arguably more prone to content integrity problems than their wired counterparts because a malicious peer may join a mobile p2p network, pollute p2p content, and leave undetected, owing to the inherent mobility in these systems. Moreover, in a purely near-network p2p setting, downloading checksums of data from a centralized location (as is done, for example, in Bittorrent) is not possible.

9. User privacy Traditional wireline p2p networks provide a degree of privacy by only revealing the IP address of the other peers in the p2p network (only traceable up to the ISP). A near-network mobile p2p network may reveal the identity of a user, especially in a small area. For example, people in a bus downloading content off another mobile device know that the content is coming from a mobile device belonging to someone amongst them.

10. IP rights management Suitable DRM mechanisms for (Internet) disconnected near-networks will need to be developed for any mobile p2p network that serves legal content. Mobile p2p networks may exist independent of Internet connectivity, and this makes download-time centralized licensing impossible. One possible solution to this problem is prepaid licence ‘credit’ that users purchase in anticipation of future licensing requirements when disconnected from the Internet.

3 Concluding remarks

Mobile p2p networks have a different set of design constraints than their wired counterparts. More importantly, users will probably use mobile p2p networks for applications other than just traditional p2p file sharing. Therefore the design of these systems needs to be carefully thought of, rather than just trying to port legacy p2p applications to mobile devices. The challenges listed in this paper need to be addressed suitably while designing these new p2p networks of the future.


All rights reserved. Any reproduction or copying only with consent of author.

This is a test post

And we are up!