Open source and open knowledge

Jul 3, 2012

I spent part of the train ride home today working on a coding project (the Highrise bookmarklet I blogged about wanting on Monday). It’s almost done and I’m excited to start using it.

I am not a great programmer, but I like it a lot. I only took one CS course in college. I really learned to program in the ~10 years after college, teaching myself from books and online resources, spending a ton of time using view-source to see how web pages were built, and hacking things together using open source tools like WordPress.

There is an important and profound combination of things in that last statement, about the hackability and learnability of the web. That combination of things made it possible for me to build a ton of new skills, and really an entire career, because a) it was possible for me to explore how the pros had built things and b) it was really easy to get help online, from documentation wikis, discussion forums and blogs. And now, there are more and more amazing tools that help this process along, from open-source sharing sites like Github to amazing Q&A sites like StackOverflow.

Today’s success was possible, in large part, thanks to the kind folks who ask questions, post answers, and share code in these places and more. It’s amazing, really, so thank you.

Further, I can say with absolute honesty, that I owe my career to the openness of the web. To the fact that I’ve been able to examine, tinker, ask, learn, and experiment in these ways is something that underlies everything else.

I guess I’m writing this to remind myself that despite the fact that I’m not a hard-core open source person (I’m writing this on a Mac), I really do feel a profound personal connection to the openness of the web. And that’s one reason among many that it’s something worth working to protect.

Automating your way out of bad behavior

Jul 2, 2012

As I write this, I’m sitting on the platform at the Back Bay Amtrak station in Boston, waiting for the train to New York. At 9am (6 minutes ago), I got a text message prompting me to write a blog post today. It said “Get your blog on! It’s a good thing”. The text message, of course, was sent to my by myself. I’ve got a little robot in the cloud whose job it is to help me be a better person. In this case, it’s helping me be more consistent and less stressed about writing here, on this blog.

The service I’m using is called IFTTT (If this, then that), and it’s a very simple way of wiring together events from across various web services (“channels” in their parlance). In this case, I have the SMS channel triggered to send me a text every day at 9am. I also have a 10pm text which prompts me to write to my journal (that one says: “Take a 5 min break and post to brain [the name of my journal blog]. You’ll thank me later.” Last night when I got that text, I said to myself: “Self, you’re right — I will thank you later”. And I wrote the post. And here I am this morning.

I’ve been thinking a lot recently about the difference between being organized vs. being disciplined, and I’ve been putting a lot of energy into increasing my discipline factor. Who knows if this will end up sticking, but I hope it will. At this point, it surely sounds like another exercise in yak-shaving, and knowing myself I’ll let that stand as a possibility.

But I really do like the idea that it’s possible to get more effective by doing less yourself and recruiting more help from others (in this case, from robots). And in this particular case, there’s something particularly nice about being able to make up the wording yourself, knowing exactly what will push your own buttons and get you motivated.

I really like IFTTT and will surely find more ways to use it. There are other services out there too, like Happiness Engines and I’m sure many more. At this point, I prefer the flexibility and straightforwardness over IFTTT to the slickness of Happiness Engines, but I’m looking forward to seeing where both go, and to experimenting w/ other ways to recruit robots to the cause.

Wanted: Highrise Chrome Extension

Jul 1, 2012

Update: I built it.

I’ve used Highrise as a lightweight CRM for a few years now. It’s fine for my needs — basically keeping track of people who I meet on email.

The thing that really made Highrise start to work for me is integration with Gmail, via Rapportive. Being able to add someone to my highrise, and add some tags and notes, right from my inbox, has been awesome. I use it every day.

But there is still something I really need that I don’t have. You see, tracking people and companies in Highrise works really well for people you’re already connected to. I.e., people who you’ve been introduced to over email — so that you can add them via Rapportive; yadda yadda. The problem wtih that is that there are lots of people and companies that I want to track in Highrise that aren’t yet in my inbox.

This is another version of the “strategic networking tool” problem that I wrote about a few years ago.

So, for now, I have a hacked together solution that involves using Highrise for folks I meet on email, and Delicious for people and companies I don’t know yet. This is an OK start, but it’s missing a key feature: collaboration. The kinds of notes and tags we use in Highrise are internal — meant for team discussion and not for public consumption. So, by using Delicious, I can write public notes & tags (which are fine most of the time anyway), or I a can save private links — but if I do that they’re not accessible via API and I can’t get them into Highrise no matter how much I want to.

So here’s what I want, ideally. A chrome extension that gives me a delicious-like experience for adding content to Highrise. I’ve taken a few half-hearted stabs at making one, but haven’t gotten there yet.

Here’s the idea in pictures (click each to enlarge). In my head, I’ve been calling this “Eyes on the Street”.

I use Highrise via Rapportive to track people I meet over email.

This give me a nice, searchable browseable view in Highrise, which I can share with my team:

For people I don’t know yet and haven’t met on email, I use delicious to keep track. There is a nice browser extension for this; it’s really easy.

So I get a similarly nice, searchable view in Delicious. However, any links I mark as private I can’t share w/ my team :(

So here’s what I want:

A browser extension that looks a lot like the Delicious extension, that lets me tag people and companies in Highrise (just like I can do via Rapportive in my inbox). If it’s a new person, I create a new entry.

If the person is already in the system, I can add additional links / notes:

The same thing works for companies:

The extension could show a badge when other people from my team have noted a given URL and/or left notes. Conversation (in the extension and in Highrise) ensues.

This is pretty easy to make, I think. If I were a better programmer I would have made it already. But rather than burn another whole evening futzing around writing my first chrome extension, I’m writing up the idea here :). Basically, the extension can talk to Highrise directly via JS/XML, or via a proxy server that sits in the middle. The advantage to the latter (drawn below), is that you can take advantage of Highrise wrapper libraries, rather than writing directly to the raw API.

That’s it! Is there anything out there like this? If so I haven’t found it. If anyone wants to take this idea and run with it I would be forever grateful.

Investing vs. getting in debt

Jun 24, 2012

I’ve been thinking a lot about what it means to invest lately. I’m not just talking about investing money, in savings or stocks or whatever; I mean investing in a broader sense, in yourself and in everything you do.

I am without question an urgency addict — as a general rule, I procrastinate, let things build up, and then power through with a burst of adrenaline when it gets down to the wire. This also means, generally, that I’m bad at medium-term planning. I often rely on my ability to “just figure things out” when I need to, and most of the time it works out. Lucky for me, I haven’t yet had a total blow up disaster, but I definitely flirt with it.

More and more, I’ve been thinking about this approach as a kind of personal debt. Every time I do something at the last minute, whether it’s a presentation, a document, or plans for a trip, I’m burning reserves (cash, time, sleep, social capital) and often going into the red. While it may work most or all of the time, it’s not sustainable and it’s not a good way of using resources.

Credit cards bail you out when you’re over extended and need to get by at the last minute. Personal and planning debt is the same way.

Conversely, investing in yourself, your plans, your friends & relationships, and your health is a longer-term proposition. It takes planning and discipline, and it doesn’t pay off right away. But investing is about building a strong base. And it’s about dedicating resources (time, thought, money) in things that are important, matter in the long run, and will grow into something even more valuable — to yourself, to your friends, business associates and family.

There are all kinds of good reasons for going into debt — financial or personal — whether its borrowing against a house or an education, using loans & credit cards to get through a tough time, or getting way backlogged on your work, your email, your exercise, or your family time.

What I’m talking about is a general mindset of: “what am I spending my time doing — am I making an investment right now, or am I burning capital right now — and if I’m burning capital, am I beyond my reserves?”

With that in mind, my new mantra is “Always Be Investing” (imagining Alec Baldwin coaching me at it).

Hacking Patents

Jun 22, 2012

Last week at the Media Lab, we had the pleasure of hosting USPTO Director Dave Kappos and several members of the PTO’s senior staff, to brainstorm ways that we might use technology in creative ways to help the patent office work better, and to help the patent system work better in general. The meeting was organized by Beth Noveck, who is just beginning her stint as a visiting professor at Lab — among other things, Beth and her former student Chris Wong are the ones behind the Peer to Patent project, which crowdsources aspects of the patent review process. The goal of the day was to come away from the meeting with a handful of concrete projects that we (at the Media Lab, and at other institutions) could start to hack on.

As most people know, there are a lot of issues with the patent system, especially with software patents. Too many meaningless software patents get issued, and too much needless litigation ensues. It’s a drag on the industry, and it’s particularly tough on new companies. Just this week, EFF launched a campaign to address exactly these issues.

While EFF is pursuing legislative means to address the problem, the focus of this workshop was to look at what could be done in the current context, using tech as a lever. There are a whole lot of opportunities to bring more and better information into the process, to reduce the burden on patent examiners, to increase the quality of approved patents, and to make better use of the patent corpus as a teaching & learning tool. And in general, I’m a fan of finding hacks to hard problems (like Twitter’s recent “patent hack”)

First: in prepping for the meeting, I reached out to Mike Masnick of Techdirt for his suggestion on what could be built. I’ll just paste his reply directly here, since there are good ideas in there:

  • Much better search tools (USPTO website’s bad, Google’s patent search is just so-so).
  • A “prior art” tool, which basically takes the patent database, and lets people annotate it with examples of prior art
  • A system that indicates how often a patent has been used in litigation (i.e., a warning system of a patent that is often been used for trolling).
  • A “dashboard” of sorts that details claims that are rejected on re-exam (something like 80% of patents that get re-examined have claims rejected — which is scary when you think about it). Such a dashboard should highlight patents that were changed, how frequently such re-exams lead to changes, and perhaps even “scores” patent examiners for how often claims they approved get rejected on re-exam.
  • A better and more public version of the PAIR system, including one that shows just how many “final rejections” a patent received before it was approved (you’d be amazed)
  • An “expert” database of techies willing to testify during patent trials on the obviousness of a patent or on prior art — making it easier for defendants to bolster their case with evidence of invalidity of patents.
  • I don’t know if there’s any “technology” here, but something that tries to unwind the shell companies that make up most patent trolls to find out who’s really behind many patent trolls (seriously, a bunch of them are so hidden you have no clue who actually owns the patent).

Coming into the meeting the PTO identified the following three areas of interest:

  • Quality of Information: how can applicants and examiners access more and better data sources, and have data more interlinked throughout the lifecycle.
  • Better analysis of applications: cross-referencing, crowd-sourcing, automated analysis.
  • Customer interaction: the patent application process involves a tremendous amount of back-and-forth

Without going through the whole list of ideas from the workshop, here are the ideas/topics/opportunities that felt most promising to me:

  • Reframing patents as building blocks — a primary purpose of patents is to bring understanding of inventions into the public realm. However, in practice this doesn’t work too well. Making the patent database more linkable and searchable would be a first step. Requiring diagrams to be submitted in an open digital format, and/or requiring photos to be photographed from pre-defined angles would help. Another idea was map products in the marketplace back to the underlying patents, as sort of a “view source” for products — I love the idea of that. In general, there was a consensus that there’s a need and an opportunity to reframe the patent corpus as a basis for innovation, not just as a means of protecting individual rights.
  • Improving the pre-submission process — a “turbotax for patents”, i.e., a web app (or an ecosystem of apps built on top of a PTO API) that would walk filers through the process; machine-learning tools that could analyse applications based on the patent database.
  • Incentives — we spent a fair amount of time talking about incentives — in particular, how to encourage participation in finding prior art (perhaps by recruiting filers to find prior art on other patents, offering, say, speedier review of their application as a reward) , and also opportunities to encourage filers to leverage peer-review more effectively (say, by offering speedier review if they agree to do so). Things like building a reputation system which more clearly identifies “awesome” patents (those that have been cited many times), and lame ones (those that have been repeatedly and successfully challenged) and “rogues” — trolls and others who are abusing the system.
  • Peer review and engaging existing communities of expertise. There was talk about how the PTO might engage with communities like the ones around StackExchange, which are already bringing tremendous community resources to bear towards answering technical questions. A sticky point in the application process is *when* peer review can happen (currently only after the point of public disclosure — 18 months after initial application) — so one challenge is thinking about systems might open up opportunities for more peer review and/or crowdsourced assistance of some kind earlier int he process. Also, Sandy Pentland from the Media Lab stressed that we should avoid thinking about how to “bring more experts into the process” and instead focus on bringing more *information* to the process — and implement peer reviewing and network-oriented systems to assess quality.

Here’s what ended up on the whiteboard (which of course misses most of the color from the conversation but gets some of the ideas across):

I’ll post an update once more concrete plans emerge and things start to happen. The plan is for several groups at the lab to peel off and start working on pieces of this. In the meantime, if you have any suggestions or thoughts, post them in the comments here, or tweet at: Beth Noveck, Chris WongMargot Kaminski, Jason Schultz, Joi Ito, or me.