Thursday, September 22, 2011

I’m off to buy InvestigateAndImpeachHeThatShallNotBeNamed.com

So I’m working with a client on a new website

“InvestigateAndImpeachObamaNow.com”

Just so we could make the petition signups secure I went to GoDaddy and attempted to purchase an SSL certificate for that very domain name.

I promptly get an e-mail back that says in part

"Please send us documentation that supports your legal use of the term: [ obama ]"

I need legal permission to securely organize against an elected official? Do I copy and paste them the 1st Amendment?

So I started looking for the contact info for the White House Consul’s office to see if they have a form letter that GoDaddy will accept. But I said – hey – why not give GoDaddy a call yourself and make you understand them correctly?

Talked with a nice lady – and it’s an absolute no-go. Even for – as I put it – “A 1st Amendment Right of Assembly Type Site”.

I guess the right of assembly must be covered by the warning about

"Your digital certificate request was chosen for additional review and documentation because your common name, website, or company name contains a word or words used commonly by illegal internet phishing scams."

I understand the need to avoid phishing and all that but I really think that the possibility that anyone is going to mistake my site for the Obama reelect site is pretty small.

Humm….I wonder – How real is this apparent policy against securely using the names of my political overlords.

20 minutes and $50 later I get the answers back from GoDaddy

"We have successfully completed the authentication process and issued your SSL certificate for the domain:


secure.investigateandimpeachCANTORnow.com."


"We have successfully completed the authentication process and issued your SSL certificate for the domain:


secure.investigateandimpeachBOEHNERnow.com"

Seems the Speaker of the House and the Majority Whip are free game (BTW - Eric – it’s for sale – call me…)

So apparently GoDaddy thinks you have the right to securely assemble against Republicans and Conservatives. But all communications against Barry have to be unencrypted - sounds reasonable.
------------------------------------------
This is the actual e-mail I received

Dear Secure Certificate Customer,

Your digital certificate request was chosen for additional review and documentation because your common name, website, or company name contains a word or words used commonly by illegal internet phishing scams.

Please send us documentation that supports your legal use of the term: [ obama ]

If you have a registered company who's name includes the term above, please send a copy of the registration document.

If you are working on behalf of a registered company or using a protected trade name or brand or company name, you will need to have them send us a formal letter on their printed letterhead that specifically authorizes you to use their protected word(s) for a domain name or Organization name.

Once we have received the documentation, we will call the signer and or company to validate its authenticity.

Please respond within 24 hours to avoid denial of your certificate request.

If you encounter any problems or have any questions, our Customer Support department is ready to help, around-the-clock, seven days a week.

Customer Support:
E-Mail: ra@godaddy.com
Phone: 480.505.8852
Fax: 480.393.5009

For further information, log in to your account at https://certs.godaddy.com.
Twitter @ActivistManager

Sunday, August 21, 2011

Scoring Your Social Media Efforts

The social media metric most often quoted, a person's follower count on Twitter, has always been pretty unsatisfying to me. Call me a skeptic but I just know deep down that not all followers are treated equal.

Your follower count doesn't tell me how likely those followers are to act on your message, propagate it beyond your follower list, or do anything aside from passively watch your message scroll by.

In fact, looking through the follower list of some of the larger political groups, I wonder how many of these ‘followers’ are nothing more than bots looking to get a return follow.

There have been some interesting academic papers on how to measure true influence in the social media world. And I've mentioned one of them below. But the first corporate product that takes an in-depth look at the user's followers is on the market so I thought I would give it a spin.

The company is called Klout. It’s a venture backed startup in the Bay Area. I'm not going to go into too much depth about how they generate their scores -- if you're really interested in the way the model works you can read more on their website.

http://klout.com/corp/kscore

In a nutshell, it assigns, on a daily basis, a 1 to 100 score to every Twitter account based on its analysis of the strength of that accounts followers. Is it perfect -- absolutely not. But it’s objective, far more useful than the raw follower count, and every account I've had scored returns a value that I think make sense.

So we've put together a demo project to apply this objective scoring model to as many campaigns, personalities and public policy groups as possible.

We call it the Social Media Scorecard.

We're currently scoring nearly 600 Twitter accounts -- from Presidential candidates to state parties to small 501(c)3’s. The scores are run nightly and are available at http://scorecard.activistmanager.com/ or http://act.am/sc.

So if you want to see where your social media efforts stack up against other’s check it out. If you would like to have your group added, or be listed as the manager of an account drop us an e-mail at scorecard@activistmanager.com.

The data is free to all so if you want to track your group's performance over time, or you're an academic doing a study of social media performance in this area let me know and I can send you the raw data sets.

Twitter @ActivistManager

Saturday, July 30, 2011

Is Boehner's Twitter Operation 3.48 Times More Effective Than Obama's In Debt Talks?

There has been a lot of talk about Obama’s loss of 40,000 followers since he started using his Twitter account to drive his messaging on the Debt debate on Friday.

While he may have lost that many subscribers, his Klout score, which is probably better measure of how well his message is getting out, is actually up from a Friday score of 87.51 to today’s 88.43

But what’s more interesting is Boehner’s account. Since he walked out of the ‘Grand Compromise’ talks with Obama on Friday 7/22 his score has gone from 77.07 to 81.29 - a gain of 4.22 points.

Obama’s score during that same time frame has barely moved from, from 87.22 to 88.43, just 1.21 points.

So you can make the argument that Boehner’s use of Twitter is proving 3.48 times more effective than Obama’s in the debt talks.

Raw data - http://act.am/sc

Date Effective / Boehner / Obama

Saturday, July 02, 2011 74.49 85.28

Sunday, July 03, 2011 74.4 85.3

Monday, July 04, 2011 74.22 85.32

Tuesday, July 05, 2011 74.01 85.42

Wednesday, July 06, 2011 74.01 85.42

Thursday, July 07, 2011 74.15 85.55

Sunday, July 10, 2011 75.02 85.81

Monday, July 11, 2011 75.08 85.94

Tuesday, July 12, 2011 75.31 85.96

Wednesday, July 13, 2011 75.75 85.96

Thursday, July 14, 2011 76.24 86.05

Friday, July 15, 2011 76.38 86.16

Saturday, July 16, 2011 76.54 86.16

Sunday, July 17, 2011 76.71 *

Monday, July 18, 2011 76.66 86.29

Tuesday, July 19, 2011 76.66 87.42

Wednesday, July 20, 2011 76.8 87.52

Thursday, July 21, 2011 76.93 87.29

Friday, July 22, 2011 77.07 87.22

Saturday, July 23, 2011 77.42 87.23

Sunday, July 24, 2011 77.89 87.29

Monday, July 25, 2011 78.59 87.56

Tuesday, July 26, 2011 78.82 87.52

Wednesday, July 27, 2011 79.21 87.4

Thursday, July 28, 2011 80.44 87.53

Friday, July 29, 2011 80.72 87.51

Saturday, July 30, 2011 81.29 88.43



Twitter @ActivistManager

Monday, April 11, 2011

Building FEC Reporting Software - The only article on the Internet that talks about VendPak and Disclose.DLL

If you are even thinking about writing a piece of software that creates FEC reports then the eventual question you are going to run into is - “How do I load this damn report to the FEC’s servers”.

This is not a simple process of FTPing the report somewhere. Instead, the FEC provides a DLL that serves as the middleman between your program and their servers.

Welcome to the world of Disclose.dll.

Let’s step back to the beginning.

In that beginning the FEC hired a company named NIC (http://www.egov.com/) to write the greater part of their report processing and search software (http://www.egov.com/Partners/Pages/FEC.aspx). In fact if you go to FEC.gov and run a search for FEC report images the result page URL will be hosted on query.nictusa.com.

To work with NIC’s creation the FEC provides any and all developers with access to VendPack. (http://fec.gov/elecfil/vendors.shtml). VendPak is a small, NIC created, SDK of various DLLs, Java based tools, sample applications and readme files that allow you to check your FEC report against the current formatting standard, physically print the FEC report for manual inspection and most important actually upload that report to the FEC’s servers.

The problem is that the Disclose.dll is not exactly the most well-documented program ever created. In fact the documentation will actually destroy your chances of a successful project.

After struggling with implementation for a week I decided for the betterment of programmer-kind to post a rough reference to using Disclose.dll. There are no rights conferred here and if my code destroys everything you ever created then that’s on you. This blog should get you close enough to be able to refactor VendPak’s sample code into your .NET language of choice.

So…….Using Windows 7 Professional 32 Bit / Visual Studio 2010 SP1 / .NET 4.0

After creating a blank project in Visual Studio 2010 your reflex action is going to be to try to add a reference to Disclose.dll from within your project.

Wrong.

Disclose.dll is not a .NET assembly, so you are going to get something that looks very much like this.

A reference to ‘c:\Data\disclose.dll’ could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

Next you will head off to the search engines and look for a workaround. Most likely you will try a command line program called regsvr32.exe in an attempt to manually register Disclose.dll.

Let me save you the time and show you the error message that will give you.

The module “c:\data\disclose.dll” was loaded but the entry-point DllRegisterServer was not found.

Make sure that “c:\data\disclose.dll” is a valid DLL or OCX file and then try again”

You see Disclose.dll is not just not a .NET assembly, it’s not even a COM enabled assembly. I have no idea what language it’s written in but my guess is C++ or VB6.

So let’s jump through some of the landmines and required workarounds to work with disclose.dll. I’m going to go non-sequentially to handle the concepts one at a time.

Reference Disclose.dll

To reference this critical assembly you will need to add some code that looks very much like this.

Imports System.Runtime.InteropServices

Blah..Blah..Blah

Dim ParameterAssignmentResult as string

Blah..Blah..Blah

ParameterAssignmentResult = upload_file(FECReportName, FileUploadVariables, FileUploadVariables)

Blah..Blah..Blah

<dllimport("disclose.dll")>_
Public Function upload_file(ByVal cFilename As String, ByRef nVerify As Integer, ByRef doMd5 As Integer) As Integer
' Disclose.dll will take over at this point and upload the file
End Function

There’s a couple of things going on here.

First, this snippet creates a function in your code that maps to the existing function of the same name in Disclose.dll.

<dllimport("disclose.dll")>_
Public Function upload_file(ByVal cFilename As String, ByRef nVerify As Integer, ByRef doMd5 As Integer) As Integer
' Disclose.dll will take over at this point and upload the file
End Function

Second, this code invokes that upload_file function you just wrote, which as we’ve seen invokes the upload_file method in Disclose.dll.

ParameterAssignmentResult = upload_file(FECReportName, FileUploadVariables, FileUploadVariables)

Once you invoke this function Disclose.dll fires and handles the transfer of the file to the FEC and returns you a ReportID, or error code, to ParameterAssignmentResult.

Landmine Alert #1 - Make sure that Disclose.DLL is loaded into your C:\Windows\System32 directory so the .NET runtime can find it. If there is a way to hardwire an alternative path for Disclose.dll I have yet to make it work.

Landmine Alert #2 – If you download Dependence Walker (http://dependencywalker.com/) and cruse through Disclose.dll it’s clear that it depends on all kinds of 32 bit dll’s (USER32.DLL, WSOCK32.DLL etc.). I wrote this code on a 32bit machine, my guess is that you will have problems running it on a 64bit one.

Landmine Alert #3 - Make sure that all the other dll’s that are included in VendPak are copied into the same directory as your project is executing in. In other words if you build this project as a console application, you should have these additional .dll’s copied into the directory that the .exe resides in. These dll’s are largely included for encryption of the transmission and consist of pgpw2x_32.dll, pgpwck_32.dll, smplpgp_32.dll, md5_32.dll and ipwssl4.dll

When you first invoke Disclose.dll it’s going to check to see if you have already created the PGP keys. If not then it will ask you to randomly move your mouse across the screen to create those keys. Don’t worry, it saves the results so it’s a one-time deal.

Now that we’ve solved the add reference problem you are probably going to want to go ahead and refactor VendPak’s example code into your .NET language of choice.

Don’t do it.

Landmine Alert #4 - You see, it seems that the example code has not been updated in so long that there are some seriously wrong default values in it. Namely, the FilerPassword, FilerID and TCPHost. Use these values in your code and I guarantee you the loss of several hours.

As a developer you will need to get hold of Ken Lally at the FEC’s Electronic Filing Office. I don’t want to post his live e-mail address and direct line but if you contact me I’ll forward them to you. After a minimum of fuss you will get you very own CommitteeID, Password and the correct TCP host.

Now you can go ahead the refactor the VendPak code into your .NET language of choice. You will need to take all four of the sample code functions (initialize_parameter, initialize_comm_method, upload_file and get_last_server_response) and map up corresponding functions in your code. You should also know that there are different servers for Senate reports (senate.nictusa.com) all other live filers (disclose.nictuse.com) and test filers, that’s you, (testing.nictusa.com).

Monday, January 17, 2011

Not Everyone is as Cool as You - Mr. Mobile Giver

Ruffini had a piece last week on the shortcomings of mobile giving. Simply put, he’s voicing the same conclusions we've reached -- that political and charitable mobile giving through SMS is a nonstarter. (If you want the gory details look here).

He then goes on to talk about what a "dead simple" way of mobile giving would look like.

I would like to stop for a minute and point out the two most important things to keep in mind before we go down this road.

1) Not everyone in this country is as cool as us.
2) Not everyone in this country has the same mobile devices as us.

I would be willing to bet that 95% plus of the people reading this post are either on iOS, Android, RIM or some variant of Windows (Mobile or Windows Phone 7). While these are all great operating systems, we have to keep in mind that the vast, vast majority of people in the US are not running "smart" mobile phones. They are running “feature” mobile phones.

The difference is critical. And while we can get into the weeds on technical definitions, I would generally say that "smart" phones are those whose operating system allows the creation and downloading of third-party apps. Key advantage – the ability to create and deploy additional functionality to the mobile device.

The problem is most people in the US have mobile “feature” phones. Their mobile device is limited, for all time, to the programs that were burned into the ROM at the factory. In fact, in Q1/Q2 2010 80% of mobile phones shipped were simple feature phones.

So this killer mobile donation system is going to have to run on these simple feature phones or we’ve eliminated nearly 80% of our potential donors. I know that smart phones will become more prevalent, but that will take time. A long time.

Go to your local mobile phone center walk past the cool phones that interest you and look at the devices they sell for a penny. This is what your average donor is carrying. Look at its operating system and programs. The only way you will be able to scale mobile giving is to build a platform that leverages the apps that preexist on these low end devices.

But make sure to cross TCP and Browsers off your toolkit. Only about 30% of mobile handsets sold today have a browser, and the handset makers are only planning for 60% by 2015.

I can find only two apps that run on all of these phones, the ability to send SMS, and the ability to make a phone call.

The person that can leverage those two tools for mobile giving will be very popular.

Saturday, January 15, 2011

I’m Not Sure How Long Google Can Keep Picking Up Your Bar Tab

I have always been fascinated by Google's business model. It seems to have two parts. We, the citizens of Earth, create massive amounts of text and video content on the Internet. Then Google charges we, the citizens of Earth, to effectively search through all that.

Given that Google’s advertising revenue for Q3 2010 was just over $7 billion, it seems to be a pretty effective model.

But Google is not just search.

In fact it's kind of mind blowing how many other things Google is involved in. Self-driving cars, scanning every book ever printed, Gmail, Android - Google has all kinds of oars in the water.

Better yet, many of these services are free to both programmers and the public at large. And a large number of programmers are building those free services into their software's DNA. From integrating Google maps to building on the Android platform - Google is hot.

But I've always been curious just how Google can offer all of these additional services for free.

It's pretty simple, the only thing holding Google together are AdWords and display advertising.

Let's take a quick look through Google's financial statements. Look at the last row of the revenues table (other revenues). It tells you just how much money is coming in from Google's non-advertising operations. For the Q3 2010 revenue from non-advertising operations was 3% of total revenue.

3%.....

It’s not really possible to deduce how profitable those 3% of revenues are, but, it’s just 3%.

I only point this out because it means the only thing paying for all of those free services that you are writing your code on top of is Google's search market share.

I’m not going to tell you that Google is toast because of all the challenges that it faces (competitive, privacy, anti-trust etc.) I’m just saying the species that are too well adapted to a specific environment are the ones that go first when things start to change.

And if Google starts to feel the financial heat I wonder how long all those free services are going to remain free.

Twitter @ActivistManager

Tuesday, December 14, 2010

Political Technology Conferences for 2011

Here are some of the conferences, large and small, that might interest you in 2011

Consumer Electronics Show - Jan 6-9
Gamification Summit - Jan 20-21
Mobile Payments Conference - 26-Jan
Email Evolution - Jan 31-Feb 2
DrupalCon - Mar 7-9
American Association of Political Consultants Annual Conference - Mar 10-11
SXSW - Mar 11-15
Innogive - Mar 16
Non Profit Technology Conference - Mar 17-19
American Fundraising Professionals Annual Conference - Mar 20-22
Dev Connections (Microsoft Technologies) - Mar 27-30
National Electronic Payments Association - Apr 3-6
Sugar CRM Conference - Apr 4-6
Google IO - May 10-11
SQL PASS - May 11-13
TechEd (Microsoft Technologies) - May 16-19
Personal Democracy Forum - Jun 6-7
Games for Change - Jun 20-22
Bridge To Integrated Fundraising - Jun 20-22
Direct Marketing Association Annual Conference - Oct 1-6
Blackbaud – Oct 2
SQL PASS - Oct 10-14

Twitter @ActivistManager