Well, the year 2007 is nearly at the end and I have my short wish list for Microsoft Silverlight. The following (maybe not complete) unsorted list would be nice to see in 2008 with the next CTP or final version:
- When building Silverlight 2.0 Web applications I must be able to consume services (REST, Web Service,...) from cross-domain locations. There are several ideas on how to restrict or allow those access as it should not be possible to access every domain because of security reasons. There are different ideas on how to specify the allowed domains: one could be a file in the root folder of the domain to access where the origin domain must be specified. A configuration on the local Silverlight plug-in would not be very good as applications will not work correctly.
- Windows Mobile UI options with the Compact Framework are very dire, without doing some workarounds like writing interop code your are not able to write nice looking applications. They look like years old applications. As WPF is not yet available for Windows Mobile (and maybe will never be available there) Silverlight could be the best answer. I had a look at Adobe Flash Lite on my Dell Axim device and I'm very happy to see that the hardware is able to render vector graphics in a very good time. Well, the Dell Axim has a good built-in graphics card which is able to render 3D graphics, when I'm correct. In my opinion it is very easy to create UI applications (like the iPhone) on Windows Mobile devices if there is a framework available like Silverlight.
- Better design experience: well, I think that it is still not very easy for a designer to interact with a developer. I don't know the real problem why it is hard to work together. Looking at WPF I feel that there is the same problem. How many WPF applications do you know or use already? And how long does WPF be available?
- Most developers that want to use Silverlight stopped playing with the CTP bits because of missing controls. I had some discussions with Silverlight experts which controls they are missing? I think that we should not put the Windows UI controls to Silverlight (like copy'n paste everything). What about the Mac and Linux users? They don't understand the behavior of Windows UI controls. And the same in the other direction, I don't understand the behavior of Mac controls and don't want to learn all different controls. In my eyes Silverlight should have some base controls like a button which is clickable, or a text box where I can enter some text, but should not work Silverlight-like.
- Silverlight (and WPF) in my eyes is a very good technology to built touch-screen usable applications (if used as Web applications or not). They are very easy to adapt to the customers corporate design. Maybe we need more hardware support for input controls like the iPhone or Surface is doing.
Well, one of my last wish list Microsoft already changed: the rename from Silverlight 1.1 to Silverlight 2.0. It is not an update for Silverlight 1.0, it is something complete different. I don't know how Microsoft will name the updates or newer versions of Silverlight 1.0 in the future, maybe there will be no new version for it.
Update 12/21/2007: I got a lot of feedback what maybe is missing on my list. Yes, I know that there are more features that are nice to have. Below you will find some more important missing features:
- Socket Support: I don't see this in real life because firewalls will block nearly everything by default. But Sockets are interesting if we want to built peer-to-peer applications (online games and maybe streaming from other web users).
- What happen if you print an Silverlight application? There are some ideas to render forms to print. Well, I would'n use Silverlight for printing, maybe generating a XPS or PDF document is much easier.
- More space in local isolated storage to store documents or any other data. This should be easily made configurable in the Silverlight configuration.
- One thing I would like, too: I don't want to see more different Media Players. I think you agree that there is only a very small range of web developers that have video or audio content to deliver. The media support is very good when i.e. looking at HD video streaming with Silverlight. I would like to see real-world applications instead (my greetings to Oliver Scheer).
One comment for the feature wish no. 3 (running standalone Silverlight applications) in my first list: maybe you can compare it with Adobe Flex. You can run the application in a browser or taking a flex application to the desktop. WPF is not working as it is only supported on Windows desktop PCs. I would like to see Silverlight applications on desktop PCs and, the more important, on Windows Mobile devices. I don't want to connect to the Internet always to run a Silverlight application. Does this make sense?