2019Q1 Reports: Information Director

From Admin Wiki
Jump to navigation Jump to search

Introduction

In this first report, my goal is to first lay out a vision for upgrading and modernizing the ACL IT infrastructure and then to report the progress made towards that vision in Q1.

For the purposes of this document, we define ACL IT infrastructure as the collection of hardware/software/services that enables the following:

  • Hosting, maintainenance, and updates to the ACL website (currently hosted on BlueHost and set up using Drupal CMS & MediaWiki)
  • Hosting, maintenance, and updates to the ACL anthology (currently hosted on a server donated by Saarland University and set up using Ruby on Rails framework)
  • Internal communication among *ACL officers (currently set up via Mailman mailing lists on the BlueHost server)
  • External communications to ACL membership (currently setup via the email server on BlueHost)
  • Handling ACL membership (signups, payments, member database; currently set up as a form on the ACL website with Plug’N’Pay as the payment processor with the data stored in)
  • Conducting online elections (currently set up using custom software developed in 2000 by Ulrich Germann)
  • Collecting information from ACL members in the form of surveys (currently no standardized solution but a general preference towards Google Forms)
  • Building mobile user apps for *ACL/EMNLP conferences
  • Efficient development and version control of any code/resources (currently an ad-hoc mixture)

The broader theme of my vision is that we should move away from building and maintaining our own systems from scratch. This requires too much time and effort for maintenance that no volunteer can generally afford. Without such time and effort, the infrastructure stagnates and we end up with a huge technological gap between where we are and where the rest of the world is.

In my opinion, a more sustainable solution is needed with the following components:

  1. Reliance on stable and well-built third party services with minor customizations (as needed).
  2. Extremely comprehensive documentation.
  3. A network of volunteers from the community with well-defined responsibilities.
  4. A reasonable annual budget.

In the subsequent sections, I provide updates on the progress that has been made since I started at this position in January.

Official ACL Website

A growing trend for building modern websites is to use something called JAMStack (jamstack.org) – which uses client-side JavaScript (J), reusable APIs (A) and Markup (M). With this the website simply becomes a collection of pre-rendered HTML pages that can be hosted on any server with any dynamic interaction handled either by the JS engine in the browser and/or by calling third-party APIs. This means that we do not need to use any complicated content management systems and/or Perl/PHP scripts on the server side.

This is the architecture that I have used in recent years to build conference websites (acl2017.org, emnlp2018.org, and naacl2019.org) to great success.

The ACL website fits quite well into this trend since more than 95% of the content on the ACL website is static.

I have started working on a static version of the ACL website and migrated quite a bit of static and useful information from the portal and the wiki. This can be found here and is still a work in progress. Please don't circulate this URL outside the exec.

My plan is to recruit volunteers to build out features into the website (e.g., search) and to help migrate content from the old website to the new.

In terms of a timeline, my goal is to have the content of the website fully migrated to a static version by the end of 2019. However, we may have to keep some parts of the old website operational (e.g., membership form with payments) into 2020 until they are ready to be replaced.

ACL Anthology

There has been excellent progress made on a new version of the Anthology. Matt Post, the new Anthology Director, will provide an update.

Internal Communication

Email is not always the most efficient form of communication. To make it easier to have focused, easily searchable conversations, I have setup a Slack workspace (acl-organization.slack.com). I also submitted an application to have our Slack workspace billed as a complimentary non-profit - this means that we do not pay anything but can still use most of the features available only to paid customers. Marti, Matt, and I have been using Slack to have productive conversations & monthly catch-up meetings and it’s been working quite well.

The advantages that Slack offers are the following:

  • All ACL-related internal communication is in one place
  • “Channels” for each topic (website, anthology, etc.)
  • Reduces unnecessary email traffic
  • Archived, searchable message repository
  • Integration with other services we already use (Google Drive, Trello, Microsoft Office, GitHub, Dropbox, etc.)
  • Easy file sharing (with restricted access, if required)

We are currently using Slack for NAACL 2019 as well as for SIGEDU. In both cases, it has been a great boost for productivity and collaboration.

I would like the whole ACL exec to start using Slack for ACL business assuming they are open to it. However, we need to make sure that Slack is accessible in all parts of the world.

If we do want to continue with mailing lists going forward, we should consider switching to something like gaggle.email which is a modern take on mailing lists and makes it quite simple to run and manage groups. The pricing is also quite fair and they offer a 15% discount for non-profits organizations. This would make it easier for volunteer(s) other than the website administrator to set up and maintain mailing lists and, hence, remove the current bottleneck,

Payments From & Emails To ACL Members

I conducted some research into how to streamline the current process of signing up members, keeping up-to-date membership rolls, and sending out communications to the ACL members. As part of this, I had a requirements-gathering phone call with Priscilla to understand her perspective on the ACL IT infrastructure and her needs going forward. My goal is to make any substantial changes with Priscilla always kept in the loop so that she can provide guidance and also help test any ideas.

I believe what we need in the membership context is possible using Zapier automation to connect various third-party services. I have some ideas sketched out but am not including them in this report since they are still not fully formed and require further investigation. I expect that we would need to hire a JAMStack consultant in 2020 to help migrate the membership infrastructure.

Update: it looks like there’s a problem with the current payment processor (Plug’N’Pay) in that it doesn’t seem to work in Asia. I worked with Priscilla and Pranav to file a ticket which led to them recommending a different endpoint URL on February 6th. After that, it seemed to work temporarily but it looks like it’s broken again. The customer support at Plug’N’Pay seems to be less than stellar. One option is to switch payment processors (also recommended by Pranav). My goal was to switch to something modern like Stripe in 2020 but perhaps we have to do it now. This would require a bit of research to compare the transaction fees between Plug’N’Pay and Stripe among other things. I would prefer not to rush into this, if possible. Of course, it depends on how urgent of a problem this is.


*ACL Online Elections

There are several third-party services for online elections that we should be using instead of our custom solution. All of these services require uploading a roster of members and the candidate metadata. The vote gathering, vote counting, and certification of the results is all handled by the service for a fee. These services are secure and used by several professional organizations. Examples include nVotes, OpaVote, ElectionRunner (nice flat per-election pricing), and BallotBin (that was recently used for a SIGEDU election). In terms of a timeline, I suspect this will not be set up until mid-2020.

Surveying ACL Membership

Currently there’s no standardized survey instrument to collect information from the ACL membership when need arises (e.g., nomination forms, visa invitation letter forms, surveys, student volunteer signup forms, etc.). Folks have generally been using Google Forms for this. However, Google Forms is not available in all parts of the world. I conducted some tests using a VPN service (helped by members of the NAACL 2019 Diversity & Inclusion committee) and found that Microsoft Forms is more widely available than Google Forms though it does not have all of the features that Google Forms does (collaborative editing of forms requires a paid account; there are no form sections; input validation is limited). Therefore, my recommendation would be to purchase an Office 365 account for ACL use and use that to create Microsoft Forms as the survey instrument going forward.

Conference App Platforms

There are two major platforms that have been used to create mobile apps for recent conferences – GuideBook and Whova. In my capacity as Web/App chair for NAACL 2019, I conducted a comprehensive comparison of the two platforms so as to make it easier for future conference app chairs to pick the platform based on their needs. This comparison will be added to the ACL website under the conference handbook.

Meta-infrastructure

I created and submitted an application to get the ACL organization on GitHub be billed under the non-profit complementary plan under which – just like Slack – we do not have to pay anything but have access to most of the paid features including unlimited organization-level private repositories. These can be useful for any code and documents that we want to have under version control but with restricted access.

Recruitment

I would like to recruit for following positions to help with the website:

  • Website content lead & volunteers (to help migrate content from the old website and to organize it on the new website).
  • Website frontend lead & volunteers (e.g., building a scalable and user-friendly search interface and implementing any other customizations to the front-end).
  • Website backend lead & volunteers (backend JAMStack deployment and integration with Zapier).

In addition, as mentioned earlier, I would like to hire a JAMStack consultant for a short-term paid position to help me get the rest of the web infrastructure in place. This consultant will work closely with the frontend and backend leads to integrate the membership/payment infrastructure with the rest of the website.

I would like to start recruiting for these positions in the next few months.

Summary

There is a lot of work to be done given the state of the current setup but I think I have some relatively promising starting points in mind. Please note:

  • Any modernization effort would require spending a reasonable amount of money on paying for the third party services. A rough back-of-the-napkin calculation yields a number like $250 per month (subject to revision).
  • Given the other time commitments I have made for 2019 (NAACL 2019 web/app chair, SIGEDU exec board member, and book-writing), I expect to focus solely on the website for the first year with the rest of the work deferred to 2020.