Shared posts

27 Mar 08:37

Apps with millions of Google Play downloads covertly mine cryptocurrency

by Dan Goodin

Update: About 12 hours after this post went live, one of the two mentioned Android apps, Prized, was no longer available in Google Play. The other app, Songs, remained. Google representatives sent Ars an e-mail saying they won't be commenting on this report. The Google Play developer policy is here. Among other things, it requires that apps that engage in distributed computing behavior include up front disclosure that establishes user knowledge and obtains explicit consent.

Researchers said they have uncovered two apps that were downloaded from the official Google Play market more than one million times that use Android devices to mine the Litecoin and Dogecoin cryptocurrencies without explicitly informing end users.

According to a blog post published Tuesday by a researcher from antivirus provider Trend Micro, the apps are Songs, installed from one million to five million times, and Prized, which was installed from 10,000 to 50,000 times. Neither the app descriptions nor their terms of service make clear that the apps subject Android devices to the compute-intensive process of mining, Trend Micro Mobile Threats Analyst Veo Zhang wrote. As of Wednesday afternoon, the apps were still available.

Read 4 remaining paragraphs | Comments

24 Mar 06:54

New dev model

by CommitStrip

24 Mar 06:53

Answers

Stanford sleep researcher William Dement said that after 50 years of studying sleep, the only really solid explanation he knows for why we do it is 'because we get sleepy'.
24 Mar 06:40

Career

They'd convince me to come out of retirement for one last job: biting into a giant lump of slightly soft wax a couple of times.
10 Mar 07:43

Apple Gets Into The Car

by Oliver Widder
natural-steering.jpg
25 Feb 07:57

App-pocalypse Now

I'm getting pretty sick of being nagged to install your damn apps.

This-website-has-an-ipad-app

XKCD helpfully translates:

Xkcd-download-our-app

Yeah, there are smart app banners, which are marginally less annoying, but it's amazing how quickly we went from "Cool! Phone apps that finally don't suck!" to this sad, eye rolling, oh-great-of-course-you-have-an-app-too state of affairs.

"Would you like to install our free app?!?" is the new "It looks like you're writing a letter!"

— Jeff Atwood (@codinghorror) January 9, 2013

Four years, give or take a few months, if you were counting. So what happened?

Millions of pointless apps

Your platform now has a million apps? Amazing! Wonderful! What they don't tell you is that 99% of them are awful junk that nobody would ever want.

Let's start with the basics. How do you know which apps you need? How do you get them installed? How do you keep them updated? How many apps can you reasonably keep track of on a phone? On a tablet? Just the home screen? A few screens? A dozen screens? When you have millions of apps out there, this rapidly becomes less of a "slap a few icons on the page" problem and more of a search problem like the greater web. My son's iPad has more than 10 pages of apps now, we don't even bother with the pretense of scrolling through pages of icons, we just go straight to search every time.

Walledgarden-cover

The more apps out there, the more the app stores are clogged with mediocre junk, the more the overall noise level keeps going up, which leads directly to this profligate nagging. Companies keep asking how can we get people to find and install our amazing app instead of the one question they really should have asked.

Why the hell are we building an app in the first place?

I want to know who exactly is going to all the trouble of installing the McDonalds app on their device instead of simply visiting the McDonalds website in the browser as needed. What problem does that app solve for french fry enthusiasts that it needs to be permanently installed on your device? Why are they giving away free Big Macs just to get people to install this thing?

Fragmentation into parallel and incompatible app worlds

It was so much easier when iOS was totally dominant and the iPhone was the only player. Before the iPad and tablets. Before Android got decent in 4.0 and Google standardized the Play store. Now there are, at minimum, four radically different mobile platforms that every serious app player has to support:

  1. Android phone
  2. iOS phone
  3. iOS tablet
  4. Android tablet

(For extra credit: how many of these are actually "mobile"?)

Unless you're careful to build equivalent apps in all those places, it's like having multiple parallel Internets. "No, sorry, it's not available on that Internet, only the iOS phone Internet." Or even worse, only on the United States iOS phone Internet.

If you're feeling generous, we should technically include Windows 8 and Windows Phone in here too. All with different screen dimensions, development stacks, UI guidelines, and usage patterns. Oh and by the way, that's assuming no other players emerge as serious contenders in the computing device market. Ever.

At the point where you find yourself praying for a duopoly as one of the better possible outcomes, that's … not a good sign.

Paying for apps became a race to the bottom

Buying an app is the modern Support Your Favorite Small Software Vendor Day. I was always fine with dropping ten or twenty bucks on software I loved. I'm a software engineer by profession; apps are cheaper so I can buy even more of them.

Have you ever noticed that the people complaining about apps that cost $3.99 are the same people dropping five bucks on a cup of fancy coffee without batting an eyelash? Me too, and I'm with the coffee people. $3.99 for your app? Outraaageous!

Now, contrast this with your app, Mr. Developer. I don’t know you from Adam. You’re pitching digital Instant Refresher Juice 1.0 to me in the form of a new app. The return I’m going to get is questionable at best. I already have 30 apps on my phone, some of them very good. Do I need another one? I don’t use the 30 I have. The experience I’m going to get from adding one more app is not trustable. I’m assured of nothing. Last week I bought an app for 99 cents and it was terrible. I used it once, for 15 seconds. I could be shoving $1 straight down the toilet again for all I know. Your app, good sir, is a total gamble. Sure, it’s only a $1 gamble… but it’s a gamble and that fact matters more than any price you might place on it.

For some reason I don't completely understand, mobile app review systems are frequently of questionable value, so all you really have to go on are the screenshots and a bit of text provided by the developer.

Imagine you bought your coffee, only to open the lid and find it was only half full, or that it wasn't coffee at all but lemonade. If only 1 in 5 cups of coffee you bought actually contained coffee, a $3.99 price for that coffee starts to seem unreasonably high. When you buy an app, you don't really know what you're going to get.

Turns out, the precious resource here isn't the money after all. It's your time. In a world of millions of apps, free is the correct and only price for most apps except those rare few of extreme, easily demonstrable value – probably from well known brands of websites you already use daily. So hey, everything is free! Awesome! Right? Well…

When apps are free, you're the product

I know, I know, I'm sick of this trite phrase too. But if the market is emphatically proving that free is the only sustainable model for apps, then this is the new reality we have to acknowledge.

Geek-and-poke-pigs-free

Nothing terrifies me more than an app with no moral conscience in the desperate pursuit of revenue that has full access to everything on my phone: contacts, address book, pictures, email, auth tokens, you name it. I'm not excited by the prospect of installing an app on my phone any more. It's more like a vague sense of impending dread, with my finger shakily hovering over the uninstall button the whole time. All I can think is what shitty thing is this "free" app going to do to me so they can satisfy their investors?

For the sake of argument, let's say the app is free, and the developers are ethical, so you trust that they won't do anything sketchy with the personal information on your device to make ends meet. Great! But they still have to make a living, don't they? Which means doing anything useful in the app requires buying three "optional" add-ons that cost $2.99 each. Or there are special fees for performing certain actions. Isn't this stuff you would want to know before installing the app? You betcha. Maybe the app is properly tagged as "offering in-app purchases" but the entire burden of discovering exactly what "in-app purchases" means, and how much the app will ultimately cost you, is placed completely on your shoulders. You, the poor, bedraggled user.

The app user experience is wildly inconsistent

Have you ever tried actually using the Amazon app on iOS, Android, and Windows? iOS does the best, mostly because it's been an app platform for longer than the others, but even there, the Amazon app is a frustrating morass of missing and incomplete functions from the website. Sure, maybe you don't need the full breadth of Amazon functions on your phone, though that's debatable on a tablet. But natural web conveniences like opening links in new tabs, sharing links, the back button, and zooming in and out are available inconsistently, if at all.

The minute you begin switching between platforms – say you use an iOS tablet and an Android phone and a Windows 8 touch laptop, like I do – you'll find there are massive differences between the Amazon apps (and the eBay apps, and the Netflix apps, and the..) on these different platforms. At some point, you just get fed up with all the inconsistencies and oddities and quirks and say to hell with these apps, can I please just use the website instead?

Now, if your website is an awful calcified throwback to 2003, like eBay, then the mobile apps can be a valuable opportunity to reinvent your user interface without alienating all your existing users. If there's one thing I love about tablet and phone design it's that their small screens and touch interfaces force people to think simpler. This is a good thing. But if you don't eventually take those improvements home to the mothership, you're creating two totally different and incompatible UIs for doing the same things.

It seems like a fool's errand to dump millions of dollars of development time into these radically different app platforms when Amazon could have spent it improving their website and making that experience scale a bit better to every device out there.

The World Wide App

But that's not an option, because apparently the web is dead, and mobile apps are the future. I'm doing my best to resist a sudden uncontrollable urge to use my Ledge Finder app to find the nearest ledge to jump from right now.

The tablet and phone app ecosystem is slowly, painstakingly reinventing everything I hated about the computer software industry before the web blew it all up. Even fans are concerned:

I’m waiting for something that will unify the world of apps and make manually going to an App Store to find a new app as weird as typing in a URL to find a new website. My bet is that this won’t be Facebook. Instead, I would not bet against some young upstart, perhaps one inspired upon reading about a $19 billion deal, to go heads-down and come up with something crazy.

I'll have more to say about this soon, but I expect there to be an explosion of new computing devices all over the world in the next few decades, not a contraction. Sometimes the craziest solution is the one that's been right there in front of you the whole time.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!
06 Jan 13:10

Regex Golf

/bu|[rn]t|[coy]e|[mtg]a|j|iso|n[hl]|[ae]d|lev|sh|[lnd]i|[po]o|ls/ matches the last names of elected US presidents but not their opponents.
19 Dec 23:16

Undocumented Feature

And it doesn't pop up a box every time asking you to use your real name. In fact, there's no way to set your name at all. You just have to keep reminding people who you are.
19 Dec 23:05

'Approximate Computing' Saves Energy

by Soulskill
hessian writes "According to a news release from Purdue University, 'Researchers are developing computers capable of "approximate computing" to perform calculations good enough for certain tasks that don't require perfect accuracy, potentially doubling efficiency and reducing energy consumption. "The need for approximate computing is driven by two factors: a fundamental shift in the nature of computing workloads, and the need for new sources of efficiency," said Anand Raghunathan, a Purdue Professor of Electrical and Computer Engineering, who has been working in the field for about five years. "Computers were first designed to be precise calculators that solved problems where they were expected to produce an exact numerical value. However, the demand for computing today is driven by very different applications. Mobile and embedded devices need to process richer media, and are getting smarter – understanding us, being more context-aware and having more natural user interfaces. ... The nature of these computations is different from the traditional computations where you need a precise answer."' What's interesting here is that this is how our brains work."

Share on Google+

Read more of this story at Slashdot.








19 Dec 23:01

BitTorrent serverless chat replaces usernames with crypto keys

by Jon Brodkin

BitTorrent, Inc. is developing a serverless instant messaging system that relies on public key encryption to protect the privacy of communications, identifying users not with traditional usernames but with cryptographic key pairs.

The company, which develops the BitTorrent peer-to-peer protocol as well as the BitTorrent and μTorrent file sharing software, announced the forthcoming chat software in September and revealed some details on how it will work in a blog post today. It reads:

With BitTorrent Chat, there aren’t any “usernames” per se. You don’t login in the classic sense. Instead, your identity is a cryptographic key pair. To everyone on the BitTorrent Chat network at large, you ARE your public key. This means that, if you want, you can use Chat without telling anyone who you are. Two users only need to exchange each other’s public keys to be able to chat.

Using public key encryption provides us with a number of benefits. The most obvious is the ability to encrypt messages to your sender using your private key and their public key. But in public key encryption, if someone gains access to your private key, all of your past (and future) messages could be decrypted and read. In Chat, we are implementing forward secrecy. Every time you begin a conversation with one of your contacts, a temporary encryption key will be generated. Using each of your keypairs, this key will be generated for this one conversation and that conversation only, and then deleted forever.

Underlying this system is a Distributed Hash Table (DHT) which finds IP addresses, removing the need for a central server to route messages, the company explained.

Read 5 remaining paragraphs | Comments

11 Nov 08:56

What is ART? We’re not sure… yet

by Jason Inofuentes

Android 4.4 KitKat has brought several changes to Google's mobile OS, but one mysterious addition is drawing significant attention. Tucked inside the developer menu is a new runtime option: Android Runtime (ART). Looking over the limited documentation on the feature doesn't give away much, but a report from Android Police has some interesting details.

To understand what ART may do, we need to discuss how things work now. At the heart of Android is the Dalvik runtime, which uses a just-in-time compiler to translate bytecode into instructions that can be run on the available hardware.

According to Android Police, ART takes a different approach to compilation, and it's an approach that could have serious performance and battery life advantages. ART will take the same software packages from the Google Play store and compile them during the installation process. The operating system then simply runs the ART-compiled software as it's stored. Not having to waste compute cycles on compiling bytecode every time you open an app should generate some improvements to responsiveness and battery life.

Read 2 remaining paragraphs | Comments


    






10 Nov 10:16

Git, SVN or …?

by CommitStrip

10 Nov 10:15

The things you should never have to share

by CommitStrip

03 Nov 12:39

The audio cassette tape is 50 years old

Back in 1963 Philips introduced the audio cassette. But its use as a digital storage medium is almost forgotten today.
31 Oct 08:02

Steve Jobs brainstorms with the NeXT team (1985)

by donotreply@osnews.com (Thom Holwerda)
This fascinating documentary was filmed from December 1985 to March 1986 at NeXT's team retreat in Pebble Beach. It offers a rare glimpse of Steve's vision, aspirations and managerial approach. Remarkable documentary - several planning meetings and discussions during NeXT's early days, with Steve Jobs and his team, many of which also worked on the Macintosh. You have to see this. Via Typographica.
31 Oct 08:00

Cisco open sources its H.264 codec, foots licensing bill

by donotreply@osnews.com (Thom Holwerda)
Remember the whole H.264 thing? Cisco just solved it for us - more or less. The industry has been divided on the choice of a common video codec for some time, namely because the industry standard - H.264 - requires royalty payments to MPEG LA. Today, I am pleased to announce Cisco is making a bold move to take concerns about these payments off the table. We plan to open-source our H.264 codec, and to provide it as a binary module that can be downloaded for free from the Internet. Cisco will not pass on our MPEG LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use in WebRTC. Cisco will release the code of its H.264 codec under the BSD license, and will also make binaries available for just about every possible platform. Cisco will pay all the licensing costs - over the coming decade, this will cost them a whopping $65 million, illustrating just how expensive H.264 is, and how unrealistic it was to expect it to become a standard without a free implementation being available for everyone to use. It has to be noted that both end users and developers can make use of this. Mozilla has already announced it will implement this codec into Firefox. All this is great, but it doesn't really address the issue in the long term - the next generation of codecs is coming, and once they arrive, this whole process starts all over again. Will another sugar daddy step up by that time?
29 Oct 18:53

Why saving daylight time is useless

by CommitStrip

29 Oct 18:52

Telegraph Contributor Says Coding Is For Exceptionally Dull Weirdos

by Unknown Lamer
mikejuk writes "The UK Government is trying to figure out how to teach children to code by changing what is taught in schools. The Telegraph, a leading UK newspaper, has put the other side of the case: Coding is for 'exceptionally dull weirdo(s).' The recent blog post by Willard Foxton is an amazing insight into the world of the non-programming mind. He goes on to say: 'Coding is a niche, mechanical skill, a bit like plumbing or car repair.' So coding is a mechanical skill — I guess he must be thinking of copy typing. 'As a subject, it only appeals to a limited set of people — the aforementioned dull weirdos. There's a reason most startup co-founders are "the charming ideas guy" paired with "the tech genius". It's because if you leave the tech genius on his own he'll start muttering to himself.' Why is it I feel a bout of muttering coming on? 'If a school subject is to be taught to everyone, it needs to have a vital application in everyday life — and that's just not true of coding.' Of course it all depends on what you mean by 'vital application.' The article is reactionary and designed to get people annoyed and posting comments — just over 600 at the moment — but what is worrying is that the viewpoint will ring true with anyone dumb enough not to be able to see the bigger picture. The same attitude extends to all STEM subjects. The next step in the argument is — why teach physics, chemistry, biology, and math (as distinct from arithmetic) to anyone but exceptionally dumb weirdos."

Share on Google+

Read more of this story at Slashdot.








28 Oct 07:46

Seagate introduces a new drive interface: Ethernet

by Sean Gallagher

It’s not time to say goodbye to the old storage network quite yet, but a new combination of cloud, networking, and storage technology might mark the beginning of the end for SANs—Seagate has introduced a new storage architecture that puts Ethernet directly on the disk drive.

Called the Kinetic Open Storage Platform, the new approach turns disks themselves into servers, delivering data over the network to applications using an open application interface. The Kinetic platform is a combination of an open programming interface and intelligence and a network interface installed in the storage device itself. It's targeted mostly at companies looking to adopt the same sort of architecture in their data centers that they use to connect to cloud storage providers such as Amazon.

While the architectural approach Seagate is taking is an evolution of work already done by cloud giants such as Google and Facebook, it turns cloud-style storage into a commodity. And that could change how companies small and large think of networked storage—especially as they move toward using newer software development approaches to build their applications or move applications built on Amazon or other cloud services back within their firewalls.

Read 6 remaining paragraphs | Comments


    






27 Oct 12:18

How can you make sprint planning fun?

by Stack Exchange
Stack Exchange

This Q&A is part of a weekly series of posts highlighting common questions encountered by technophiles and answered by users at Stack Exchange, a free, community-powered network of 100+ Q&A sites.

Jacob Spire asked:

Not only are our sprint planning meetings not fun, they're downright dreadful.

Read 25 remaining paragraphs | Comments


    






24 Oct 06:46

Torvalds: SteamOS Will 'Really Help' Linux On the Desktop

by Soulskill
nk497 writes "Linus Torvalds has welcomed the arrival of Valve's Linux-based platform, SteamOS, and said it could boost Linux on desktops. The Linux creator praised Valve's 'vision' and suggested its momentum would force other manufacturers to take Linux seriously — especially if game developers start to ditch Windows. Should SteamOS gain traction among gamers and developers, that could force more hardware manufacturers to extend driver support beyond Windows. That's a sore point for Torvalds, who slammed Nvidia last year for failing to support open-source driver development for its graphics chips. Now that SteamOS is on the way, Nvidia has opened up to the Linux community, something Torvalds predicts is a sign of things to come. 'I'm not just saying it'll help us get traction with the graphics guys,' he said. 'It'll also force different distributors to realize if this is how Steam is going, they need to do the same thing because they can't afford to be different in this respect. They want people to play games on their platform too.'"

Share on Google+

Read more of this story at Slashdot.








20 Oct 08:11

NFTables To Replace iptables In the Linux Kernel

by Soulskill
An anonymous reader writes "NFTables is queued up for merging into the Linux 3.13 kernel. NFTables is a four-year-old project by the creators of Netfilter to write a new packet filtering / firewall engine for the Linux kernel to deprecate iptables (though it now offers an iptables compatibility layer too). NFTables promises to be more powerful, simpler, reduce code complication, improve error reporting, and provide more efficient handling of packet filter rules. The code was merged into net-next for the Linux 3.13 kernel. Iptables will still be present until NFTables is finished, but it is possible to try it out now. LWN also has a writeup on NFTables."

Share on Google+

Read more of this story at Slashdot.








17 Oct 07:11

Comic for October 12, 2013

Dilbert readers - Please visit Dilbert.com to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to Dilbert.com.
16 Oct 06:49

You’re a webmaster, right?

by CommitStrip

14 Oct 07:15

With zero coding experience, artist building 180 webpages in 180 days

by Jon Brodkin
One of Jennifer Dewalt's creations, this webpage lets visitors create paintings in the style of Piet Mondriaan.

117 days ago, having never done any programming in her life, Jennifer Dewalt built her first webpage. The next day, she built another, and she has kept building one new webpage every single day.

Instead of beginning with "Hello World," a class, or an interactive tutorial, Dewalt decided to just start coding, she wrote on Wednesday, day 115 of her trial by fire.

What’s the best way to learn to code? After pondering this question for way too long, I decided to JFDI. But instead of just starting aimlessly, I decided to adhere to a simple and strict structure:

1. Build a different website every day for 180 consecutive days.
2. Every website must be accompanied by a blog post.
3. Any code I write must be made publicly available on GitHub (open source) so that everyone can see it.

The San Francisco resident notes that her background is in art, but she wanted to move beyond drawings and sculptures. "[W]e are no longer governed by physical media," she wrote. "We have the Internet! The Internet is awesome because it breaks down so many obstacles that used to inhibit communication. Barriers to communication are so low, in fact, that we feel compelled to create virtual identities in order to communicate and interact with each other. I think this virtual interplay is ridiculously awesome, and I’m not satisfied with just being part of the conversation. I want to be able to create the communication channel that makes these interactions possible."

Read 6 remaining paragraphs | Comments

    


13 Oct 16:48

Comic for August 8, 2013

Dilbert readers - Please visit Dilbert.com to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to Dilbert.com.
13 Oct 16:45

Comic for August 6, 2013

Dilbert readers - Please visit Dilbert.com to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to Dilbert.com.
05 Aug 08:28

Comic for July 21, 2013

Alessandro Fazzi

Poor men...

Dilbert readers - Please visit Dilbert.com to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to Dilbert.com.
01 Aug 07:23

TDD

by Oliver Widder
tdd.jpg
31 Jul 07:37

Potential roadmap for taxonomy meta and post relationships

by Andrew Nacin

In the days before the WordPress Community Summit in October, a number of contributing developers huddled together to discuss a number of long-term architecture ideas. Among them were taxonomy meta and post relationships. (Ah, I see I now have your attention!) This post is more or less a proposed roadmap. It’s an ambitious plan that is designed to take place over perhaps five or more releases.

(During WordCamp San Francisco’s keynote, @matt talked a little about a new aim to build teams of contributors and reviewers around individual core components. There will be a lot more on that in the coming days and weeks. For now, here’s a post that covers two components, post types and taxonomy.)

The discussion included all core committers at the time — @ryan, @markjaquith, @westi, @azaozz, @nacin, @dd32, @koopersmith, and @duck_ — and a number of contributing developers, including @aaroncampbell, @dh-shredder, @helen, and @scribu.

At the moment, terms are represented in WordPress using two different IDs: a term ID, and a term taxonomy ID. A term ID (and name and slug) can actually appear in multiple taxonomies, so to identify a particular term, you must have either the term ID and the corresponding taxonomy, or just the term taxonomy ID. This dates back to the original taxonomy schema in WordPress 2.3. At the time, the concept of “shared terms” seemed like it could be an important abstraction. Hindsight is 20/20, and shared terms are the bane of taxonomies in WordPress.

So when we talk about term meta, we’re actually talking about term taxonomy meta – meta associated with a term taxonomy ID, not a term ID. The problem is, the public ID used in the API and elsewhere is the term ID (and, by necessity, a taxonomy is also passed). This confusion — and the need for there to be only one object identifier in our metadata API (term taxonomy ID, not two, as in term ID and taxonomy) — has long forced us to table the discussion of term metadata.

(There are separate conceptual issues here — at what point does a term with metadata simply become a post-like object that can relate to other posts? And given post relationships, could terms and posts actually converge in their underlying schema? I’m not actually going to answer those questions in this post. Purely talking schema and architecture at this point.)

At WordCamp San Francisco last year, four of us — me, Gary Pendergast (@pento), @scribu, and @koopersmith — came up with a rather crazy way to make major changes to our table schema while still being backwards compatible. In fact, we came up with two ways to do it. This was the plan everyone heard and discussed at the summit.

It was clear that shared terms had to go. The first step is removing a UNIQUE index on the slug field in the wp_terms table. (This is dependent on #17689.) Then, we stop creating new shared terms. Step three, on an upgrade routine, we actively look for any existing shared terms and split them.

These three initial steps must happen over two to three major releases, as we’re talking about a bug fix, a schema change, an API change, and an upgrade routine — in that order.

Then comes the fun part, in yet another major release. With shared terms split, term ID and term taxonomy ID will be identical  on every install.  If we moved the slug and name fields from wp_terms to wp_term_taxonomy, we could actually drop wp_terms.

How can we remove an entire table but still be backwards compatible? We came up with two solutions:

  1. Because all fields in wp_terms will exist in wp_term_taxonomy, wp_terms can be recreated as a MySQL view to be a read-only mirror of term data, thus being compatible with all existing queries.
  2. Because all fields in wp_terms will exist in wp_term_taxonomy, and because table aliases like `t`and `tt` are always used when joining these two tables, $wpdb->terms can simply be set to $wpdb->term_taxonomy. A query that previously joined wp_terms with wp_term_taxonomy would just join itself.

In all: Using the second approach (yes, it works), it took about 20 lines of code to make WordPress run without a wp_terms table. Wow, right?

So by this point, we would finally have a sane taxonomy schema. Less joins, a cleaner API (probably helped by a new WP_Term object to model WP_Post and WP_User), no more shared terms headaches, and a single, sane ID for a single taxonomy’s term.

Once that is all finished, we can finally have term meta. Maybe. (Kidding. (Kind of.))

Where do post relationships come in? The existing Posts 2 Posts plugin by @scribu is fantastic and serves the niche well. But we’re not really comfortable making any architecture or API changes along these lines while our taxonomy schema is still in a far from ideal state.

The post relationships plugin supports posts to posts, and posts to users. Core taxonomy relationships supports posts to terms, but it can also be rigged to relate users to terms. (It also supported links to terms, yet another object type.) We didn’t fully iron out this idea yet, but one idea is to convert the current wp_term_relationships table to a more generic object relationships table, which can support posts to posts, posts to users, terms to users, and of course posts to terms (and, really, any arbitrary relationship).

A disclaimer: This post doesn’t promise anything. Do not rely on the contents of this post for future projects.  It will take us some time to lay out the proper groundwork and make sure we get this right. Do not expect this to happen in WordPress 3.7, or even 3.8. (Actually, do not expect this to happen at all.)

That said, I’m really glad to get this information out there and I’m excited to hear any feedback you may have. We are always thinking toward the future, and a lot of contributing developers have mile-long roadmaps in their heads — it’s long past time to get those on paper.