Looking back on 2011

Three weeks and change into 2012, here's a look back at what Populi did in 2011...

We started the New Year with a rewrite of Academics to include Programs, as well as new account management features and better navigation in Admissions.

In April we released Populi Library.

In June we overhauled Financial Aid to include aid applications, batch disbursements, ISIRs imports, and a lot more.

In September we overhauled Courses with new navigation, lots of improvements to online learning, and embeddable streaming media hosted on Populi's new file storage system.

Along the way...

In February we improved search, degree audits, relationships, and statements.

In March we improved the presentation and organization student financial info (statements, balances, and the like...).

In April we added online application notifications so your Admissions staff can hear about new inquiries as soon as they click Submit.

After releasing Library, we followed up with new features (Library Links) and some other updates.

October saw some behind-the-scenes stability and performance improvements.

And in December (right before shuffling off to the Christmas party), we released further improvements to email and the Populi background job-manager, and gave tables a new look.

We have a lot planned for 2012—and we're working on some of it even as this post is being written. We're looking forward to the work we'll get to do, and to seeing how our schools put the fruits of our labors to use.

 

 

Feature Spotlight: Relationships

Every person in Populi gets their own profile. It's the best way to gather, organize, and easily find information about the teeming mass of individuals involved with your school. Of course, one of the things about people is that we're all connected in webs of relationships—familial, professional, social—so we built a way for you to keep track of that, too. Fittingly enough, it's called... Relationships.

It's in the Info tab on everyone's profile, showing and linking to everyone in Populi that the person is related to in some way:

There are several types of relationships, and one click designates any one of them as the person's Emergency Contact:

You can sync contact info among related people. This spares you having to double-enter addresses and the like:

Relationships also facilitates some handy communications options, like spouse and merge options in mailing lists:

Another cool thing— parents of students get "Parent of [standing]" system tags, letting you easily communicate with, say, Parents of Seniors to tell them about upcoming graduation activities:

Relationships: another simple feature that lets you do a lot with the people you're keeping up with in Populi.

Oppose SOPA and PIPA

On Tuesday, January 24th, the U.S. Senate is slated to vote on the Protect Intellectual Property Act (PIPA). Together with its counterpart bill in the House of Representatives, the Stop Online Piracy Act (SOPA)*, it seeks to curtail online bootlegging from overseas websites via several means:

  • It gives the U.S. government the power to force internet service providers to block access sites that traffic in bootlegged (or, in the words of the bill's proponents, pirated) content.
  • The government could also sue search engines and other websites to prevent them from linking to such sites.
  • U.S. credit card companies and advertisers would be required to cancel their accounts with those sites so as to cut off their sources of funding.
  • It prescribes jail sentences for users who post copyrighted works or links to infringing sites.

We here at Populi oppose these two bills for a number of reasons. Our chief concerns:

  • They extend considerable powers to the U.S. government to shut down sites that the beneficiary corporations consider "infringing".
  • They allow corporations to sue the owners of such "infringing" sites.
  • The bills are draconian: the government could block sites like Facebook and Twitter if just one user posted just one link to an infringing site.
  • The smallest infraction runs afoul of the bill's harshest measures.
  • Perhaps worst of all: the bills destabilize the Domain Name System (DNS), one of the key methods used to make the internet secure and at all trustworthy.

We care about the internet—it lets us serve our customers and earn a living, after all—and PIPA and SOPA are foolish, short-sighted pieces of legislation that will do great harm to it.

Read more about these bills at the Electronic Frontier Foundation and americancensorship.org and contact your Senators to encourage them to oppose PIPA.

* SOPA was shelved on January 16th, which means that the House won't vote on it. It is currently very wounded, but not dead.

Letting people unsubscribe is good for your mailings

In our last release, we improved how Populi prevents you from sending email to people who don't want it.

Formerly, we had a "No Mailings" system tag, which indicated that the recipient had clicked the "Unsubscribe" link in a Populi email. The "unsubscribe" link only appeared for people without a Populi user account, and once clicked, that person would no longer get any email sent via Populi—at any of their addresses.

We replaced that with a finer-grained "No Mailings" setting for individual email addresses. If someone has both a school address and a personal email address, you can, for example, set their personal address to "No Mailings". Or, if someone is included in a Mailing List, they have various "unsubscribe" options—they can unsubscribe from just that mailing list or from all Populi email. And, these options appear for all your email recipients, whether or not they have user accounts. Whatever the case, the new "No Mailings" setting gives your recipients greater control over what they receive from you. And that's an improvement because letting people unsubscribe from your mailings is actually good for you.

We hear that rustling in the audience. "Huh? How is that good for me?"

A few things are in play here. The first is a legal matter: the CAN-SPAM Act of 2003, a law that establishes rules that all commercial email must live by (unless you enjoy $16,000 fines). Many parts pertain to Populi email; here's an excerpt from the compliance guide that helped guide the "No Mailings" upgrade:

Tell recipients how to opt out of receiving future email from you. Your message must include a clear and conspicuous explanation of how the recipient can opt out of getting email from you in the future. Craft the notice in a way that’s easy for an ordinary person to recognize, read, and understand... Give a return email address or another easy Internet-based way to allow people to communicate their choice to you. You may create a menu to allow a recipient to opt out of certain types of messages, but you must include the option to stop all commercial messages from you. Make sure your spam filter doesn’t block these opt-out requests.

If the message contains only commercial content, its primary purpose is commercial and it must comply with the requirements of CAM-SPAM. If it contains only transactional or relationship content, its primary purpose is transactional or relationship. In that case, it may not contain false or misleading routing information, but is otherwise exempt from most provisions of the CAN-SPAM Act.

The first paragraph is helpful. The second paragraph muddies the waters with that word, "most", and the varying ways the law has been applied since its passage has made us a little cagey. In the wake of CAN-SPAM, the best-practice is to play it safe and give the recipients more ways to opt-out of the emails you send them... or, more accurately, to give our customers more way to let their recipients opt-out.

The second big thing in play is this: there are two ways a recipient can opt-out—by clicking your unsubscribe link or... by marking your email as SPAM. Getting marked as spam presents manifold problems:

  • All of your future emails will go to the recipients' spam folders and will miss their inboxes entirely
  • You will not know whether your emails are hitting their inboxes or their spam folders—if you're marked as spam, you receive no notification whatsoever
  • Their email service will become very suspicious about any email sent from your domain to anyone using that service—not just the person who marked you as spam
  • If you're marked as spam often enough, Populi gets blacklisted—affecting not just your emails, but also emails from other Populi customers

To put it concretely, every time someone marks a Populi email as spam, that reduces your chances of getting into a new prospect's inbox.

Our previous setup, unfortunately, allowed for considerable abuse of Populi email; a few irresponsible senders sent out a lot of unwanted mailings, and our old protocol didn't give their recipients adequate recourse to opt-out. Consequently, a lot of Populi mail was being marked as spam, and it was getting harder and harder to deliver even legitimate, responsibly-sent messages. The last batch of email improvements, we trust, will comprise a fine counterattack against these problems.

So, in summary:

The old way: potential CAN-SPAM violations for you, email deliverability headaches for us, annoyed recipients, and uncertainty about whether your mailings made it to the inbox.

The new way: CAN-SPAM compliance, increased email "trustworthiness", better unsubscribe options for recipients, and a "No Mailings" setting that lets you know where you stand.

Feature Spotlight: Video encoding

So, you've made a video recording of a lecture and you’re ready to show it to your students…

How do you make that happen?

First, you need to give it some place to live—a central location where it will be stored (and not lost!) and where your students can access it.

In other words, you need some kind of secure, internet-connected file server with a user interface you and your students can understand. You also need someone to make sure it runs, remains safeguarded from hackers, and has some way of backing up the important work you've stored on it.

So, you somehow get your video file on a server. Now your students want to watch it, but some have laptops, others have iPhones, and one of them even bought something called a Motorola XyBoard.

How will you make sure your video will play on all of those different devices?

You have to convert your video to multiple formats so that any device—iPads, mobile phones, PCs, etc.—can read it. Next, you have to create several different versions of each format with differing degrees of quality to account for the variations in data speed among those devices. This process is called encoding: it creates multiple formats and versions of your video to make sure that just about any internet-connected device can play it back.

So, you've managed to encode your lecture. Now your students with high-speed internet can watch a high-quality version of it, and students watching over a slower cell network can watch a compressed version that won't stall out for minutes at a time. Whatever device they have, whatever connection speed it’s running—your students can watch it.

That lecture is over an hour long. What if your students watched the first half yesterday and today they want to pick up in the middle?

You have two options: students can download the entire video and sit through the first half while they wait for the second half. Or, you can stream it to them—which lets them jump around within the video and watch what they need to watch. To stream the video, your device needs a way to tell the server “start playing at the 35-minute mark”. What’s more, because different devices stream video in different ways, your server needs to know what kind of device it's talking to.

So, you’ve set up a way for your server to talk to devices, know what kind of devices they are, send them the right files, and let them pick up where they left off—now your students can resume the lecture where they stopped watching yesterday.

What if you’re on the East Coast and you have distance students watching your video while sipping Kona coffee in a café in Hilo, Hawaii? And what if the server connection to the café’s wifi is slow as molasses?

Despite how little it seems physical matters affect the internet, if your video server is 6,500 miles away from your student, that will cause lags that result in delivery of a lower-quality video. If you want to your students to access the highest-quality video possible, you need a Content Delivery Network (CDN). A CDN maintains “edge” locations in multiple areas around the world. When a far-off somebody watches one of your videos, the CDN copies that particular file to the nearest edge location, allowing for a much swifter data transfer. And that lets your faraway distance students get a much quicker stream than if they were streaming it from your server.

So, you connect your file server setup to a CDN, ensuring the best connection between your students and your lecture. But what if... well, enough of that for now.

And that's how you make it happen. Your lecture is stored and backed-up, is encoded and optimized for streaming to multiple kinds of devices, and has the fleetness of a CDN to get it to your students regardless of their location. And all you needed...

Get your calculator.

You can also make it happen using Populi's built-in file storage and media streaming.

It handles everything mentioned above—and then some. With it, all you need to do is record your lecture, upload it, and start using it. We do everything else:

  • Store your original file in the Amazon Cloud and back it up to the Rackspace Cloud
  • Convert it to multiple formats so different devices can play it
  • Make multiple copies in each format, each compressed to a different quality
  • Configure everything for streaming so your students can skip around within the video
  • Send all files through Amazon's CloudFront CDN
  • Create an embed code so you can easily add it to your courses

Populi makes your audio and video files far more useful and accessible to your school for a fraction of the effort and—given the complexity of a home-grown setup—a fraction of the cost. Every pricing plan includes an allotment of file storage, and extra storage is available for $2.50** $1 per GB per month. And since we've done all the hard, behind-the-scenes stuff***, there's no setup on your end whatosever—you can just start using it.

* Flash-enabled devices, for instance, use a protocol (a formally-defined language that lets computers talk to each other) called RMTP to tell the server, “start here.” iOS devices—iPhones, iPads, etc.—require that the video be split into dozens or hundreds of chunks; they then request the video start playing with the correct chunk (the one containing the 35-minute mark).

** Price per GB was changed as of July, 30 2012. Read more.

*** We even designed our own encoding software.

New release: Back-end stuff and a new look in tables

In yet another low-key release, the development crew stayed up late the night of December 6th to push out a few updates.

The centerpiece of the release was a further round of improvements to email. We've been releasing incremental updates to email over the past several months, but we realized there were some fundamentals that we really needed to address. So, the first order of business was to improve our email infrastructure—by outsourcing it. We now have a setup with a terrific cloud-based email delivery platform that unburdens us of all kinds of headaches and allows for much greater scalability in the future (indeed, we really had outgrown our old setup). We now employ DKIM email-signing, which–skipping an incredibly-technical explanation—improves the "trustworthiness" of Populi emails to better keep them out of recipients' spam folders. Finally, we did away with the No Mailings system tag, replacing it with a "No Mailings" option in Contact Info. You can mark individual email addresses with "No Mailings"; additionally, when emailing a Mailing List, your recipients will have the option of unsubscribing from all mailings or from mailings to that particular list.

Related to email, we rewrote the Populi job manager (in proper computerese, that would be spelled "jobmanager"). The job manager is a background timing script that periodically checks for tasks that Populi needs to complete at a certain time. For instance, if you email a one-time list in Communications at 10 AM, that creates a task. When job manager strolls by on his usual rounds, he finds your email task and makes sure Populi gets the job done—at 10 AM. Our old job manager was itself dependent on another application that organized the tasks; if that application crashed at 9:59, job manager would stroll by at 10 and think, "Hm, nothing to do," and move on. Consequently, emails were getting lost and were sending without attachments—among some other issues. The new job manager no longer relies on that secondary application. Instead, tasks remain to be found by job manager until they are completed, which better insures that they actually get done.

We also refreshed the look of the various tables in Populi. Tables are everywhere—from the Students Table in Academics to the list of Charges on the Profile's Financial tab—and now they're easier to read and (we think), much more visually appealing.