当前位置: 首页 > 编程日记 > 正文

ux可以去哪些公司_忽略UX会如何伤害您的API以及您可以如何做

ux可以去哪些公司

by Ifeoluwa Arowosegbe

通过Ifeoluwa Arowosegbe

忽略UX会如何伤害您的API以及您可以如何做 (How ignoring UX hurts your API and what you can do about it)

Creating experiences that users love is crucial to the success of any product. Companies invest lots of resources trying to make sure they have kickass landing pages and cool page transitions. Yet, these efforts are often in sharp contrast with developers’ experiences when they try to consume their APIs.

创造用户喜爱的体验对于任何产品的成功都是至关重要的。 公司投入了大量资源,以确保他们拥有kickass登陆页面和很酷的页面过渡。 但是,这些努力通常与开发人员尝试使用其API时的体验形成鲜明对比。

Quick Note: This is about APIs in the context of RESTful services.

快速说明:这是关于RESTful服务上下文中的API。

Your API is a full-fledged product. It is consumed by developers who are considered to be technically sound, but that doesn’t mean they are less-deserving of top notch, premium treatment. Developers are users, too.

您的API是成熟的产品。 它被认为在技术上合理的开发人员所使用,但这并不意味着他们不应该获得一流的优质服务。 开发人员也是用户

“The goal of user experience design in industry is to improve customer satisfaction and loyalty through the utility, ease of use, and pleasure provided in the interaction with a product.” — UX Curve

“行业中用户体验设计的目标是通过与产品交互提供的实用性,易用性和愉悦性来提高客户满意度和忠诚度。” — UX曲线

你赔钱了 (You’re Losing Money)

Long before a developer decides to recommend your product/service to the tech lead or company, you should know that they’ve already scoured your API documentation page. They’ve tried calling several endpoints, and have made sure that they’re comfortable — and in rare cases, happy — with your offering(s).

在开发人员决定向技术负责人或公司推荐您的产品/服务很久之前,您应该知道他们已经在API文档页面中进行了搜索。 他们尝试调用多个端点,并确保它们对您的产品感到满意,在极少数情况下,他们对此感到满意。

You lose revenue if anything (docs, response time, and so on) doesn’t meet the developer’s standards. They’d rather go in search of more desirable alternatives than stick around trying to figure out the correct way to consume your API.

如果任何内容(文档,响应时间等)不符合开发人员的标准,您将损失收入。 他们宁愿去寻找更理想的替代方案,而不是坚持尝试找出使用API​​的正确方法。

你错过了人才 (You’re Missing Out On Talent)

A study by Glassdoor shows that 61% of their users actively conduct research about a company before deciding to apply for a job there. We can only expect this number to be steeper for professional developers that have a 98% employment rate (3.9% work part-time), according to StackOverflow’s Developer Survey.

Glassdoor的一项研究表明,他们的用户中有61%在决定在该公司申请工作之前积极地对公司进行研究。 根据StackOverflow的《开发人员调查》 ,我们只能期望这个数字对于拥有98%就业率(3.9%兼职工作)的专业开发人员来说会更大 。

Developers put your company and products under the microscope when considering an opportunity to work with you. For companies that offer publicly accessible APIs, it’s a portal into the engineering practices in your company (and offers the possibility of discovering major red flags).

在考虑与您合作的机会时,开发人员会将您的公司和产品放在显微镜下。 对于提供可公开访问的API的公司而言,它是进入您公司的工程实践的门户(并提供发现主要危险信号的可能性)。

Seemingly basic things like using the wrong HTTP methods to perform actions on resources, not versioning endpoints, and poor documentation could be all a developer needs to decide if they’ll consider joining your engineering team or move on instead.

看似基本的事情,例如使用错误的HTTP方法对资源执行操作,而不是对端点进行版本控制,以及不良的文档,这些都是开发人员需要决定是否考虑加入您的工程团队或继续前进的全部。

I’m sure you’d agree that losing top talent to the competitor is the last thing any ambitious business would want.

我相信您会同意,将雄心勃勃的人才流失给竞争对手是任何雄心勃勃的企业所希望的最后一件事。

避免不良的UX (Avoiding Bad UX)

The effects of neglecting user experience as it relates to your APIs can be really costly. You make less revenue and rack up huge load on customer support because almost all your users can barely use your service without needing help.

忽略与API相关的用户体验可能会造成巨大的损失。 由于几乎所有用户都不需要帮助,就几乎不能使用您的服务,因此您的收入减少了,并增加了巨大的客户支持负担。

If you’re interested in making the lives of developers that use your products easier, the following steps might help.

如果您有兴趣简化使用产品的开发人员的生活,那么以下步骤可能会有所帮助。

文档是关键 (Documentation Is Key)

The documentation is simply the gateway to your product. It contains detailed instructions on how your API can be used, and you don’t want to get it wrong. It should be complete, well-structured so that information is easy to find, and it must contain examples.

文档只是您产品的门户。 它包含有关如何使用API​​的详细说明,并且您不想弄错它。 它应该完整,结构合理,以便易于查找信息,并且必须包含示例。

Also, all information needed to use your API must be in one place. Your users shouldn’t have to visit different sources just to understand the proper way to call an endpoint.

另外,使用API​​所需的所有信息都必须放在一个地方。 您的用户不必只是为了了解调用端点的正确方法而访问其他资源。

You should especially avoid sharing API documentation in pdf formats. It introduces more problems than it solves, and you don’t want to get support tickets because the user is trying to consume your API using an obsolete document as a guide.

您尤其应该避免以pdf格式共享API文档。 它带来的问题比解决的问题多,并且您不想获得支持票,因为用户正试图使用​​过时的文档作为指南来使用您的API。

There are tools available online that allow users to visualize and consume endpoints. It is advisable to leverage these tools for creating and maintaining robust API documentations.

在线上有可用工具,允许用户可视化和使用端点。 建议利用这些工具来创建和维护可靠的API文档。

拥抱标准做法 (Embrace Standard Practices)

You’re trying to sell a product. The aim is to attract as many customers as you can while eliminating barriers that might prevent users from using your product.

您正在尝试销售产品。 目的是吸引尽可能多的客户,同时消除可能阻止用户使用您的产品的障碍。

When you’re trying to get as many developers as possible to use your API, you have no business shipping your own API development standards or patterns. Huge companies with a large customer base can afford to perform this sort of experiment, but even then the results are usually not favorable.

当您试图吸引尽可能多的开发人员使用您的API时,您将无须交付自己的API开发标准或模式。 拥有大量客户群的大型公司可以负担得起此类实验的费用,但即便如此,结果通常也不令人满意。

Version your APIs, use correct HTTP methods to perform actions on resources, ensure that your response is well-structured, and return correct status codes depending on the success or failure of a request.

对API进行版本控制,使用正确的HTTP方法对资源执行操作,确保响应的结构合理,并根据请求的成功或失败返回正确的状态代码。

The OpenAPI is one widely accepted spec for designing REST APIs. It is backed by Microsoft, Google, and many other leaders in the tech space.

OpenAPI是用于设计REST API的一种广泛接受的规范。 它得到了Microsoft,Google和技术领域许多其他领导者的支持。

An even better approach would be to conduct a study or send out surveys to developers that represent your target market. Try to find out which of these specs they adhere to and attempt to tailor your APIs to those.

更好的方法是进行研究或向代表您目标市场的开发商发送调查。 尝试找出它们遵循哪些规范,并尝试针对这些规范定制您的API。

Developers are less likely to adopt unfamiliar technologies when there are more familiar alternatives. You definitely don’t want to give them any excuse to not use the product you’re offering.

当有更多熟悉的替代方法时,开发人员不太可能采用不熟悉的技术。 您绝对不想给他们任何不使用您所提供产品的借口。

超主动支持渠道 (Ultra-Active Support Channels)

Having several dedicated support channels for handling customer complaints and requests for help is highly important. Software developers want to get swift solutions to blockers they might encounter while consuming your APIs, making response time of utmost importance.

拥有几个专门的支持渠道来处理客户的投诉和帮助请求非常重要。 软件开发人员希望获得使用他们的API时遇到的阻止程序的快速解决方案,从而使响应时间变得至关重要。

Companies have started moving on from e-mail as the default means of providing support to users because it is just too slow. And, asking developers to send code snippets back and forth through e-mail is one of the best ways to get them to abandon your product.

公司已经开始将电子邮件作为向用户提供支持的默认方式,因为它太慢了。 而且,要求开发人员通过电子邮件来回发送代码段是使它们放弃您的产品的最佳方法之一。

Flutterwave and Twitter have dedicated forums for promptly attending to issues consumers might have with using their products. Paystack also has a dedicated Slack group to help out users with issues they might encounter while trying to consume their APIs.

Flutterwave和Twitter拥有专门的论坛,可以Swift关注消费者在使用其产品时可能遇到的问题。 Paystack还有一个专门的Slack组,可以帮助用户解决在尝试使用其API时可能遇到的问题。

Using real-time communication channels to handle customer support issues is not debatable. Your users are software developers, and it is essential that they get help quickly.

使用实时通信渠道来处理客户支持问题是不可争议的。 您的用户是软件开发人员,因此必须快速获得帮助。

Also, making sure code snippets can easily be shared through whatever medium you chose to handle customer support requests will earn you bonus points from your users.

另外,确保代码片段可以轻松地通过您选择用来处理客户支持请求的任何媒体进行共享,这将为您的用户赢得积分。

通信 (Communicate)

A tiny change in your request/response formats can cause considerable damage to your user’s product(s) and entire business. It is very important that you let your users know about planned changes, and provide enough time for them to prepare for these changes. As long as you’re sharing useful and relevant information, your users shouldn’t have cause to complain.

您的请求/响应格式的微小变化可能会严重损害用户的产品和整个业务。 让用户知道计划的更改,并为其提供足够的时间来准备这些更改,这一点非常重要。 只要您共享有用和相关的信息,您的用户就没有理由抱怨。

Send emails and follow up emails reminding your customers of that endpoint you’ll be shelving in the coming months. Inform them promptly about security concerns and let them know what to do to be safe.

发送电子邮件和跟进电子邮件,以提醒您的客户该端点将在未来几个月内搁置。 及时通知他们有关安全性的问题,并让他们知道如何安全。

Let your customers know when they’re using old versions of your product and encourage them to upgrade. Making users aware of the improvements you’ve made is a great way to motivate them to consider an upgrade. Most times, your users just want to be assured that the upgrade contains changes they need.

让客户知道他们何时使用产品的旧版本,并鼓励他们进行升级。 使用户了解您所进行的改进是激励他们考虑升级的好方法。 大多数情况下,您的用户只是希望确保升级包含他们所需的更改。

Every consumer that decides to use your API is doing so because they have a reasonable level of trust in your product’s offering. It is only fair that you repay this trust by effectively communicating with them regarding the state of your product and how best they think you can improve your product in order to serve them better.

每个决定使用您的API的消费者之所以这样做,是因为他们对您所提供产品的信任程度合理。 公平地说,您可以通过与他们就产品的状态以及他们认为您可以如何改进产品以更好地为他们提供更好的服务进行有效的沟通来偿还这种信任。

结论 (Conclusion)

Product development is hard. Even more so when you’re in the business of creating APIs that will be consumed by software developers.

产品开发很难。 当您从事创建将由软件开发人员使用的API的业务时,尤其如此。

That said, it is not impossible to create APIs that developers will love to use. It just takes a lot of conscious effort, and I hope these steps will help you in creating web services we’d all love to use.

也就是说,创建开发人员喜欢使用的API并非没有可能。 只需付出很多有意识的努力,我希望这些步骤将有助于您创建我们都喜欢使用的Web服务。

If you have questions or contributions regarding other steps that might help developers enjoy working with our APIs, kindly leave a comment. I’d be happy to read and respond to them.

如果您对其他可能有助于开发人员享受使用我们的API的操作的步骤有疑问或意见,请发表评论。 我很高兴阅读并回复他们。

翻译自: https://www.freecodecamp.org/news/how-ignoring-ux-hurts-your-api-and-what-to-do-about-it-e4f600f9cbfa/

ux可以去哪些公司

相关文章:

初识java类的接口实现

初识java类的接口实现 如果两个类之间不存在继承关系,且两个类都想实现同一个接口,两个类都必须实现接口中全部方法,否则报语法错误如果两个类之间存在继承关系也想实现同一个接口,父类如果实现了某个接口的全部方法,从…

KMP的next[]数组

KMP是众多字符串问题的基础 理解next数组尤为重要 next又称前缀数组 是 它所处位置的前一个位置的元素 与 该链 链首开始 几个元素相匹配(即相同) 举个实例来说明: next对应的是该位置的前一个元素, 即next[i]对应a[i-1] 因为-1头指针的存在 next均对应…

[微信小程序]手指触摸动画效果(完整代码附效果图)

微信小程序开发交流qq群 173683895 本文共有两个示例,先上图 示例一: 示例二: 示例一代码(微信小程序): // pages/test/test.js Page({containerTap: function (res) {var that thisvar x res.touches[0].pageX;var y res.touches[0].pageY 85;this.setData({rippleS…

webpack 占位符_通过示例学习Webpack:占位符图像模糊

webpack 占位符by Kalalau Cantrell通过Kalalau Cantrell 通过示例了解Webpack:占位符图像模糊 (Learn Webpack by Example: Blurred placeholder images) The repo that goes along with this post uses webpack 3. If you are interested in learning webpack 4,…

UIImage 各种处理(分类)

1 interface UIImage (conversion)2 3 //压缩图片到宽度10244 (UIImage *)imageCompressSizeToMin1024Width:(UIImage *)image;5 6 7 //修改图片size8 (UIImage *)image:(UIImage *)image byScalingToSize:(CGSize)targetSize;9 10 //UIColor 转UIImage 11 (UIImage *)…

Matlab随笔之矩阵入门知识

直接输入法创建矩阵 – 矩阵的所有元素必须放在方括号“[ ]”内; – 矩阵列元素之间必须用逗号“,”或空格隔开,每行必须用“;”隔开 – 矩阵元素可以是任何不含未定义变量的表达式。可以是实数,或者是复数。 – 例a[1,2;3,4] 或 …

[微信小程序]提交表单返回成功后自动清空表单的值

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 实现思路: 给每一个input绑定相同的value对象,提交成功后把这个对象赋值为空. 下面看代码: <form bindsubmitformsubmit><view><span>* </span>公司名称:&l…

xebium周末启动_我如何在周末建立和启动聊天机器人

xebium周末启动by Mike Williams由Mike Williams 我如何在周末建立和启动聊天机器人 (How I Built And Launched A Chatbot Over The Weekend) 在数小时内将您的想法带入功能性bot&#xff0c;获得真实的用户反馈&#xff0c;并在周末结束前启动&#xff01; &#xff1f; (Ta…

transition属性值

一、transition-property: transition-property是用来指定当元素其中一个属性改变时执行transition效果&#xff0c;其主要有以下几个值&#xff1a;none(没有属性改变)&#xff1b;all&#xff08;所有属性改变&#xff09;这个也是其默认值&#xff1b;indent&#xff08;元素…

[微信小程序]下拉菜单

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 动画效果是使用CSS3 keyframes 规则(使 div 元素匀速向下移动) <view class page_row><view class"nav" wx:for{{nav_title}} wx:key"index"><vi…

文件解析库doctotext源码分析

doctotext中没有make install选项&#xff0c;make后生成可执行文件在buile目录下面有.so动态库和头文件&#xff0c;需要的可以从这里面拷贝build/doctotext就是可执行程序。doctotext内置了两种检测文件类型方法&#xff1a;1、以后缀为依据检测文件类型2、以内容为依据检测文…

tmux系统剪切板_实践中的tmux:与系统剪贴板集成

tmux系统剪切板by Alexey Samoshkin通过阿列克谢萨莫什金(Alexey Samoshkin) 在实践中使用tmux&#xff1a;与系统剪贴板集成 (tmux in practice: integration with the system clipboard) 如何在tmux复制缓冲区和系统剪贴板之间建立桥梁&#xff0c;以及如何在OSX或Linux系统…

【Java面试题】54 去掉一个Vector集合中重复的元素

在Java中去掉一个 Vector 集合中重复的元素 1)通过Vector.contains&#xff08;&#xff09;方法判断是否包含该元素&#xff0c;如果没有包含就添加到新的集合当中&#xff0c;适用于数据较小的情况下。 import java.util.Vector; public class DeleteVector {public static v…

tornado+nginx上传视频文件

[http://arloz.me/tornado/2014/06/27/uploadvideotornado.html] [NGINX REFRER: Nginx upload module] 由于tornado通过表达上传的数据最大限制在100M&#xff0c;所以如果需要上传视屏文件的情况在需要通过其他方式实现&#xff0c; 此处采用nginx的nginx-upload-module和jQu…

微信小程序swiper组件宽高自适应方法

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 我把 swiper 的 width 设定成了屏幕的95%宽度, 如果想宽度也自适应的话请改成 width:{{width*2}}rpx <swiper classadvertising2 indicator-dots"true" styleheight:{{…

全面访问JavaScript的最佳资源

Looking for a new job is a daunting task. There are so many things to consider when trying to find the perfect role - location, company, job responsibilities, pay and compensation, training and much more.找一份新工作是艰巨的任务。 试图找到理想的职位时&…

Redis集群官方推荐方案 Redis-Cluster

Redis-Cluster redis使用中遇到的瓶颈 我们日常在对于redis的使用中&#xff0c;经常会遇到一些问题 1、高可用问题&#xff0c;如何保证redis的持续高可用性。 2、容量问题&#xff0c;单实例redis内存无法无限扩充&#xff0c;达到32G后就进入了64位世界&#xff0c;性能下降…

[微信小程序]单选框以及多选框实例代码附讲解

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 效果图 <radio-group class"radio-group" bindchange"radioChange"><label class"radio" wx:for"{{k7}}" wx:key"index&q…

IDL_GUI

菜单栏设计 PRO IDLGui;构建界面;显示;添加事件tlbWIDGET_BASE(xsize400,ysize400,/column,mbarmbar);实现基类fileWIDGET_BUTTON(mbar, $ &#xff1b;新建button&#xff0c;value文件)openwidget_button(file,value打开,/menu)jpgwidget_button(open,valuejpg)existwidget_…

git隐藏修改_您可能不知道的有关Git隐藏的有用技巧

git隐藏修改I have launched a newsletter Git Better to help learn new tricks and advanced topics of Git. If you are interested in getting your game better in Git, you should definitely check that out.我已经发布了Git Better通讯&#xff0c;以帮助学习Git的新技…

css 层叠式样式表(2)

一&#xff0c;样式表分类 &#xff08;1&#xff09;内联样式。 --优先级最高&#xff0c;代码重复使用最差。 &#xff08;当特殊的样式需要应用到单独某个元素时&#xff0c;可以使用。 直接在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。&#xff09; &…

Hadoop学习笔记之三 数据流向

http://hadoop.apache.org/docs/r1.2.1/api/index.html 最基本的&#xff1a; 1. 文本文件的解析 2. 序列文件的解析 toString会将Byte数组中的内存数据 按照字节间隔以字符的形式显示出来。 文本文件多事利用已有的字符处理类&#xff0c; 序列文件多事创建byte数组&#xff0…

[微信小程序]星级评分和展示(详细注释附效果图)

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 星级评分分成两种情况: 一:展示后台给的评分数据 二:用户点击第几颗星星就显示为几星评分; <!--pages/test/test.wxml--> <view> <view>一:显示后台给的评分</…

uber_这就是我本可以免费骑Uber的方式

uberby AppSecure通过AppSecure 这就是我本可以免费骑Uber的方式 (Here’s how I could’ve ridden for free with Uber) 摘要 (Summary) This post is about a critical bug on Uber which could have been used by hackers to get unlimited free Uber rides anywhere in th…

磁盘I/O 监控 iostat

iostat -cdxm 2 5 dm-4 如果没有这个命令&#xff0c;需要安装sysstat 包。 Usage: iostat [ options ] [ <interval> [ <count> ] ]Options are:[ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ][ <device> [...] | ALL ] [ -p…

[微信小程序]物流信息样式加动画效果(源代码附效果图)

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 效果图片:(信息仅为示例) <!--pages/order/order_wl.wxml--> <view classpage_row top><image classgoods src../../images/dsh.png></image><view cl…

在 Ubuntu 14.04 Chrome中安装Flash Player(转)

在 Ubuntu 14.04 中安装 Pepper Flash Player For Chromium 一个 Pepper Flash Player For Chromium 的安装器已经被 Ubuntu14.04 的官方源收录。Flash Player For Linux 自11.2 起已经停止更新&#xff0c;目前 Linux 平台下面的 Flash Player 只能依靠 Google Chrom 的 PPAPI…

数据结构显示树的所有结点_您需要了解的有关树数据结构的所有信息

数据结构显示树的所有结点When you first learn to code, it’s common to learn arrays as the “main data structure.”第一次学习编码时&#xff0c;通常将数组学习为“主要数据结构”。 Eventually, you will learn about hash tables too. If you are pursuing a Comput…

Unity应用架构设计(9)——构建统一的 Repository

谈到 『Repository』 仓储模式&#xff0c;第一映像就是封装了对数据的访问和持久化。Repository 模式的理念核心是定义了一个规范&#xff0c;即接口『Interface』&#xff0c;在这个规范里面定义了访问以及持久化数据的行为。开发者只要对接口进行特定的实现就可以满足对不同…

PHP连接数据库并创建一个表

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 <html> <body><form action"test.class.php" method"post"> title: <input type"text" name"title"><br> centent: <input t…