Monday, September 15, 2014

Microsoft buying Minecraft: a (VR) Home of their own?

It was "officially" announced that Microsoft is buying Mojang, the developer of Minecraft, for $2.5 billion dollars. I haven't seen it documented how much of that is cash, stock, deferred sales/licensing royalties, or what. What I have seen is a lot of people griping on social media about how "aimless" the purchase seems to be for Microsoft. Personally, I think it's a genius strategy, and well worth the amount reported, for three reasons that are too nuanced to convey over Twitter.

First, Microsoft had to do something to slow the PS4's momentum with the holiday coming up. They really don't have a unique way to compete going into the holiday season, since they can't rely on a thundering herd of existing purchasers being influencers in their social networks. Is the alternative to "take content away" from PlayStation via exclusive deals? That hasn't worked out (yet), either. It's been widely reported that many PS4 purchasers are folks coming from the Wii -- which is undeniably positioned as a family-friendly console. Unfortunately, the PS4 doesn't currently have a lot of family-friendly titles at retail -- there's Knack and a couple of (visually underwhelming) Lego games. (Everyone who cares knows there's a TON of family-friendly games available digitally for PS4, but people walking into a Best Buy or Toys R Us will make a decision based on what's on the shelf.)

This holiday will see Little Big Planet 3, SingStar, Just Dance, and Lego Batman 3 available for PS4 (and/or PlayStation TV), which will certainly help drum up interest in parents looking to engage with their children via gaming in a way that tablets and phones simply don't allow. Several parents I know are also getting concerned about their children's eyesight being messed up by having bright iPad screens so close to their face all the time. PlayStation has been marketing Minecraft fairly heavily, paying dearly in shelf space with a retail version for PlayStation 3. For parents souring to mobile for various reasons, but needing a recognizable franchise as a pivot point for themselves (and their kids), Minecraft bundles at retail gives those parents (and kids!) the comfort zone they need to transition to a next-gen gaming console.

The folks at PlayStation are smart, and very likely know that continuing to capture the gamer families transitioning off of Wii and/or iPhone/iPad will be key for expanding the market for PS4 (and Vita). The opportunity is especially massive, given the crater left in the family gaming market as families skip the Wii U in droves. As a result, even though there's been no announcement, I would bet money that there were/are solid plans for Minecraft bundles for PS4 *and* Vita planned for this holiday season. Microsoft's purchase of Mojang potentially handicaps that strategy to a large degree. Sony now has to decide whether they want to follow through build a huge marketing and physical retail campaign around what is now their primary competitor's franchise. This is a genius move on Microsoft, but they are relying on a more Japanese attitude to prevail. If Sony has any vision, they'll stay the course and upsell other local co-op/cross-play PlayStation exclusives in the same bundles: Knack and Resogun on PS4, Guacamelee and LittleBigPlanet on Vita, etc. If Sony doesn't stay the course with their likely plans for Minecraft PS4/Vita bundles, they may miss out on a bunch of consumers flocking away from Nintendo and iOS devices during holiday 2014.

Second, Minecraft gives Microsoft something they desperately need -- the basis (mostly branding-wise) for a persistent, online, social space that will give younger gamers a place to transition to instead of Snapchat, Facebook, and whatever else comes up in the next few years. This is likely to be Facebook's long-view strategy for purchasing Oculus as well -- getting ahead of providing a space for existing youth that will leap-frog Facebook's existing offering. It's no secret (or fairly obvious, at least) that Sony's strategy with their own persistent, online, social space -- PlayStation Home -- moving forward is going to be rooted in coupling it to their Project Morpheus Virtual Reality headset. This makes perfect sense for the psychology of hard-core Home users who have spent thousands of dollars in-game, and will likely plunk down the $400 to retain their content and "level up" in the eyes of their peers on Home. Conservatively, if that strategy pans out and helps give Project Morpheus even a slim majority of its first 25,000 worldwide sales (along with the PS3->PS4 conversion) then the strategy will further secure a foothold for their VR platform. Unfortunately, even early power users of Home (like myself) are unlikely to return -- never mind enticing new users who may continue to view Home as an also-ran despite its re-design for VR. For folks who want to invest in a platform that has a persistent on-line social space they can better relate to (or a perceived lower barrier to entry), Minecraft on a Microsoft platforms may be a better fit for some consumers in contrast with Nintendo's anemic offerings and Sony's probable go-big offering coupled to Project Morpheus in 2015. (This doesn't even account for a centralized, persistent Minecraft social space as an upsell to an Xbox AR/VR helmet. For all it's hardware inferiority, Xbox One could certainly render Minecraft in stereo @ 72hz.) This strategy also jives with Microsoft's new CEO being more about revenue from ongoing service subscriptions.

Third, Microsoft is learning mistakes that Nintendon't. Microsoft is realizing that there is more than one way to win, and repeating their mistake of being late to the post-PC (read: WIntel) party is not going to happen again. Sony has been making mobile companion applications for their games for a few years now (Beyond: Two Souls for co-op play on PS3, Knack on PS4, SingStar 2014 on PS3/PS4), and while I don't know if the availability actually helped upsell more people into the primary platforms in any meaningful quantities, it most certainly didn't hurt. PlayStation Mobile certainly didn't set the market afire with its support of Android phones, but it did give access to minor Sony franchises like Lemmings and Tokyo Jungle to non-PlayStation platforms. As proven by Microsoft's masterful execution of their .NET/C# strategy, they *can be* great at listening to the customers in a given market even better than the competition (Sun/Java, in the case of .NET/C#) and trounce the competition as a result. Minecraft already being incredibly popular on many platforms opens up this avenue for Microsoft -- as a publisher first, and a platform-holder second. If Xbox One continues to languish as consumers continue to purchase the PS4 at incredible rates, then they'll need to start laying the groundwork now for them being a cross-platform (not just PC) publisher. In the same way that Nintendo not publishing even a minor franchise (like Pikmin) on another platform totally cut off a potential avenue for better market awareness and upsell of Wii U, Minecraft continuing to be cross-platform is likely Microsoft's way of not making the same mistake. The fact Microsoft would be doing so with a game-as-a-service that has ever-increasing ongoing revenues as platform penetration goes deep and broad, is really quite smart. In the same way that Nintendo sells a steady number of consoles just by refining Mario and Zelda formulas (or even re-releasing previously released games), Microsoft probably sees Minecraft as their long-tail "Mario" (pun intended) in a world that is potentially going to be post-Halo in the medium-term.

Phew. Those are the three legs of the stool as I see them, and it is quite an impressive and holistic set of possible strategies. In the same way that Sony's hubris early in the PS3 cycle induced near-fatal failure and caused an internal cultural transformation that won them 1 million new PS4 players each month since launch, Microsoft is now having the same revelations. If the Xbox One is reduced to being a Minecraft (+VR) machine, in the same way the Vita is a LittleBigPlanet/Spelunky machine for some, is that really a "loss"? If the steady drip of recurring revenue and long-tail increases in user base make for a good business -- and good will toward the platform? Microsoft appears to be doing all the right things by synthesizing a comprehensive strategy based on avoiding their own failures, but more importantly their competition's successes.

It's worth $2.5 billion, in my opinion.



Sunday, September 14, 2014

Pesky Perpetual Problems in Parsing PACER Case Information

In the last year, I worked with a legacy application that automated PACER interactions for users and wrapped it in a nicer user interface. This post is about a few of the the data issues, both in data model and in scraping, that I noted as I worked through dozens of issues -- both major and minor -- with the engineers and contractors I brought on board to help out. The issues mentioned below aren't specific to that code base, so I hope that some general documentation and advice helps people working to truly open up public court data for deep analysis.

 The biggest challenge with PACER is not that each court upgrades their instance of the PACER software distribution separately, but rather that each court can bizarrely customize different aspects of the PACER data itself. This is a bit of a nightmare, because it means that your testing has to have pretty amazing coverage across all the PACER sites and then their cases to try and tease out issues before your data set gets corrupt. All the PACER sites had pretty consistent error messaging on their login screens: wrong password, your bill is overdue, your client code is incorrect, etc. The problem is when an individual case, docket entry, or document has been sealed or otherwise had its access restricted. I saw literally dozens of different error messages, coming at different points in the PACER interaction, as local admins sometimes used the proper configuration features of PACER to do things or just did one-off custom errors that they wrote themselves. The reason this becomes so critical is that the end users of your PACER-wrapping application need to understand the problem is with PACER -- and not your application. After a year of doing test-driven development as we fixed customer- and tester-reported problems with specific PACER cases, we finally reached a point where things were mostly fine. Until another PACER admin puts errors into something other than a <b> or <h4> tag.

The second biggest challenge is when cases change venue. The prefix in the case number might change, but it is still hypothetically the same case and should carry the same accrued metadata along with it. Due to the way ECF data entry works, the link between the cases's original venue and the new one is often obvious, but just as often it is not. The text in the docket entry appears to get hand-edited or the ECF software doesn't close an HTML tag, and sometimes the documents themselves can have their header and footer text modified. The latter issue means that an incredibly basic text recognition and comparison won't work to find "same" documents in other cases. So, if I'm following a case and it moves (I may not know if I'm not involved), I'll now be monitoring an ostensibly dead case. Dealing with this in the data model is challenging, but so are the UI aspects -- how do you reasonably notify a research user following dozens of cases both in-UI and via email alerts?

The third challenge is that the recent upgrades to the PACER system are making more and more use of JavaScript. For companies that are using static page scraping technologies, like Nokogiri or Hpricot, the introduction of PACER pages with even a minor amount dynamic DOM necessitates a dramatic change-up in underlying technologies. Since I worked on web application security products in the early 2000s, I has already participated in the cat and mouse battle between web sites that don't want to be crawled and the folks writing the crawling software. My best advice would be for anyone doing (semi-)automated PACER traversal to start using PhantomJS, perhaps even with Capybara, to automate interactions with PACER. If you're already doing acceptance test-driven development, you're probably already using those technologies for your own test suites and perhaps even know how to keep Capybara/Selenium test suites fast and maintainable in the medium/long-term. For some PACER-related product teams, this eminent problem may be the final nail in their coffin.

With the recent data loss of important public court records on PACER*, keeping an open and secure archive of the data in the existing system is critical -- especially before the "NextGen" upgrade where the individual courts' custom handling of various things will potentially lose information forever.

If enough people like this article, I'll write some more in-depth details on specific courts/cases that were non-trivial to parse and model in the database.

* The Latest Really Big Screw Up With PACER