My observations so far having started playing with Silverlight over the last two weeks.
- WsHttpBinding for those of use who need SessionMode=Required in our web service, and don't want to use AspNetCompatibility with BasicHttpBinding - otherwise shouldn't we just keep using .asmx on the server?
- No TreeView, ComboBox/DropList (selectable), or PasswordTextBox controls.
- Pageable operation for the Datagrid, particularly for datasets of unknown (and potentially very large) size.
- No DockPanel container. I'm sure I'll probably need a WrapPanel/FlowPanel kind of thing down the track, too.
- Whatever support is necessary to enable Theming, so a user can choose from one of several display themes for their application. And I guess that includes support for multiple merged resource files to improve maintainability.
- Style "BasedOn" would simplify style maintenance a'la CSS.
- ISerializable, because sometimes you want to serialize data not for transmission over the wire, but for internal consumption later.
- Synchronous web services would be useful (along with Async). Some web services are *naturally* synchronous to the user interface experience and making them asynchronous just makes life harder. Especially for line-of-business applications. Consider saving a record - what else is your user going to do in the meantime whilst saving a record, when the record might in fact have errors that prevent them from "completing" that task? It's a logical stop-and-wait point.
- An appropriate mechanism for sending large files from the client to the server (ie. File Upload mechanism), with progress tracking capability.
- A SaveFileAs dialog so users can download content through a silverlight application and save it to their local machine without having to jump out to HTML/AJAX etc to do this.
- BETTER DOCUMENTATION. Especially stuff that gives "big picture" overviews of the class hierarchy and controls.
- Reduce Documentation Confusion versus full-strength WPF. Silverlight is intended to be a subset of WPF yet there is an entirely separate set of documentation for it. So when you start looking things up you can easily get a "bum steer" by looking at the wrong sub-set of documentation. You should merge the documentation together and point out which bits do and do not apply to "full-strength" WPF or to Silverlight. Much like how the Win32 API is documented only once and tells you which O/Ses a particular function applies to.
Oops, a couple more I wish to second (from other poster's feedback).
- Simple DataSets - in a LOB app, the UI might allow a user to define what columns are shown in a table, and it makes sense to only transfer the appropriate columns from the server - which in turn means the behaviour is behaviour is basically like a DataSet.
- Menus and right-click context menus.
- Scroll-wheel support.
- Keyboard support in Full-Screen mode. I realise the security implication here for "spoofing", so perhaps a "modified" full-screen concept that provides a visual cue that Silverlight is running, *IF* keyboard support is enabled in Full-Screen Mode?