Personal APIs: Not a Local Destination, but a Journey
MVB and API Evangelist Kin Lane previews a workshop he'll be doing at Davidson College on the weekend March 18th. Everyone in the area should check it out!
Join the DZone community and get the full member experience.Join For Free
I am preparing a project for the conversations, and a workshop I have on my schedule this week at Davidson College, called: Indie EdTech & The Personal API. I'll be going on campus, talking to campus leadership, administrators, teachers, and students about APIs. To put myself into the right frame of mind, I wanted to explore the concept of a personal API.
The Concept of Personal APIs is Ridiculous
First, I'll set the stage with what is a common reaction when I mention the term "personal API" to other API folk in the space: "Its a nice idea, but it just isn't something the average person will ever need, let alone care about what an API is — it is a non problem." To me, that response sounds just like what you'd hear in early 2000's when asked if any single individual would ever need a web presence — something that blogging and the social media star has continued to evolve, while also proving the naysayers wrong.
At first glance, a personal API seems like it would be a stack of APIs that you would setup and manage yourself. This is something the average developer or IT person would dismiss as out of the realm of reason for the average person--there just isn't a need. I would probably agree here. While having a set of APIs that could help you manage your life bits sounds like a great idea, I just don't think the average Internet user is going to care about their digital life bits at this level--the average person will have to have a an actual problem to solve before they will ever need and care about an API (secret is that this is true for business too)
Everybody Already Has Personal APIs
I prefer looking at this topic as something that has already been answered--everyone already has personal APIs! I manage all my public messages and social network using the Twitter API, my photos using the Flickr and Instagram APIs, my documents with the Google Drive and Dropbox APIs, and my email with the Gmail API. I already have a stack of personal APIs I depend on each day to drive the web and mobile applications I use for my personal and professional existence, they just are spread all over the Internet and not owned and operated by yours truly.
OK, sure. These APIs aren't technically personal APIs, but they do provide API access to my personal information. For me, personal APIs are going to be just a very personal API focused journey--as well as a local destination. Even in the business API world, where having an API is not a ridiculous notion, what an API actually is varies widely. Rarely is their a coherent stack of APIs within a company, and the reality providing and consuming APIs is actually spaghetti mess of services, open source tooling, and custom code. The API journey is always about pulling together this vision, organizing it, discovering new APIs, evolving and deprecating old ones, while also having a plan to actually conduct business in this volatile online enviornment << the journey that will be no different for the individual.
In My World There Are Two Lists of My Personal APIs
I am an API professional making my living with APIs, and I have two lists of what I would consider my "personal APIs". First, here is my master list of APIs I have hand developed, then there are the public APIs I depend on developed by external people and organizations. I'm guessing the first list comes closes to what someone would consider to be a stack of personal APIs. While I do prioritize the development of an API in my own stack, the reality of a modern business owner is that you depend on a whole suite of API driven services that accomplish specific business objectives, something that is often done via integration using APIs. I also have to note that the overlap betwen these two spheres is huge. (Bernie Sanders huge!)
In the end, my point is that the lines between personal and other APIs are very blurreds and will always be a mix. I have a bunch of personal and professional life bits I create, move around, and share as I need throughout any given day or week. My personal storage API is always Amazon S3, Dropbox, or Google Drive, no matter how you look at it. I make decisions about which API I publish, storage, and manage files, documents, and other heavy objects, based upon where I need it, cost of storage, and any number of other factors. The leading storage API providers are my personal APIs, a theme that comes up again and again, blurring the concept of what a personal API is for me.
Breaking Down the Core Personal API Stack
To help think through this, I wanted to take a moment and break down what some of the core personal API stack might be. With my experience it is pretty easy to identify what might be the core personal API stack, as one area my API research into the backend as a service (BaaS) space works hard to deliver many of these common objects that are used across mobile apps that developers are building today. These are just a handful of the common, end-user facing API resources that are available as part of the standard BaaS offering:
- Profiles - The account and profile data for users.
- People - The individual friends and acquaintances.
- Companies - Organizational contacts, and relationships.
- Photos - Images, photos, and other media objects.
- Videos - Local, and online video objects.
- Music - Purchased, and subscription music.
- Documents - PDFs, Word, and other documents.
- Status - Quick, short, updates on current situation or thoughts.
- Posts - Wall, blog, forum, and other types of posts.
- Messages - Email, SMS, chat, and other messages.
- Payments - Credit card, banking, and other payments.
- Events - Calendar, and other types of events.
- Location - Places we are, have been, and want to go.
- Links - Bookmarks and links of where we've been and going.
Obviously there are many other objects that represent our digital existence, but to help keep things focused I will only highlight these very common life bits we generate, store, move around, and share online each day. Depending on what we do for a living, the bits and bytes we will be managing using APIs will vary widely, but for the most part all users will have something to put into one or more of these areas of one possible personal API stack.
Understanding Where Our Personal APIs Operate and Store Information
With a core stack defined, let's think about where this personal API stack will live. There is no way all of these resources could possibly live in a single location, and we will always need the help of a variety of companies, organizations, government agencies, and other individuals, to help realize even this core set of personal APIs. Let's spend a moment exploring where each of these life bits already exist, and considering what our motivations around storing, syncing, syndicating, and backing up might be.
- Facebook - Your account and profile on Facebook.
- Twitter - Your account and profile on Twitter.
- Instagram - Your account and profile on Instagram.
- Tinder - Your account and profile on Tinder.
- Yik Yak - Your account and profile on Yik Yak.
- Snapchat - Your account and profile on Snapchat.
- Facebook - Maintaining connects and friends on Facebook.
- Twitter - Maintaining connects and friends on Twitter.
- Instagram - Maintaining connects and friends on Instagram.
- Tinder - Maintaining connects and friends on Tinder.
- Yik Yak - Maintaining connects and friends on Yik Yak.
- Snapchat - Maintaining connects and friends on Snapchat.
- Facebook - Managing your own, and engaging with other business profiles & pages.
- Twitter - Managing your own, and engaging with other business accoiunts.
- LinkedIn - Managing your own, and engaging with other business profiles & pages.
- Facebook - Managing the photos that are primarly published, or syndicated to Facebook.
- Instagram- Managing the photos that are primarly published, or syndicated to Instagram.
- Youtube - Managing your own videos, and the videos curated from other users on Youtube.
- Facebook - Managing your own videos, and the videos curated from other users on Facebook.
- Instagram - Managing your own videos, and the videos curated from other users on Instagram.
- Dropbox - Using the Dropbox platform storage, management, and sharing of documents.
- Google Drive - Using the Google Drive platform storage, management, and sharing of documents.
- Google Sheets - Using the Google Sheets platform storage, management, and sharing of documents.
- Facebook - What is the current status, as well as historical archive, on Facebook.
- Twitter - What is the current status, as well as historical archive, on Twitter.
- Instagram - What is the current status, as well as historical archive, on Instagram.
- Facebook - Managing larger form content published on Facebook.
- Twitter - Managing larger form content published on Twitter.
- WordPress - Managing larger form content published on WordPress.
- Blogger - Managing larger form content published on Blogger.
- Facebook - All of the public and private messaging occurring via Facebook.
- Slack - All of the public and private messaging occurring via Slack.
- SnapChat - All of the public and private messaging occurring via SnapChat.
- Yik Yak - All of the public and private messaging occurring via Yik Yak.
- Paypal - All payments mde and received via Paypal.
- Facebook - All payments mde and received via Facebook.
- Facebook - Adding, updating, an deleting of Facebook events.
- Google Calendar - Adding, updating, an deleting of Google Calendar events.
- Facebook - What is the current and historical location, as well as the places of others.
- Twitter - What is the current and historical location, as well as the places of others.
- Instagram - What is the current and historical location, as well as the places of others.
- Pinboard - All bookmarked URLs added, and stored via Pinboard.
- Google URL Shortener - All URLs that were shortened via Google URL shortener.
The APIs of these platforms are your APIs, and much of this information is never going anywhere, unless you are simply looking to backup, or sync to other locations (which you should be doing). I try to look at this as a positive, by default, you have a rich stack of APIs available, to help you manage your digital information. Whether you are a company, or an individual, you will always have to make some trade offs about how you manage your information, and ultimately where things are stored, how important the resources are, and ultimately are seeking to strike some sort of balance.
OK, So What? Nobody Cares About Their Information
Even if we look at APIs in this way, that our personal APIs will always be a mix of APIs across the services we use, the average individual doesn't know or care about APIs--this is a non-problem. #truth The average individual most likely will never care about the bits and bytes they generate online each day. The photos, videos, messages, and other exhaust from our daily lives can just be lost (and monetized and owned by some one lese), along with many of our memories in the physical world--not everything needs to saved.
Within this reality, there will always be some of the bits and bytes that we choose to look at differently. There will be situations where some videos, and some photos are more valuable than others. Maybe we are a professional speaker and our photos and videos are used as part of our professional services. Maybe we are a writer and we need to be paid for our words, either through advertisements, pay to download, and pay walls or subscriptions. There are many reasons why we will want to keep better track of our digital bits and bytes, and there will always be a need to educate new individuals around the opportunities to take control of our digital self, even with the majority of people never caring about their information.
Personal APIs Will Always Require Regular Doses of API Literacy
Nobody will ever care about APIs, and put the proper thought into their existence, if they do not know about APIs. APIs are not a destination, they are a journey, and whether it is an individual, business, organization, or other entity, there has to be the proper education about what is an API, what are the APIs that are already in use. Throughout this journey, APIs will continue to evolve in their meaning, and as this understanding becomes more nuanced, so will the personal API stack.
Personal APIs Will Evolve and be Strengthened By Living POSSE First
API literacy will be exercised and strengthened through operating and managing your online domain, living a Publish (on your) Own Site, Syndicate Elsewhere (POSSE) existence. POSSE is less about your bits and bytes living within your domain, than it is about thinking critically about what your bits and bytes are, and where they do, and should live. Regular POSSE rituals help you understand the API possibilities and experience the limitations of APIs, but also hopefully the potential of APIs, always guiding you down a path toward your fuller awareness of what your personal API can be.
Personal APIs Will Be Defined by the Services We Use (or Don't Use!)
Our personal APIs will always be defined by the services we use or don't use. Having the control that we desire over our life bits amplifies the open (or the closed) nature of the services and platforms we are using. Once we are API literate and have embarked on our a personal API journey, platforms that do not give us the control we are used to, make less sense to use. This experience will raise our expectations of the services we use, shaping our regular POSSE rituals, feeding our thoughts about what is a personal API, and driving our decisions around the online services we use, or do not use in the future.
Personal APIs are Validated By the Solutions They Deliver for Us
Ultimately our personal APIs will always be defined by the solutions that they deliver. If we cannot use an API as part of our regular rituals, sync, share, and publish as we desire, an API will either never exist in the first place, or whither on the vine and end up orphaned and in disrepair. This reality will continue to define what is a personal API and it will be a driving force for anyone to learn about what is an API, how to live POSSE, and making decisions around which services we use. Personal APIs will continually be validated or invalidated by the solutions they enable or do not enable.
The Need for Personal APIs Will Grow as We Take Control
As API literacy matures, we take more control of our world through our POSSEE rituals, which are strengthened by the services and tools we use. The concept of personal APIs will grow, evolve, and take deeper root. Something that brings me back to all of the root concerns I hear from folks, about people not caring, and there is no problem or need for personal APIs. This is all true for the average employee who subscribes to current IT norms. This is all true for the average online digital citizen, who subscribes to current Silicon Valley, tech industry norms. I see the naysayers of the concept of the personal API, as the gatekeepers of traditional power structures, with the handful of us who strike out our our personal API journeys, simply demanding to live a somewhat safer, saner, and healthier life in the cracks of this digital circus.
Published at DZone with permission of Kin Lane, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.