65.9K
CodeProject 正在变化。 阅读更多。
Home

与 Lewis Collins 的程序员访谈

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.93/5 (5投票s)

2013 年 12 月 5 日

CPOL

5分钟阅读

viewsIcon

15109

Plantronics 的高级软件顾问刘易斯·柯林斯(Lewis Collins)将讨论他的背景、项目、兴趣、厌恶点,以及仅用一副像样的耳机就能做些什么。

你是谁?

我叫刘易斯·柯林斯,居住在英格兰南部的威尔特郡。我热爱计算机技术和软件,尽管自 1998 年大学毕业以来一直在该行业工作,但我至今仍对它充满敬畏!我拥有伯恩茅斯大学的软件工程管理学士(荣誉)学位,并持有英国计算机学会的特许工程师资格。

您做什么?

我是Plantronics的高级软件顾问。在这个职位上,我帮助开发工具和 SDK,并与不同的团队合作,支持客户所需的日益广泛的用户场景。这些场景涵盖统一通信、呼叫中心、企业和移动应用程序等领域。

我参与创新项目,以创建和测试可能导致新应用程序、交互风格和用例的新设备概念。Plantronics 正在经历一个令人兴奋的时期,因为我们允许黑客们提前接触这些概念,在黑客马拉松活动中进行尝试。这些活动中的团队为我们现有的和概念设备提出了许多绝妙的想法(可以在这里查看一些)!我参与创建 SDK 和运动传感演示应用程序,以展示传感器功能,包括一个头部控制的音乐混音器应用程序和 breakout 游戏,有时还会参加活动提供技术支持。

最后,我通过 Plantronics 开发者连接 (PDC) 支持开发者,并与软件供应商和技术合作伙伴合作,将他们的解决方案与 Plantronics 设备和 SDK 集成。作为其中的一部分,我编写示例应用程序和博客/论坛内容,展示如何使用我们独特的产品功能,例如 SmartLock 和 Spokes EZ Demo

您偏好的开发环境是什么?

我尝试过很多语言、平台和环境,但今天我最偏好的是 Visual Studio – 最新的版本:2013。语言方面:一种很好用高级语言:C# .NET。我只是喜欢 .NET Framework 为我做了很多繁重的工作。

(C# .NET 实际上让我想起了我用过并喜欢的第一个面向对象语言,那就是 Borland Pascal 7.0 with Objects)。

您的第一门编程语言是什么?

HP BASIC – 在 HP-85 个人电脑上抄写计算机游戏列表(Ski Game)!(我大约 5 岁)。

您对哪些新工具、语言或框架感兴趣?

我对开发移动应用程序感兴趣,将于一月与一位同事一起参加一个 Android 课程。

我还计划学习一个 3D 物理引擎,以创建一些新的 3D 图形演示!

您认为新开发者应该知道的一件事是什么?

魔鬼*永远*藏在细节里!(这是无法避免的)。

另外,要相信错误消息!

最后,如果某样东西以前能正常工作但现在不行了,只需注释掉越来越大的代码块,直到它能编译/运行(也就是说,回到基本原理!),然后逐渐添加代码,直到找出问题所在。

(抱歉,这有三件事了)!

您最讨厌的编码习惯是什么?

我编码时的厌恶点是当开发人员过度复杂化代码时。我通过将函数分解到(我认为)正确的级别,给函数和变量非常明显的(长)名称,并添加注释来不断对抗这一点!

我通常只认为耳机是用来听或说话的东西。不为它们编程,我错过了什么?

除了高质量的音频终端,Plantronics 设备还提供控制和交互各种涉及语音的应用程序的功能,同时提供传感器数据以实现一些节省劳力的用户场景。以下是如何使用 Plantronics 设备和 Spokes 软件平台的一些想法列表

  • Plantronics 耳机上的按钮可用于接听或挂断电话,以及在呼叫队列中切换电话。
  • 耳机连接/断开:呼叫中心 ACD 应用程序的呼叫座席准备就绪/未就绪。
  • 按下按钮连接到按键通话服务。
  • 按下按钮启动其他语音识别服务。
  • 来自约 13 种流行企业软电话产品的 Spokes 通话状态信息,加上来电显示和通过 Plantronics 产品配对的移动设备的程序化通话控制,可以丰富您应用程序中的 UC 体验。
  • Plantronics 设备提供的传感器数据可用于应用程序的手势控制,或跟踪用户与系统的交互。
    • 接近度:我接近我的办公桌,我离开我的办公桌 – 您的应用程序中可以触发什么样的用户场景?
    • 佩戴传感器:我戴着耳机,我没有戴着耳机 – 这可以在您的应用程序中触发自定义操作或状态更新吗?
    • 可穿戴概念 1 耳机(参见http://pltlabs.com/
      • 头部角度:实时跟踪用户的头部角度和手势,或随时间建立趋势分析。
      • 加速计:跟踪用户的步数(计步器),检测自由落体,检测设备上的多点触控作为替代用户界面。

我如何开始做这件事(我需要什么工具,等等)?

适用于 Windows

可用示例:C++、C#、JavaScript / Java / 其他语言(通过 Spokes REST/HTTP 服务或公开 WebSocket / Socket 的 C# 中间件应用程序)

所需工具:Windows XP、Vista、7、8(桌面版)、8.1(桌面版)、Visual Studio 版本 2008/2010/2012/2013

注意:SDK 安装包含一个设备模拟器,但人们对该产品的评价参差不齐,因此我建议使用*真实的* Plantronics 设备进行开发。您可以从 Spokes 安装说明 的 D 部分中选择任何产品。

要查看哪个产品支持哪些功能,请查看此矩阵(需要 PDC 会员资格)。

对于 Android

可用示例:Java

  • 所需工具:Android SDK、ADT 插件 / Eclipse(可选)。 
  • 这篇博文 展示了如何使用 Plantronics XEVENT 访问*部分*耳机事件。

适用于桌面 Linux

可用示例:Python

我们没有适用于桌面 Linux 的 SDK,但我们有这篇博文,描述了如何通过 USB HID 消息拦截按钮事件(注意:这仅公开通话控制、静音等功能,而不公开 Plantronics 传感器功能的全部范围)。

黑客马拉松可穿戴设备概念

可用示例(在黑客马拉松活动中):Objective-C(iOS SDK)、C#(Windows SDK)

Plantronics 的“可穿戴概念”设备在 2013 年秋季的黑客马拉松活动中出现(下次活动待定)。Plantronics 提供设备进行开发,您可以使用*PC* 或 *iOS* SDK。请查看PLT Labs,并关注PDC上的活动公告。

其他平台

请关注PDC上的公告。

© . All rights reserved.