Interesting comments from Kevin Spacey on House of Cards, Netflix, and the future of television distribution.
Kevin Spacey on Television Distribution Aug 24, 2013
Communication, Culture & Critique Article Aug 20, 2013
I’m pleased that my paper on online television distribution has now been published in the ICA journal, Communication, Culture & Critique. The paper attempts to outline conceptual tools for studying the distribution of television and other media online. Better than anything I’ve published previously, I believe it captures my outlook and (hopefully) the value of my methodological strategy of tracing distribution paths from producers to end users.
Among other things, the paper gives a history of Boxee, a tech startup that prominently challenged traditional ways of distributing television and resisted domestication by content providers for a surprising period of time. As a post-script to the story told in the paper, I should note that Boxee was sold to Samsung, pretty much the day after I approved the final proofs for this article. Isn’t that the way it always goes? Thankfully, this turn of events fits fairly neatly into the framework and narrative I delineate in the article, but it still would have been a nice dénouement to have included.
The citation info for the paper is as follows:
Braun, J. A. (2013). Going over the top: Online television distribution as sociotechnical system. Communication, Culture & Critique, 6(3), 432-458.
And for those without library access, a preprint of this article also appeared a while back on Culture Digitally.
Casey O’Donnell’s recent post at Culture Digitally reminded me of a conversation I had not long ago with another researcher, in which we realized that, although both of us were speaking about “the cloud,” each of us were talking about slightly different things. That conversation grew into an email thread that I’ll adapt here, in which I tried to “disambiguate” (oh, lovely Wikipedia word) the various meanings that have grown up around “cloud computing.”
I feel like clarification, however small, is important because, as Tarleton Gillespie has pointed out with his example of the “politics of platforms,” when you see a good deal of equivocation around a particular word, it’s often an indicator that people are using it strategically in ways that are important to grasp for social critics and social scientists, alike.
And people certainly equivocate over what they mean by “cloud computing.” I count at least three related, but distinct meanings for “cloud computing” in popular use these days, one having to do with technical infrastructure, another to do with user experience, and a third with business model.
Below, I try and pick apart these meanings. Note that I’m intending this post for those without an extensive technical background, but readers with technical expertise should feel free to chime in with critiques, clarifications, and other comments. Those interested in a more extensive discussion should check out the excellent Wikipedia article on cloud computing which does a superb job of breaking down the various uses of the term and the history of the technologies that surround it.
First there’s the technical component. While cloud computing has a long and storied history, for the sake of convenience I’m going to sketch its technical underpinnings here in terms of relatively recent and simple developments and examples.
Interactive websites, like blogs, social networks, e-commerce sites, etc. are commonly referred to as “web applications.” And, as a point of reference, many web applications are called “three-tiered” applications, in that different parts of their code are run in three different environments. One of these “tiers” is the database management system, which stores and, upon request, coughs up all the data used in the web application. If your web application is something relatively simple, like a blog, the database management system is storing and handling a database full of things like blog posts, comments, user login information, and so forth. The database management tier runs on a server, but it is compartmentalized such that it can run on an entirely different server from the rest of the server-side software described in the next tier.
The second tier of the web application is the server-side software, which is just what it sounds like: software that’s running on the web server. This part of a web application is responsible for responding to requests from users, sending their information to the database, and using information returned by the database to deliver contextually specific webpages for the user (e.g., showing you a Facebook page populated with your friends’ information, or a page of search results for the keywords you entered.).
Note that of the three tiers I’ve described, only one (the browser tier) actually runs on your own computer or device. The other two run on the server, and this means that sophisticated and/or well-trafficked websites, while they may not use up many resources on your own computer, can end up putting quite a lot of strain, in terms of storage and memory, on the server running the site. To overcome these challenges, particularly high-traffic sites like Amazon and Google that also run sophisticated web applications housing lots of data, spent a lot of time and money figuring out ways to distribute the data storage and processing tasks of the first and second tiers across numerous computers, rather than assigning them to a single beleaguered server.
This is an oversimplified, but hopefully reasonably accurate, description of what cloud computing means from a technical perspective. There are, of course, some caveats. First, in addition to companies like Google and Amazon, there were, of course, other less consumer-oriented companies, like IBM and Oracle, who did a lot of pioneering in these areas, and the development of the technologies behind cloud computing long predates the emergence of the term. Second, many web applications use APIs, RSS, etc. to also provide data to software other than browsers (e.g., native mobile and desktop apps, etc.). And third, cloud computing can involve the creation of distributed computing resources for applications entirely unrelated to the web.
With regard to the second meaning of “the cloud,” user experience, many users have found web applications supplanting functionality they traditionally associated with desktop applications and a local hard drive. The ostensible advantages for end users are clear enough. If you use a web application like Google Drive to work on and store your documents, you can save hard drive space on your own computer, you don’t have to pay for software like Microsoft Office, you can access your data from anywhere using any operating system that will run a full-featured web browser, and—since much of the computing horsepower behind the web application comes from the server, rather than your local machine, you can get away with purchasing less expensive hardware.
In many cases, this sort of user experience is underpinned by a distributed computing infrastructure that fits the technical description of cloud computing as I’ve defined it above. However, regardless of whether the actual server infrastructure underlying a particular application is distributed or not, the notion of using online services to store data or get work done has been popularized/marketed to users as keeping one’s information “in the cloud.”
The third sense in which I hear “cloud computing” tossed around is as a business model. The neat technical trick described above, of distributing server-side software and database functionality across a large number of computers, has turned out to be salable in that lots of developers want to be able to write and host their web applications without worrying about how system resources like storage space and memory will scale as they take on more users and page views. So companies like Amazon (via Amazon Web Services, “AWS” for short) and Google (via App Engine) began selling their distributed computing power to developers—much like an ordinary web hosting service—but instead of simply leasing space on a server you instead leased access to the company’s distributed—a.k.a. “cloud”—computing resources for storing your data and server-side code.
This business model of setting up a distributed computing infrastructure to sell to application developers has become increasingly common, as has the creation of online applications that depend on cloud computing resources (e.g., Google Drive or Dropbox) and marketing them directly to end users. This business strategy allows companies to sell access to their infrastructure and/or applications for a recurring fee (or to sell ads against them in perpetuity in the case of “free” services). For example, where a university might once have paid a one-time fee to license a copy of Microsoft Outlook and Word, it may now instead pay a recurring premium use Gmail and Google Docs as part of Google’s “Apps for Education” program.
Similarly, beyond the cloud services that we encounter daily as consumers, there are a huge variety of cloud services now being developed for specialized industries, from medical records management to human resources.
Many cloud computing services, like App Engine or AWS act as intermediaries, delivering data and software created by independent developers and content providers. In writing about cases like these, I occasionally use the term “transparent intermediaries,” since part of the promise of services like App Engine is that users will remain unaware of the interventions they provide in the delivery of a client’s branded product.
What’s Interesting Here and Why’s It Important?
With regard to why the cloud, and its various definitions, matter to social critics and communication researchers, Jonathan Zittrain’s book The Future of the Internet and How to Stop It comes to mind. It does a nice job of depicting both the advantages and the pitfalls of centralized computing power for society and end users. When our applications and data are stored in Google or Facebook’s software and infrastructure, we trade a sizable amount of agency for the conveniences they provide. We’re subject to their terms of service, and we also experience a lack of control over the features we have access to. By comparison, until recently, if we didn’t like the changes made to a new version of Adobe Photoshop, we could continue to use the old one for years, whereas we’re immediately and permanently stuck with any change Google makes to Gmail or Google Drive—and, now, any change Adobe makes to its Creative Cloud. Moreover, users who trade down to tablets or lower-powered hardware with the intent of ditching desktop applications in favor of web-based ones are especially vulnerable to issues like these. And Zittrain points out that as our data and our computing resources become increasingly centralized, they also become more vulnerable to regulatory pressures.
Issues of lock-in always loom large with cloud computing, as with any “software-as-a-service” business strategy. In the context of social networks folks like Søren Petersen have done a nice job of pointing out that even the ability to take your data with you when you leave a service doesn’t truly free the user from issues of lock-in, as much of the value that online services add has to do with the context in which your content is used and displayed, rather than the data itself. This is, I imagine, as true for clients of enterprise cloud computing applications as it is for users of Facebook.
More generally, as I mention at the outset of this post, the multiplicity with which companies and individuals use the term “cloud computing” also suggests that the term may be deployed strategically, akin to the way Tarleton Gillespie has documented the manner in which companies and developers advantage themselves by using the term “platform” differently in distinct social and political contexts.
Lastly, the looming presence of Oracle in many areas of cloud computing adds another wrinkle. Tensions between proprietary and open source software development strategies have run high in recent years as various companies have tried new ways of monetizing open source projects that have at times run counter to the spirit of commons-based peer production on which open source has long been predicated. (Tony Liao’s forthcoming work on the Android Developer Challenge contains a nice discussion of some of these issues.)
Oracle has found itself at the center of many of these debates. As a corporation it has a reputation of being somewhat less than friendly in its policies toward open source software communities, but at the same time has taken over administrative oversight of numerous major open source projects in recent years as it has bought out competitors like Sun, which had been heavily involved in open source development. For example, Oracle now oversees MySQL, the open source database management software that underpins a huge a huge portion of the web’s interactive sites, and Solaris, a once largely open-source operating system that had competed nimbly with Linux. And Oracle only recently ceded control of OpenOffice, an open source competitor to Microsoft Office, but not before most of the software’s original developer community had abandoned ship.
Since tensions between open source and proprietary software development strategies are at the center of many debates about the locus of user agency in cloud computing, Oracle’s involvement in various cloud computing tussles may ultimately add some interesting threads to the narratives surrounding the still-dynamic term, “cloud computing.”
“I have to share the credit. I may have invented it, but I think Bill [Gates] made it famous.” Jul 13, 2013
Emacs Keybindings for LibreOffice Jul 9, 2013
As I wrote recently, I’ve had a difficult time finding a Linux word processor that meets my day to day needs and also allows me to easily use Emacs keybindings.
After that post, I finally bit the bullet and manually configured at least a few of the more commonly used Emacs keybindings in LibreOffice Writer. As I mentioned previously, this process is made painful by the need to remap numerous conflicting default shortcuts along the way, while avoiding the creation of new conflicts with the application and the desktop environment.
Now that it’s done, though, I figured I share the fruits of my labor. The final solution is far from elegant, but is better than any of my own previous attempts, and I’ve reduced the number of unresolved shortcut conflicts I found in other solutions around the web.
Here’s the saved shortcuts file, which can be imported as-is into LibreOffice, in the event it’s helpful to anyone else. For the sake of posterity, I should note that it was created using LibreOffice v184.108.40.206, and I’m providing it, as usual, with no warranty express or implied:
Note that there’s no need to unzip the file—LibreOffice expects this file format. To import it, download the file, open LibreOffice Writer, go to ‘Tools > Customize > Keyboard’ and click the ‘Load’ button. Select the file, click “Okay,” and you’re done.
Here, specifically, are the Emacs keybindings I implemented, along with where to find them under LibreOffice’s ‘Tools > Customize > Keyboard’ interface if you want to reset them or mess with them yourself:
C-f: forward one character (Navigate > Go Right)
C-b: back one character (Navigate > To Character Left)
C-n: next line (Navigate > To Line Below)
C-p: previous line (Navigate > To Top Line)
M-f: forward one word (Navigate > To Word Right)
M-b: back one word (Navigate > To Word Left)
C-a: beginning of logical line (Navigate > To Paragraph Begin)
C-e: end of logical line (Navigate > To Paragraph End)
C-v: next page (Navigate > Next Page)
M-v: previous page (Navigate > Previous Page)
M-d: kill rest of word (Edit > Delete to End of Word)
C-k: kill rest of logical line (Edit > Delete to End of Paragraph)
C-w: kill selection (Edit > Cut)
M-w: copy selection (Edit > Copy)
C-y: yank clipboard content (Edit > Paste)
Note that I opted for logical lines, not screen lines, when it came to keybindings like C-a, C-e, and C-k. This means that a line goes on until a carriage return, as opposed to ending each time the text wraps. It’s possible, though, to have it either way if you care to futz with the shortcut configurations.
As indicated, implementing the above keybindings meant remapping some of LibreOffice’s default shortcuts. Below are the new keybindings I gave to shortcuts that were overwritten by my new configuration:
Create New Document (Application > New)
Print Document (Documents > Print)
Close Document (Documents > Close)
Center Text (Format > Centered)
Make Text Bold (Format > Bold)
Select All (Edit > Select All)
Redo (Edit > Redo)
Now: C-Shift-Z (Common “redo” shortcut for other applications)
Paste (Edit > Paste)
Now: C-y (Another Emacs keybinding)
There is one still-broken keybinding. ‘M-w’ previously opened the “Window” dropdown menu, but is no longer mapped to this feature. I’m sure this is fixable, but I haven’t yet found the menu option or configuration file for remapping LibreOffice’s menu shortcuts.
Note that, while the above replacement bindings are verbose, making them so prevents a snowball of other shortcut conflicts that would likely end up being worse in the long run. And I tried to be consistent, so as to make the remappings easy to remember.
If, at any time, you want to undo these keybindings and go back to the LibreOffice defaults, you can use the ‘Tools > Customize > Keyboard’ interface in Libreoffice to change them back. This requires a lot of work by hand, however.
The simplest way to get back all the original LibreOffice keybindings is to close LibreOffice. Then, locate and delete the ‘registrymodifications.xcu’ file inside your LibreOffice settings folder (usually ‘~/.libreoffice’ or ‘~/.config/libreoffice'; and make a backup first, for the love of God—don’t just wipe it because I told you to), then restart LibreOffice. ‘registrymodifications.xcu’ houses the tweaks we’ve made, so deleting it gets rid of them instantly, and restarting LibreOffice will regenerate the deleted file with default settings. The downside of this, though, is that it has the potential to simultaneously destroy other customizations you may have made to LibreOffice. If you want to do more precise surgery on registrymodifications.xcu, check out this LibreOffice help forum thread, which gives instructions for excising keybinding modifications from the file.
In any case, please enjoy, and feel free to post your own fixes/improvements/solutions in the comments.
“RSS represents the antithesis of this new world [of proprietary APIs]: it’s completely open, decentralized, and owned by nobody, just like the web itself. It allows anyone, large or small, to build something new and disrupt anyone else they’d like because nobody has to fly six salespeople out first to work out a partnership with anyone else’s salespeople.” Jul 3, 2013
“Being interested in both natural and programming languages, I decided to expand on this analysis of profanity in git commit messages per programming language.” Jul 3, 2013
In a Bind: Word Processing in Linux Jul 3, 2013
The year is 2013 and as far as I can tell, there is no good solution for word processing in Linux—at least according to my modest standards. Perhaps this is unsurprising, given that some early Linux FAQs concerning word processors basically suggest that they’re unnecessary nuisances for people unfamiliar with markup languages. And while I’d happily forgo word processors all together, unfortunately, I’d have a hard time getting employers, collaborators, and publishers to agree to the suggestion. And so my search for a good open source word processor is ongoing.
In most contexts and about most things, I am a firm exponent of open source software generally and the Linux ecosystem in particular. But here is one area in which I am flummoxed. All I want are three simple things:
- To open and create MS Word-compatible comments and annotations. I may be willing to work in programs other than Microsoft Word, but I can’t count on my collaborators doing the same. If they mark up a document, or ask me for comments, it’s generally in .doc/.docx format.
- To export in a format acceptable to academic journals in the social sciences. In terms of the text itself, this generally means APA—or occasionally Chicago-style—headings, in-text citations, and references. With regard to filetype, it almost always means .doc or .docx.
- To use Emacs/*nix keybindings. The program should come with the option to use—or I should be able to implement—basic Emacs keybindings without creating horrible conflicts with other keyboard shortcuts.
This last point may seem nitpicky, but part of the joy of Linux for me is the ability to navigate my whole OS nimbly with the keyboard, and Emacs keybindings—along with vim’s—are pretty much as close as Linux comes to universal shortcuts. They’re present, or at least available, in just about every environment where one edits or works with text. And like many people who’ve used programming text editors along the lines of Emacs/vim or spent any length of time on the command line, these efficient keyboard shortcuts have ruined me when it comes to working in a word processor.
Here are the things I have tried, and how they stack up.
Comments + annotations. Until recently, comments and annotations were a bit lousy in LibreOffice, but as of version 4.0 it now has full support for MS Word annotations.
APA formatting. With formatting tools standard to pretty much any word processor and the ability to save in almost every popular document format, formatting for social science journals is no problem for LibreOffice.
Emacs keybindings. Here’s where things get sticky. Marcus Nitzschke has released a configuration file that ostensibly allows you to use simple Emacs keybindings with LibreOffice, but (a) it doesn’t always work as advertised (the CTL-B keybinding for moving back a space doesn’t work for me, even in the latest version of LibreOffice), and (b) there are conflicts all over the place. For example, CTL-A for jumping to the beginning of a line overrides the program’s existing shortcut for “select all,” and CTL-E for end-of-line overrides the program’s default shortcut for centering text. Remapping these other shortcuts only makes matters worse. For example, any alternative key combo that uses the Command/Windows/Super key is likely to conflict with one’s desktop shortcuts, and using the Alt key overrides yet more existing LibreOffice keybindings that have to be remapped in turn. All this gets messy very quickly. I imagine the person who finally and successfully remaps every LibreOffice shortcut to make it compatible with Emacs keybindings will find their online tip jar very full within a matter of hours. Comments + annotations. While it’s on the roadmap, Words sadly does not support MS Word-style comments and annotations.
APA formatting. Like LibreOffice, Words does a fine job when it comes to APA style and the creation of numerous document types.
Emacs keybindings. Admittedly, I haven’t searched very hard, since the annotations problem prevents me from using Words anyhow, but I’ve yet to find a good Emacs keybindings solution for this application. Comments + annotations. AbiWord supports comments, but it has its own unique system for comments and annotations that never seems to play well with MS Word.
APA formatting. Again, AbiWord does a fine job when it comes to APA style and the creation of numerous document types.
Emacs keybindings. Of all the Linux word processors, AbiWord is, surprisingly, the only one I’ve found that has built-in, out-of-the-box support for Emacs keybindings. If its system for comments and annotations were a bit more standard and more compatible with MS Word, I’d happily use it.
Now, you may ask, if I love Emacs so much, why don’t I use it as my word processor? Well, the answer is I’ve tried. Specifically, I’ve tried to use Emacs’ various TeX/LaTeX modes, as well as Org Mode‘s export features. While keybindings obviously cease to be an issue in these scenarios, other annoyances quickly become apparent.
Oh, to be a computer scientist, a mathematician, or a physicist, whose communities happily accept TeX files. Unfortunately, the whole point of TeX appears to be to allow folks who’re comfortable with Emacs and other programming editors to create beautifully typeset documents, while avoiding having to use a word processor altogether. Unfortunately for me, this means that reviewing MS Word comments, or exporting a TeX file to .doc/.docx format is a pain, and—for TeX’s core user base—beside the point. So, even though it’s relatively simple to create an APA-formatted TeX document, it’s hard to commute it into a file format that collaborators or social science journals will accept.
Org Mode is pretty awesome in that it allows you to write entire articles in Emacs and then export them in a format that can be opened in a word processor. It even works with a common citation manager. Unfortunately, it won’t as easily open or allow you to review comments on a document created in a word processor. What’s more, Org Mode’s core function is outlining, and an Org Mode document wants, with all its heart, to be exported in an outline format. It’s theoretically possible to override this behavior by editing the document’s settings, but Org Mode’s word processor compatibility still seems to be in its infancy and I’ve yet to be able to successfully configure a document such that it didn’t need a ton of reformatting after having been exported as a word processor document.
In short, I’m frustrated. If all you’ve ever used is Microsoft Word, you could probably make the jump to LibreOffice without skipping a beat. But once you’re hooked on those damn Emacs/shell keyboard shortcuts, it’s surprisingly hard to live without them.
So what word processor do I use? Sadly, in this one area I’ve forgone Linux and open source. I use Apple’s Pages. Ironically, despite the fact that Apple has gleefully blown up tons of Unix defaults, Pages (and other Apple software) support all the basic Unix keybindings, while open source word processors mostly fail miserably in this area.
If you have the solution here, please let me know. If there’s a Linux word processor that meets my three simple requirements, I’ll be immensely happy to be proven wrong.