莫斯科火车(不仅是火车):发生了什么变化,并感谢那些提供帮助的人



每天有60万人查看日程表,因此每一个小的变化都会产生大规模的影响。 我想报告一些有关社区应要求向应用程序中添加电动火车这一事实。 在此感谢所有给我们反馈的人,并展示我们所做的更改。

第一个重要功能是离线模式。 我们很久没有介绍它了,因为时间表的含义恰恰是不断变化的。 而且,如果您已经超出了蜂窝网络的覆盖范围,则最好进行升级,以免到达取消的火车上。

事实证明,不这样做是一个好主意,因为:

  1. 许多人希望看到整个时间表,而不是根据当前情况。
  2. 一种完全不寻常的使用应用程序的方式已经打开:从自动扶梯。 在自动扶梯上,通常是某种3G-LTE互连或只是基站的更换。 在高峰时间,它也在小区用户之间“伸展”。 通常,在地铁中经常会出现Internet不变的情况,但实际上没有任何连接。



谢谢OVAV :我们开始发现这种情况。 现在的行动模型是这样的:如果存在快速连接,则始终加载当前计划。 如果没有连接,则显示脱机版本(实际上是从本地缓存中获得的),它是相关的时间戳。 在浏览时,我们可以设法获取更新(程序包非常轻巧),并立即在实时界面中直接显示它。 然后,有关脱机模式的标记将被删除。



离线模式会自动添加选定的路线和查看的时间表(历史记录)。 此外,这不是手动下载,而不仅仅是缓存-访问服务器后,我们会遍历您的所有路由,并为离线模式更新所有内容。 多年以来,您都无法打开自己喜欢的路线,但是从您上次打开Internet并打开应用程序的那一刻起,总会有一个新版本。 您已经查看了计划的那些天的历史记录被缓存。

由于这些软件包非常轻便(每个路由有几千字节的XML数据),因此所有这些都非常快。

后期预测


使用运输系统的API的电动火车会以延迟图形步(10分钟)的状态给出状态,该状态将在最近10分钟内出现。 也就是说,在14:22,您可以在14:12获得火车运行的实际情况。 在14:12,它将以10分钟的帧进行组装,也就是说,在最坏的情况下,滞后时间最多为19-20分钟-10。我们对模型模型和历史数据进行了一些研究,并学会了将此窗口缩短至两分钟以预测其余部分的运动火车。 就是说,如果火车晚点不是因为突然的事故,而是因为时间表上的战术变更,那么我们将比实际数据提前8–18分钟更可靠地发现这一点。

易用性


最重要的是,我们对可用性有疑问。 是的,一年前,我们没有立即打开您需要的屏幕:只需单击剩余的时间表即可。 感谢airy的加价票。

现在,最后一个搜索立即在开始屏幕上打开。 此外,我们会监控半天时间:如果您在午餐后打开应用程序,则会重新安排出发地和目的地站点的位置。

他们发现了一个非常漂亮的虫子,几年前他们就自己埋了。 原来,带来它的那个人正在寻找他。 总的来说,从前,我们需要一会儿,明天就要到铁路上了。 午夜不适合。 事实是,地球的一天在午夜结束,而人们在另一时间结束。 当您观看今天的电动火车时,您希望在23:50的火车之后,它将显示00:20,而没有切换日期。

问题是在哪里设置边界:早上最多显示一个,最多两个,最多三个,早上五个之前显示?

由于我们是数学家,因此我们对流量进行了建模并考虑了航班的分布。 由于当时没有大数据,因此它们仅限于常量。 莫斯科(Magic)的时间到了-2:52,这时更改日期最方便。

大约五年来,它对代码的了解越来越深。 然后有几张关于今天火车不存在的票:这些是在00:00和2:52之间的某些搜索查询(我们认为今天是昨天)。 昨天所有火车离开了。

结果,我们分成了更易于理解的类别,就像我们最初在那些年(而不是追求)中追求优化时应该做的那样。

投诉引起了人们的热议:他们说不可能在晚上看时间表。 他们把它变黑了,现在很时髦。 特点:在流行之前,没有人写过这样的票。

有时,车票倒了就是“您失去了电动火车”。 它们不会在此处消失,而是在CPPK和其他承运人处消失(在时间表中)。 标准行为模型是当火车离开时间表时,它只是在空中消失。 记住他的用户认为他们以某种方式寻找错误并感到紧张。 感到失控。 现在,我们成了火车的幽灵:日程安排中标有“已取消”的一行。 人们变得更加镇定,但我们不被认为是邪恶的开发商在窃取诚实公民的火车。

想念车站。 在几个地方,一个火车站的火车在两个不同的地方。 例如,在莫斯科库尔斯克时间表的后端,有两个部分:一个-库尔斯基,第二个-高尔基方向。 这是两个具有共同坐标的独立测站。 原来的问题是,您可以直接建立从其中一个到熟悉点的路线,或者您可能会错过界面并选择另一个起点,以四次换乘的路线来构建路线,但要花两个小时,但要到达同一点。 人们抱怨。 我们将这些位置连接在一起,并在许多情况下自动校正输入。

第二个相似的功能 -有很多名称相似的电台。 当发生碰撞的可能性很高时,我们明确询问用户。



地理位置的许多小改进:现在,进入测站的提示取决于您的大概位置,我们显示了离您最近的位置。

Karpion对应用程序与其他运输方式的外观提出了许多希望。 我们以为我们已经完成了它,然后遇到了计算上的困难,然后我们又以为我们已经完成了它……总的来说,结果完全是在其他地方,更好的地方,但是有死胡同。 稳定发布后,我的同事将详细介绍。

同时,我可以说,我们进行了一项研究,研究有多少必要-用电动火车穿越公共汽车。 原来是对的。 但是,由于我们喜欢数据,因此在研究过程中出现了另一件重要的事情。 我们比较了莫斯科的路线,在哪里乘公共汽车更方便,在哪里-坐火车。

看,我们已经确定了重要的方向(或者需要通勤火车的地方,可以直接乘坐公共汽车去)。 按目的地受欢迎程度排序。 因此,如果您有亲戚住在这些城市,那么这种比较也许对他们来说很有趣。



方向



价格,巴士



价格,火车



火车接送



莫斯科-莫扎伊斯克



257



276



没有啦



莫斯科-奥布宁斯克



269



284



没有啦



莫斯科-斯图皮诺



264



279



没有啦



莫斯科-沃洛科拉姆斯克



273



322



没有啦



莫斯科-叶戈列夫斯克



275



276



没有啦



莫斯科-Pereslavl-Zalessky



285



--



--



莫斯科-库宾卡



94



161



没有啦



莫斯科-Petushki



253



337



没有啦



莫斯科-Voskresensk



213



230



没有啦



莫斯科-苏兹达尔



605



--



--



莫斯科-梁赞



379



462



没有啦



莫斯科-Zaraysk



336



--



--



下诺夫哥罗德-Murom



591



--



--



莫斯科-阿列克辛



484



658



是的



莫斯科-Ozyory



286



368



是的



莫斯科-Gus-Khrustalny



517



701



是的



莫斯科-亚斯诺戈尔斯克



385



388



没有啦



莫斯科-Zubtsov



436



--



--



莫斯科-拉金斯克



275



421



没有啦



大诺夫哥罗德-Soltsy



200



--



--




通常,大约50%的火车方向(两个车站都与城市相连)在公交车时刻表中有其他选择。 同时,与长途火车的交叉点很小,大约为7%。

他们(对我们而言)做了一件很酷的事情:“平台和路径”功能。 在50个最受欢迎的车站,我们开始根据其供应和火车行驶的历史来预测将在哪里服务电动火车。 同时,应用程序乘客可以投票选择出发平台。 就是说,您来了,坐上火车,然后这样单击:



如果票数足够,则会向所有乘客显示路径和平台。 如果我们信任您(并且经过几票赞成后我们就会信任),那么您将拥有更强大的声音。 十五年前,不知名的人打电话给我们,说某处有取消,我们把它排在了时间表上(因为只有纸)。 即使如此,我们仍记得乘客很乐于互相帮助。 我认为现在我们将了解如何做得更好,并且我们将继续朝这个方向努力。

好了,虽然为方便起见,我们看到了不同的功能,但我们也对火车人口做了一个模型。 它有助于预测您站立或坐着时将乘坐不同的火车。 当我们运行它时,我可能会告诉您更多有关它如何结束的信息。

我们将继续在Runet上看到最准确的时间表,保持联系,随时准备告诉您还有什么可以做和应该做的。 我们并非总是会快速地做必要的事情,但我们总是会倾听。 因此,请骂或称赞我们:这很有用。

Source: https://habr.com/ru/post/zh-CN465303/


All Articles