标签: user-experience

可以检测用户是否打开了您网站的多个标签?

我只想到整个网站注册过程.

用户访问您的网站,注册,然后您告诉他您已向他发送了一封电子邮件,他需要验证他的电子邮件地址.所以他点击Ctrl+ T,弹出一个新的标签,点击他的Gmail收藏按钮,没有阅读你冗长的欢迎电子邮件,但点击他看到的第一个链接.Gmail会在另一个标签中打开您的网站...

他不需要也不想要两个标签打开你的网站,他只是想查看你禁止他访问的那个页面,直到他注册.

那么我们该怎么办?我看到一个网站(但我忘记它是什么)做得非常好,它实际上刷新了我打开的第一个标签,而不必按任何东西.

我想,如果我们可以检测到用户是否已经打开了您网站的标签,我们可以自动关闭新的验证标签,或者告诉他可以关闭它可以返回到其他选项卡,这可能会很好(我们现在已经刷新并登录了他).

或者,也许当他得到你讨厌的"请检查你的电子邮件"消息时,他直接转到他的电子邮件,用他的电子邮件替换你的网站,知道电子邮件会再次将他链接回网站.在这种情况下,我们不想关闭标签,但也许可以从之前保存他的位置,并再次将他重定向到那里?

无论如何,这只是用例...问题仍然存在.我们是否可以检测用户是否已打开您网站的标签?


此问题与如何检测用户何时完成注册过程无关.Ajax民意调查或彗星可以解决这个问题.我特别想知道用户是否已经在您的网站上打开了一个标签.

javascript browser tabs user-experience

32
推荐指数
5
解决办法
2万
查看次数

RTL支持:仅针对特定UI组件禁用它

我有一个自定义视频播放器活动.

我被迫在我的应用程序中启用RTL支持.

但这样做会导致从右到左对齐的ProgressBar.(那看起来很难看)

我希望我的ProgressBar在启用RTL的应用程序中保持LTR.

有什么解决方案吗?

PS我使用的是Android 4.2.2

user-interface android user-experience right-to-left

32
推荐指数
1
解决办法
1万
查看次数

在Android中制作类似应用程序的向导

您认为在Android平台中执行向导之类的向导(用户可以在具有下一个和后退按钮的屏幕之间导航,每个屏幕必须保存一些状态数据)的最佳方式.

我主要可以用两种方法思考:

  1. 每个屏幕都有一个活动+视图,然后我通过调用每个活动来切换屏幕.令我感到高兴的是,我可以使用系统后退按钮作为我的后台处理程序,我不需要自己处理,因为每个活动都会保存它自己的状态.

  2. 拥有一个活动和许多视图,以及我在每个屏幕中切换视图的更改,这有助于我重复使用更多代码,但会使保存状态变得混乱.

你怎么看?在Android上执行此操作的最佳方式是哪种?

user-interface android user-experience wizard

29
推荐指数
3
解决办法
2万
查看次数

Jetpack Compose 对齐 TextField 中的输入文本

我想通过TextFieldJetpack Compose 实现类似的行为,就像旧式 XML 布局一样:

<EditText
    android:id="@+id/some_id"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="right" /> <!-- or end -->
Run Code Online (Sandbox Code Playgroud)

当我尝试这种方法时:

TextField(value = "", onValueChange = {

}, textAlign = TextAlign.End) 
Run Code Online (Sandbox Code Playgroud)

它根本不起作用,textAlign因为TextField. 那么如何对输入的文本进行对齐TextAlign.Center,如TextAlign.EndTextAlign.Justify等等TextField

user-interface user-experience textfield text-alignment android-jetpack-compose

27
推荐指数
1
解决办法
1万
查看次数

如何提高申请的主观速度?

今天,我的同事注意到,当向进度指示器添加小数位时会导致程序运行速度比没有运行速度快.(即代替1,2,3 ...它显示1,1.2,1.4,1.6 ......)我检查了一下,即使我知道它是伪造的,我也感到很惊讶.

这让我想知道:还有什么其他的东西可以创造快速应用的印象?

当然,最好的方法是实际使应用程序更快,但从算法的角度来看,通常没有太多可以做的.此外,我认为让用户减少挫折是一件好事,尽管它或多或少是一种心理伎俩.

language-agnostic user-interface user-experience

26
推荐指数
4
解决办法
1885
查看次数

你应该多长时间去除文本输入

让我们说我们有一个简单的例子如下.

<input id="filter" type="text" />
<script>

    function reload() {
     // get data via ajax
    }

    $('#filter').change($.debounce(250,reload));
</script>
Run Code Online (Sandbox Code Playgroud)

我们正在做的是引入一个小延迟,以便reload在用户在输入中键入文本时减少调用次数.

现在,我意识到这将取决于具体情况,但考虑到平均(或可能应该是最低公分母)打字/交互速度,是否应该知道去抖延迟应该有多长.我通常只是玩弄它的值,直到它"感觉"正确,但我可能不代表一个典型的用户.有没有人对此做过任何研究?

javascript user-interface user-experience

26
推荐指数
2
解决办法
9776
查看次数

自动生成密码时要避免的字符

我需要生成一些密码,我想避免可能互相混淆的字符.我应该避免使用明确的字符列表吗?我目前的名单是

il10o8B3Evu![] {}

还有其他容易混淆的字符对吗?对于特殊字符,我打算将自己限制在数字键下,但我知道这取决于你的键盘国籍!

作为一个骑手的问题,我希望我的密码是'wordlike'你有一个受欢迎的算法吗?

谢谢 :)

security passwords user-experience

23
推荐指数
3
解决办法
1万
查看次数

你如何找出用户真正想要的东西?

我读过某个地方(我忘记了来源,抱歉 - 我认为MS Office开发人员的博客?),当你对用户进行调查时询问他们希望在你的软件/网站上看到哪些功能时,他们会更多往往不是说他们想要每件小事,而收集的指标显示,最终,大多数人不使用这些功能的99%.来自博客文章的一般信息是,您不应该问人们他们使用什么,您应该自己跟踪它.

当试图找出接下来要添加的新功能时,这会导致鸡和蛋的不幸情况.如果没有这个功能,我无法衡量它实际使用的程度.对于有限(且严重拉伸)的资源,我也无法负担添加所有功能,然后删除未使用的功能.

您如何找到对您的用户有用的内容?如果调查是唯一的选择,您是否必须以某种方式构建问题(例如:不显示可能的功能列表,因为这将引导他们)?

user-experience

20
推荐指数
2
解决办法
1182
查看次数

如何为用户实现有限的功能部署(语言不可知)?

我想了解一些将新网站功能推广到用户群的选定组的常见或最佳实践.

例如,用户可能仅基于总体用户群的百分比(10%).部署应该是可自定义的(可配置的)并支持任意数量的功能.将转出关联到特定用户角色或特权(ACL)也很有用.

那么,从本质上讲,什么是可以合理扩展的架构?

至于语言不可知部分,您可以提供伪代码,一般概念或想法,或者使用您首选语言的片段来表达您的观点.

欢迎链接到任何示例或教程.

deployment user-experience rollout limited-user

20
推荐指数
2
解决办法
1618
查看次数

最终用户体验监控工具

我有一个Web应用程序,有很多客户端和服务器端逻辑.对于"感觉敏感"的某些定义,此应用程序感觉对最终用户的响应被认为是关键业务.;)

大多数网站监控讨论围绕着服务器端指标(响应时间,I/O队列深度,延迟,CPU负载等),即我们倾向于将服务器性能和响应性视为可行的"代理"对于用户正在经历的事情.

不幸的是,随着我们向客户端Javascript移动越来越多的逻辑,相关性降低,我们的服务器指标变得不那么有用.

我没有找到任何匹配的SO问题.谷歌搜索提供了一系列可能相关的商业产品,但它们通常来自制造商的网站,充满了无益的市场声望,"请打电话给我们了解细节",所以很难知道.

是否有任何常用的工具用于此类事情,除了滚动自己的工具?欢迎免费和商业,尽管在其他条件相同的情况下免费显然更好.

编辑: 为了澄清,我主要需要收集用户体验的批量数据,包括响应性和破坏/脚本错误.自动分析是一个非常好的,虽然我不得不偶尔深入研究数据,无论解决方案如何.

javascript monitoring user-experience

20
推荐指数
1
解决办法
5949
查看次数