View Sidebar

Post Tagged with: Google

A Personal API

A Personal API

Why is the API model traditionally built around a central entity node connected to many consumer nodes, rather than the other way around? Why is it possible for me to connect with various APIs from cloud services like Twilio and Dropbox but I can’t create an API for myself that allows companies to connect with me?

Instead of going to the cloud, why can’t the cloud come to me?

Put it this way. I watch Star Trek on both Hulu and Netflix. My episode history is out of sync on both platforms. Why is that? Because these are separate services with their own backends. There’s no way for them to talk to each other, and there isn’t because there’s only one point of intersection: me.

But what if I could store my own episode history in a personal API, which then Hulu & Netflix would talk to? Both would have permission to update my episode history, and both would have read access. I would give Netflix billing access to the banking endpoint of my API, and so they would enable additional access on their platform. They could push content to my API endpoint and it could be synced between all my devices, including my phone which would also have read access to my API.

Everything would remain “in the cloud,” but the cloud would be my own personal cloud. A mini-cloud, if you will.

There are several types of information that could be stored in a personal API:

  • My personal contact information
  • My correspondence
  • My media
  • My preferences: brands, things I read, movies I like
  • My shopping history
  • My payment information
  • My medical history and prescriptions

Pretty much all the things I do online I could do with a personal API, but there would be a few advantages introduced by creating a new protocol:

  • I would be able to control my own data. Companies/services would need to request access to my data on an individualized basis. I would only give data that would be needed for each service.
  • Privacy becomes completely up to me. I would be able to control how access to my data is granted and revoked. My data is only in place accessible only through authentication to my API. I can revoke access tokens upon request.
  • “Add-ons” to my API service could be enabled like encryption or new REST endpoints, that would allow me to evolve what my API is able to achieve.
  • I could create direct P2P connections with fellow users of the Personal API protocol without having to connect through a third party server.
  • The protocol could integrate with multiple devices, but the nature of these devices would need to change. For example, if I wanted to send a message to my brother, right now I send a text message to his phone which gets routed through AT&T’s cell phone towers (for example). But with a personal API, I would send a message to his API endpoint, and his devices would all pull from it. So it would be like iMessage, but an iMessage that would integrate with *everything* I interact with.
  • On that note, the “internet of things” becomes much more possible. Instead of having to program all my devices, my devices would be adapted to me. When I buy a new product, it requests access to my API, and then can interact with other services that also have access to my API.
  • It weakens the government data dragnet. Right now, one clandestine program by the NSA can tap into Facebook once, and have access to everyone’s data. With a distributed personal API, the government would need to focus its attention on just nefarious or dangerous individuals. The legal status of a personal API would be more akin to a lockbox in my house than a self-storage center that is analogous to the current cloud.

If a personal API protocol were to be created, that would only be the first and easiest step. Cloud services would need to play ball, adapting their account creation and sign in systems, not to mention data access and storage, to work off of my personal cloud rather than their common cloud.

Speaking of Facebook, everything I have listed above is something Facebook could create tomorrow (or Google or Apple), and they may even be considering doing so. They certainly have access to the data necessary to create the API. But they also have the problem of centrally storing that data, creating a single point of failure/weakness/whatever. A centrally stored backend does not meet the criteria of a truly personal API listed above. It needs to be distributed.

Again, it’s a specious concept, and I can’t be first person to think about it, but I would be interested in A) If anyone has fleshed out an idea like this a bit more or attempted to build it, B) Either way, if anyone would be interested in working on something like this with me.

Would love your input in the comments.

October 13, 20142 commentsRead More
What Google Knows About Me

What Google Knows About Me

I started keeping a list of what Google knows about me. Even knowing full well that I gave this information to Google freely, it’s pretty awe inspiring.

  • Google knows every website I’ve ever visited (Chrome)
  • Google knows who all my friends are (Gmail)
  • Google knows who my closest friends are (Gchat, Gmail)
  • Google knows what products I’ve purchased and how much I’ve spent (Gmail receipts)
  • Google knows what mailing lists I’m subscribed to, and to which clubs I belong (Google Groups, Gmail)
  • Google knows what stocks I own (Google Finance)
  • Google knows how popular my websites are, and, by proxy, how well my startup is going (Google Analytics)
  • Google knows where I travel and when I am traveling (Google Maps, Google Maps on iPhone)
  • Google knows what I look like and what my friends look like (Picasa)
  • Google knows where I am during the day, and who I’m with, and for what purpose (Google Calendar)
  • Google knows intimate details about my work and personal projects (Google Docs)

Obviously it’s an algorithm, and there isn’t a dude sitting at a computer in Palo Alto learning everything about me. But if someone wanted to, they would have a pretty easy time of invading my privacy to an insane degree.

We put a lot of trust in Google to handle our information on a day to day basis. There’s no grander point here, just something to think about. And I’m glad at least I can always walk away from Google if I wanted to.

September 20, 2013Comments are DisabledRead More
I Used DuckDuckGo for a Week and Had to Switch Back. Here’s why.

I Used DuckDuckGo for a Week and Had to Switch Back. Here’s why.

It was really hard to switch off of Google, and when I finally did it, I didn’t think I would switch back.

In the past, whenever I’ve tried another search engine, I have failed. Searching is such a natural, compulsory thing to do on the internet, that whenever I have navigated to Bing or DuckDuckGo, I find myself staring at a blinking cursor not entirely sure what to search for. The conscious decision to make a search has always interfered with my ability to search naturally.

DuckDuckGoBut the recent revelations about PRISM and the NSA have led to a surge in interest in cutting the chord to big cloud services like Google whose data collection practices are well known. So, following the herd, I decided it was time for me to switch my default search engine. It wasn’t enough to remember to navigate to DuckDuckGo for searches; instead, I had to change my address bar default search engine in Chrome to force me to use the new engine.

Before I knew it, my 50 or so odd searches a day were going through DuckDuckGo instead of Google.

Now, I love that DuckDuckGo doesn’t track searches. In terms of their commitment to privacy and their users, I don’t think there’s a better option. And I love that there’s an alternative for people concerned about their data being collected. But it took me only a week using DuckDuckGo to appreciate the little things that Google does that still make it a far superior product.

Google is Faster

I didn’t think this would be something I even noticed, but it was apparent immediately that with DuckDuckGo, search results take a fraction of a second longer to show up. It must be no more than 200-300 ms, but it really makes a difference. Every time I am faced with that momentary pause all I can think about is switching over to Google to get faster gratification.

Google Keeps Up with Timely Search Queries

Earlier this week, I searched for “Pride,” expecting to find out more about Pride Weekend in San Francisco. DuckDuckGo seemed to have no understanding of that context, whereas Google’s first results were exactly what I was looking for. It wouldn’t require tracking, just an IP lookup to know where I am and return timely results. Google’s natural integration with their news engine is invaluable to my search experience.

Google Doesn’t Index Sites with Code Errors

This is huge for me. Since I am coding all day long, I need to be able to search for errors that crop up from time to time if I don’t understand them. There was one PHP error this morning that I searched (DuckDuckGo’d?), and the top 20 results were sites that had thrown this error. The sites were destinations like OneFreeCoupon.com–completely irrelevant to my query. Google, as usual, returned very useful StackOverflow results that got me on the right track.

Google Knows When Not to Surface Wikipedia

I love Wikipedia, but sometimes it isn’t the most relevant result. The “Pride” search is a good example, but in general if it isn’t a proper noun, I am more likely to go for a news or video result than Wikipedia. DuckDuckGo seems to surface Wikipedia way too much. I like the way Google does it, especially when they float the Wikipedia results to the right so I always know where to find the article.

In short, I love that DuckDuckGo is gaining interest, and that Google has competition, and that there are choices for all of us when we use the internet. But I tried, and for the things that matter to me, it seems that Google is just a better experience. I hope DuckDuckGo improves the product, because eventually I would love to switch back. But philosophical alignment isn’t enough to get me to use an inferior product.

So, Google, you have me back for now.

June 28, 2013Comments are DisabledRead More
My Top Ten Internet Gripes

My Top Ten Internet Gripes

Ok, girls and boys, time for some venting about the state of the internet today. Let’s look at some problems that we all face on a regular basis–dare I say first world problems?–and maybe some ways they can be fixed.

 

1. Facebook Grammar

This has been a problem from the beginning. Nothing gets my goat more than seeing a generalized plural pronoun used out of laziness, especially when Facebook has the gender information that would make the proper pronoun instantly accessible. If the user has identified herself/himself as female/male, why not say “X has updated her/his profile picture”?

 

2. Country Drop-down Menus

They are on every website, and it’s getting to be enough, people. Why should I have to wade through 150 sovereign nations to find my own country, especially if that country is the biggest market for the website I’m on? Why can’t websites at least auto-select my country so I don’t have to click and scroll, or click and roll, or type “U-U-U” like some MS-DOS hacker to find the United States? There is a good solution to this problem here, but I’m interested in even better solutions. Or, not having them at all.

 

3. Google’s Two-Tier Drive/Docs

Since Google’s transition to Google Drive, it would make all the sense in the world to have one drive. One drive for one group of folders. However, Google doesn’t see it this way. Instead, Google splits their drive into “My Drive” and “Shared with Me.” It may seem like a natural split, except that I can never remember whether docs I am collaborating on were docs I created or docs which were shared with me. And why should it matter? What’s worse, when you search for docs, it only searches inside the active folder. Which means often I am searching twice in the same search box for the same document.

 

4. Forgot Password Scripts

We get it already! If you forgot your password, you click Forgot Password, then you get an email with your password information and maybe a reset link, then you click reset, then you go to the site, then it asks you to create a new password, then half the time it asks you to log in again with the password you just created (why?), then it sends you a NEW email telling you your password has been successfully reset, and if it wasn’t you that you should call them and tell them. Why all this trouble? What’s so hard about resetting a password? If someone hasn’t already, someone should build a better plug-and-play solution. Or I should 🙂

 

5. Loading Gifs that Don’t Load

I know it’s because the gif is loaded with the site assets and only replaced after the AJAX call to the server returns data, and sometimes the backend is broken or you lose the network at a crucial moment, but for users, this is the internet equivalent of Apple’s spinning rainbow of death. The fact is, users don’t know or care why it isn’t working, they just see that there’s content that should be there, and isn’t. It’s frustrating, and it would be simple to fix–don’t have a loading gif onload, but instead only show it while data is actually loading. Or not have a loading gif at all.

 

6. Pinterest Rip-Offs

You’ve seen them all over the place. Pinterest had a cool liquid multi-column layout, so now every site on the internet needs to adapt that style. The reason it works for Pinterest is because it’s precisely what the Pinterest community needs. It doesn’t work for your blog, or some random photography site, or sex.com. Plus, it’s unoriginal and it stinks. Make your own shitty layout, and leave original design to…not you. See here for a list of Pinterest ripoffs.

 

7. “Share this Purchase” Requests

We know you want to make your ecommerce site “social,” but no one, ever, is going to be enthusiastic about posting their purchases on Facebook. Not only is it in bad taste to brag about your new $200 three-slot toaster to an unwieldy group of fake friends whose preferences and tastes are unknowable, it’s also not realistic to think that these posts will result in any conversions. It’s best not to insult the intelligence of your buyers and leave these requests out entirely.

 

8. Facebook Open Graph

The proliferation of auto-shared Open Graph actions is out of control. My Facebook feed no longer provides any useful information and instead shows me a litany of useless, and sometimes embarrassing, information about my friends. For certain things, like music and offers, it’s kinda cool, but for everything else it stinks of desperation for Facebook and the advertiser in question. On this note, Facebook tricking people into sharing all their content by replacing “Authorize App” with “Okay, Watch Video” isn’t cool. Full disclosure: I am partially responsible for this, having brought Ustream to Open Graph in April.

 

9. Late-Loading Site Content

You’ve been there. The page starts loading, and you see a link you want to click, so before the page is finished loading, you attempt to click it. But just at that moment, some banner slides in from the top of the page and pushes everything down. So instead of clicking “Benghazi militia captured outside Tripoli,” you click “Doris Day impersonator dies from bike pump beating.” The worst perpetrator of this practice is CNN, which insists on telling you you’re using the US edition and asks if you want to make it the default (what else would I want?).

 

10. Unwanted Noise

This is a common frustration. My computer should not make any noise I don’t want it to make, and therefore, any website that is creating unwanted sound is a complete nuisance. Sometimes I’ll have my speakers on and one of those annoying talking heads greeting me will start babbling, or a preroll ad for a car will start zooming, and before you know it, everyone at the office is pissed. The only time I need my speakers is for a video or music that I voluntarily turn on. Everything else is a distraction. There are some workarounds to this but nothing that is that satisfying. I would put auto-playing video in this category as well.

October 26, 2012Comments are DisabledRead More