img

Today the FCC released its Open Internet Notice of Proposed Rulemaking – basically a draft version of its net neutrality rules.  While there is plenty to say about them, in this post I’d like to focus on one part – fast lanes.  Read on for all (or at least some) of the reasons they are a bad idea.

Although the FCC appears to have backed away from its original embrace of internet fast lanes and slow lanes in response to massive public outcry, and Chairman Wheeler made a passionate presentation about the value of a free and open internet at today’s meeting, the proposed rules still imagine a world where some sort of bifurcation of the internet is allowed.  Specifically, it assumes two types of service.  Within the “minimum level of guaranteed access,” (something that could also be considered the “slow lane”) the proposed rules would prevent at least most blocking and discrimination.  But beyond that unknown minimum level of guaranteed access (could be thought of as the “fast lane”), discrimination would be allowed as long as it was “commercially reasonable.”

That is a huge problem. Fundamentally, this is because there is no real way to have a internet divided between fast lanes and slow lanes that also brings all of the benefits that we have come to expect from our current, single, open internet.  Why is this so?  Let’s consider the ways.

1. Internet for Haves, Internet for Have-Nots

A fast lane/slow lane internet adds a new, unwelcome element to innovation online.  Traditionally, new services and websites succeeded or failed based on the quality of their offering.  But in a fast lane/slow lane internet, success goes to the services and websites that can afford to pay off the biggest ISPs.  Service beyond a “minimum level” is often where innovation happens.  It shouldn’t only be available to some.

2. ISPs Get to Decide Who Wins

Of course, “available to some” assumes that ISPs are even interested in doing business with a new service or site.  The proposed rules would give ISPs a lot of flexibility to pick winners and losers online, and simply ignore some players all together.  As long as its decision is commercially reasonable, an ISP could just freeze someone out of the fast lane before they even started competing.

3. The Slow Lane Will Always be Bad

This is just common sense.  If you are charging people to get into the fast lane, it has to be worth the money.  To put it another way, the slow lane has to be bad enough to justify paying to get out of it.  If the slow lane really is good enough for anything that you want to do online, why would anyone ever pay to get into the fast lane?  The result is that the slow lane will always be at least inadequate enough to push a critical mass of users towards the (paid) fast lane.

4. Investment Flows to the Fast Lane

Going forward, ISPs will have a choice.  Should they invest in the fast lane or the slow lane?  Since they get to charge extra for one and not the other, that becomes an easy decision.  You can be sure that any new innovation that would make the network faster or more responsive will debut in the fast lane.  And it may not ever trickle down into the slow lane.

5. Hope You Enjoy the 2014 Internet – It Just Became the High Water Mark

The proposed rules suggest that we don’t need to worry about a fast lane, because the slow lane (the “minimum level of access”) will always be good enough to protect innovation.  In fact, splitting the internet would all but guarantee that “good” internet circa 2014 becomes the baseline well into the future.  Put another way, the slow lane is stuck at today’s average level of service.

That is because benchmarking an “adequate” slow lane becomes all but impossible once you have split the internet.  In the absence of a unified open internet, how could you set the slow lane standard?  One option would be to look to other countries.  But the United States is already well behind other countries in broadband speed, and even today there is always an apologist willing to explain why it is OK that the US is falling behind.  There is no reason to think that would change in the future.  Even if you were willing to use an international benchmark, what would it be?  “The United States shall always have at least the 16th fastest broadband in the world”?  That’s nothing to strive for.

Another way to approach it would be to assume some sort of annual rate of improvement, or some sort of rate that marked “adequate” broadband speed improvements.  But what would the rate be?  Until 2008, the FCC defined “broadband” as 200kbps (that’s kbps, not Mbps).  In 2010, it updated that figure to 4 Mbps.  Those are not numbers that people should have been satisfied with, even at the time.  And even a speed increase rate that looks ambitious today could be rendered glacial by an unexpected innovation.

More importantly, since the slow lane would undermine the virtuous cycle of broadband innovation (high speeds encourages new services, which themselves encourage higher speeds, which starts the cycle over again), we may not even see the innovation that would push up speeds on a single, neutral network anymore.  As venture capitalist Fred Wilson memorably dramatized, we won’t even know what we are missing when innovative startups that push the network never get funded.  Those startups don’t file a complaint with the FCC before the fizzle out.  They just disappear.  You may never miss what you never know, but it will be a shame when the fast lane/slow lane internet settles into a comfortable dotage where real innovation is just too much trouble.

The Good News

The good news is that the FCC’s proposal is just that – a proposal.  There is still time to change it, and to convince the FCC to create real net neutrality rules that prevent paid prioritization and internet fast lanes.  But that opportunity won’t last forever.  So act now, and tell the FCC where you stand.

Photo: Ironic Pothole Mayhem by Michael Gil.

Last month during Sunshine Week, the White House Office of Science and Technology Policy released a memorandum directing federal agencies to develop a plan in the next six months to make their scientific collections more available to the public. This is a great move on its own – federal agencies collect all sorts of interesting information on behalf of the American people, and it is important to make that information as easy to access as possible. But more specifically, it could be a first step toward creating a central repository of all of the government’s 3D scans. And the government has a lot of things to be scanned.

Laser Cowboys and Fossilized Whales

First, the memo recognizes the pioneering work that the Smithsonian Institution’s “laser cowboys” have been doing in digitizing its physical collection. For the past few years, the Smithsonian has been creating detailed 3D scans of physical objects in its collection andmaking them available to the public for viewing and download. What they have managed to make available so far is a tantalizing taste of what kind of objects could possibly be available if the US Government digitized everything it had. But it is really only the tip of the iceberg (or, perhaps more accurately, the tip of the fossilized whale) of the Smithsonian’s collection (137 million artifacts and counting). And the Smithsonian’s collection is one of countless collections spread throughout the entire U.S. government.

Section 3(D)

Which makes another part in the memo all the more exciting. Section 3(D) (Eh? Get it?) requires all administrative agencies to “make freely and easily accessible to the public all digital files in the highest available fidelity and resolution, including, but not limited to, … 3D files” to the extent the files are available and not limited by some other law. In other words, if an administrative agency has some 3D models (like, say NASA) and those models are not restricted by some other law, the agency has to make them available to the public.

3D Scans from Uncle Sam

This doesn’t mean that tomorrow we will be awash in 3D printable models from the U.S. government. After all, the models need to exist before agencies are required to share them and even the Smithsonian’s concerted effort to digitize its collection has barely gotten started. But this memo means that agencies need to develop a plan and (perhaps equally important) a budget to start getting this stuff done.

So don’t be surprised if you start seeing more and more free models of objects courtesy of the federal government. Since these models are paid for by taxpayers, in most cases they will befree of any sort of copyright restriction and in the public domain, which means you can do whatever you want with them. It is not quite thingiverse.gov yet, but it is a big first step.

 

Images courtesy the Smithsonian Institution with all rights reserved by them.  That means that the images are not made available under a CC license.

This post originally ran on the MAKE blog.

image

This is my first “real” (non-blink an LED) arduino project.  The problem: our bar blocks the lightswitch for the light over the living room table.  The solution: control the light by touching a picture around the corner.  Touch the picture once to turn the light on and touch it again to turn the light off.

Supplies:

1 Arduino (I used Adafruit’s Adruino Micro without headers): $22.95

Bare Conductive electric paint: $24.95

1 330k resistor

1 usb power supply: $5.95

1 usb cable (A to micro B): $3.95

1 arduino-controllable relay (I used the Sparkfun Beefcake Relay Control Kit): $7.95

1 solderable breadboard: $4.95

1 washer (optional)

1 magnet (optional)

arduino capsense library

This thing ended up working in a fairly strightforward manner.  The picture itself is a capacitor and touching it changes its electrical resistance.  The arduino is monitoring the picture and when the resistance changes in a way that it is looking for, the arduino triggers the relay.  That relay is attached to the light so on is on and off is off.  The hardest part is setting the trigger threshold.

Here is a crappy and probably incorrect sketch of the circuit:

image

B is the breadboard, A is the arduino, and R is the relay.  That word in the upper left is “sensor” because that wire goes towards the picture.  The dotted line on the breadboard shows that those two points are connected, and the zig zag line is the resistor.

(Edit 1/15: here’s a better picture using fritzing)

image

The first step is probably to paint your picture with the paint.  As far as I know the picture can pretty much be whatever you want. The only thing to be aware of is how you are going to connect it to the arduino.  The bare conductive tutorial that existed when I started this project (but that is now gone) suggested using the paint to “glue” a magnet to the wall.  I did that

image

There is no reason that the connection point is far away from the main picture.  The wire is purely aesthetic - it keeps everything behind the bar and around the corner.  Once you have the magnet on the wall you can connect it to the arduino by soldering a washer to the end of a wire.

The next step is to build the circuit.  The circuit is made up of three elements: the arduino, the relay, and the breadboard.

The breadboard is not very complicated.  In fact, I probably could have just soldered all of the parts together to let them dangle in space.  But breadboards are cheap and I wanted this to look somewhat clean, so I decided to go for it.  Since this is a small circuit, I just cut the breadboard into smaller pieces.

image

I then connected the wires and the resistor. Remember that everything in the same number row is connected electrically.

image

I used a 330K resistor.  The advantage of a 330K resistor (compared to, say, a 10K resistor) is that it increases the spread between the value returned by the picture when no one is touching it and when someone is touching it. (Edit 1/15: after having some problems with this - mostly the lights flashing on and of and/or the switch not responding to a touch - I went back and reread the capacitive sensor arduino library documentation.  I was using a resistor that was way to small.  The documentation recommends at least 1 megaohm for touch and larger ones for proximity.  Hopefully changing this will address some of my problems). This spread becomes important when you are setting the threshold.  We’ll get to that in due time.

Once the breadboard is done it is time to connect it to the arduino.  I got a headerless arduino because I wanted to be able to solder the connections and I got the micro arduino because I wanted the final assembly to be as small as possible.  Connect the wires to the proper pins (2 and 4 if you are using my sketch).

image

Next you need to connect the arduino to a relay. But what is a relay and why do you need it?  In a perfect/easy world, you could just use the ardino to power the light.  Activating a pin would send enough electricity towards the light to turn it on. In our imperfect/hard world, arduinos work at fairly low voltage while overhead lighting works at a fairly high voltage (the upside of this is that it is hard to kill yourself with the power coming out of the arduino).  A relay is essentially a high-voltage-controlling switch that is controlled by a low-voltage trigger.  When the relay gets the signal from the arduino it activates the high power switch controlling the lights. While these two switches are connected insomuch as the low voltage can control the high voltage, they are separate so the high voltage does not destroy the arduino.

You need to connect three wires from the arduino to the relay: 5v, ground, and control  The 5V and ground map directly from the arduino pins to the relay port.  The control pin is pin 13, which also controls the onboard LED.  The default state for the relay is off so when the on board LED is off (and pin 13 is off) the relay will be open and when the on board LED is on (and pin 13 is live) the relay will be closed.

image

The next wire to connect is the one that goes from the breadboard to the picture (in the upper left).  Solder it inline with the wire connected to the 2 pin.

image

You can now install the circuit.  I decided to replace the lightswitch with the relay.  The good thing about this was that it put the relay close to the power controlling the light.  The bad thing was that it exposed the relay connections to the ground that remained in the lightswitch port in the wall.  In order to prevent accidental shorts I wrapped the relay in rubber bands and electrical tape.  You can also see that the main wire is screwed into the relay (don’t forget to turn off power going to the light while you do this!).

image

Now connect the arduino to power with the USB cable and power supply. 

image

With that done it is time to program the arduino.  Make sure you have the capsense library installed.

Here is the sketch I used:

//make sure to install the CapSense Library then upload to your Arduino.
//for more information on the basic workings of this sketch check out http://bareconductive.com/capacitance-sensor


#include <CapacitiveSensor.h>
#define MAINSpin 13
const int threshold = 2000; //This is the threshold that you should adjust after watching the serial port. The MAINSpin is only set high if “total 1” is greater than this number 
// currently set for a 330K resistor plugged into the wall outlet
// find the lowest possible number that won’t get triggered by random environmental factors
// if the light is on all the time the value is too low
// if the light tends to flash on and off it is close, but still too low
int val = 0;
int old_val = 0;
int state = 0;
int Touch = 0;

CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);        // Your resistor goes between pins 4 & 2. Your pad of paint should be connected to pin 2
void setup()                   
{

pinMode(MAINSpin, OUTPUT);
digitalWrite(MAINSpin, LOW); 
cs_4_2.set_CS_AutocaL_Millis(

0xFFFFFFFF);    
Serial.begin(9600);
}
void loop()                   
{     
val = Touch;                    
long total1 =  cs_4_2.capacitiveSensor(100); 

Serial.println(total1);                 
Serial.println(“ ”);                      
      

if (total1 > threshold){     
Touch = 1;   
} else {     
Touch = 0;   
}     

if ((val == HIGH)&& (old_val==LOW)){  
state = 1-state;     

delay (50); //delay for debouncing 
}   

old_val = val;    

if (state == 1) {   
digitalWrite(MAINSpin, HIGH); //turn LED ON 
} else {   
digitalWrite(MAINSpin, LOW); 
}
  }
The real action here is on the “const int threshold” line.  That is where you set the threshold to trigger activating or deactivating the relay.  In order to identify the right number, connect your arduino to your computer and turn on the serial monitor (tools -> serial monitor).  The serial monitor will start spewing numbers at you.  If it is working, those numbers will be relatively low when you are not touching the picture (mine tended to be around 400) but relatively high when you are touching the picture (mine tended to be around 4000).  The kind of resistor you use on the breadboard will definitely influence these numbers, especially the difference between them.  It is possible that the size of your picture will also influence it.
As noted in the sketch, you want to find a number that is high enough not to be triggered by random events.  If you find the light quickly flashing on and off your number is too low - essentially the random variation in the sensed number is jumping just above and below the threshold.  If you set the number too high you won’t be able to trigger the light.
In theory, once you get the number right you can upload the sketch to the arduino and go on your merry way.  Unfortunately I found that the proper threshold differed slightly depending on if the arduino was plugged into a laptop or the wall.  So don’t be surprised if you need to adjust the numbers again once you start plugging it into the wall.
The good news is that once you have the number you are done.  Touching the picture once should turn on the light and touching it again should turn it off.  It may take a bit of practice to get the touching just right (a higher number will be less sensitive and a bit more forgiving).
Enjoy.

It is a problem when Verizon’s decisions prevent subscribers from having a good Netflix experience. But the bigger problem may be the FCC’s ignorance about the underlying dispute.


Today brings us another round in what has been something of a long-simmering fight between Netflix and Verizon.  This morning, David Raphael posted awriteup of his interactions with his ISP Verizon.  In it he documents how his Netflix streaming quality has become “awful compared to just a few weeks ago.”  After some investigation, Mr. Raphael traced the problem back to the Amazon commercial cloud service used by Netflix.  When he confronted a Verizon customer representative, the representative “admitted” that Verizon is limiting bandwidth from cloud services.

A Real Problem

What to make of all this?  First of all, while hugely problematic and growing in importance, this issue is not new and is probably not directly connected to the recent Open Internet decision.  As John Bergmayer pointed out in a blog post last June, there has been a brewing interconnection problem between Netflix and Verizon for some time.

Of course, the fact that the problem is not new does not mean that the problem is not a problem.  It is a huge problem.  Noor does it mean that the recent Open Internet decision will not embolden ISPs to expand behaviors they had been testing in the past.

As John pointed out, it is an ISP’s job to deliver traffic to their customers.  That is what they get paid to do.  And part of doing that job is investing in the facilities required to deliver customers the content that they want.  An abstractly fast internet connection is all well and good, but if it is slow in getting you the content you want the headline number doesn’t matter very much.

This problem is also thematically similar to net neutrality.  There are some possible policy distinctions (again, neatly summarized by John last summer) but at a consumer level the policy distinctions start to slip away.  For a consumer, the reality is that decisions made by her ISP prevent her from accessing the service of her choice.

Opacity Hinders a Market Solution

Even those who are inclined to seek a market solution to this problem should be concerned.  Let’s assume, at least for the sake of argument, that consumers have a number of ISPs to choose from.  In situations like this, it is very hard for the average consumer to figure out if switching ISPs would even help.  Without network engineering skills like Mr. Raphael’s it can be very hard to tell what the problem is.  Is it the ISP?  Is it Netflix?  Is it something else entirely?  Without an easy way to assign blame for the awful picture, how is a consumer supposed to know which part of the equation to switch? 


The same opacity also creates a disincentive for either Verizon or Netflix to invest in solving this problem.  If customers are not sure who to blame, it is unlikely that they will know who to reward for the investment that fixes the problem.  Transparency about business and technical practices won’t solve any underlying competition problems.  But, more information would at least help us get a handle on exactly what is going wrong.

Verizon Has an Incentive to Slow Netflix

Thus far, everything in this post could apply to any ISP.  But Verizon has two additional features that make its behavior even more worthy of a second look.  First, Verizon also sells a cable television package.  Second, Verizon owns Redbox, an online video streaming service.

On at least some level, both of these services compete with Netflix.  That gives Verizon, the company that controls the connections that Netflix relies upon to reach Netflix’s subscribers, a huge incentive to make Netflix work not so well.  Every mediocre Netflix experience is one more reason to stay within the Verizon universe.  In light of that, any problems that Netflix customers have on Verizon (or any ISP that also has a TV offering) deserves extra scrutiny.

Where is the FCC?



But what is really going on here?  It can be hard to say from the outside.  This type of interconnection problem has been brewing for some time, and all indications are that they will continue to assert themselves.  With that, interconnection issues start to feel a lot like data caps: net neutrality-related but also bigger than net neutrality, huge impact on services that compete with ISP video offerings, potential technical justifications that are hard for outsiders to evaluate.

But the biggest similarity is that the FCC has essentially ignored both of these issues. One might think that an issue as big as interconnection would warrant some sort of FCC attention.  Even investigating interconnection enough to be able to figure out how to apportion blame for this sort of problem would be a huge step forward.  But, thus far, we have seen nothing from the FCC.  Chairman Wheeler has expressed interest in taking hard looks at how ISPs are handling their network traffic but thus far not actually acted to do so.  

This is the most recent manifestation of an interconnection problem, but it will not be the last. If the FCC wants to take its role protecting an open internet seriously, it would be well served to begin educating itself about what is actually happening.

Original image by Flickr user 24oranges.

Today, Afinia took another big shot at Stratasys’ 3D printing patents. In its amended response, Afinia attempted to bolster its claim in three ways: with evidence that Stratasys was using its patents to monopolize the market, with evidence that Stratasys failed to show the Patent Office one of its own patents that undermined the novelty of a new patent it was applying for, and with evidence that Stratasys failed to show Patent Office one of its own printers that undermined the novelty of another new patent it was applying for. 

We’ve been following a patent lawsuit between the 3D printing companies Stratasys and Microboards Technology (maker of the Afinia 3D printer) since it was filed in November.  This lawsuit, which involves patents surrounding technology in the printers themselves, is interesting beyond the two companies involved.  If Stratasys is correct about their patents, those patents may read onto just about every desktop 3D printer in the market.  

Short Background

Here is background on Stratasys’ complaint in the case, and here is background on Afinia’s original response.  Both of them include a caveat that is also applicable today: these are allegations made, in this case by Afinia.  Afinia thinks they are true enough to use them in court, but we won’t fully know how true they are until a court takes a look.  In other words, just because Afinia alleges it doesn’t make it so.

Stratasys – a company that is long established in the world of 3D printing – claims that it has four patents that cover different elements of Afinia’s desktop 3D printer.  As noted earlier, as presented by Stratasys these patents are extremely broad and may arguably cover most current desktop 3D printers, including open source ones.  Afinia responded to Stratasys’ complaint by challenging the validity of those very patents.

This challenge is important because Afinia is not merely responding that their printer does not infringe on the Stratasys patent.  Instead, Afinia is largely responding by claiming that the Stratasys patents are not valid at all.  If that is the case, Stratasys will not be able to assert these patents against anyone.  That distinction – between Afinia’s non-infringement and full-on invalidity of the patents – is probably worth keeping in mind as this suit progresses.  The first would be a win for Afinia and potentially any printers that work exactly the same way.  The second would have a much broader impact on the wider 3D printing world.

Today’s Development

Today, Afinia filed an amended response to Stratasys’ original complaint.  As you may recall, Afinia’s original response mostly focused on ways in which the Stratasys patents incorporated technology and patents that were already in existence at the time of the application.  Afinia alleged that the written record of the application process showed all the ways that Stratasys agreed to narrow the patents in order to avoid these existing elements.  The end result of this narrowing was that Afinia felt that patents didn’t really cover anything (especially not Afinia’s printer).  

Today’s amended response adds three additional pieces of evidence.

Stratatsys is Trying to Monopolize the Market

The original Afinia response included an allegation that the lawsuit was partially motivated by Stratasys’ desire to monopolize part of the 3D printing market.  This amended complaint beefs up Afinia’s evidence to back up the allegation.

First, Afinia has actual numbers of printers sold and alleges that the now-merged Stratasys and Objet control 50% of the industrial 3D printing market.  This market share allowed Stratasys to control the price for 3D printing inputs – for example, ABS plastic.

Second, all Stratasys printers came with a license.   This is the Terms of Service of the printer – very similar to a TOS you might agree to when you use any web service.  Part of the license required Stratasys customers to grant Stratasys and all Stratasys “customers, licensors, and other authorized users” a second license.  This license was for “any patents and copyrights” that involve “3D printing equipment, the use or functionality of 3D printing equipment, and/or compositions used or created during the functioning of 3D printing equipment” developed using the Stratasys printer and is “derived from and/or improves upon the Intellectual Property and/or trade secrets of Stratasys.” (For those interested, this exact language is on page 11 of theresponse).

Afinia alleges that this license term is fairly simple – it means that any Stratasys customer that develops an improved 3D printing process is required to license it to Stratasys for free.  Furthermore, the new improvement must also be freely licensed to all Stratasys customers.  Remember – according to the earlier part of this section, that’s 50% of the market.  

The end result of this condition – which Afinia calls problematic for a number of reasons – is to reduce incentives to independently innovate in the world of 3D printing.  After all, if any new invention is immediately licensed to 50% of your potential customers, why bother?


Stratasys Hid A Patent

As detailed in the summary of Afinia’s original response, a big part of the Afinia’s strategy was to try and show how Stratasys had reduced the scope of its patent when it was confronted with prior art.  

In the context of the ‘925 patent, that meant limiting the scope of the patent to adjusting the rate of dispensation to control porosity of a printed object - controlling infill and density.  However, at the time the ‘925 patent was being applied, Stratasys already had a patent (the ‘329 patent) that referenced limiting the rate of dispensation to control the porosity of a printed object.

The end result might feel a bit like prior art, but it is actually slightly different.  Because the “prior art” was a patent held by Stratasys, and Stratasys is obligated to submit to the Patent Office all relevant materials, this is considered inequitable conduct that would prevent Stratasys from enforcing the patent at all regardless of its validity.

Stratasys Had an Older Printer

In this amended response, it looks like Afinia has found further evidence of technology that predates one Stratasys patent.  And they didn’t have to look far.  According to Afinia, Stratasys was selling a printer (the FDM-1650) that included the technology covered in the ‘058 patent 

Like the ‘329 patent above, this is the type of thing that Stratasys is required to disclose during an application process.  And like the ‘329 patent issue above, if it is true that Stratasys’ own printer would have been covered by the patent that it was applying for, failing to disclose is inequitable conduct.  Such conduct would serve as a bar to Stratasys trying to enforce its patent.

What Happens Now

In many ways, we are basically where we were a month ago when Afinia first responded.  Faced with a patent infringement lawsuit Afinia lawyered up and marshaled evidence it believes undermines Stratasys’ patent claims.  We still don’t have any sort of judgment deciding which story – Stratasys’ or Afinia’s – is the closest to the real story.  And we will need to wait for a trial or a settlement (or, I suppose, both sides dropping their lawsuits) to find out.

The big difference here is that this amended complaint includes even more evidence that Afinia believes undermines the Stratasys patents.  If true, they impose major limits on the ‘925 and the ‘058 patents.  They may also decrease Stratasys’ excitement about this lawsuit.

But, in the absence of additional information from Afinia, the ball is now in Stratasys’ court.  They have to decide how concerned (if at all) they are about this new information, and what it means for this lawsuit.