This Blog


Favorite Posts


  • Hotfix to DevExpress 12.2 .NET

    An issue managed to make its way into the DevExpress 12.2.14 release: showing a WPF or Silverlight RichEditControl in an app crashes the app. This was obviously a critical enough bug that we immediately refreshed the 12.2 series to 12.2.15 in order to publish the fix without delay. We have also withdrawn the 12.2.14 install. For details on what new functionality was present in 12.2.14, please see the What’s New for 12.2.15.

    If you are using the 12.2 series, our recommendation is to update to the 12.2.15 hotfix as soon as possible. We apologize for any inconvenience.

  • Job interview at HTML5DevConf?

    We had a visit today from the ‘Droid we were looking for.

    HTML5DevConf Android dude

    He seems to like to like that publicity shot of the PhoneJS app running on Android. I wonder why?

  • Some markup from the HTML5DevConf!

    This week, we’re exhibiting at the HTML5DevConf at the Moscone Center in San Francisco, showing off our HTML5/CSS3/JS products: PhoneJS, ChartJS, and, of course, TestCafé.

    HTML5DevConf Booth sign

    Yesterday was the first day of the booth, and let me tell you it was busy. OK, OK, maybe part of it was because we were giving away our HTML5 T-shirts and part of it because we had a small bar dispensing a couple of brews in the afternoon for refreshments, but a lot of it had to do with our products. People were fascinated with how TestCafé worked and did its magic, especially when Seth and I showed it running tests on our iPhones, iPads, and even on my Kindle Fire HD. (The Amazon AppDev guys who had a booth here also were also very interested in this capability. In return, they also had one of the new 7-inch Fire HDX’s for me to try.)

    HTML5DevConf DevExpress Booth

    The morning was so successful that by lunchtime, I was hoarse from talking to attendees but with some four hours still to go. We met some old friends (even some .NET customers were here, a little confused perhaps that we were not talking about our .NET offerings as in other shows Winking smile), and lots of new possible customers. The teams back in the office had spent some long hours over the weekend polishing some new demos that we could show off, so expect those to appear on our demos web site over the next month or two.

    Anyway, we’re here today as well so if you are attending HTML5DevConf, do pop by and say hello.

  • Visual Studio 2013 support in your favorite DevExpress product is coming!

    A quick bit of news from the DevExpress R&D department, of interest especially to those who are thinking of upgrading to Visual Studio 2013.

    Microsoft have stated that Visual Studio 2013 will RTM at Windows 8.1 GA on November 13, 2013, although the RC (release candidate) is available now if you are an MSDN or TechNet subscriber. Please note though that the RC is *not* the RTM version: there have been changes to the beta bits already from when the RC was made available.

    Now, having said that, there’s a couple of items of note. Firstly, we have already announced our support for Windows 8.1 and Visual Studio 2013 with regard to our Metro controls, er, sorry, our Windows 8.x XAML controls. Secondly, with regard to everything else we do for .NET, we have some obvious news and some that is not so obvious.

    As you might have already guessed, we shall be supporting the released version of Visual Studio 2013 with our current version of our packages on the day it is published. Like, duh, as the young people say. In other words, we will deliver a minor 13.1.x version with this support on the day of release. The not-so-obvious news is that we shall *also* be publishing a minor version of the 12.2 series that will support Visual Studio 2013. So, if you are still targeting .NET 3.5 and would like to use the new features of the latest IDE to create/maintain your application, we will deliver that support at the same time in a 12.2.x version.

    If you’ve got any feedback about this news, or about anything else that DevExpress are doing, please don’t hesitate to contact me at julianb@devexpress.com.

  • Windows 8 XAML controls package now with Windows 8.1 support

    I’m sure that our customers already know that Windows 8.1 is due to be released on October 17. However, after a rocky start where that release date applied to everyone (apart from manufacturers), Microsoft eventually relented and allowed MSDN and TechNet subscribers early access to the RTM bits. And, of course it was at this point that our XAML team could get hold of the install and do some preparation towards supporting the new features in Windows 8.1 for Metro apps.

    PDF Viewer control for WinRTThe DevExpress Windows 8 XAML controls have now been overhauled to fully support Windows 8.1 and take full advantage of new operating system features including the following:

    • New application resizing mechanism.
    • Faster XAML loading thanks to pre-compilation to a binary format.
    • On-demand style loading.

    However the team did not stop there. In addition to supporting these new OS enhancements, they wanted to add some new controls and features and package the whole lot as version 13.2, a good couple of months before the release of the rest of 13.2. So they added:

    • A new PDF Viewer Control with full support for touch gestures, printing and multiple page view styles. The control renders directly to a DirectX drawing surface minimizing resources and maximizing performance.
    • Microsoft Excel style Data Filtering UI and horizontal virtualization support in Grid Control.
    • New Tile Control type that support newer sizing options and animations to match those introduced in Windows 8.1 RTM.

    Yes, this new version is available now so you can start building Windows Store applications for the new platform right away. You can download this latest version directly from here.

    Please note that this build requires Windows 8.1 RTM and Visual Studio 2013. You cannot develop Windows 8.1 Metro apps in Windows 8 or with an earlier version of Visual Studio.

  • DevExpress VCL 13.1.4 released with support for Delphi XE5

    I have some good news to report, tempered slightly with a dash of the not so good.

    The good first: we’ve just released v13.1.4 of the DevExpress VCL subscription. Among various issue and performance improvements, this release contains full support for Delphi XE5 (both 32- and 64-bit) and C++ Builder XE5 (both 32- and 64-bit), for apps compiled against the VCL run-time.

    To learn about the new features and resolved issues in 13.1.4, please visit the What’s New page. If you are still on 12.2 or earlier, here is my blog post about the new features in DevExpress VCL 13.1.

    Unfortunately, I must draw your attention to a few known issues with this release that may impact your development. The first two (B232477, B230655) are carried over from previous versions of RAD Studio (XE3, XE4) and are still reported as open in Embarcadero QualityCentral. Since these have been known for a while, I’m guessing that, if you’ve encountered them, you have worked around them to a certain extent.

    The third (B238969) is new and appeared in the just-released RAD Studio XE5. In essence, data navigation using the key fields specified via the KeyFieldNames property (Properties.KeyFieldNames in data-aware lookup editors) is broken due to an issue in TClientDataSet. (A similar problem involves numeric filters when used with TClientDataSet.) This functionality is exposed from the XE5 MIDAS.dll, a globally-registered COM component, so not only will it break new or updated applications that use it, but also existing applications (so you might already be aware of the problem). All issues have been reported in QualityCentral and we await their resolution.

  • Dateline: September 2013; Event: Basta; Location: Mainz

    We’re here at the fall Basta, which, like last year, is in the Rheingoldhalle along the Rhine in Mainz. And by “we” I mean the most prolific German speakers we have at DevExpress: Oliver Sturm (who, it must be admitted, is German), John Martin (who lives here in Germany), Seth Juarez (whose fave German word, and the only one, seems to be ‘fantastisch’), and yours truly (who can only order two beers at once – zwei Bier bitte – because I’ve forgotten the word for ‘one’). Luckily for Seth and I, many attendees know some English and so we’re able to present our products and answer technical questions.

    If the worst comes to the worst however, Oliver is able to pick up the baton. Here he is doing a rapid presentation of DevExtreme and PhoneJS:

    Oliver Sturm talking about DevExtreme and PhoneJS

    Yes I was right at the back of that crowd, holding my phone in the air to take that snap. Mind you immediately after the presentation, we raffled off a copy of DXperience to a lucky attendee. Tomorrow, there’s a similar chance to win Universal, so if you are at the show, please come on over before 1:30 and grab a raffle ticket. And a t-shirt (Eat-Sleep-Code makes a comeback). And a popper. And a go at the golf putting range we have by the side of the booth. Ah, heck, just come over and have a chat – I’m amazed at how many people I recognize from last year.

    There’s a great line-up of speakers – I’m certainly impressed enough to wish I could go to some of the talks. Plenty of sodas and water to drink, great food: the organizers are to be applauded at such a great show. If you’re not here, you’d better make a reservation now for 12 months from now.

  • Going back to iOS6? Flat chance, now that the PhoneJS demos are updated

    I know, I know. You’ve spent all day since 10am Pacific trying to update your iPhone/iPad to iOS7 and have finally got through the download crashes and the verification server issues and now have a shiny new look to your iDevice. Now, it’s time to play and see how the rest of the world out there has kept up with the new look and feel.

    Of course, you just want to see what PhoneJS looks like on your new mobile Safari, and see if you can catch out those fine DevExpress developers.

    Er, sorry:

    DXWorkout on iOS7   Tip calculator on iOS7

    (As you can see, actual screenshots from my iPhone.)

    Needless to say, since PhoneJS is one of the very few HTML5/JS framework solutions to automatically switch your presentation UI according to the device, these demo apps look like iOS6 on an iOS6 device, like Android on an Android device, and like Windows Phone 8 on a Windows Phone. It’s just that now, if we detect iOS7, we flatten the UI for you and get the font right. After all, you have more than enough work writing the app in the first place.

  • Debugging DevExpress code with PDB files

    Do you like debugging? (I know, I know, a necessary evil, right?) Do you own a license to either DXperience or Universal subscription (in other words, you have the source code)? Do you wish that you could debug into DevExpress code from your code?

    Did You Know?Well, we’ve just made that a whole lot easier in v13.1 (or later) by providing the PDB files as a separate download for you. Just go to the Download Manager once you’re logged in and you should see a link to download the PDB files for your particular version. (They are version-specific, so be warned.) These are standard “program database” files and contain debugging symbols and other information that help in your debugging efforts within Visual Studio. Once you have downloaded these files and completed a little bit of configuration, you will be able to debug into DevExpress code as if it were your own.

    For more details on how to configure Visual Studio to find the DevExpress PDB files once you’ve downloaded them, please see the KA18843 Knowledgebase article in the support center. There are full details in that article – with screenshots! – so you shouldn’t have any issues, but if you do our support team can help.

    Remember: they’re only available for DXperience 13.1 or Universal 13.1 or above (you have to have the source) and they are version specific.

    Happy debugging!

  • TestCafé webinar and quick FAQ

    On Tuesday, August 27, I shall be presenting a webinar on our new functional testing tool for the web, TestCafé. Supporting me will be members of the team that created the product and we’ll be providing as many answers as we can in the half-hour or so of the presentation. I shall of course be demonstrating TestCafé in action; sometimes a picture (or a video) is definitely worth a thousand words.

    TestCafé logoIn preparation for that, let me provide some answers to some questions about the product. I dare say I’ll be talking more about these topics during the webinar, but it doesn’t hurt to provide some foundation first. So, without further ado, here’s the Top Ten questions.

    Q1. What is TestCafé?

    A. It is a tool, a system for creating and running functional tests for web pages, sites, or applications. As I’ve put it before, if it’s HTML5/CSS/JS and served up by a supported browser, TestCafé can test it.

    Q2. What is functional testing?

    A. Functional testing is a QA process designed to test what a system does, and not how it does it. (The latter is more the purview of unit testing.) In other words, you the developer (or tester) define what should happen in a certain scenario with certain inputs, and functional testing verifies that the output is as you’ve specified. Let’s take a small common example from a blog: each article in the blog is shortened in the browser and has a “read more” link. When the user clicks on one of those links (the first, say) the page should slide down to show the remainder of the article. A functional test would recreate the initial conditions, “click” the first link, and then verify that the resulting page has the article visible.

    Q3. Does it work on WinForms/WPF/Silverlight/Metro apps?

    A. No. This is a web testing tool. Think “testing HTML in a browser” and you can’t go far wrong.

    Q4. You mentioned ‘supported browsers’. Which ones?

    A. Essentially any browser that is capable of rendering HTML5 and that supports a modern dialect of JavaScript. So, IE9+, Chrome, Firefox, Safari, Opera on Windows, Safari and others on the Mac, browsers on Linux.

    Q5. They’re all on the desktop, but we need to test our mobile web pages. Does it work with browsers not on the desktop or do we have to use a simulator?

    A. Yes, TestCafé works with any device with a modern browser. So, Safari on the iPhone or iPad is supported, as is the Android browser and IE on Windows Phone 8. Using simulators for testing? <spit>

    Q6. Wow, does that mean you provide plug-ins for all those browsers as part of TestCafé?

    A. No, we don’t. The reason is that, unlike other web testing tools, TestCafé does not use plug-ins at all. When we were coming up with the idea for TestCafé, we recognized that a plug-in architecture was fundamentally flawed. Plug-in functionality is restricted by the browser manufacturers, and yet a testing plug-in has to somehow replicate user input gestures (keyboard, mouse, touch), screenscrape in some way to verify output, read the DOM of the page, verify whether page elements are visible or not, and so on. In essence, the problem is the plug-in is manipulating your browser, not the web page; there’s an awkward man in the middle.

    So, no hunting for that plug-in for Firefox 20 or the one for IE9 so you can install it. There is nothing to install in the browser under test. Zip. Nada. Zilch.

    Q7. So how does it work? Surely it has to replicate user actions in order to run tests, and that would require a plug-in to feed keystrokes or mouse actions.

    A. Not at all. And herein lies the beauty of the TestCafé experience. There are two main parts to TestCafé: the server and the client library. There’s the server part which holds the dashboard and analysis components (as well as the proxy server) that launch the tests being run on the client (one or more browser instances on whatever devices). This part runs on node.js, with the Control Panel being viewed inside a browser. Then there’s the client-side library that runs the tests within the client browser and communicates the results back to the server. The clever bit is that the client browser loads its pages through the TestCafé proxy server, which means TestCafé can inject the client-side library inside the page being tested.

    Now, both the server and the client could be run on the same machine (this is how I do all my work with TestCafé), but they don’t have to be. The client browser could equally well be on a remote PC or mobile device connected to the LAN. All you have to do in that case, is to ‘register’ the remote browser as a ‘worker’ with the TestCafé server by navigating to a special URL, after which TestCafé does the rest. Oh, and just because I use the term ‘client’ in the singular doesn’t mean that TestCafé is somehow restricted. It can run tests on many browsers simultaneously in parallel. And when we release a new version, all you have to do is update the node.js server, you don’t have to go to every single browser you’ve used and update those: the TestCafé server is king.

    Q8. How do you create a test in the first place?

    A. Two ways: you can get TestCafé to record it for you, or you can write it from scratch.

    Q9. Great, so there’s yet another DSL (Domain-specific language) to learn?

    A. Nope. All tests for TestCafé are written in JavaScript, even the ones recorded by the tool. If you think about it, that’s the only way it would all work: the client-side library gets your tests as JavaScript files and just executes them. You can put anything in your tests, including calls to your own libraries that you’re loading as part of the page. In other words, code re-use is other big benefit of using TestCafé. The biggest benefit of all though is that your test code is running as part of the page in the browser. You have full access to the DOM of the page; it’s just as if your tests were part of the page. There is a small TestCafé API to learn, certainly, but it’s not a completely new language.

    And that, boiled down to the basics, is why TestCafé works on all devices with a modern browser: it’s just JavaScript all the way down. If you’re a web developer, you know it already and TestCafé fits right in to your experience and workflow. If you’re not a web developer or tester, why are you reading this?

    Q10. How do we get TestCafé? Is it a service or is it a separate download that we install?

    A. It’s a download. Yes, we could have launched TestCafé in such a manner that we controlled the server part (in essence, we could have “rented” out testing services), but we recognized that a lot of web testing is done in a QA environment which may be just running on an intranet, with no connection to the internet. In that scenario, it makes sense to provide the server part as part of the TestCafé install.

    So if you want to try it out, go ahead, download and install into a local instance of node.js and experiment to your heart’s content. If you want some hand-holding as you set it all up, please visit our documentation page: there’s a full tutorial of how to configure TestCafé, how to create tests, how to run them and debug them, and how to add them to a Continuous Integration system. Or just watch the supplied videos on those tutorial pages. Or, if you’re like me, do both ;). Of course, full support is also available from our support team if you get stuck.

    If you want to use it for a commercial site or app, we sell licenses per developer/tester, not per machine. You can buy a license for $499, and please note that we do have discounts for multiple licenses. Naturally, you get all the benefits that the non-commercial tester gets, with the additional benefit of faster response to support questions.


    So, see you on Tuesday, August 29. Register now!

5 6 7 8 9
11 12 13 14

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


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, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

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