If the DApp movement intends to replace the existing way the internet works, it must provide similar - or better - means to replace critical parts of the way the current internet works for apps. In particular, we'll look after and focus on the following aspects and will investigate the platforms in regards to those.
Publishing, Distribution and Locating
First and foremost, it must be possible to publish and distribute the apps through the infrastructure. If there is one learning from App-Stores on mobile, it is that a user shouldn't need more than access to the platform (we'll use the terms platforms and infrastructure interchangably, too) in order to gain access to apps, too. The times when we mailed floppy disks are over. This is a basic. However, if that requires typing a 32-hex-code or scanning QR-Codes, then it doesn't matter that you can publish them as no one will be able to access the app. So providing a means to lookup and find the app is equally necessary.
One key promise of a P2P-based DApp infrastructure is that you won't need to host any servers anymore. That it doesn't require any dedicated computer anymore to ensure the working of any particular App or service. In order for that to work, the platforms must provide some means of data storage and ensure data retention without any particular computer running. The same goes for data the app might want to store on the users behalf. Any decent DApp platform must provide means to do that.
Privacy and Data Ownership
Storing private information in the internet is already creepy when youtube shows me it knows the videos I watched ten years ago - stuff that even I don't remember and for good reasons. However, if I now store my data with random strangers - not even with companies that I somewhat trust - then what are the guarantees the platforms gives me that those people don't mess with my stuff?
In the same vain, what is the data ownership model proposed by the platform regarding the data the user is storing, even through an app? In a perfect decentralised system, I, as the app developer will never have access to that information at all (unless explicitly shared).
A lot, if not all, of our current web relies to degree on controling or restricting access from the server-side. But without a central server, or any computing instance under the control of the developers, how is development supposed to be funded. Fortunately, most of the contestants have thought about this problem and put forward solutions to this and the future of how a decentralised app economy might function.