Link

ATT vs Netflix

I saw the link from ATT on Net neutrality and had to submit my 2 cents… I’m an ATT customer for the simple reason that my only other broadband choice is Comcast. I’m not a Netflix consumer or a Cable TV consumer.

When was a Monopoly  good for consumers? 

ATT and Comcast operate in a Monopoly market for broadband net services offering very low consumer choice along with very high ISP Internet Prices.  Consumer bandwidth price in Korea is orders of magnitude lower than the U.S according to the table. Note that $70.00 dollars of downloading in Los Angeles will set you back about $5.00 in Seoul. No surprise to see our U.S. Monopolists maximizing their profit at the expense of the internet ISP consumer.

Column #4 in the  wiki link shows bandwidth capability increasing by hundreds and thousands of times with the introduction of each successive wireless network protocol ( 2g, 3g, LTE, etc ). At the risk of mixing metaphors ( wired vs wireless ) its safe to say that each new broadband network technology offers tremendous capacity innovation (more bits for less bucks) at manageable Capex to the carrier. This kind of data on technical capacity indicates that over time, my internet bill could just as  easily decline due to innovation and newer technologies. Just look at Korea where there is some competition – where  downloads are FAST and consumers have 100X bandwidth offered by U.S. ISP’s. Alas i don’t live in Korea  and my ATT ISP bill never drops below $35 for a monthly capacity of 5 Megabits per second.

As Susan Crawford and Larry Lessig explain at the 16:30 mark of the video, “monopolists don’t invest or innovate” at the pace that would be forced on them by a little competition. ATT , Comcast have no reason to invest the massive profits they give to the shareholder. Why should they invest in a better product when they can charge very high price for a crummy product with low consumer choice? They are a monopoly and i’m just a consumer.

ATT’s position smells funny

In the link, the ATT CEO repeats ad-nauseum the argument that Netflix is the villain because customers of Netflix are clogging the net with downloads. There is something truthy there. Conventional numbers say that around 30 percent of the bandwidth used in the U.S. is netflix traffic so why don’t Netflix have to pay. But wait.  Remember that low-bandwidth for high price thingy? Netflix customers already pay their ISP’s for the bandwidth  necessary for delivery of whatever bits the customer wants to pull from the internet.

If I want to stay home and watch downloaded Netflix all month, i need to  make sure that my ISP plan ( currently 5 Mbs for $34.00 a month ) will cover my needs and if not, I will need to search for a broadband product with enough bandwidth to deliver all my netflix downloads. That should be the end of the story and the end of the gobleygook from the ATT CEO about villianous Netflix and Netflix downloaders.

Comcast ATT Monopoly power not mentioned 

What the ATT CEO does not state directly is that they want to turn the tables on both Netflix and the consumer by charging at both ends of each of my downloads. Charge Netflix for what goes in when Netflix network peers with ATT network, while ALSO charging me for what comes out at my computer or my tablet or my TV. More importantly, because they are a monopoly, ATT have incredible leverage that would not exist in a competitive market.  If Netflix balks on the payment then ATT can SLOWDOWN Netflix bits as they entering the ATT network over the peering link connecting Netflix and ATT. ATT simply ID’s the packets delivering my Netflix TV and slows down just those packets until i start screaming at Netflix about jitter and static on my TV during Netflix shows. Very clever of ATT or Comcast to charge Netflix while they lobby the FCC regulators in DC.  Until these monopoly broadband ISP’s are force by regulators to be Net-Neutral or until they have more competition from a  company X promising “unimpeded downloading from Netflix”  the consumer may have to put up with it.   Unfortunately this is not Korea. This is the U.S. and  there is only the broadband ISP monopoly. There is no company X to save me and i am stuck  with ATT’s  product (low choice, low bandwidth and high price).

Netflix competes, innovates

Youtube, Itunes, Amazon Prime, Microsoft and Cable companies all have products offering competition for Netflix. Pre-existing DVD rental companies were thriving competition for the early Netflix products ( not so much after some innovation by Netflix). Netflix was able to innovate faster than “Blockbuster”. In fact, Netflix innovated so well and had a hit consumer product that drove a number of competitors from the business.  Today, if a Netflix customer doesn’t like the product, there are many other choices out there. Not so for a broadband customer of ATT.

I want what Larry Lessig wants from an ISP

In the video he describes an ISP as just a utility that delivers “bits” to my household computer devices. I’m happy to pay a price to ATT that reflects the bits i consume each month (ie bandwidth pricing) and that keeps comparative speeds neutral regardless of whether the bit is part of a netflix movie or part of an email. I don’t like the idea of ATT being a traffic cop on the part of my Internet connection where my Googling query enters ATT’s network from Google or where my TV download streams enter ATT from Netflix. I don’t need ATT to do the equivalent of permitting UPS trucks on the hiway a speed limit of 80 ( because UPS pays for it ) while limiting the milkvan to 50 MPH because they can’t pay.

ATT listening to the consumer?

My question for the monopolists is that with their 10′s of billions of annual profit from U.S. market (re: Susan Crawford in the video link), when a little bit of network investment will provide plenty of capacity for the “Netflix bandwidth hogs”, why can’t they just sell me a better network product?
Also, why are the monopolists so afraid of Netflix? Netflix operates in an innovative, competitive market where consumer choice rules. If i’m not impressed with the Netflix product, I don’t have to buy Netflix in order to use the internet. I have scores of other choices there. For a broadband ISP, I have only Comcast or ATT and they both suck ( high price, low consumer choice ).

Samsung series 9 np900x4c-a03us Win 7 Ubuntu 12.04 dual boot

i tried to put this up on Ubunti forum but they restrict new users.

Dual Boot Win7 and 12.04 putting MBR with Grub2 into /dev/sda. INSTALL INSTRUCTIONS

Each time that i boot, i get the boot menu listing options for 12.04 and Win7.

The SSD on this system is 256G and i wanted to get rid of the Hibernate and the Recovery Partitions , reclaiming and additional 30GB of space to allocate between Win7 and 12.04.

STEPS for INSTALL

on Win7, use ‘DISKPART’ app in a shell to reduce the size of the main, C partition from 208GB to 100GB. You can use the “shrink querymax” to evaluate how much you can reduce the C:\ partition. Mine said i could go down to 100G from 208GB so, in a couple of cycles in the shell, using shrink, i freed up about 105GB .

When i left windows to boot from the USB stick, i had:

  1. about 100 GB unalloacted,
  2. 100Mg in the SYSTEM partition – Windows
  3. 100GB in the C:\ partition – Windows sectors
  4. 8GB Hibernate – unwanted, how to delete? answer below in Ubuntu install
  5. 21GB Recovery – unwanted, windows restore/recovery will be manual – how to delete?

With Care, create bootable USB stick using a thumb-drive with > 4GB

Lots of misinformation on the WEB! I wasted 6 hours on this one.

1. Format a USB drive using step #4 here

2. Download the 64b, AMD Desktop linux iso from here

3. Download/install Unetbootin

4. Tell the Unet dialog that you want to use the downloaded ISO to copy to the formatted

USB

Make required changes to Default samsung BIOS BEFORE trying to change the BOOT order

TURN OFF bios/advanced/fast BIOS mode

i wasted alot of time here too. I guess that they did something to maximize wake from sleep to the SSD but, it prevents you from booting a USB. Turn it OFF.

Change Boot order in BIOS

this is standard reorder of boot options.

USB HHD should preceed the hard drive.

Insert the USB stick into one of the 2, USB slots on the right-hand side.

Boot and you should go into the well documented Ubuntu install dialogs.

In the UBUNTU system that comes up, start ‘gpartd’ in order to deallocate additional space. In Dashhome, the upperleft icon in Unity, i think u can search for “Gparted”. It will come up showing 4 windows partions ( 2 that you need to keep are the 100Mg SYSTEM , and the big C:\ partition at around 100GB ).

Use GParted to delete “Recovery 21 GB”

use GParted to delete “Hibernate 8 GB”

You are now ready to do the install. At this point , i had about 145GB for the Ubuntu install. Just click the install icon on the main screen and you are away on the install dialog.

Allocated in a new, Extended partition created during the ubuntu install where i selected the 3rd option to instruct it on partition details:

/boot logical 500Mg
/ (root) logical 40GB
/home logical 80GB

NOTE: 20GB remained unallocated after the above were taken from the available disk.

Note: no swap! what with 8GB ram. i will worry about swap later.

ffmpeg on Android – adding Vmware and Ubuntu to best practice

I wanted to work with FFMPEG libs on android ICS and found the excellent prior work by “roman10” here and here. Note that roman’s source will be required from item 5 in the 2nd of the above links. Alot of associated forum traffic links to roman’s how-to with compile questions/errors or problems with specific cross toolchains. In order to distill the build process and to add a bit to the earlier work, heres my experience on Windows 64 platform where i added Vmware and Ubuntu (64 bit with additional i386 libs compatible with the 32 bit NDK )  specifically for work with ffmpeg on android. Im a veteran windows cygwin / MingW user but this time, rather than to use MingW and native windows I chose a vm based on what i learned from others in the forums. With some minor tweeks, the VM approach using following work OK:

  • VMPlayer
  • Ubuntu 12.04
  • open java-jdk
  • Ant
  • android SDK
  • android NDK

At the end of the build you will have an android apk including the libffmpeg.so and the so for the jni c-file of roman10.
I believe that libffmpeg.so has the following linked statically:


-o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a 

I used the following steps:

INSTALL VMWare Player and link it to ISO with Ubuntu 12.04

Vmware player app is free and needs a separate Ubuntu ISO image. After install of the player on windows , you can install the ISO and will then have Linux version running in the VM.

Get the iso for Ubuntu 12.04 (64 bit) here

Get the VMPLAYER app. here

Install vmplayer. Start it up.

Find menu for “create new virtual machine” in the player app.

Select the ISO file, finish the dialog and you will have a new VM environment for Ubuntu.

UPDATE Ubuntu

RTFM on “apt-get” if needed. Docs on open JDK here.

start a terminal shell in Ubuntu by using the “Dash” icon at the top of the left-hand list of icons in the Ubuntu “unity” GUI.

  1. sudo apt-get update    // this updates repo data used by the package manager
  2. sudo apt-get install curl // needed for downloads
  3. sudo apt-get  install openjdk-6-jdk // installs the jdk needed by Ant and by Android SDK
  4. sudo apt-get -u install ant  // Ant will be needed for building Android projects
  5. cd ~/       // this will get you to your home directory
  6. mkdir src   // create a child in your home path for source code
  7. unix home dir will look like below:
   
 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Desktop 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Documents 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Downloads 
-rw-r--r-- 1 rob rob 8445 Jun 15 09:25 examples.desktop 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Music 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Pictures 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Public 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 src 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Templates 
drwxr-xr-x 2 rob rob 4096 Jun 15 09:36 Videos 

read about the “ialibs” here. Instead of the sledgehammer ialabs approach, install much smaller “i386” libs in the list:

   
 
sudo apt-get install libgcc1:i386 
sudo apt-get install zlib1g:i386 
sudo apt-get install tzdata:i386 
sudo apt-get install libstdc++6:i386 
sudo apt-get install libncurses5-dev:i386 

Your linux env should now have libs required for 32 bit cross toolchains.

Install SDK and NDK

   
 
$ curl -#LO http://dl.google.com/android/android-sdk_r18-linux.tgz //get sdk 
$ cd src src$ tar -xzf ../android-sdk_r18-linux.tgz //unpack sdk in src dir 
$ curl -#LO http://dl.google.com/android/ndk/android-ndk-r8-linux-x86.tar.bz2 // get NDK 
$ cd src $ tar -xvf ../android-ndk-r8-linux-x86.tar.bz2 //unpack ndk in src dir 

edit the file ~/.bashrc // adding following ENV 
$export PATH=$PATH:/home/rob/src/android-sdk-linux/platform-tools // add the location of the SDK's tools to Path 
$export PATH=$PATH:/home/rob/src/android-sdk-linux/tools //add the location of the SDK's tools to Path 
$export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64 //add java to path if not there 
$export NDK=/home/rob/src/android-ndk-r8 // add ndk to path 

Read the docs in the $ndk/docs directory.

Run the script to make the standalone toolchain from the NDK .

   
 
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --ndk-dir=$NDK --platform=android-14 --install-dir=/tmp/my-android-toolchain 

Auto-config: --toolchain=arm-linux-androideabi-4.4.3 
Copying prebuilt binaries... 
Copying sysroot headers and libraries... 
Copying libstdc++ headers and libraries... 
Copying files to: /tmp/my-android-toolchain 

Install Roman10 source for Android FFmpeg

   
 
$ curl -#LO http://www.roman10.net/src/ffmpegtest.tar.gz //get ffmpeg 
$ cd src src
$ tar -xzf ../ffmpegtest.tar.gz //unpack sdk in src dir ~/src/FFmpegTest is home of roman10 project 

Integrate Ant with the Android project FFmpegTest
Update the android project with ant wrapper files:


$ cd ~/src
$ android create project -n FFmpegTest -t 1 -p FFmpegTest -k roman10.ffmpegTest -a FFmpegView

add a required ant xml file described below:

<?xml version=”1.0″ encoding=”UTF-8″?>
<project name=”FFmpegTest”>
<target name=”-pre-build”>
<exec executable=”${ndk.dir}/ndk-build” failonerror=”true”/>
</target>

<target name=”clean” depends=”android_rules.clean”>
<exec executable=”${ndk.dir}/ndk-build” failonerror=”true”>
<arg value=”clean”/>
</exec>
</target>
</project>

Put the xml above into file ./FFMpegTest/custom_rules.xml where it will get picked up by the ant build. Note that eclipse is not being used in this example ( not necessary). 

Update ./FFmpegTest/jni/ffmpeg-0.8/build_android.sh

Note that i already set the ENV for $NDK and that i want armv7-a without neon , so the following changes in build_android.sh are necessary.


 

#NDK=~/Desktop/android/android-ndk-r5b
PLATFORM=$NDK/platforms/android-14/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86

...

#arm v7n
CPU=armv7-a
OPTIMIZE_CFLAGS="-mfloat-abi=softfp  -marm -march=$CPU -mtune=cortex-a8"
PREFIX=./android/$CPU 
ADDITIONAL_CONFIGURE_FLAG=
build_one

Build the Project

run the build_android.sh

you should have the following in ./jni/ffmpeg-0.8:


 
rob@ubuntu:ffmpeg-0.8$ ls -l android/armv7-a/
total 5684
drwxrwxr-x 2 rob rob    4096 Jun 16 11:37 bin
drwxrwxr-x 6 rob rob    4096 Jun 16 11:11 include
drwxrwxr-x 3 rob rob    4096 Jun 16 11:37 lib
-rwxrwxr-x 1 rob rob 5800015 Jun 16 11:37 libffmpeg.so
drwxrwxr-x 3 rob rob    4096 Jun 16 11:11 share

run ant in the project root where the build.xml file is.


ant -Dndk.dir=/home/rob/src/android-ndk-r8 -verbose -logfile ./build.log  debug

content bin dir should be below:


 
rob@ubuntu:FFmpegTest$ ls -l bin
total 1692
-rw-rw-r-- 1 rob rob    179 Jun 16 11:50 build.prop
drwxrwxr-x 4 rob rob   4096 Jun 16 11:50 classes
-rw-rw-r-- 1 rob rob  27560 Jun 16 11:50 classes.dex
-rw-rw-r-- 1 rob rob   2626 Jun 16 11:50 classes.dex.d
-rw-rw-r-- 1 rob rob  41452 Jun 16 11:50 FFmpegTest.ap_
-rw-rw-r-- 1 rob rob   2012 Jun 16 11:50 FFmpegTest.ap_.d
-rw-rw-r-- 1 rob rob 812849 Jun 16 11:50 FFmpegTest-debug.apk
-rw-rw-r-- 1 rob rob 812828 Jun 16 11:50 FFmpegTest-debug-unaligned.apk
-rw-rw-r-- 1 rob rob    340 Jun 16 11:50 FFmpegTest-debug-unaligned.apk.d
-rw-rw-r-- 1 rob rob    119 Jun 16 11:50 jarlist.cache

WalMart solves smart phone sticker shock – unlimited data at $30

I spent 3 long months, gadget envy eating away at me, recalling the conversation with the rep  in the Verizon store who quoted  $110 a month for unlimited calls/ text on the new smartphone. I   choked back the sticker shock, and meekly inquired “is there a less expensive plan for the cool phone?” The rep was agreeable but there was no budge on the price – Verizon is the best and you pay for the best! Ok. Why the high prices , and once again, what are we paying so dearly  for besides monopoly on the wireless towers? ( que the earlier post )….

A focus on unlimited data

Well Verizon, guess what arrived today in the inbox of my new Galaxy Nexus? A reminder how inexpensively the hi-tech world works when you are on prepaid minutes – all-u-can-eat data for $30 with a pequino of talk minutes thrown in. Verizon had not been convincing enough in proposing that i  pay $110 for what i’d soon be able to get for $30. If you read thru all the fine print on what i just purchased, the phone is not quite prime-time ready in the USA. Its not LTE ready and only has 16GB of storage so ill be stuck on HSDPA for a couple of years. On the WalMart plan,  monthly talk minutes are capped at a measily100, but the data is unlimited and with a little bit of creativity, data can fill the gap in talk.

Using VOIP for talk on a prepaid data plan

So, if all goes well with this new prepaid plan and with the sim cards required to complete the charade that my new phone was purchased at WalMart,  the older, legacy  cell  number will be ported to this newer prepaid plan while the details of the  numbers attached to the old/new sim cards are managed under the  aegis of Google Voice. For converting talk minutes to a ‘data-only’ scenario, the Galaxy or any new smartphone easily handles  SIP and VOIP. So, i can  adopt an alternate solution  for ‘talk’ where the data plan actually supports voice conversations ( Wifi is simple, 3G a little more involved ) without incrementing the minutes.  This last item could be crowdsourced to the busy beavers over at xda. I spent a couple hours chewing on, digesting this thread and others, figuring out how to  pry open the box that wireless industry monopolists  so desperately want to keep shut. Spilling out of the box are scores of creative solutions on how leverage VOIP/Sip features in these new phones, integrating with the legacy PSTN and to have the handset just send data packets to other smart handsets over a dumb pipe whose owners receive far less than monopoly level rents on  regulated wireless spectrum.

Beware of Potholes

The principle governing the low-cost side of cell phones is that its all Do-It-Yourself, orders are on the web, issues are resolved in forums or in online chats. Errors need to be handled without alot of handholding and customers need to accept that. In my case, nothing worked. Alot of handholding and even more phone-calling was necessary. The sim card i purchased online came with an info packet explained the process of activation that binds the sim to a specific phone and to a specific phone number. The instructions in the packet were incorrect, making DIY activation impossible. After 30 minutes online , i gave up and called t-mobile. After another 40 minutes on the phone with them, i walked to my neighborhood t-mobile store where they manually activated my sim. Mistakenly, they provisioned an all-minutes prepaid account. When i got home, i realized none of the phones data services worked and that my new account had no data. With my visions of blissful months of $30 unlimited data in jeopardy, again i got on the phone with t-mobile in order to sort things out. They switched the plan to unlimited data and i was good with the sim card, the new account, and the Walmart plan with all the cheap data. I guess that you get what you pay for.

Buyer beware may best describe the market for VOIP calling services. Without much in the way of startup costs, there are lots of companies/ products to compare among . From the very time consuming to the one stop shop, there are all sorts of alternatives to weigh and i narrowed the selection down to 2 ( GrooveIP and Skype ). For the degree of integration with GoogleVoice, desktops, and mobile apps, i chose to pay $25 for 3 months on Skype, featuring unlimited domestic calls ( in contrast to my Walmart 100 minutes from the original prepaid plan), and a virtual landline so that i could bind to the GV umbrella service or give my contacts a softphone # that would ring thru to my cell phone while my phone is on Wifi.

Porting the old Number

I’ve been on TMobile for over 8 years and although its not verizon, i’ve been satisfied with good service and a good price.  Throughout the recent search for a new phone and for competitively  priced cell service products, i wanted to keep things easy for my contacts by preserving my original cell number. All sorts of forum posts alert you to the pitfalls of moving to prepay and trying to keep your old number. I was prepared to go to ebay and to buy an ATT sim card, using it only for a day as a temporary sham, 3rd party  account that Tmobile would then agree to port back to my original number. That circuitous route turned out not to be necessary and i was able to do the whole thing with just one , long call to TMobile. That call involved 4 hops between the Tmobile prepaid and postpaid departments. The reps on the phone were very nice. Lets make no mistake about it, the company procedures that would permit revenue cannibalizing and that would make it easy to switch from $80 postpaid to $30 prepaid just don’t jibe with a good business plan. I explained directly what i was trying to do and they did their job, explaining that they understood but that they needed to hand my call off to the ‘other department’. Patience in small amounts was required and i got my reward. Within 8 hours of the call, i received a text notifying me that my legacy cell number had ported over to the new, prepaid account. Thank you TMobile for the opportunity. I can now play with unlimited data, a bleeding edge smart phone, and a combined monthly cell service bill around $40.

NO justification for the high monthly cellphone bill

I recently visited a local Verizon store to check out a new phone. Using the display model’s browser ( chrome or webkit ) i did some surfing and was really thrilled with the speed and clarity of the large screen. Then i inquired about the price for the unlimited plan –  at $120.00 per month Verizon’s unlimited plan represents an increase of $50.00  in comparison to my current, unlimited plan on a competitors network using an unlocked Nexus One. Exiting the store, resigned to another 6 months of   old n crappy phone boredom , without future prospects for sitting  over latte’s in the local coffee shops, buzzing about my rad technology gizmos, I sulked my way home.

Shuffling along 24th st. in the mission, still annoyed by the economic conundrum that 50 years along the downward slope of Moore’s law and the associated low-price expectations , somehow my cell phone bill continues on its gaseous ascent  into the stratosphere. Contemplating cracks in the sidewalk and my hemorrhaging bills, i stopped at 24th and Treat and looked up to see this new type of wireless tower antennae that is rolling out to phone poles across my neighborhood. Although wireless carriers have a point that crushing volumes of mobile app download data threaten network capacity and that someone has to pay fees supporting the investment in these new network technologies, I gazed at the pole loaded with network amplifiers topped by the new antennae and wondered about  the economics behind this new capital equipment and its bearing on my monthly phone bill.

What does it cost? what revenue could it generate?

$17,000.00 per telephone pole adds 150MB per second of new, network capacity  

IMO,  $7000.00 covers the hardware on the pole, including the amplifiers that push the digital signals received at the pole back to a central-office over a fiber, ‘back-haul’ link where the radio signals transit other hardware used for integrating phone radio signals with the rest of the telephone network. Add labor costs and incremental hardware costs in the phone company CO and you get to about $17,000 per pole. For example, in San Francisco, there is a million dollar project underway rolling out 60 of these new antennae to existing poles. While back-haul can be fiendishly expensive under some network scenarios, for the wireless carriers using phone poles in urban areas, existing fiber already connects the poles to the network backbone. There’s no need for microwave backhaul links, no need to dig million dollar per mile trenches for fiber lines, and no need to retrofit T1 technology that is still conveying lots of backhaul traffic across suburban and rural network segments.

Comparing radio signals to network packets, figuring out how volumes of data information transit a radio signal is not an easy process. The math used to do a low-level units translation for a comparison of radio antennae capacity to traditional, TCP  units of measure is best left to real geeks who will be all over this snip: Image 

 FWIW I found an alternative calculation in the radio network math for dummies in this chart where the far right colum displays the all important measure for ‘bits per second per Hertz’. Scrolling to the line in the table for  HSPDA the bandwidth is listed as 8.44 b/s/Hz. The maximum possible bits  type bandwidth per second per 1 Hertz of radio spectrum is 8 bits. Converted from bits-to-Bytes, multiplied times the corresponding total radio frequency amount advertised on the link for the antennae’s  spec sheet  ( 154/460 MHz ) this comes to approximately 150 MegaBytes per second of computer type bandwidth available per tower. When your talking or playing AngryBirds on your iPhone, 150 MBs  is a lot of bandwidth.

What cell phone subscriber revenue is represented by 150 MBs of capacity at the pole?

150 MBs of new bandwidth = $3.00 per Second in Customer Revenue

Capacity of 150 Megabytes per second on just one of these towers, theoretically  gets you 15,000 simultaneous phone calls (voice codec G.711 @ 64Kbs). Alternatively, using average 3G download rate of 5 Mbs, 100 simultaneous data downloads could take place on the single tower. Here is a list of cell phone plans. And data only plans are covered here. Reviewing these plans/prices, Its a little like pricing a rental car or an airline seat. Its safe to say that an extra 1 Gigabyte of monthly data priced at $20 by Verizon equates to the $3.00 per second figure mentioned above. From $3.00 per second, you get to a monthly total of  $7,776,000.00. If they could saturate that one tower completely peddling every single Byte of its capacity for the going consumer rate, the tower generates annual revenue over $93 Million.

That figure is ridiculous. What about the real world?

Under realistic network operating conditions, the network has to be really smart and really robust and does not perform at or anywhere near this theoretical max. Mobile handsets require that towers handoff connections to neighboring towers as the customer with the phone moves along the road/subway. Accommodation must be made for bursts of calls at 6PM on a busy friday as everyone leaves work. Legacy methods of communication like 2G have to coexist on the network providing support for older hardware. Dropping from the theoretical to a number representing the real world network still works out to a very nice profit for Verizon. Reducing the operating network load from the maximum theoretical by a factor of 1000 still provides $7000.00 per month of additional revenue on $17,000 investment.

Moore’s Law please… and fewer retail stores… my monthly bill declines?

In order to appreciate the effect of Moore’s law in action exerting what should be downward price pressure on the wireless network , take one more look at figures from that chart, comparing the 7 year period between 2002 (CDMA) and 2009 (LTE). The spectral efficiency of the network increased by a factor of 100 meaning that the power requirements to run the radio antennae on the towers also dropped by a factor of 100. In 7 years, a hundred times as many phone conversations could occur in the same segment of radio spectrum. In 2002, CDMA was capable of Max 0.1720 (fully loaded). By 2009, LTE technology increased spectral efficiency to Max.: 16.32. If a company other than Verizon could figure out the vast opportunity in a business model more focused on low cost radio networks that have realized a 100X efficiency increase in just 7 years and less reliant on marketing and the flashy phone retail stores, that could do wonders for my monthly bill. In the long run its all about moving data on the radio frequency – TCP packets saturating the radio spectrum to a greater degree , mobile handsets running VOIP apps pushing Megabytes of data across the wireless space that is just another network. At this point, im feeling no sympathy for Verizon and their $120.00 a month. 

Youtube audio only – technical

This is in response to a stack exchange post where i was not allowed a response with more than 2 links.

is Android single task or multitasking and multithreading?”

If you want an android app that would allow flexible management of the Youtube streaming protocols in a way that would support selection of just the audio portion of the media stream while discarding the video track, keep an eye on VLC for android. It is still ‘under developement’ but would probably address the ‘audio only’ feature.

From a more technical perspective, it helps to break the issue down into available Youtube network protocols for media streaming RTSP. RTSP specs allow a client to make a request using the DESCRIBE command to which the server responds with an SDP data segment (see details below). Youtube servers can respond in a variety of protocols , sending underlying streams that in turn use a variety of encodings -one for audio, one for video- to transfer the media bits across the network to the client. Over the mobile networks, a feature that goes to youtube in order to receive both audio and video tracks before discarding video while playing only audio is not a good practice because of the heavy network requirement for the unused video stream. You can get around the network inefficiency with some further technical drill-down.

RTSP and SDP standards observed by Youtube would allow a streaming client (android device) to request ONLY the Audio during the Client/Server handshake steps and negotiation steps around the network connection setup that will do the media streaming. In this case, no video would be sent and the android player would be configured on an audio only stream. Some CLI command details and some protocol details on this ‘youtube audio only’ scenario follow.

A youtube, format 1 audio only track for a particular video is available at the following RTSP URI:

rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp

From the RTSP URI for the entire video (audio track plus video track) , the following CLI expression makes use of 2 media clients openRTSP and mPlayer going to Youtube where it then GETS/PLAYS just the Youtube audio track by requesting only channel=1.

./openRTSP -a rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp | ./mplayer -cache 8092 - -rawaudio channels=1:rate=8000:samplesize=2:format=0x73616D72 

This CLI expression is further described in a link at the bottom.

Youtube ‘feeds’ describe the available stream formats for any Youtube video, including the RTSP URI’s mentioned above. For a Tech explanation of Youtube streaming formats see the entry for ‘format’ 1,5,6 in the long table.

The following request gets a feed from Youtube that includes the variously formatted RTSP URI’s that are available for that particular video:

http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'

The gory details of a connnected RTSP SESSION in which the full SDP description is requested for a particular youtube video so that just the audio track could be streamed/played are here
Key to numbered lines in above link

  • 82 – the RTSP DESCRIBE request
  • 101 – the SDP response
  • 103 – video track’s format
  • 116 – the attributes describing the audio track
  • line 165 – the audio track setup by the player
  • 184 – the audio-only playback
  • 201 – using a separate CLI expression this is playback of a previous download on just the audio track

Nexus and competition over mobile standards

In becoming a hardware merchant, Google will exert greater influence over the emergence of a number of aspects of mobile technology. The ‘Nexus’ phone announcement represents an acceleration of an ongoing mobile strategy – a stepped up effort to prevail in a series of disruptive technology trends in mobile ads, voip, and graphics. Which connection method will be used to get rich media ads to the phone. What runtime display format will be used for displaying ads on the handset. What options will exist for VOIP and for back door calls made over IP and not made on the carriers native networks for switched calls. These are examples of the kinds of things Google wants to be able to influence.

The leading smartphone vendors each push differing standards for the graphics engine that will control the display of rich media ads on phones. Adobe is pushing flex-lite. Apple has its own approach and has been reluctant to adopt anything Flash-like on the iphone. Microsoft’s Silverlight will soon support mobile so that Windows ME and Silverlight will be their closed solution for display.

Google is pushing 2 open standards, svg and HTML 5 in a way that will support the delivery of plain old html with tags for rich media ads handled as SVG. Unlike Silverlight and Flash, SVG does not require another IDE and a compile step to produce the actual media files. Mobile phones would not need anything more than a browser for ad display. No Flex-light plugin or microsoft silverlight plugin. Ad inventory ( rich media ads ) distributed by the major ad networks is currently all Flash . However, Google’s recent AdMob acquisition should allow them to introduce and drive conversion to a new ad format not in wide use today – (Html 5 + SVG). Any handset with an HTML 5 browser will render rich media ads. Google has been working on JavaScript libraries that will fill out the web ecosystem around http, html and svg. Google’s intent may be to more strongly support an open solution for mobile rich media advertising by selling hardware that requires only a browser.

Google’s support for VOIP adoption and for open standards (IP for call connection protocols) is far more disruptive to existing carriers. Consumers will now have the option to buy and use an unlocked phone without a 2 year carrier commitment. This move may serve to turn cell towers into a commodity type of infrastructure rather than a critical part of carriers competitive strategy. If 2 friends each get unlocked phones loaded with the proper software , a carrier contract is not needed in order to make phone calls. VOIP, Skype, SIP client software support a number of different connection scenarios where voice calls occur without going thru the main internals of a carrier network. Some of the Google voice features allow carrier networks to be integrated in a way that may permit outside callers from traditional networks to call a google voice number and to reach the handset via SIP interfaces connecting the last mile of the call via IP protocol. Without a carrier contract, outbound calls to traditional networks can be handled by connecting first to Google voice on IP then bridging to the traditional carrier network. There would no longer be carrier subsidies of the handset purchase. There would no longer be a compelling need for a carrier. An IP connection alone would be sufficient. Gizmo5 offers IP based calling features like forwarding , message handling, SIP binding. With enhancements built on these features, it would be possible for friends to call one another using email addresses, URLs in place of traditional phone numbers. Anything that SIP could bind to the handset IP would be sufficient for making a connection to the phone.

Contrasts between correlation and traditional search

Two very different web-based activities involve traditional content search ( google ) versus automatic delivery of a filtered version of the web, condensed and focused according to your personal interests and preferences – Search versus correlation. This article contrasts the automatic delivery model with search in order to provide an understanding why stream correlation and delivery of matched content is a viable alternative to search.

Automatic delivery of filtered streams of web content, greatly condensed through a process using correlation and matching, is a compelling technique for “bringing the web to you”. Whereas search is “pull”, correlation and matching done by Real Time Matrix is “push”. Like a newspaper thats delivered to your door, edited and reduced in order to retain only those articles that are relevant to your interests, correlation with push is convenient. There is no need for newsstands and generic versions of the paper when you have an alternative for delivery of a version of the same paper condensed in such a way that each item is likely to match your interests? Over the last 2 years RSS has provided a number of technical components that complement the process of web delivery of news. Under the covers, RSS is powered by streams, rivers of data more mobile and more flexible than the analogous web pages utilized by search engines.

The remainder of the post describes stream processing for web content as it has been adopted by Real Time Matrix and in doing so, contrasts traditional search with matching and correlation performed on “live” data underlying the river of new web pages, as those pages are posted to the web. For the purpose of making a general comparison, without getting too involved in low-level technical details, the web can be represented by a freeway lined with a series of billboards. To use an example, the New York Times has a series of bill boards representing sections of the news. The NYT Sports Section can be percieived as a billboard represented by a deep stack of pages – a multi page billboard in which every sports article is represented by a billboard page, organized in LIFO order so that the “hot off the press” articles float to the top of the page stack. In will be of particular interest to examine search and correlation techniques as theyrelate to a single, new page as it is “posted” to the web.

Search builds an Index for the new page

The existence of an entry for the new page of content within a search index is a prerequisite. Before the new articles page is indexed, before that new index gets added back to existing indices for NYT Sports, noone can see the new page via search. Index building and pre-processing is not religious about “fresh content” and whats sits at the top of the page stack in the billboard. In building and refreshing its indices, Google employs crawlers on 10s of thousands of servers. The Crawlers act as robots that know the location of every billboard and how to schedule re-visits in order to pick up changes posted to each billboard. Reoccurring visits follow their own schedule, determined by Google algorythms that may miss by weeks the exact time of posting of freshest page. When they visit a site like NYT Sports,

Crawlers focus on the HTML formats of data in a page ( more on HTML data formats and RSS data formats below). Any new page that has appeared since the last visit gets processed by the indexer, links to and from other web pages get analyzed, meta information on the page is read, the page is scanned for key words to be included in an index entry for a new page. Before this new entry can update the main Google search indexes, before the new page can begin showing up among results presented as “hits” pages for web queries, the new index entry needs to be shipped along the freeway to the nearest Google data center where it can be included with other new index entry’s and scheduled for a process that will eventually update the main search indices. After all these pre-processing steps are complete, a sports search could include the new page within the list of search “hits.”

RSS Sample Data , Streaming Data

To understand the streaming data approach, look more closely at the example of a new Sports page article as it is posted to the NYTimes web site. As described above, there are two different data formats that can be used (  html or rss ) to represent the sample page from NYT sports. This html link is the data used by the crawlers described above. Besides this format, there is another data format of the same page that is more mobile, more easily distributed, and more easily exchanged with other cooperating computer systems. The Sports RSS Feed , also from the NYTimes, contains the same articles as the html links, but these articles are organized in a very different data format – see the sample of RSS format data below :

<div> <pre> Bryant Barred for One Game After Hard Hit http://www.nytimes.com/2007/01/31/sports/basketball/31suspended.html?ex=1327899600&en=7ccd90d2e67129e2&ei=5088&partner=rssnyt&emc=rss The N.B.A. has shown little tolerance this season for any action that is illegal and overtly ugly. LIZ ROBBINS http://www.nytimes.com/2007/01/31/sports/basketball/31suspended.html Wed, 31 Jan 2007 01:33:30 EDT</pre></div>

Visualize the data above, drawn from an rss sample with itunes type NameSpace additions, as a stream. Scan each data line starting with <itms:artist> placed in one, long line. Next, animate that one big data line like a ticker-tape so the data scrolls across a given place. A ticker tape is a data stream containing words or items that can be correlated to other patterns. Look closely at the animated version of the sample data above – at some point , you would see the words Jack Johnson. If you were interested in music works by Jack, these 2 words could be found among the ticker stream, “matched” by correlation process on your behalf.

RSS Capabilities , Advantages

In contrast to the static html form of the page used by traditional crawlers, the RSS version of a page is fast and flexible. For the purpose of this example, the stream of rss data mentioned above “flows between” arbitrary source and destination points on the freeway. What does that mean? Mobile stream data, Rss friendly, leverages “Feed-enabled” software from any number of 3rd parties compatible with even more 3rd party device types. Equipped with a “reader” that consumes Rss, my phone can locate itself at a suitable off ramp, “subscribing” to just the data that has been correlated and matched to me, streaming past the off-ramp among a much larger “firehose” of generic data. Infrastructure supporting rss distribution is built into the phone and it just works.

In addition, the Rss form of newly posted content does its own PR. As articles post to the NYTimes sports pages, the Rss format has the ability to inject itself into the syndication infrastructure with an announcement that simply says “I’ve arrived”. That simple statement triggers data flows and complementary filtering or “personalization” of the data in transit. The practical result is that relevant data arrives where it is supposed to go on an intelligent freeway. Again with the aid of ots of 3rd party software supporting announcement pings and the feedMesh, company’s like Technorati, syndic8 respond to the data that was just posted with all sorts of automated, “just arrived” type tools. The discovery method for newly posted Html is very different, involving higher cost and greater latency.

Compared to streaming Rss data, moving immediately out to the interested consumer from the billboard at the same time that the article is posted, traditional search indices can make you wait. You wait after the post while the crawlers are idle for a period of time determined by the algorythms at google. For example, if you have small traffic e-commerce site and you begin offering new categories of merchandise in your on-line catalog, it may be 30 days befor the new category gets picked up by crawlers and added to the indices for your site. NYtimes sports, although larger and of more interest to the dispatchers behind the crawlers, is still going to be affected by considerable latency between standard practice for CMS and newly posted Rss versions of articles calls for a notice of the post and a concurrent flow of data that mimics email. Registered parties and groups of people will be notified immediately after the Rss version of the article arrives on the web.

technorati tags:, , , , ,

Blogged with Flock

Lotus Connections with Web20

As announced in BusinessWeek IBM’s recent enhancements to Lotus Connections validate some Web20 software approaches and may comprise a vanguard in corporate middleware employing  a new stack thats quicker and easier for software developers. Sites like TechCrunch have reported all the details of the Web20 fad among companies whose revenue is considerably smaller than IBM’s 95 billion. If the Elephant is ready to dance once again, there are  lessons for enterprise Software vendors under the covers of the Web20 culture in software development.

The salient points of the Lotus Connections press releases point out things like easier blogs, personal profiles, and autonomous communities as new features employing software practices now the main religion at lots of startups like Flickr and Delicious. Users of these newer web sites take no time at all to grow a new community of 25 or 2500 users (autonomous workgroups), whose members cooperate and interoperate, sharing data, applying tags to the data without assistance from System Administrators or programmers or application owners. Flickr and Delicious support the general proposition that, on the web, songs and pictures can “just find you” based on your interests and on your membership in a group. These “smart network” characteristics come to the enterprise with high value and very low cost.

The trend regarding some of this web20 plumbing is to increasing adoption by the enterprise; a logical consequence could be disruption in some of the technical aspects of the traditional Enterprise middleware stack. Compared to traditional corporate stacks,the Web20 software stacksare lean, present everywhere,  and very easy to deploy. Http and REST are software cornerstones supporting alot of functionality at startups that predates the lotus community announcements. For software developers at these firms,  there are no requirements for dealing with with WebServices Utiliitys,no UDDI, no complicated service endpoint xml schema abstracts. With REST, its  just URL’s, user interaction with those urls, and Httpprotocol. There are no extra libraries for programmers  to download ,no preliminary deployment utility steps to be run or library/repository entries to be maintained. The Web20 stack is better, faster, and way cheaper.

The following section provides business and technology details that support the notion of continued disruption as traditional business process software and work group software  adopts best practices and additional plumbing from web20 practices.

RSS & ATOM  present each worker with “their data”

In the same method that these 2 data formats are heavily used for syndication of web news and  weblogs,   business workgroup documents, selected database fragments can be wrapped or enclosed and then distributed to just the people that need to receive it. The snips of data in the <item>  below show 2 examples :

  • RSS “encloses” a spreadsheet using enclosure
  • RSS “encloses”  some data selected from a database in CDATA

<item>
 <title>The Overnightscape #143 (3/14/05)</title>
 <pubDate>Mon, 14 Mar 2005 09:51:43 GMT</pubDate>
 <enclosure url=”http://xyzcorp.intranet.com/xls/billing/Overnightscape_receipts0143.xls&#8221;
    length=”10802740″ type=”application/x-excel”/>

 <category>payable</category>

 <category>unapproved</category>

</item>

<item>
 <title>The Overnightscape #143 (3/14/05)</title>
 <pubDate>Mon, 14 Mar 2005 09:51:43 GMT</pubDate>

 <content:encoded><![CDATA[
      <parameters applicable-location=”point1″>
         <temperature type=’maximum’ units=”Fahrenheit” time-layout=”k-p24h-n7-1″>
            <name>Daily Maximum Temperature</name>
            <value>34</value>
            <value>43</value>
            <value>39</value>
            <value>39</value>
            <value>47</value>
            <value>48</value>
            <value>41</value>
         </temperature>
         <temperature type=’minimum’ units=”Fahrenheit” time-layout=”k-p24h-n6-2″>
            <name>Daily Minimum Temperature</name>
            <value>16</value>
            <value>31</value>
            <value>26</value>
            <value>26</value>
            <value>32</value>
            <value>31</value>
         </temperature>
      </parameters>
   ] ]></content:encoded>

</item>

Enclosed in RSS ,  business data now gets a free ride for a better, faster, cheaper experience. The enclosing RSS stream of data can be routed anywhere using only http and a  network – there is an assumption that the enclosed documents are URL-accessible on a web-server or intranet. Any phone, PDA laptop can get access to the data as easily as these devices access the web. Http plumbing is everywhere and imposes very low admin costs. Atom and RSS are universally recognized formats which means that the only system requirement is to deliver data to the target application. Absolutely no requirement exists to write a UI or to develop user applications to manipulate the data because all kinds of software already exists that processes RSS/Atom and that manuipulates the enclosed data objects according to their mime type. In summary, things i dont need todo:

  • No messaging layer or MOM needed
  • No ESB needed
  • No PUB/SUB framework needed
  • No SOAP  Web/services infrastructure needed
  • No presentation layer or application needed

Document Flow and Notification

Now that i’ve completed my work or updates to the documents that are of interest to my workgroup, i need to signal that im done and that subsequent work by others in the group may commence. Millions of dollars of complex software with functionality mentioned at the above link above has been sold to customers needing to cover this somewhat complex functional requirement. At the risk of oversimplifying things, the Web20 stack is a growing presence with decent capabilities for “eventing and notification” so that when your task is complete, i get an alert and can begin my task. Workflow/document related functions such as Creates, Reads, Updates, and Deletes are covered by REST , and as in the data excerpt above you may update the metadata in the <category> tag to indicate status changes. Those status changes can be picked up by observing or polling the data stream that encloses the document. Although not quite ready for prime, dojo’s comet is utilized in web20 contexts and purports to support http push in an environment where pieces of distributed software components communicate at a low level and with alot of intelligence using nothing more than http.

technorati tags:, ,

Blogged with Flock

Net Neutrality – rolling new revenue without K-Street

Recent developments related to the ATT / SBC merger and the details in the consent decree that was part of FCC approval for the merger shows some movement away from the pipe owners like ATT back in favor of content providers like Google in the Net Neutrality  debate. A single abstention on the 5 member FCC board altered the neutrality dynamic in favor of the grass roots despite the counter argument by the pipe owners that necessary capital improvements make it imperative that they charge content providers like google and apple for all the new videos moving accross the net. Absent the changes that alter the web in the direction of cable TV, the pipe owners predict  capital improvement deficits and rising broadband congestion as bittorrent and itunes tv shows and netflix movies clog the network.

Google exemplifies the enormous valuations attached to content providers who can shake the money tree of sponsored advertising as they deliver applications and content thru the pipes owned by the likes of ATT. The number of page views served directly by Google and also by partners involved in affiliate programs where ad money flows back to google is money tree. The last i saw is that the front-end revenue for google sponsored ads was averaging $1.44 per click. Google disrupted the advertising market by evolving the AdWords marketplace and by extending the equation with web browsers, adding sponsored links to the search results pages served up by google to users trying to find stuff on the web.

Rather than paying K-street lobbys and using leverage in neutrality regulations to come up with rules allowing them to loot the pockets of Google, the pipe owners like ATT ought to be surveying the web advertising markets looking for an innovation of their own in order to print money like google does. For example, instead of looking on in envy at Googles 120 billion market cap and the growth of AdSense, the Pipe owners could be saying “hey i have a money tree of my own because I own the user IP and Im positioned to add the holy grail to that IP – individual user demographics.” Good demographics, added to the activities currently incorporated into Google’s ad words market would probably double the value to advertisors. Was that search on “mortgage insurance” submitted by a 36 year old in Greenwich with income of 450K or was it submitted by an 18 year old finance student at the state university? There is a difference.

When i do a search on a google sponsored site that is using AdSense, the relative value of the Ads that i will see along with my search results is determined by an auction whose market places a value on keywords without knowing anything about my demographic. User at IP 192.0.0.1 submitted a query on “mortgage insurance”. The IP is naked. There is very little in terms of marketing demographic or segmented audience based on age, address, and income associated with that IP address.

For the sake of argument, lets just say that im that 36 year old looking for mortgage products. I have  2 teenagers who are iTunes addicted. ATT is my ISP and they have offered me an opt-in program where i divulge some sensitive personal information that i can control and that allows me or my children  access to a new kind of cookie jar built on the $$$ associated with my demographic data. With the demographic, my click on a sponsored link accompanying the mortgage search is worth $3.50 not $1.44. That is because the DNA of marketers is in demographics and if they know just a little more about the person they are reaching thru AdSense rather than just the IP, they will pay.

Going with the future scenario, say that a partnership among ATT, Google , and iTunes works like this: ATT says that this month , in return for access to my demographic, they will credit my account $15 for free iTunes downloads for my kids. ATT has told Google that AdSense activity placing ads in front of me will be augmented by my demographic and as a result, Googles monthly revenue resulting from my “click” will double. Some of that delta revenue is charged back from Google by ATT. Everybody makes more. iTunes get more action that is subsidized by ATT’s bonus offer to me. So ATT is subsidizing my kids use of iTunes. ATT is collecting some piece of the AdSense money by allowing Google access to the demographic associated with my IP. Google is paying ATT a portion of the delta AdSense revenue.

references:

at&t consent decree

see “net neutrality” pg 9

NetNeutrality by lessig

technorati tags:, , , ,

Blogged with Flock