now comes the software which will talk to all of the hardware and the internet to download images from the cloud. one way is to go and write everything own your own, but lets see what u will need , LCD driver, wifi module driver , USB host dirver, Filesystem for USB, TCP/IP stack, and custom application to control all of this and user interface , trust me u will give it up after writing TCP /IP thing itself .
but we can get many module ready made from the opensource community , TCP/IP stack , filesystem , and may be somewhat working low level driver for reset of the hardware also . but ultimately you need to write you own application from the scratch to interact with internet , USB , LCD and userinterface,
you are going to need lots of code to decode many different format of the image and videos and render them to LCD . a lots of code to handle secure TCP/IP communication with the could , as most of them will have very sophisticated security , you need to make your application compatible to that which is itself a tedious task . again you need to write lots of code. and to handle user interface with touch or buttons and putting the correct info onto LCD will also need more work.
so solution to all the software needs is , to use as maximum as possible already available library of network , wifi ,LCD , Could connectivity and User interface.In opensource word most of library available are meant to be used to linux like system. we may need opt to use Linux only.
but running linux need really special hardware , which is somewhat costly. we can still try to port all of these library to our custom environment ,but it need lots of work just to save few bucks, trust me porting Linux thing into small processor is not a good idea.
Linux provide already written drivers, file system, networking support ,support of USB host and various library to handle everything including user interface.
I see Linux is the Way to go.