Blogs

This Blog

News

Favorite Posts

Archives

ctodx

Discussions, news and rants from the CTO of DevExpress, Julian M Bucknall

September 2011 - Posts

  • Sneak Peek: Alert windows in VCL for Delphi (coming in v2011 vol 2)

    What with all this news for our .NET platforms, I wouldn’t want our Delphi customers to feel left out in the cold. So, without further ado, let’s take a look at the new VCL Alert Window control that will debut in v2011 vol 2 later on this year. An Alert Window is a window that appears, usually with some kind of animation (the standard is that it pops up like a piece of toast from a toaster from the bottom left of the screen), to alert the user to some situation.

    VCLAlertWindow

    (Click image for animation.)

    Pretty simple in concept and very effective at getting some important information in front of the user.

    We’ve provided many options for animation, and you can apply separate options to both the showing and to the hiding of an alert window. These include:

    • Animation effect: namely Slide, Fade, Move, and None.
    • Pop-up position: either near the Windows notification area or one of the screen corners.
    • Animation direction: all four directions are supported: up (“toaster” type), down, left (shown in the video), and right. The animation path depends on the pop-up position, but it’s always either vertical or horizontal.
    • Animation time: this allows you to extend or shorten the animation.

    We’ve also provided some other options to help you customize the alert windows:

    • Capability to display custom buttons in a window’s footer.
    • Visibility of caption buttons (there are three: a dropdown menu (currently supporting TPopupMenu, so it can provide pretty much anything you want), pin, and close).
    • Auto-snap alert windows to screen edges during drag operations.
    • Auto-hide alert windows after a specified time.
    • Auto-size alert windows by content (limits are adjustable) or you can specify the exact height and width.
    • Limit the number of simultaneously displayed alert windows.
    • Skin support (duh!).

    All in all, a nice addition to our VCL subscription for v2011 vol 2.

  • Sneak peek: ASP.NET track bar control (aka slider control)–coming in v2011 vol 2

    From the nifty and much-requested department, I am pleased to present the new ASP.NET (and MVC!) track bar control, ASPxTrackBar. (You also might possibly have caught a reference to it in passing during our BUILD recap and What’s New webinar last week.)

    A track bar (or slider) control essentially comprises three parts: a thumb, a scale, and some UI that helps to increase or decrease the value represented by the thumb on the scale. You can also grab the thumb with the mouse and move it to represent a larger or smaller value. The track bar has the following notable features:

    1. The bar can be shown horizontally or vertically. Note that the value on the scale is rendered differently.

    Track Bar: Horizontal and Vertical Display

    2. The user can use the bar either in a normal (or forward) direction or a reversed direction.

    Track Bar: Normal or Reverse Display

    3. Not only is the value on the scale rendered differently, but you can specify that the scale labels be highlighted too.

    Track Bar: Scale labels highlight

    4. The bar comes with a value tooltip. This is shown when the user changes the value of the control, and is animated to show the changes as they occur.

    Track Bar: Tooltips

    5. Normally we think of track bar as a control for visualizing and changing numeric values. Ours has a special display mode linked to an items collection. The items in the collection define the steps on the scale, and you can specify the label and the tooltip associated with each item. This mode also allows for the items to be loaded from the database.

    Track Bar: Item Display Mode

    6. The bar supports ranges. In this mode, the bar has two thumbs, one for the “smaller” value, and one for the “larger” value. The tooltip is changed to show the range selected.

    Track Bar: setting ranges

    7. The bar has a very flexible method to set the scale. The developer can create a completely different scale, even one that is not symmetrical.

    Track Bar: setting the scale

    8. The bar is rendered in a two step process. The server renders part of the bar, which is completed on the client side. This has the advantage of a slightly smaller download, with a richer user experience on the client.

    To repeat, in case you missed it above: this new track bar control will be available in both ASP.NET and ASP.NET MVC for v2011 vol2.

  • BUILD Conference: Recap and our commitment to you

    Unless you went on vacation last week to Machu Picchu (where there’s not even electricity, let alone WiFi), you will have heard about the BUILD Conference (or //build/ if you OCR the logo). You may already have looked at some of the videos of the sessions, or may have even downloaded the pre-beta Developer Preview bits and have started playing around with the OS and/or Visual Studio 11.

    No matter what level you’re at with regard to Windows 8, Metro, or WinRT, there are certain conclusions you can make.

    First of all, no matter what else happens, this is all in the future. You still have your current projects to start, implement, and complete for Windows 7 or for the browser. They are not going away in favor of something that’s going to happen a year from now. Even better, Microsoft have guaranteed that apps written for Windows 7 will continue to work as a Desktop app in Windows 8. So if you are writing something using WinForms and using our DXperience WinForms controls in order to create that great skinnable UI, you can rest assured that it will continue to work on Windows 8 as a traditional app. We’ll even have a Metro-themed skin in v2011 vol 2 to help you on your way (although it must be noted that there is more to a Metro app than a theme). And we’ll have proper touch support for you in the same release.

    We’re excited about Windows 8 and all it entails, sure; but like you our normal work has to continue as we complete v2011 vol 2 and make plans for the new year. You can rely on us to help you with your current and future projects. We’re not abandoning WPF or Silverlight or ASP.NET or WinForms. In fact, far from it: they’ll still be a major part of the apps market in the next version of Windows. Indeed, it’s hard to envisage some of the apps our customers have shown us over the past year as anything but a traditional line of business (LOB) app: sometimes a high density of data on the screen is what’s required for a business to succeed. In essence, it’s not like the whole Windows apps market is going to suddenly go away in favor of Metro apps once Windows 8 is released.

    So, in one sense, Windows 8 is going to be like Windows 7. In the other sense…

    This is where it gets interesting, real interesting, real fast. I go back to the slide I showed last time. It’s quite simplified but it gets the point across.

    Windows 8 Architecture diagram

    (Click to enlarge.)

    The right-hand side describes what we do now for Windows 7. We write ASP.NET or Silverlight apps to run in the browser, be it Internet Explorer or one of the others; we write native apps that target Win32 and that run as “thick clients”; or we write .NET apps using WinForms or WPF to also run as thick clients (and if we’re really avant garde, we do the same with Silverlight client apps running outside the browser). That’s the universe I described above and as you can see, no change. All of our code and our customers’ code built with ours runs there quite happily.

    The left-hand side however is where the innovation lies for Windows 8. This side describes what it means, at least architecturally, to be a Metro app. There are the same kernel services underlying Windows (although this time, those services my be built upon an ARM architecture rather than Intel for slates and tablets). On top of that is the so-called Windows Run-Time, or WinRT. This provides services such as communications, printers and other devices, media, and so on. On top of that are the Metro apps themselves. As you may have heard these can be written in a “native” language like C/C++ or a managed language like C# or VB (both being able to use XAML as the presentation layer), or even a scripting language like JavaScript (using HTML5/CSS as the presentation layer).

    For managed code developers, the really interesting thing that’s not actually shown here is that there’s the normal CLR and a .NET Framework specially for WinRT services. You do not use the platform Framework you are used to (for example, Silverlight or WinForms). Similarly for JavaScript apps: you do not use a browser (such as Metro IE10) to run them; instead WinRT provides the services needed. (The JavaScript interpreter used is the one in IE9 and IE10, which goes under the codename Chakra). As Mehul pointed out, you are not writing ASP.NET apps here, there is no server.

    Metro apps are also different in another sense: the user experience. Metro apps are full screen. There is no visible operating system “chrome” at all, no windows, no title bars containing red X close buttons, no borders, no nothing. Metro apps really do use all of the screen. Content is king. (The OS does reserve swipes from the left and right for system-related operations, the left for a “back” function, the right to bring up the standard “charms”, Share, Search, Start, Settings, etc; and the app can reserve swipes down from the top or up from the bottom for an “app bar”, which is the new menu/toolbar in a sense.) Apart from the OS and app bar swipes, there’s a whole dictionary of gestures that Metro apps should follow like a small swipe down and release to select an item, or a longer swipe down to drag-and-drop the item.

    And of course Metro apps are touch-first. They are designed to be used with a touch screen: the beauty of the apps and the fluidity of the animations come into their own when you are interacting with the apps by swiping and tapping with your finger. The infrastructure for Metro apps also enforces the requirement that apps communicate with each other to give the end-user a more integrated feel to the device they’re using (Microsoft called this a “web of apps”). No longer will you have to awkwardly use copy-and-paste in order to share data between apps; instead apps will subscribe to “contracts” which describe various interactions between apps (for example, the Share charm that shares data between apps is implemented through contracts and brought up through touch). And then there’s the requirement that Metro apps save their state quickly when they’re suspended (since apps are full screen, the system will suspend them when they’re not at the front), and most preferably that state must be saved in the cloud, so that if you start the app on another device it knows your current state and settings.

    The great thing about Metro apps is that the new Visual Studio 11 comes with templates to create the standard look and feel in any of the major language groups. You want to create a grid-type Metro page with JavaScript? Select the relevant template and VS11 will create the necessary files and produce an empty app. The minimum you need to do, in essence, is wire up some content and your app accepts swipes and finger taps like all the rest. Perhaps your favorite language is  C# though. No problem, select the grid template on the C# page and you get the same empty app, it just needs some C# code to wire everything up.

    Of course, if you’re going to write any code at all you need your favorite productivity tools. If you were following our tweets from the conference (or even reading our blogs here) you’ll know that we managed to install and demonstrate CodeRush running inside the Developer Preview of Visual Studio 11 at the conference. Again we proved that DevExpress is there supporting you in your development when you need us.

    In conclusion, Windows 8 promises us developers a lot. We have a whole new way of interacting with our PCs, slates, and tablets and Microsoft are anxious for developers to start writing Metro apps. There’ll even be a Windows app store for those apps (which will be curated and, rumor goes, Microsoft will take 30% of the app’s price). Yes, it’s a bright new world and we certainly will be there in it: we intend to provide tools and components that will help developers write Metro apps. That’s the business we’re in after all, and it’s reflected in our name: Developer Express.

    However, a quick note of caution, this bright new world is not quite here yet. Microsoft were at pains to calls the downloadable bits the Developer Preview; it’s not even a beta. All of us still have to put the bread on the table by writing the kind of code we’ve been writing for a while. DevExpress have the right tools and controls to help you complete your projects right now and we have some great new features coming up in DXperience v2011 vol 2. Stay tuned for more about these and also news about what we’re going to do with Windows 8. Our commitment to you is that you won’t be disappointed.

  • Delphi: VCL is dead, long live FireMonkey

    An inflammatory title, perhaps, but this is how I’m reading the situation. I’ve also been writing and rewriting this post all weekend, so you’re seeing the polished toned-down version.

    Crystal ballFirst some background.

    1. A couple of weeks ago, Embarcadero released RAD Studio XE2. Personally speaking, I consider this to be the most important release of the Delphi ecosystem since Delphi 2 or even Delphi 1. Two reasons for this: 64-bit support, long promised and even longer forthcoming; and FireMonkey. Of the two, FireMonkey was the most interesting: a cross-platform run-time that targets Windows and OS X, together with compiler support for both. (In my view the iOS support is just there for a tick in some marketer’s list: see Tim Anderson’s excellent post about how to actually set this up and a discussion about the issues.) I wrote a post describing DevExpress’ support for XE2, just before its release.

    2. On Friday, I and any number of other people saw this tweet from Danny Thorpe. Yes, that Danny Thorpe. He obviously has some contacts still.

    Danny Thorpe tweet discussing Emarcadero layoffs

    3. And then yesterday, Sunday, Tony de la Lama, Senior VP of R&D at Embarcadero, makes his very first blog post in two-plus years of working for Embarcadero, ignores this news (unless you ponder that it was his first post and he published it on a weekend), and promulgates a rosy view of R&D growing by leaps and bounds through offshoring (IDE development in Spain, much of the rest in “European development centers”). In fact, through the grapevine we understand that the team in St Petersburg – the team that produced FireMonkey – is being grown rapidly too.

    4. Last week, you may have also heard that Microsoft had this conference called BUILD (or “//build/”) where they talked a lot about Windows 8, Metro apps, WinRT, ARM slates/tablets, and all kinds of other goodness. Yes, “old-style” Windows apps will still work on Windows 8, but the fancy touch-enabled Metro stuff uses a brand new run-time (the afore-mentioned WinRT) that is not Win32. This has been developed specifically for touch-capable devices like slates and tablets that typically would use ARM chips. Windows 8 is probably due (a reasonably good consensus guess) Q4 2012, a year away, although you can now download a Developer Preview right now.

    Now let’s bring it all together.

    1. From de la Lama’s post we see that part of the goal is mobile devices, iOS and Android being specifically mentioned. A definite win for FireMonkey there, although there’s a lot still to do (compiler and debugger support being two big issues).

    2. ARM devices that are targeted by Windows 8 and WinRT will not run Win32 code (PCs will, as mentioned above). To create Metro apps with Delphi will require a new compiler and run-time support. VCL is built upon Win32, and assumptions about that run-time is deep within the code. Another win for FireMonkey; VCL is painted into a corner.

    3. Like it or not, VCL development is being ratcheted down. This is obvious from the layoff and offshoring news, but it was also mentioned to us in the XE2 World Tour presentation our team attended in Moscow. The best demos on the World Tour were by far the cross-platform FireMonkey demos. Embarcadero want to concentrate on cross-platform app development and the only way to do that is by using FireMonkey with the appropriate compiler support. It’s a major differentiator for them.

    So, in my opinion, all this says that FireMonkey is going to be the technology Embarcadero are going to concentrate on going forward for RAD Studio. I think we’ll be hearing a lot more about FireMonkey in the months ahead and that a new RAD Studio roadmap will be forthcoming integrating support for other devices, especially on the mobile front. They also have a great deal of work to do in creating FireMonkey controls and components. We also conclude from the information we gleaned from the World Tour that the VCL will be maintained in its current form (bug fixes and the like), but no major new functionality will be introduced for it.

    We at DevExpress are already talking about what this all means for us. As I said before, our plans are laid for v2011 vol.2 and we can’t change direction too drastically from them at this late stage (code-freeze is perhaps some 6-8 weeks away), but for 2012? We’ll certainly be discussing in depth our RAD Studio support at our annual Summit late November, early December.

  • BUILD Conference: the Jason Zander interview

    I didn’t want this to disappear into the aether so I thought I’d bring your attention to a discussion we videoed between Jason Zander, Corporate Vice President of Visual Studio, and Dave Mendlen, our Chief Marketing Officer, on his second day at DevExpress. They get into the new features of Visual Studio 11, and the opportunities that await Windows developers with the advent of Windows 8. Certainly worth watching.

    ZanderAndMendlen

  • BUILD Conference: CodeRush runs in the Developer Preview of Visual Studio 11

    OK, this is just a quick heads-up. The Developer Preview of the new Visual Studio 11 has been available on MSDN for some 12 hours and our R&D team have already got CodeRush installed in it. Agile or what?

    If you’re at BUILD you can nip along to our booth (#28) in the Exhibit Hall and see a demo of it. Mark is there ready to show it off, so I would recommend you go take a look. If you’ve never seen or used CodeRush before, this is an ideal time to see it demonstrated by our Chief Architect and to find out how it can help you in your development.

    The rest of us (no, I’m not there either) are going to have to wait until the team have run their battery of tests on it before they publish a public version. Mark tells me it’ll be at least a week, maybe two.

    (Note: this is the full version of Visual Studio 11, not the Express version you get as part of the Windows 8 ISO download.)

  • Sneak peek: VCL Breadcrumb editor (coming in v2011 vol. 2)

    This is one of those controls where a picture (in this case an animated GIF) is worth a thousand words. Click to enlarge the image.

    Breadcrumbs

    In essence, the control replicates the breadcrumb display of Windows 7’s Explorer. You can use the editor to navigate through some tree hierarchy of names – in the demo, your file system – with the ability to select components of the path as a drop down and select subcomponents. You can also use the editor to type the path, and the control will display possible matching paths.

    This control will be available in v2011 vol. 2, and will come with the example DevExpress Explorer demo from which this animation was captured.

  • BUILD Conference: impressions of Windows 8 keynote news

    Like many people, I watched the keynote by Steven Sinofsky at BUILD remotely – I am not one of the on-site DevExpress crew this time. Rather than rehash what the keynote revealed (after all you can watch it again if you want to), I thought I’d summarize my immediate thoughts about what was shown, especially taking the viewpoint of a software developer who’d be interested in writing apps for Windows 8. Like us and all of our customers, in essence. I’ll therefore skip over much of the details about the consumer side of Windows 8, but be aware that Windows 8 comes with a new look-n-feel called Metro that mimics the tiles and interactions of Windows Phone7. The basic interaction with Windows 8 is touch, although mouse and keyboard will still work just as well. Also the “old-style” Windows look is still there (though obviously many apps have been updated), and there were many promises that every app that runs on Windows 7 will run on Windows 8.

    Firstly, Sinofsky presented a bit of rah-rah stats, wrapped in a rather plain PowerPoint slidedeck. Sorry and all that, but Apple do this so much better. Anyway, it was interesting to know that installations of Windows 7 (450 million) have now surpassed installations of Windows XP, and that 542 million people regularly login to Windows Live. [UPDATE: As Ian points out below, the Win7/XP figure is about consumer take-up of the OS, and excludes business sales.] What this means with regard to Windows 8, I really don’t know. The take-up of Windows 8 – once it is released – all depends on cost (I doubt the $29 price of Mac OS X Lion would be used by Microsoft for instance) and what the story is regarding the upgrade process from Windows 7 to 8.

    After a little while we came to possibly the most interesting slide, an “architectural” slide that showed that the apps that’ll run on Windows 8 will be split into two universes: Metro style and desktop.

    Windows 8 Architecture diagram

    The right hand side are those apps we create and use now, either native, .NET, or web apps in a browser. Interesting that they point out Silverlight especially. (And equally interesting that WPF was never mentioned in the keynote at all.) Of course, the .NET applications in this part include everything you are already writing and deploying right now for WinForms, ASP.NET, Silverlight, and WPF. This space (“Desktop Apps”) is certainly not going away.

    The other side describes Metro apps especially: there is a common run-time for all Metro apps – known as WinRT, or Windows Run-Time – whether these apps be written in HTML5 with JavaScript, or XAML with C++ or C#/VB. (So, yes, it looks like native apps can have a XAML description of the app’s presentation layer.) It is obviously this part that is of most interest here at BUILD, and indeed the just released list of BUILD sessions is all about Metro, WinRT, touch, and the like. For me personally, the HTML5/CSS3/JS combo is perhaps the most interesting development environment for creating Metro apps and I’ll be researching that over the next few weeks.

    So what’s a Metro app? Firstly it uses the native WinRT as a service layer for presentation, data, connectivity, and the like. Secondly it is a full screen app. (Paradoxically, there are no windows in a Windows 8 Metro app.) Actually, by “full screen” Microsoft apparently mean “full screen apart from a pixel-wide vertical strip on the right hand side” (used to slide in the “charms” panel, where the charms are essentially quick access icons for Search, Share, Start, Devices, and Settings). Thirdly it abstracts away the hardware to such an extent that it doesn’t really matter what kind of screen or device you are using, be it a slate/tablet or a PC, or be it Intel or an ARM chip (I’m a little unsure of what happens with regard to “native apps” in this scenario though). The other thing to realize is that Metro apps can register with the charms in the slide-in panel on the right (they indicate that they can fulfill a charm’s “contract”), so that the “joins” between apps from the user’s viewpoint are very much reduced. The user gets the impression of a unified set of apps even though they are in fact separate and have no knowledge of each other.

    And how are these Metro apps created? For now, Microsoft are releasing a Developer Preview of Windows 8 that contains a preliminary Visual Studio Express IDE, plus an early beta of Expression Blend 5. Obviously a new full-featured VS should be in preparation ready for the release of Windows 8. The Blend designer comes with a standard set of Metro controls.

    It seems – and I emphasize “seems” – that it could even be fairly easy to repurpose a Silverlight application as a Metro app. One of the keynote demos was the conversion of a standard very lightweight Silverlight app by changing the “using” list to target some WinRT assemblies instead of the standard Silverlight ones and altering a couple of lines of code. I hasten to add that we really can’t extrapolate from that demo to say that the conversion of all Silverlight apps will be equally as easy: demos and example apps are chosen for their brevity and ease of presentation, not for their in depth look at some thorny business and presentation issues. (The same goes for desktop Silverlight apps to Windows Phone 7 Silverlight apps as well.)

    Other bits and pieces: there’s going to be a Windows Store for your Windows 8 apps, be they old-style or Metro style; the new Reset-to-known-baseline functionality seems to work best with Metro apps; there’s a whole slew of information about seamlessly using the cloud (and SkyDrive and Windows Live) to store your settings and ordinary files. I would recommend browsing the keynote and skipping over the boring bits (it’s pretty long) to find out more.

    Where does all that leave you? Well, for a start that was only the keynote; there are still four full days of sessions and keynotes to learn more. I and the team of DevExpress evangelists will be reporting on what we find out and how it affects you. We’ve got a whole series of exclusive interviews lined up with various people for our DevExpress Channel to investigate the ins and outs of Windows 8, WinRT, and Metro apps.

    In the longer term, what can you expect from us? Well, first things first: all this news is really exciting but it’s all about an operating system and development tool ecosystem for which the only release date we can guess at is late 2012. That’s at least 12 months away and there’s still betas and release candidates to get through before then, all of which are liable to break code as the APIs are firmed up and bugs fixed. Until that point, your current and near term projects aren’t going away and neither are we. We’re already starting to blog about what’s coming up in DXperience v2011 vol 2 (and if you’re at BUILD itself, we’re in the exhibit hall where we can give you some sneak peeks) and we have a large list of new features to announce across all platforms: WinForms (remember, we just announced touch in WinForms! Prescient, us?), ASP.NET, Silverlight, and WPF. Just because everyone’s talking about Metro today doesn’t mean that all other development of traditional apps magically stops.

    The next thing to realize is that we are committed to creating controls and libraries for WinRT and the new Metro interface. Like, duh. One of the biggest goals we have as a company is establishing feature and product parity across all the platforms we support, and that list of platforms will be increasing by one from today. And I’m not talking about warmed over controls moved from another, inappropriate platform; we’re going to be embracing the design philosophies shown at BUILD for our range of Metro controls. You can be assured that, when you are ready to start writing Windows 8 Metro apps, the experts at Developer Express will be there with you.

    As for me, I’m going to repave an old laptop tonight with the Developer Preview of Windows 8 and putting in an expense requisition for a touch-enabled screen. There’s a lot I want to explore.

  • Resetting the direction for the DevExpress Business Frameworks

    Although we announced UI support for WPF and Silverlight in eXpressApp Framework (XAF) in this year’s roadmap last December, we are not going to be able to provide this feature by v2011 vol 2. There are a few reasons for this decision, but we feel the current uncertainty in the .NET market with regard to Windows 8 (as evinced by the past couple of months’ worth of news) is sufficient to adopt a wait-and-see attitude. We will all learn more about what Microsoft have planned at the BUILD conference in a couple of weeks.

    House FrameworkFor Silverlight in particular, current events seem to point to a Silverlight-specific UI not providing good value for our resources or for your development dollar. For many Line of Business apps, having a thick client WinForms app or a thin-client ASP.NET app seems to hit the sweet spot. Nevertheless, we are working towards multi-tier support (it’s not dependent on a Silverlight UI), but current trends hint at a revamped and better ASP.NET UI (maybe with MVC) as being more beneficial to more customers. As I said, we’ll also be seeing what the near future will bring platform-wise.

    This decision doesn’t mean that we’ve put XAF on the back-burner, far from it. We have been adding many new features, all requested by you, our customers, to the product, such as Windows Workflow Foundation 4.0 integration, a new State Machine module, improved startup and ASP.NET UI performance, numerous improvements to the Model Editor, Easy Test, and much more. A couple of developers on the team have also been investigating OData support, amongst other things; especially given our pioneering work in this area (see Azret’s blog posts on the subject, for example: here and here).

    Rest assured that XAF will be well positioned for whatever Microsoft might reveal in a couple of weeks. We’re looking forward to the challenge.

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