Blogs

This Blog

Subscribe (RSS, Email)

Mehul Harry's DevExpress Blog

JavaScript, HTML 5, ASP.NET, DevExpress, ASP.NET MVC & WebForms, and News - Mehul Harry's DevExpress blog

March 2010 - Posts

  • Internet Explorer 9 At MIX10

    Check out this great Internet Explorer 9 (IE9) video interview from this year’s MIX10 conference.

    John Hrvatin is a Lead Microsoft PM on the IE9 Project. John’s a smart guy who patiently answered all my questions about IE9. Thanks John!

    I highly recommend watching this video to see why IE9 sounds so exciting:

    image

    In the video, John demos IE9 and openly discusses:

    • IE9 – Features and performance
    • HTML5 support
    • Gives a IE9 demo
    • Explains new IE9 JavaScript engine (JIT, Multicore, GPU Powered)
    • Acid3 support
    • CSS3 improvements
    • Working with W3C for standards compliance
    • What developers can look forward to
    • SVG support and SVGoids game
    • Mobile Browser Experience

    After you watch the video and you want to play with the upcoming IE9 then go to ietestdrive.com. You can also learn more about John Hvartin at his blog or contact him on twitter.

    Watch the full IE9 video interview with John Hvartin from MIX10. Then drop me a line below with your thoughts. Thanks!

    DXperience? What's That?

    DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

  • Installer File Size Reduced - v2010 vol 1

    Russian Nesting Dolls The DevExpress DXperience installation file size will be about 1/2 size of its current 300+ megabytes! Starting with the v2010.1 installer, you’ll have less to download.

    How?

    The documentation files have been removed from the DXperience installer. However, a separate installer with just the documentation will be available for download.

    Why?

    The DXperience v2010.1 is our first major release that will support Visual Studio 2010 (VS2010).

    VS2010 has a new help system which would require us to include help in the old VS2008 style and the new VS2010 style. This would increase our installer file size up to 450 megabytes!

    And since the help documentation is not always updated in each of the minor releases, we’ve moved the documentation to its own installer. Now, you can download the help documentation during the two major releases instead of for each minor release.

    Search.DevExpress.Com FTW!

    Personally, I prefer to use the online documentation available at http://search.devexpress.com. It’s fast and up to date!

    Look for the v2010.1 release coming out in the April 2010 timeframe. If you’re DXperience subscriber, you’ll get access to the v2010.1 beta a week or two before its official release!

    DXperience? What's That?

    DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

     

  • DevExpress ASP.NET MVC Extensions Are Coming Soon

    Update: Be sure to read the commitment that DevExpress has to ASP.NET MVC. Also, check out all the related ASP.NET MVC posts.

    MVCxGrid displaying recent twitter stream for hashtag #DevExpressI have excellent news for ASP.NET MVC developers and DevExpress fans. We are about to release native ASP.NET MVC Extensions in the DXperience v2010.1 release.

    These ‘native MVC’ extensions use .NET Framework 3.5 plus jQuery and produce no ViewState! They also include some great functionality and features, so let’s dive in and see...

    Product: DevExpress MVC Extensions

    Release time estimated around April 2010 with DXperience 2010.1.

    Includes 5 major extensions:

    • GridView – MVCxGridView
    • Menu – MVCxMenu
    • NavBar – MVCxNavBar
    • TabControl/PageControl – MVCxTabControl
    • RoundPanel – MVCxRoundPanel

    jQuery Integrated!

    Callbacks in the extensions are made using the jQuery library, as well as all client-side functionality in the demos.

    Semantic Rendering

    3 of the DevExpress MVC Extensions render semantic HTML. The MVCxPager, MVCxMenu and MVCxNavBar render HTML using list items and CSS styling instead of tables. Using semantic rendering has many benefits:

    • Performance is increased because the amount of HTML output is reduced.
    • Accessibility is improved because screen readers understand semantic HTML
    • SEO is also improved because search engines also prefer semantic HTML

    Other controls such as the grid also gain some benefits because they make use of the controls internally.

    The WebForms counterparts (ASPxPager, ASPxMenu, ASPxNavBar) are also getting semantic rendering benefits in the DXperience v2010.1 release. More on this in a future post.

    Built On .NET Framework 3.5

    DevExpress MVC Extensions assembly code and demos are created using .NET Framework 3.5. Therefore, we use some of the Framework 3.5 approaches and technologies such as auto-properties, lambda expressions, LINQ, etc.

    This means that .NET Framework 3.5 SP 1 (or later) is required to use our ASP.NET MVC extensions. No exceptions.

    Supports MVC 2.0 and VS2010

    Our MVC extensions support ASP.NET MVC 2.0 which you can use in either Visual Studio 2008 or Visual Studio 2010.

    Price

    Free with DXperience subscription. Standard EULA applies.

    Advantages

    The DevExpress MVC Extensions will give many of the same features and functionality as our WebForms controls without producing any ViewState. For example, the navigation controls like the MVCxMenu have much of the same functionality as the ASPxMenu. And the MVCxGridView has the much of the same feature set as the ASPxGridView except for master-detail layout and functionality that uses the editors (i.e., inline editing, filtering and selection).

    The advantages of our MVC extensions are:

    1. Native ASP.NET MVC rendering via an extension of the HtmlHelper class. In your page it will look something like this:

    <%
       Html.DevExpress().Menu(Page,
          settings=>
             {
                settings.Name= "mClientSideAPI";
                settings.AllowSelectItem= true;
                settings.Orientation= Orientation.Vertical;
                settings.Items.Add("Visa", "Visa", "~/Content/Menu/visa.png").Selected= true;
                settings.Items.Add("MasterCard", "MasterCard", "~/Content/Menu/master.png");
                settings.Items.Add("Union", "Union", "~/Content/Menu/union.png");
                settings.Items.Add("American Express", "American Express", "~/Content/Menu/amex.png");
                settings.Items.Add("Maestro", "Maestro", "~/Content/Menu/maestro.png");
                settings.ClientSideEvents.ItemClick= "MenuItemClick";
             }).Render();
    %>

    2. Lightweight HTML rendering – Using semantic rendering, the HTML output will be much smaller. More on this below.

    Our ASP.NET team have worked hard to provide you many of the same features as our WebForms controls, such as:

    3. Similar server-side API and properties types.

    4. Similar client-side API.

    5. Look and feel is the same as the WebForms version of our controls. We use the standard ASP.NET themes and skin-files which are similar to our WebForm controls excluding the root tag (e.g. ASPxNavBar -> MVCxNavBar). And our handy ASPxThemeDeployer tool can generate these skin-files.

    6. Ability to use templates like in ASP.NET:

    <%
       Html.DevExpress().PageControl(Page,
           settings=>
              {
                 settings.Name= "pcTemplates";
                 settings.SkinID= "None";
                 ...
                 settings.SetActiveTabTemplateContent(c=>
                    {%>
                       <%  Html.RenderPartial("TemplatesActiveTab", c.TabPage);%>
                    <%});
                 settings.SetTabTemplateContent(c=>
                    {%>
                       <%  Html.RenderPartial("TemplatesTab", c.TabPage);%>
                    <%});
              }).Render();
    %>

    7. Ability to bind controls to business objects (model), navigation controls additionally to xml and sitemap files.

    Because ASP.NET MVC is different than ASP.NET WebForms, there are a few things missing. For example, the postback fuctionality and some server side events are not supported but you will likely not miss them in ASP.NET MVC.

    Features

    Here is a list of just a few of the features of our ASP.NET MVC extensions:

    • DataBinding
    • Sorting
    • Grouping
    • Filtering
    • Paging
    • Scrolling
    • Preview
    • Summary
    • Editing
    • Templates
    • DataBinding To Model
    • Client-Side Events & Functionality
    • And many more…

    We refactored our ASP.NET libraries in order to create a common basis for the two Microsoft web platforms. This refactoring provides you with a similar feature set for both platforms while still staying consistent with the respective frameworks.

    Feedback

    Please keep in mind that this is a first release so we’ll likely add more extensions and features based on your feedback.

    Are you excited to try the DevExpress MVC Extensions? Drop me a line below with your thoughts. Your feedback is appreciated.

    DXperience? What's That?

    DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

     

  • MIX10 Video Highlights

    Check out this short 2 minute video of highlights from my recent trip to the MIX 2010 conference:

    Higlights Video from MIX10 Conference

    The video includes appearances from:

    • Sterling Quinn – The 16 year old yoyo wiz kid who opened the MIX10 Day 1 keynote and amazed everyone. YoYoFactory sponsored him to come hang out in the commons afterwards and teach novices like me how to do yoyo tricks.
    • Jim W. expresses his thoughts on DevExpress products. Thanks Jim!
    • Contest winners from MIX10 DevExpress Giveaway
    • Excerpt from an upcoming interview with Joey “The Accordion Guy” Devilla. Besides the playing the accordion, Joey is a smart web evangelist. Check out his blog.
    • Excerpt from a Windows Phone 7 (WP7) demo from a Microsoft PM who shows how easy it is to create a Silverlight app for the upcoming WP7.
    • The Blues Brothers (excellent cover band) that was at a private Silverlight mixer event.

    Check out the full mashup video from MIX10 and stay tuned for more video interviews from some of the smart and interesting folks at MIX10.

    DXperience? What's That?

    DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

  • Come See DevExpress At MIX 10

    If you’re at the MIX 10 conference this week in Las Vegas then drop by the DevExpress kiosk. I’ll be there with some of the DevExpress Silverlight devs and we’d be happy to talk about what DevExpress has been up to lately.

    Oh and there’ll be some giveaways too:

    Mix10 DevExpress Swag

    So between the big keynote or cool sessions, drop by and say hello. We’ll be there showcasing during these times:

    Monday – 11am – 5:30pm

    Tuesday – 10:30am – 6pm

    Wednesday – 9am – 4pm

    Hope to see you there!

  • ASP.NET Captcha – Image Generation

    ASPxCaptcha Control Last week, you saw a sneak peek of the new ASP.NET Captcha control that’s coming out in the DXperience v2010.1 release. In this follow-up post, you’ll learn about the ASPxCaptcha control and:

    • how it creates the Captcha images
    • why ASPxCaptcha doesn’t use background noise
    • how ASPxCaptcha performed in an OCR test versus a competitor’s Captcha control

    Guidelines And Character Set

    While designing the ASPxCaptcha, our team reviewed proper guidelines and recommendations:

    "Strong CAPTCHA Guidelines by Jonathan Wilkins" [http://www.scribd.com/doc/24497942/Strong-CAPTCHA-Guidelines-v1-2]

    Using one of the article’s recommendations, the ASPxCaptcha uses a default character set which excludes symbols that are hard for the end user to recognize. However, you can still define your own set of characters and length using the ASPxCaptcha’s properties.

    ASPxCaptcha CharacterSet Property

    Algorithm Challenge

    The primary goal of the Captcha control is to make it easy to decipher for people but difficult for machines. And the problem of “machine recognition” is really divided into three parts:

    1. Pre-processing - removal of your background and noise
    2. Segmentation - selection of regions in the original image that contain the individual characters
    3. Classification - identification of the characters in each region

    The first and third problems are easily solved by most modern and public optical character recognition (OCR) software.

    However, the segmentation problem seems to be the last one for spammers to crack easily. So far, there is no universal and trivial algorithm for this step of machine Captcha solving. This ‘recognition’ step requires more researching and computing power from the spammers. And lucky for us, most spammers either do not have this computing power or they do not want to invest in it.

    Revealing Microsoft Study

    Microsoft HIPS Research Don’t believe me? Check out this study conducted by Microsoft Research which confirms these findings:

    "Building Segmentation Based Human-Friendly Human Interaction Proofs (HIPS)" - [http://research.microsoft.com/en-us/um/people/kumarc/pubs/chellapilla_hip05.pdf]

    The research reveals some very unexpected results.

    Based on the research from Microsoft, machines understand skewed images with noise much better than humans. So, we can conclude that noise and strong distortions are not very effective methods of protection. In fact, the noise in images hampers recognition for the end-users.

    This is why the ASPxCaptcha does not use noise in the images. Instead, the image generation algorithm focuses more on the segmentation, specifically, cutting away the segments between the characters.

    OCR Test

    And the results are easy to verify. Using any moderately priced OCR (for example, FineReader), we verified that NONE of the ASPxCaptcha images were recognized!

    For comparison, we took a look at one of our competitor’s Captcha controls. The competitor’s Captcha was identified about 90% of the time by the OCR.

    So What Are The Big Companies Using?

    Most giants like Google are using the approach of generating a picture similar to how the ASPxCaptcha generates ones.

    Google Captcha ASPxCaptcha - Google Style
    Google ASPxCaptcha

    Vector Not Bitmap Fonts

    The ASPxCaptcha uses vector fonts for characters instead of bitmap fonts.

    Why does this matter to you? Because it gives you more customization options with the ASPxCaptcha!

    All other implementations that we examined used bitmap fonts during the process of gap removal between characters. This way of removing gaps is easier to implement but you can’t fit rendered text in a bigger image than the one that it was designed for without a loss in quality. Therefore, these other Captchas are not as customizable as the ASPxCaptcha which allows developers to customize its image size.

    Anti-Aliasing FTW!

    To give you better looking images, our ASP.NET team went the extra mile and developed a better way to render the Captcha image. Specifically, they developed a modification for bilinear filter for the anti-aliasing. This bilinear filter makes the image smoother and avoids the pixel staircase effect during skewing.

    anti-aliasing is the technique of minimizing the distortion artifacts known as aliasing when representing a high-resolution signal at a lower resolution. [Wikipedia]

    This type of modification is used for rendering textures in computer graphics. For example, when you are close to a wall, you see blurred texture, not large square pixels. And this anti-aliasing also works very well for the ASPxCaptcha.

    Coming in DXperience v2010.1

    ASPxCaptcha will be available in DXperience v2010.1 which should be released sometime around the April timeframe.

    DXperience? What's That?

    DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2014 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners