A Scripted Chat Tool that Anyone Can Use
An interview about InterviewJS
We’re revisiting our community call archives and publishing some (slightly polished) transcripts from selected segments. Here’s one from our May 10 call, with Piotr Fedorczyk and OpenNews’ Erika Owens.
Q. Hello! We’d love to hear more about this interactive chat tool that you all recently released.
InterviewJS is an application that allows users to script chats to give a second life to the plain old interview format, where usually it’s just a question and answer. The premise of the entire endeavor was to create something more engaging rather than just a sort of lean-back reading experience. It took us roughly about six months until we reached public beta version which got announced on April 15.
There’s a few parts to that project: the chat experience, where as a reader you get to interact with the interviewees so you can chat to… say… Obama or Trump about particular topic. One story can have as many as seven interviewees you can chat with. Aside from that chat experience, which is the core feature of the whole thing, we also have some introductory screens where you get to meet the interviewees, read about them, get to know their bios, titles and stuff like that, and we also have a screen where you—as the end reader—can have your say. So for example, if there’s a story about a particular topic at the very end of the story, when you’re done chatting to everyone, you can have your say in the form of a simple opinion poll.
…Aside from that, we also created a tool to script such chats. We call it the composer. It’s a very sophisticated piece of user interface where you can create a story, add new characters, assign their profile pictures, enter their biographies, etc. You can then either insert the text manually or paste in the transcript of your interviews for each of the characters created. From then on, you simply select text to add as speech bubbles coming from the interviewee.
In the composer, aside from creating a storyline of speech bubbles coming from the interviewee, you can also script user actions. This is to allow the end story consumer a way to interact with the interviewees by asking questions or making comments. There’s no sophisticated AI here to process user input, so the end-users can’t really type in their own messages or reply with selfies. User actions are limited to just clicking on pre-scripted buttons.
The workflow is pretty straightforward: the journalist creates a story, adds a few characters, scripts the chats, and publishes it all. No technical knowledge required. There’s a nice WYSIWYG editor that guides the journalist through the entire process.
In our GitHub repo there are also two other packages. One is the website which you can visit, interviewjs.io. The other is the style guide, a custom library of React components we built, from which we seed user interface elements onto the final application. All these packages are open source, the code is up for grabs and you can modify it as you see fit. You can even create your own satellite of InterviewJS and host it yourself. We’re hoping to create a community around the product to push it further.
While the app is in beta version, things may not work as expected. That said, we have quite a few stories created already, and they seem to be performing very well. We’re currently working on expanding the feature set a little bit—stuff like internationalization, so that journalists could create stories in other languages. Our roadmap is as simple as issues on GitHub: https://github.com/AJInteractive/InterviewJS/issues.
In the meanwhile I invite y’all to visit interviewjs.io, where you’ll find links to four stories created for the launch so you can see how, as a reader, one can interact with the stories.
Q: I’m also curious to hear a little bit more about the evolution that brought you to InterviewJS. You, Laurian [Gridinoc], and Mark Boas also have been working around transcripts and how folks interact with audio data… I’m curious about the path that brought you to this project.
Together with Mark and Laurian we’ve been indeed working on applications of automated speech-to-text technologies as well as developing hyperaud.io which, put simply, is a way to navigate media by interacting with interactive transcripts. A large chunk of Trint was really born out of that collaboration. Trint is an automatic transcription service where you can drop your media files (audio/video) and have them automatically transcribed. InterviewJS is a really nice continuation of that previous work. With Trint you’d transcribing interviews, whereas with InterviewJS you’d be able to create an entirely new type of stories out of your transcripts.
Q: You mentioned it is an open source project, which is super exciting to hear… If folks want to contribute, what areas would be helpful?
If you’re a developer willing to contribute, you’re more than welcome to grab any of the open issues and contribute back with a PR. We also welcome anyone really to file new issues with feature requests. I’m sure there’s a lot of potentially exciting nice-to-have functionality that we haven’t really thought about.
Read a full walkthrough of the development process.
Deputy Director of OpenNews.