Expression Blend 3 Preview
Building compelling and usable UI should be easy and fun. We all can point to our favorite products (either the ones we build or the ones we use) and think about how much better it would be if the UI was simple, intuitive and easy to use.
Whether you choose to build rich desktop applications using WPF or slick web-based applications using Silverlight, Expression Blend can help you design a great user experience.
Recently, we released the Expression Blend 3 Preview, which continues to deliver features that enable a workflow for designers and developers from the design phase to production.
Here are a few of the interesting features available in the Blend 3 Preview.
Adding Interactivity without Code
Behaviors are re-usable chunks of code that can be dragged and dropped onto any object, giving that object interactivity without having to write any code. For example, you can drop the DragMove behavior onto a button on the artboard, run your application, and then instantly be able to drag the button around the application window. In the photo editing application below, the user can drag the green button onto the picture to show the brightness at that point in the photo.
Behaviors follow a design pattern extended from the Trigger and Action model in WPF and are available for use in both Silverlight and WPF. Therefore, behaviors can navigate, change state, validate input, talk to web services, or play animations and sound. Blend 3 will ship with a set of general purpose behaviors including behaviors that navigate between pages in an application, simulate physics on a control, and run animations, but the model is entirely extensible so you can create your own reusable building blocks of interactivity. Behaviors, like user controls, can be defined in a library or as of the application itself, and will be automatically included in your assembly. For more ideas or to share your own behaviors, check out the Expression Gallery.
Seeing is Believing with Sample Data
At design time, you may not have access to the live data that will eventually display in your application. Without data, it’s very hard to get a good feel for how your application will look at runtime. Blend 3 helps solve this problem by enabling you to quickly create sample data that you can work with on the artboard to make it easier to customize those controls that will display data. Additionally, you can decide if you want to use live data during runtime: the sample data bindings are stored in design time properties. At runtime, live data can override sample data, or you can continue working with the sample data when testing your application.
When creating sample data, you can either import data from an XML file or choose to let Blend generate data for you. Generated data is fully customizable and can include flat collections, hierarchical collections, strings, numbers, Boolean values, and images. When you drag data items onto the artboard, Blend 3 interprets the values to determine the best way to display the data. For example, if the item is a path to an image file, the image is displayed. If the item is a collection of image file paths, a list box of images is created.
Embracing the Design Ecosystem
One of the new features of Expression Blend 3 Preview is the ability to import Photoshop (.psd) and Illustrator (.ai) files directly into Blend. Layers are imported as individual layout containers to make them easy to work with. Vector layers are imported as vectors, text layers as text with significant font information remaining intact, and gradients as gradients. Additionally, you can take a Photoshop file, import it into Blend 3, and then quickly convert it to a control skin using the new state-based control skinning!
Collaboration Powered by TFS
Expression Blend 3 is now integrated with Microsoft© Team Foundation source control. This means that project source files can now be easily shared by a team with all the benefits of source control. This minimizes the risk that one person might inadvertently overwrite the changes that someone else made to a file. At any time, you can view an older version of a file and compare it to the current version to see the changes that were made.
These are just some of the highlights of Blend 3.
For a complete list of new and enhanced features, such as Intellisense in the XAML editor, a built-in code editor, and design time annotations, check out the “What’s new” link. Then, download the preview, visit the Expression team blog, and watch the following videos for more tips:
· The Future of Expression Blend
· Integrating Expression Blend with Adobe Creative Suite
· Creating Interactivity with Expression Blend
Namaste!
Comments
Anonymous
April 04, 2009
PingBack from http://www.alvinashcraft.com/2009/04/04/dew-drop-weekend-edition-april-4-5-2009/Anonymous
April 04, 2009
Thank you for submitting this cool story - Trackback from DotNetShoutoutAnonymous
April 04, 2009
Soma, This is all cool stuff. Most developer meetings and events (like PDCs, MIX, user community meetings) that I go to, I notice that developers are very excited about Silverlight, Blend, etc. I am too! Blend is an awesome product. Can you tell us what is Microsoft doing to make Silverlight ubiquitous (besides the successful Olympics and Democrat convention stories)? Any updated figures on user adoption? There are 3 major complaints I have with the way how Microsoft is doing things recently:
- Delivering half-baked products: How can Microsoft release products like WPF without a proper datagrid control? How can anyone adopt Silverlight without a decent datagrid control? Sure you can say there are 3rd party options - but Microsoft needs to provide these basic controls for any UI technology to be successful quickly. The codeplex datagrid for WPF has several annoying bugs and doing validations with template columns when using a datatable (as itemsource) is a pain. AJAX solution for ASP.NET is also a half-hearted effort/release so far.
- Releasing a new technology and then pulling the plug on it soon afterwards. LINQ to SQL is perfect example of this. People lose confidence due to such actions. First of all, why have so many ways of accessing data: Entity Framework, LINQ to SQL, ADO.NET, etc, etc? Just like WPF for UI and WCF for communication, why can't we get a standard and EASY way of accessing data without having to learn 10 different techniques?
- Videos for various technologies are cool but not good enough (at msdn, asp.net and silverlight.net) Many ASP.NET, Silverlight and videos on other latest technologies from Microsoft do not demonstrate examples by accessing data from a database. For example, (to date) there is not a SINGLE video on the silverlight.net website that properly demonstrates how to use WCF to get data for a Silverlight 2 application. No video shows how to setup WCF for Silverlight applications. These are basic requirements for LOB applications. Not everyone is developing small websites to show off their design skills... Similarly, many of the ASP.NET videos conveniently demonstrate capabilities of ASP.NET using Datasets or adapters. Using Datasets in web applications is a bad idea, both in terms of performance and scalability. Videos on technology should demonstrate using the right techniques, using best practices and show how the Enterprise Library can be used to achieve these.
- Anonymous
April 05, 2009
You know what? I decided to share some of my ideas for Silverlight:
- Promote a Silverlight version of Live Hotmail (Siverlight 3 supports better navigation and integrates with the browser well)
- Bring out Live messenger using Silverlight (now that Silverlight 3.0 supports offline or desktop apps with reduced XAP size)
- Convert msn videos to use Silverlight
- Get more partners Since you have around 450 million users of Hotmail, Messenger and msn.com is a very popular site (ranked very in terms of unique visitors or traffic) - these should be the best platforms to promote Silverlight more aggressively.
Anonymous
April 06, 2009
Hi Soma, Some bummer about Major League Baseball dumping silverlight and reverting back to Adobe, that is a tough one especially when one of the reasons given was the product was too unstable. This shouldn't come as a surprise I been telling you / Microsoft for over a year now how bad .NET and Visual Studio are and you don't listen. Not sure what you are thinking that productivity doesn't matter and developers actually like writing massive amounts of code and using tools that are incomplete. Few more success stories like this one and we just might see the end of .NET and the re-release of VFP and VS 6.0 that will be a day to celebrate indeed ! .MarkAnonymous
April 06, 2009
I have not noticed anything unstable about Silverlight or anything that causes too much concern. I have been delivering Silverlight applications for about an year now. MLB did not give details. It seems they did not adopt Silverlight and were merely evaluating or testing it out. VS.NET and .NET are great products and technologies. There is nothing out there that is better in a complete comprehensive package.Anonymous
April 06, 2009
AMEN to what SAM said: Soma, This is all cool stuff. Most developer meetings and events (like PDCs, MIX, user community meetings) that I go to, I notice that developers are very excited about Silverlight, Blend, etc. I am too! Blend is an awesome product. Can you tell us what is Microsoft doing to make Silverlight ubiquitous (besides the successful Olympics and Democrat convention stories)? Any updated figures on user adoption? There are 3 major complaints I have with the way how Microsoft is doing things recently:
- Delivering half-baked products: How can Microsoft release products like WPF without a proper datagrid control? How can anyone adopt Silverlight without a decent datagrid control? Sure you can say there are 3rd party options - but Microsoft needs to provide these basic controls for any UI technology to be successful quickly. The codeplex datagrid for WPF has several annoying bugs and doing validations with template columns when using a datatable (as itemsource) is a pain. AJAX solution for ASP.NET is also a half-hearted effort/release so far.
- Releasing a new technology and then pulling the plug on it soon afterwards. LINQ to SQL is perfect example of this. People lose confidence due to such actions. First of all, why have so many ways of accessing data: Entity Framework, LINQ to SQL, ADO.NET, etc, etc? Just like WPF for UI and WCF for communication, why can't we get a standard and EASY way of accessing data without having to learn 10 different techniques?
- Videos for various technologies are cool but not good enough (at msdn, asp.net and silverlight.net) Many ASP.NET, Silverlight and videos on other latest technologies from Microsoft do not demonstrate examples by accessing data from a database. For example, (to date) there is not a SINGLE video on the silverlight.net website that properly demonstrates how to use WCF to get data for a Silverlight 2 application. No video shows how to setup WCF for Silverlight applications. These are basic requirements for LOB applications. Not everyone is developing small websites to show off their design skills... Similarly, many of the ASP.NET videos conveniently demonstrate capabilities of ASP.NET using Datasets or adapters. Using Datasets in web applications is a bad idea, both in terms of performance and scalability. Videos on technology should demonstrate using the right techniques, using best practices and show how the Enterprise Library can be used to achieve these.
Anonymous
April 06, 2009
The comment has been removedAnonymous
April 06, 2009
The comment has been removedAnonymous
April 07, 2009
The TFS integration is LONG overdue. Will Expression Web 3 enjoy the same capability?Anonymous
April 07, 2009
Publicación del inglés original : Sábado, 4 de abril de 2009 a las 10:07 PST por Somasegar La creaciónAnonymous
April 07, 2009
Midas79 - Yes, Web3 will have TFS Integration as well. Erik Saltwell - Group Program Manager Expression WebAnonymous
April 07, 2009
Hi Sam, I'm the Program Manager on the WPF DataGrid control and I'd like to understand the issues you're running into. If you could provide more details about the problems you've had, I can work with you to try to find solutions and will record your feedback for future improvements to the control. Thanks, SamanthaAnonymous
April 07, 2009
Sam, thank you for your ideas on improving and promoting Silverlight. We will take them under advisement. Polita Paulus Developer Division MicrosoftAnonymous
April 07, 2009
@Polita: Your welcome. Any plans for "Silverlight Lite" on Windows 7 Mobile and iPhone? Cool Silverlight applications can give Windows Mobile a big boost as well - if you guys can work it all out! Good Luck!Anonymous
April 07, 2009
The comment has been removedAnonymous
April 07, 2009
@Samantha: Thanks for getting back to me. There are a few issues I would like to discuss/clarify (if you want to take it offline from this blog, please direct me to another link).
- Consider the source to a WPF Datagrid to be a DataTable object. Imagine there is a date column in the DataTable. This is displayed as text in the Datagrid. However, if a user wants to edit this date field, I would like to show the DatePicker control (using CellEditingTemplate in a DataGridTemplateColumn), perform validations based on business logic and then save the modified value of the date back to the database as soon as focus is lost from the cell (CellEditEnding event handler). Can you suggest the best way to apply and perform custom Binding ValidationRules for this scenario? There is no documentation available for this - just a few blogs that don't give a complete picture. Is it true that the binding mode must be Mode=TwoWay in template columns' CellEditingTemplate? Template columns do not work seemlessly like non-templated columns and do not show red border around the row/cell on validation errors. DataGridTextColumns work fine.
- Do you have solid examples and proper documentation for the datagrid and the other controls released in the WPF Toolkit? It is difficult to be productive if developers have to research every step of getting things done in WPF Datagrid control from blogs and issue submission sections in CodePlex.
- Improvement suggestion: Provide filtering options in grid column headers. Please see the Telerick GridView control for Silverlight as an example.
- Scrolling issue: Lets say a datagrid is displaying thousands of records and a user of your application has scrolled down all the way to the last few records. Now, if this datagrid is assigned a new source (the user of the application performed a new search based on some search options) - the scroll position is maintained and not reset to show the new records at the top of the datagrid. Using this work-around seemed to solve the problem: datagrid1.ItemsSource = null; datagrid1.UpdateLayout(); datagrid1.ItemsSource = data; Why do we have to perform the above null assignment and then call UpdateLayout to reset the scroll position?
Anonymous
April 07, 2009
@Mark Gordon: The purpose of having XAML to represent presentation elements is simplicity. Designers care less about OOP. Expression Blend and XAML help developers and designers to work together. Besides, it is possible to create custom controls in Silverlight/WPF and re-use them. So, you can use OOP techniques to create UI controls. XAML is also extremely useful when working with animations and doing data binding. Although I share some of the concerns that you raise, I do not think VFP is the answer to any of the on going issues.Anonymous
April 09, 2009
The comment has been removedAnonymous
April 09, 2009
Sam, you can read about the Silverlight for Mobile story on http://silverlight.net/learn/mobile.aspx. Polita Paulus Technical Assistant Developer DivisionAnonymous
April 09, 2009
Hi Sam, The comments on my blog (particularly feedback) gets routed to the appropriate teams and folks at MS. Keep the feedback coming! -somasegarAnonymous
April 10, 2009
The comment has been removedAnonymous
April 10, 2009
Someone over here needs to set only one property Mark.VFP.AntiquePiece.Dump = True;Anonymous
April 10, 2009
The comment has been removedAnonymous
April 11, 2009
Monomania, Mark. Look it up. Get help.Anonymous
April 11, 2009
The comment has been removedAnonymous
April 11, 2009
The comment has been removedAnonymous
April 14, 2009
Hello Herbert, Regarding your comment about automatic translation: All of our core MSDN Library documentation that goes through machine translation also has a 100% human technical review done after the machine translation. We do have some technical articles, specifically from MSDN Magazine, that are not edited after the machine translation. It would be helpful to know specifically which docs you are looking at to identify the problem - my email is lucindar@microsoft.com if you'd like to follow up with me directly. Thanks, Lucinda Rowley MSDN MagazineAnonymous
April 17, 2009
[原文地址]: Expression Blend 3 Preview | Expression Blend 3预览 [原文发表时间]:Saturday, April 04, 2009 10:07 AMAnonymous
April 17, 2009
Comments that are disrespectful to other commenters have been removed from this comments section. If you'd like to discuss the comment policy further, please email me directly at phuff at microsoft dot com. Thanks, Polita Paulus Developer DivisionAnonymous
April 20, 2009
We wait 1 to 2 years before adopting new MS programming technologies outside of core .NET framework base classes and win32 api calls. This lets the technology mature and get at least one service pack. It saves considerable time for us in that there are much fewer API bugs and much better documentation. Newer techology is adopted if it is
- better than existing MS technology
- better enough to justify the higher initial development cost/learning cost
- better enough to justify the increased risk (i.e., fundamentaal bugs in the product, one-off technology from MS with no meaningful long term upgrades, niche or transitory product like VB4) Examples: - Asp.net does not give enough benefit to re-write/upgrade our large existing classic ASP applications --> no budget to reimplement a multi-man year product and no real compelling business case for major functionality changes - WCF, WWF, .NET 3.x, LINQ haven't given enough benefit for us to use other than a tiny fraction of the changes since .NET 2.0. We're using simple changes like slightly better winforms controls, console mode IO classes, file/path handling classes, etc. Typically, our applications are not flashy GUI ones since most of our implemenation cost centers around data, business rules, and integration between systems. We've a basic GUI.
Anonymous
April 20, 2009
To Microsoft: I wasted 6 hours trying to upgrade Visual Studio 2005 to Visual Studio 2008. After uninstalling Visual Studio 2005 then installing Visual Studio 2008, I installed service pack 1, the hotfix and tried a host of trial and error fixes on the MSDN blogs, including reinstalling the coredesigner. After all of this the Visual Studio 2008 Web Designer locks up when switching to design mode. There are a lot of people having this problem why is this still an issue ?!?!?!? I completely understand folks frustration with Visual Studio as I'm frustrated with this software as well. I'm done "BETA" testing Microsoft software, I'm resorting back to Visual Studio 2005 which isn't great however the IDE can at least render an HTML page!Anonymous
April 21, 2009
I have had no problems with Visual Studio 2008 in designing web apps. I love blend3 in designing silverlight apps. I wish that it supported animated gif images. I am in the process of designing a silverlight control that would render a series of images like it was an animated gif image.Anonymous
April 21, 2009
Dave, perhaps this post may help http://blogs.msdn.com/webdevtools/archive/2008/10/03/troubleshooting-visual-studion-2008-design-view-hangs-issues.aspx ThanksAnonymous
April 21, 2009
WebDevTools, Thanks but I found that last night didn't help :( I reinstalled Visual Studio 2005 it is working again. Any idea when the next service pack will be released with this show stopping bug fixed?Anonymous
April 21, 2009
The comment has been removedAnonymous
April 23, 2009
Sam, Virtualization just got checked in for Silverlight 3 – it isn’t in the beta, but will be in the final release. Any control deriving from ItemsControl (including Listbox) will be able to support it. Silverlight 3 RTM also has a new mousewheel API that does not require using the JavaScript bridge to enable mousewheel support (which was required in Silverlight 2 RTM and Silverlight 3 Beta). The new mousewheel API will make it much easier to enable mouse wheel interaction. We are still working out which controls will have automatic support for it. Polita Paulus Developer Division MicrosoftAnonymous
April 23, 2009
Polita, Thats really good to know. Thanks for the update. Silverlight 3 is going to be exciting. I forgot to add one more issue with Silverlight 2: If a website developed using Silverlight 2 (running in IE 7 along with several other programs like Word, Visual Studio, Excel, other IE windows, etc on a Windows XP or Vista machine having 3GB RAM and Core 2 duo processor) is left un-used for several hours - the performance of this website upon accessing it again is extremely slow. Hitting F5 to refresh the browser is very slow to happen as well. The browser stalls for seconds before it can refresh. Any clue regarding this?Anonymous
April 23, 2009
In next version, please also include: (a) EditMask control in WPF, Silvelight (b) MDI form ... I wanted to start a new project in WPF and then came to know that there is no MDI form.Anonymous
April 24, 2009
Sam, are you seeing the same problem in Silverlight 3? Some memory leaks were fixed in Silverlight 3, which may have fixed the performance issues you're seeing in your app. However, the memory leaks could be part of the application itself, and outside the control of Silverlight. Polita Paulus Developer Division MicrosoftAnonymous
April 24, 2009
The comment has been removedAnonymous
April 24, 2009
Sam, if you have specific Silverlight apps that exhibit this problem, you can send them to me at phuff [at] microsoft [dot] com and we'll debug it. The best place to post specific questions or problems on Silverlight is on http://siverlight.net/forums. The product team and other community experts will answer your questions, and then the answers will be available for other users as well. Polita Paulus Developer Division MicrosoftAnonymous
April 29, 2009
How many times have you sat down and drawn out your application design literally on a napkin? Those earlyAnonymous
May 28, 2009
Keep this stuff coming! The two things that will really change workflow for me are the design-time sample data and SketchFlow. Sample data is great. I've been coding off some of Kark Shifflett's examples over the last couple of weeks and have been putting a lot of thought into how this could be implemented. This is a feature that will dramatically reduce styling time and improve productivity. If you don't know how essential this feature is, you're not working in Xaml. SketchFlow is a natural extension of how I work...the ability to munch something together and feed it to a client - who operates at a much more visual level than today's frameworks allow early on in project - is rockin'. That you extended that experience to allow and capture feedback is genius. Don't mind the naysayers; it is very easy to sit anonymously across the wire and build negative thoughts. Samantha, Phuff and others do a great job at answering questions, as do so many others at MS (Scott Guthrie and Neil Enns are two that have answered direct questions and linked me up with other great resources to troubleshoot and solve issues, as an example). Cheers, -JamesAnonymous
May 28, 2009
Thanks for the kind words, James! Polita Paulus Developer Division MicrosoftAnonymous
September 15, 2009
The comment has been removedAnonymous
November 13, 2009
I am a total beginner. Please help me. I was open the Blend 3 on Windows Vista Home Premium. I created a rectangle, and I would like to use it the tile brush. I would like to fill in his content with a picture, but the picture does not show. Shows the pictures in the browser if I run the project, but in the Blend 3 softwares no. This is then, if import single PSD file. Does not show the pictures. What may be the trouble?Anonymous
November 13, 2009
Hi Spapp, From your description it is difficult to determine what the problem might be. Here are the steps you can use to fill a rectangle with an image in a SL application.
- Draw a rectangle
- Select the Tile Brush tab in the Brushes section in the Property inspector.
- Under ImageSource choose the ... button which will a file browser. Choose the image you would like to use.
- Your image should now display in the rectangle. It sounds like your Photoshop question is a separate issue. Do the Photoshop layers display in the import dialog? You might want to try making sure you have Maximize PSD File Compatibility selected in your Preferences and re-save the file in Photoshop. If you'd like to follow up you can email me directly at joamason at microsoft.com. Joanna Mason Microsoft Expression Blend