api   221346

« earlier    

GraphQL | A query language for your API
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
api  graphQL  framework 
yesterday by innerstation
User experience design for APIs
1 - Deliberately design end-to-end user workflows.

Most API developers focus on atomic methods rather than holistic workflows. They let users figure out end-to-end workflows through evolutionary happenstance, given the basic primitives they provided. The resulting user experience is often one long chain of hacks that route around technical constraints that were invisible at the level of individual methods.

To avoid this, start by listing the most common workflows that your API will be involved in. The use cases that most people will care about. Actually go through them yourself, and take notes. Better yet: watch a new user go through them, and identify pain points. Ruthlessly iron out those pain points. In particular:

Your workflows should closely map to domain-specific notions that users care about. If you are designing an API for cooking burgers, it should probably feature unsurprising objects such as "patty", "cheese", "bun", "grill", etc. And if you are designing a deep learning API, then your core data structures and their methods should closely map to the concepts used by people familiar with the field: models/networks, layers, activations, optimizers, losses, epochs, etc.
Ideally, no API element should deal with implementation details. You do not want the average user to deal with "primary_frame_fn", "defaultGradeLevel", "graph_hook", "shardedVariableFactory", or "hash_scope", because these are not concepts from the underlying problem domain, they are highly specific concepts that come from your internal implementation choices.
Deliberately design the user onboarding process. How are complete newcomers going to find out the best way to solve their use case with your tool? Have an answer ready. Make sure your onboarding material closely maps to what your users care about: don't teach newcomers how your API is implemented, teach them how they can use it to solve their own problems.
api  quality  documentation 
yesterday by janpeuker

« earlier    

related tags

@article  @comparison  @concept  admin  aircraft  airfield  amazon  android  angular  api-validation  api_design  api_gateway  api_management  app  architecture  automatedtesting  automation  aws  aws_config  awscli  backend  banking  bff  biology  birt  bitcoin  book  browser  business  cache  camera  canada  cheat_sheet  cheatsheet  checklist  cloud  cloudcomputing  code  coding  create-react-app  cryptocurrency  csv  dashboard  data  data_sci  database  datasette  datasync  design  dev  developer  development  devops  digital.transfo  distribution  diy  documentation  domotics  dooo  dotnet  drupal  drupal8  drupalcon2017  drupaleasypodcast  dusk  ecommerce  elixir  evernote  example  exchange  filemanagement  flask  framework  front-end  frontend  garage  go  golang  google  googleapps  googledocs  graph  graphql  guide  habitroutineandpattern  hacking  hardware  howto  html5  http  inspiration  insurtech  iot  javascript  jira  js  json  lambda  language  laravel  learn  linkfodder  linux  lirc  lrs  lullabot  m2m  machine-learning  machinelearning  methods  microservice  microservices  mobile  mock  msa  network  nlg  nltk  open  openaccess  openscience  opensource  paint  papi  pattern  patterns  payments  paypal  permission  php  programming  progressive_web_app  protocol  proxy  python  quality  query  rails  rank  raspi  react  reactjs-boilerplate  reactjs  reference  registrations  resources  rest  rest_api  restful  ruby  saas  scala  scalability  science  security  server  serverless  services  sh  simonwillison  smarthome  software  sony  sparkjava  speech  sportsdata  spreadsheet  spring-boot  sql  sqlite  ss  standardlibrary  starbucks  storage  swift  talk  tax  technology  testing  text  timing  tips  tools  translate  tutorial  twitter  ui  unittesting  user-experience  ux  vasx  voice  web-dev  web  webdev  wordpress  worldwide  worldwideweb  wp 

Copy this bookmark: