1Application: referring to the target type of application, either academic or industry. 2Scalability of the cloud: referring to adding or removing FPGAs in the cloud. 3Heterogeneity: ability to use different types of FPGA in a same cloud. 4Scalability of FPGA designs: ability of a hardware designer to target the designs to a multi-FPGA platform. 5Multitenancy: ability of an FPGA to be used by multiple different hardware designers. 6Sharing time: ability of application designers to execute their designs in different FPGAs in the same time. 7Solved challenge; indicates that the challenge is not fully solved and solved difficulties are listed.