Archive for June 17, 2019

Monday, June 17, 2019

Genius Accuses Google of Copying Its Lyrics Data

Jon Fingas (via Nick Heer):

Have you found yourself using Google’s lyrics results more than visiting individual lyrics sites? You’re not alone -- and Genius thinks underhanded tactics are involved. The company has accused Google of not only hurting its traffic with its lyrics cards, but of sometimes grabbing Genius’ lyrics verbatim. The evidence is in the apostrophes, Genius said. It purposefully alternated between straight and curved apostrophes as a form of watermarking (they typically spell out “red handed” in Morse code), and there were reportedly over 100 instances where Google’s lyrics included those exact apostrophes.


The lyrics displayed in the information boxes and in Knowledge Panels on Google Search are licensed from a variety of sources and are not scraped from sites on the web. We take data quality and creator rights very seriously, and hold our licensing partners accountable to the terms of our agreement.

See also: Jack Nicas (via Hacker News):

Online-reviews firm Yelp Inc. alleged that Google is breaking a promise it made as part of a 2012 regulatory settlement to not scrape content from certain third-party sites including Yelp, escalating its yearslong battle against the search giant.

Previously: Xerox Scanners and  Photocopiers Randomly Alter Numbers.

Update (2019-06-18): Janko Roettgers (via Joe Rosensteel):

LyricFind said that it had been contacted by Genius in the past, and offered to remove any content that the company took issue with — but that Genius didn’t respond to this offer. The company also aimed to put Genius’ claims in perspective:

“Genius claims, and the WSJ repeated, that there are 100 lyrics from Genius in our database. To put this into perspective, our database currently contains nearly 1.5 million lyrics,” it wrote. “The scale of Genius’ claims is minuscule and clearly not systemic.”

J Herskowitz:

Here’s my uninformed guess on what’s going on with Genius/Google: publishers may be scraping Genius themselves (since they often don’t get lyrics directly from writers) and delivering that data to the lyric licensors themselves.


To help make it clearer where the lyrics come from, we’ll soon include attribution to the third party providing the digital lyrics text. We will continue to take an approach that respects and compensates rights-holders, and ensures that music publishers and songwriters are paid for their work.

Update (2020-01-02): Aaron Sankin:

After Genius’s REDHANDED plan was made public, Google said it fixed the issue. Genius secretly snuck another “watermark” into its lyrics and found that Google was still stealing it content.

Update (2020-08-17): Devin Coldewey (via Hacker News):

A state court has dismissed a high-profile case showing unsportsmanlike conduct by Google, which was caught red-handed using lyrics obviously scraped from Genius.


The problem is this: Genius isn’t the copyright holder for these lyrics, it just licenses them itself. Its allegations against Google, Judge Margo Brodie of the Eastern District of New York determined, amount to copyright violations, in nature if not in name, and copyright is outside Brodie’s jurisdiction.

Notarizing Command-Line Tools for macOS 10.15

Howard Oakley:

I was taken aback, then, when I heard from WWDC that Catalina was going to apply essentially the same security rules to command tools as it does to apps.


The processes that I then had to go through to sign, harden, package and notarize each of my four command tools were a revelation. They’re detailed step by step in this article and in this PDF.

They demonstrate how badly this common task in development has been cobbled together without any design: it’s not a workflow but an obstacle course. To turn 260 lines of code into an installable and duly notarized 33 KB package took a total of 5 apps (including Xcode itself), 4 command tools which I had to invoke in 6 different commands, 2 different developer certificates (one for the tool, one for the package) and an app-specific password to be able to run altool to submit the tool for notarization.

It’s almost like they don’t want you to distribute Mac software.


Update (2019-06-18): Rosyna Keller:

All that needs to be done is to put all command line tools into one zip archive and notarize that, per the documentation:

No need to create an Info.plist, package, or 4 Request UUIDs.

Rosyna Keller:

Normally, you’d unzip and staple (if you desire) the top level items in the zip, however many there are. Sadly, due to a current limitation, stand-alone Mach-Os can’t be stapled, so that step can be skipped.

If you zipped up a bunch of things that weren’t standalone Mach-Os, then you’d do the staple.


When stand-alone binaries can be stapled, this will be much less confusing.

Howard Oakley:

Now I’m completely lost!

I have four separately-distributed command tools, each of which comes in its own Installer package.

Are you suggesting that I should Zip all 4 installers together and submit as a single notarization, then unZip them for individual distribution?

Leo Natan:

There are more limitations. In my .app bundle, a developer tool, I had an iOS framework bundle for easier access to developers (similar to how Reveal distributes their mobile framework). Apparently, the notarization service is unable to handle such cases.

Update (2019-06-19): Gus Mueller:

Not a very nice way for notarization to randomly fail :/


I FIGURED IT OUT!! (Well somebody on the forums did but I confirmed it).

I was apart of two other teams that didn’t have an accepted agreement. Of course, I wasn’t using those teams, but apparently it mattered!

Once I left those teams (because they were old and at least one I know the owner lost control due to a silly Apple issue with 2FA), I could notarize with ease.

Update (2019-06-21): Howard Oakley:

Although I’m a fan of Apple’s Notary Service, and have only had good experiences with it over that year, and I’m a strong supporter of notarization for improved security, I hate being given no notice, and hate trying to perform critical tasks without any useful documentation. Thankfully, in response to those articles, Rosyna Keller @rosyna has been kind enough to provide more specific advice. Here I’m going to pass that on, as far as I understand it.

Update (2019-07-11): Tom Bridge:

The Notarization of binaries with Apple Notary Service is a fascinating topic worth exploring, and in this year’s talk at Mac Admins, I delved deep into the subject.

Update (2019-10-22): Howard Oakley:

One of the surprise announcements at WWDC 2019 last June, which seems to have been largely forgotten, is that Catalina not only requires apps and similar executable code to be notarized, but that single-file command tools must also be notarized. Given that there’s currently no way of stapling a notarization ticket to a command tool, I suspect many have just filed this under Too Difficult. But for anyone who installs third-party command tools, this could pose an insurmountable problem. This article explores how Catalina’s Gatekeeper system handles command tools, and what you can do about it.

Twitterrific 6 for iOS

Ged Maheux:

Today we are proud to release Twitterrific 6.0 for iOS! This is one of the biggest updates of Twitterrific ever, representing over 50 bug fixes and improvements as well as a ton of new features.


For those of you who want to customize things even more, we’ve added a total of five new colorful themes (two light, three dark) plus three more app icons. There’s also a brand new font available that will totally refresh your timelines: San Francisco Compact Rounded. If you’re feeling especially brave and adventurous, you might find even more customization options by poking around in iCloud Drive – but you didn’t hear it from us! 😉

Jason Snell:

The new version adds a bunch of clever features, some of which I use a lot, some of which will appeal to people who are not me. Videos and GIFs can now play (silently) in timelines, a feature that I immediately turned off. In general, Twitterrific displays images and videos better inline, showing them at their native aspect ratios and including both media and quoted tweets together for the first time.

At last I can select the proper GIF from within the compose window. This version adds support for Giphy, the search engine for animated GIFs, which makes Twitterrific a much better meme-propagation tool.

Dr. Drang:

The main reason I haven’t used Twitterrific in the past is that I was put off by its color schemes. I could never identify exactly what I didn’t like about them, but they just didn’t seem right. Now the default light theme, which is what I use almost all the time, is just about perfect, and I’ve settled on a dark theme that works well, too.

Some people are unhappy because version 6 replaces the version 5 app in the store. If you paid for version 5 more than 5 years ago, your purchase was “taken away” and now you see ads unless you pay more. However, given the way the App Store works, the alternative would have caused even worse problems:

Releasing it as a separate app wouldn’t have allowed us to give special considerations to people who purchased v5 which we do. It also would have meant reduced discovery and a host of other problems.

We tried it this way when we went from v 4 to v5. Created it’s own sets of huge problem including lots of unhappy users who were unable to get a “discount” on the new version. Doing it this way many of them still don’t see ads. There’s no best way forward unfortunately.

Sean Heber:

So perhaps you can understand why we are also upset by all this. We tried to give and be lenient for as long as we possibly could and it. did. not. work. In return for years of generosity to the point of self-harm, we are rewarded with attacks, threats, and accusations.

86 free updates over 6-7 years was quite generous, and the original purchase was only $3. The main problem is that people had the expectation that they were paying once forever. This was technically met because you can decline to update the app beyond version 5, and still retain the benefits of the IAP, but many people have auto-updates enabled or would update without understanding the consequences, and the App Store doesn’t let you go back. (At some point, Twitter will probably make a breaking change, and there would be no point to going back, anyway.)

One could also argue that there was an implied understanding—probably shared by both customers and the developer at the time—that version 6 would be a separate app, since that’s what had been done before. Breaking that is not great, but I don’t think it outweighs all the other considerations here.

In any case, forever is just not realistic in a world of changing iOS and service APIs, and a store that doesn’t support offering multiple versions of the same app. No one should promise it or expect it. Going forward, the Iconfactory is setting clearer expectations:

With Twitterrific 6, we opted to display a banner ad and periodically present a reminder to purchase the app but otherwise not restrict access to any features or impose a free trial time period. This means that the app is fully functional without any purchase, but at the cost of interruptions and advertisements - just like some old-school shareware titles from the days of yore.

Buying Twitterrific 6 eliminates the interruptions and the banner ads.

There are monthly ($1) and yearly ($10) subscriptions, or a “one-time” purchase ($30) for those who don’t like subscriptions.


Forever in this case is the entire life of version 6.

Craig Hockenberry:

There has never been a good way to do upgrades on the App Store: all scenarios suck in one way or another.

After a decade you have to realize that it will never come, so you do the best you can.

Sean Heber:

The vast (really vast) majority of Twitterrific users have been using the free version which has had banner ads at the top for years - since 2013. They love Twitterrific 6. A lot of them have never paid us anything directly and probably never will since the ads don’t bother them.

Update (2019-06-18): Matthias Tretter:

While I sympathize with @Twitterrific and shipping a separate App has tons of downsides, it’s technically not correct that you can’t offer discounts that way. For MindNode 4 -> 5 we stored the receipt in a shared app group and offered different IAPs based on the purchase date

It looks like they would have needed to first issue an update to version 5 that saved the receipt into a shared folder, then wait a sufficient amount of time that most users had launched the new version, then ship the version 6 update. It would need to implement a free in-app purchase to convert the old receipt into something that would become part of the new receipt—or else find a way to preserve the old receipt when the user reinstalls or gets a new device. If the user somehow uninstalled version 5 before purchasing the free IAP in version 6, they would be out of luck. So I think it is technically possible, though kind of a kludge.