MGrammar Quick Challenge 2 – Unordered and optional multi-projections

Given this grammar:

module test
    language test
        syntax Main = OneTwo*;
        syntax OneTwo
            =  o:One t:Two "\r\n"
            => Result { One => true, Two => true }
            |  Two One "\r\n"
            => Result { One => true, Two => true }
            |  One "\r\n"
            => Result { One => true, Two => false }
            |  Two "\r\n"
            => Result { One => false, Two => true };
        token One = "one";
        token Two = "two";
        interleave Ignore = " ";

How could I refactor the syntax “OneTwo” to have only a single projection?

Expression Photoshop Importer – By Soma

In his latest blog post Soma did a feature preview of the new version of Expression Web and the Photoshop importer gets an honorable mention.

With Expression Web 3, we have significantly improved capabilities and workflow when working with Photoshop files. When you import a PSD file, you can choose just the layers you want to import in to your website. You can save the layers as JPG, PNG, or GIF and scale the image* before saving the individual layers in Expression Web 3. If the source file has changed, Expression Web 3 prompts you to update it.

*Actually, you can’t scale the imported image in this window but you can zoom in or out of the preview to view it scaled and you can adjust the quality if you select jpeg. Once it is imported you can scale the dimensions of the image with your image editor of choice.

One interesting thing about the Photoshop Importer is that it is an expression wide feature rather than simply for Blend. Specifically it will be a feature available in Blend, Web and Design for this release. In each application the importer will have slightly different behavior. For example in the window shown here you can see there are options for Encoding and Quality as well as a field displaying the estimated size. When you import a Photoshop file in Web you will get a single flattened image rather than multiple resources like in Blend and Design.

Designing the importer so that it could be extended to support different feature sets for each application was one of my main roles so far. It was a lot of fun and I learned a lot!

Why Bing?

In case you were wondering, like me, where the name Bing came from here is the reason.
A New Product Deserves A New Brand

Our research around Bing showed that it connoted “fast,” “easy,” and “delight”—all qualities that mapped very naturally to the search experience. It was also seen as the friendliest and most approachable name option.

Photoshop Import in Blend 3 – by Janete Perez

Janete Perez has created a great series of blog posts on importing Photoshop files into Expression Blend. I have been apart of the Expression team for almost a year now and I have been working on the Photoshop Import feature, so these posts are especially interesting to me.