Thursday, August 20, 2009

RAD Studio 2010 - SOAP 1.2

Chris White here. This cycle around I have moved from working on the product's many areas that make up the IDE's Help experience to something that has been brand new to me, SOAP.

This posed quite a few challenges for me, one being I knew nothing about SOAP. So after familiarizing myself with SOAP, I started working on the largest feature request in the SOAP area, upgrading our SOAP client support to SOAP 1.2. So, I flew headlong into learning the differences between the specs for SOAP 1.1 and 1.2. With the new SOAP 1.2 client support, our ability to communicate with other SOAP Web Services has greatly increased.

Also since it had been a while, I gave the WSDL Importer Wizard a face lift. I simplified the UI greatly. There are only 3 dialogs (4 if you don't have a project open), all of which are in succession; as well as moved it to an easier to get to location (Component -> Import WSDL...). One nice thing about moving it to the Component menu, you can now import a WSDL without a project open. Hopefully this will be as useful to users as it has been to me; creating a project just to look at a WSDL got tiresome.

WSDLImp.exe also got sync'd up with the IDE's WSDL Importer Wizard. So now you can do everything with the commandline as you can with the IDE.

Monday, August 17, 2009

Touch Hardware

One of the first questions people ask about multi-touch is what hardware to get.

Everything is supported just at different levels. First you have touch screens that emulate the mouse such as most Point-of-Sale monitors. We have a Dell POS and a Planar PT 19. These are only good for big buttons. Any sort of dragging your finger across the screen is lost by the device/driver. The Planar doesn't loose the mouse as bad as the Dell.

Then you have the old school tablet laptops. These add pen and sometimes support touch with the finger as well. The pen resolution is equal to or better than the mouse. The finger with these older systems is an afterthought. Lenovo IBM X61 is an example of such a system.

Next you have all-in-one systems such as the Asus EeeTop which has better drivers/hardware than the Point-of-Sale monitors but they are still just a touch screen mouse. I.E. push the monitor with your finger and you get a left mouse click. The Asus has a pretty decent touch screen but still only supports one touch point and it is just emulating the mouse. The processor on the Asus is really slow.

Now enters multi-touch which only Windows 7 really supports. Some Vista systems support multi-touch but just go with Windows 7, you'll be much happier.

Building on the tablet there are currently two shipping multi-touch laptops. One by Dell and one by HP. These make touch a forethought and add multi-touch. The HP supports 2 touch points and with an updated driver 4. The Dell supports 10 touch points. They are the exact same display so it must be the driver or other components that allow the extra touch points on the Dell. A Dell is currently sitting on my desk and it is the nicest of the systems. It feels like a laptop that I would buy for myself. The Dell is priced a bit high but it is a nice slimline laptop. The HP feels a bit cheap and has some flowery patterns on it.

Lastly you have the all-in-one multi-touch systems such as the HP TouchSmart which features a large display and two touch points. We have purchased two batches of these. The first batch is pretty bad. I'm pretty sure these are the ones currently selling on Woot. The second batch is a lot better but the Dell and HP laptops I mentioned above are better. Update: If you buy one of these be sure to get the NVIDIA graphics card.

Thursday, August 13, 2009

Delphi 2010 - New Units

A lot of header translations and new units have been added. Here are just a few that are interesting:

Enables TWICImage. Support for Tiff, CR2 or NEF anyone?

.NET unmanaged compiler API. Always fun to crack open Assemblies from native code.

Direct3D.pas, D3DX9.pas, D2D1.pas
DirectX header translations.

TDirect2DCanvas. Get to Direct2D using the same TCanvas methods you know and love.

The inertia manipulators. Great for spinning and throwing things around your screen.

Gestures.pas, GestureMgr.pas, GestureCtrls.pas
Hot gesturing goodness.

Keyboard.pas, KeyboardTypes.pas
TTouchKeyboard for all your touchscreen input needs.

A serious addition to the RTL with TDirectory, TPath, and TFile.

Update: I forgot one RTTI.pas
For some very cool runtime stuff.

Wednesday, August 12, 2009

RAD Studio 2010 - Gestures and Multi-Touch

One of the most exciting features in RAD Studio 2010 is Gestures and Multi-Touch (or what I like to call Interactive Gestures). I can't really show much here because it requires video, but if you've seen the videos or my Delphi Live! talk then you've seen some of what can be done.

Gestures takes full advantage of synthetic properties so you don't see much in the Object Inspector until a GestureManager is assigned. But Interactive Gestures and Tablet Options can be fully utilized without any setup, just check a few check boxes and add some code to the OnGesture event.

Gestures of all flavors can be added per control but different flavors of gestures are mutually exclusive. So you can have a panel with the Gestures and another panel with Interactive Gestures. It's pretty slick.

RAD Studio 2010 - Touch Keyboard

The Touch Keyboard (TTouchKeyboard) is a new component designed specifically for touch systems. It supports a pile of languages and multi-touch. You can see the multi-touch in action in the screen shot above where I was holding down shift and pressing G. The Touch Keyboard is supported on Windows 2000, XP, Vista and Windows 7, but only Windows 7 gets multi-touch.

The Touch Keyboard is designed to be embedded in your applications where you need input from the user. Notice there is no Windows key. After much thought we decided to take a different approach to the Touch Keyboard than Microsoft did with their on screen keyboard. Our focus was on touch systems without a physical keyboard, hence the name, where Microsoft emulated the hardware keyboard.

A lot of thought was given to the colors and the font used. Touch systems are probably more likely to be used in harsh light so there needed to be a lot of contrast between the keys and the background.

Tuesday, August 11, 2009

RAD Studio 2010 - Touch Preview Video

Watch the Touch and Gesturing preview video where David I and I did some serious acting. And then there was some serious editing by someone that isn't David I.

Update: Here is a Japanese version that was translated before the editing:

For those interested the songs used in the video are "I Touch Myself by Divinyls" and "Touch Me by The Doors". You can listen or buy them here (I wish Amazon would just let me put a little play button so you didn't have to go to their website):

Thursday, August 6, 2009

RAD Studio 2010 - Actions

One very useful feature is an updated Action property editor. The little drop down hasn't changed in years and we wanted to get to our Actions quicker. So Seppy Bloom through some Object Inspector trickery, which you can find all about in his CodeRage 4 session Customizing the Object Inspector, updated the Action property editor.

What you are looking at is a new drop down that allows you to selection from one simple menu any standard action from the action list, choose any existing actions, or create a new action.

If you have more than one action list then just choose which one to use.

Just one more example of increased productivity.

Wednesday, August 5, 2009

RAD Studio 2010 - The IDE

Here is a screen shot of the entire IDE showing many of the new features. From top to bottom you can see a retro component palette. In the middle of the screen you can see IDE Insight. In the object inspector you can see the check boxes I mentioned yesterday. And at the bottom of the editor you can see the search bar. And of course I'm running it on Windows 7.

As you can tell from all the blog posts everyone here loves IDE Insight. And I briefly mentioned yesterday find units has changed to use IDE Insight. Find Units (CTRL + F12) and Find Forms (Shift + F12) are specialized versions of IDE Insight. Here's a screenshot of each of them to compare:

Tuesday, August 4, 2009

Embarcadero RAD Studio 2010

Finally I can talk about Delphi 2010/C++Builder 2010/RAD Studio 2010! This should be a pretty awesome release with some cool stuff. For anyone that didn't attended my Delphi Live! talk, I've been working on something a bit different from COM and ActiveX this release, but that'll have to wait because first I want to talk about some of the IDE features we worked on.

For the official RAD Studio 2010 preview page click here where you can watch a video of David I getting the Delphi 2010 low down from Nick Hodges.

At the very end of the video you can see my office door.

I've talked about CTRL + F12 before here but this release it has gotten way better. In the video Nick showed off IDE Insight which is a totally awesome feature built by Mark Duncan using my search edit. Everyone one of us here use it every day. Features like this don't just spring out of nowhere. It went through various incarnations and refinements. Features like this are always fun because they build from collaboration of a few different features getting smashed together. One of the earliest versions of Find Units was embedded in the Project Manager.

The search edit is the same search edit seen throughout the IDE but with a few more bells and whistles because this one supports pattern matching with '*' and '?'. And it's fast! Which is why we didn't want to support regular expressions. All information gathered and searched is gathered on the fly, not indexed which is why a fast pattern search is needed.

The Gallery also has been augmented with a search feature. And as an extra productivity enhancement, all gallery items show up but the ones that used to be invisible are grayed out. This should really help those customers migrating from Delphi 7 where all COM wizards were visible but you had to know the order to create them. Now, you can run any wizard that is enabled and there won't be any question of where the COM wizards went.

Another place the search edit shows up is in the C++ class browser built by Bruneau Babet. Did I mention the search is fast? Well in a fraction of a second you can search with wild cards through all symbols in your C++ projects.

One last feature before I wrap this up. The Object Inspector got a small update from our newest VCL memeber Thom Gerdes. Boolean values now have check boxes. It might seem silly but it's really hard to use an older version of Delphi after getting used to the check boxes. We've also enhanced some of the property editors such as TDateTimePicker.Date.