The last two days of the Delphi Live! 2009 conference in San Jose have been quite busy for me, so I didn't blog right away, but I'm doing it now during my return trip to Italy. The second day of the conference, Friday, was really packed with content, and if I have a criticism is that there were just too many sessions to attend (including 4 back-to-back sessions with no real break). Between some great independent speakers and a good group of Delphi R&D speakers, the conference quality was really great. I generally don't attend too many sessions while at conferences, but this was really an exception!

Here is a summary of highlights of sessions I attended, with a specific emphasis on those that showcased future Delphi technologies.

What's Cooking

In the "What's cooking in the Labs" session Nick Hodges showed future Delphi technologies (after a 5 min disclaimer). He first demonstrated fast IDE commands, a shortcut that will let you type in what you are looking for in the IDE: from menus to components, from files to units. Looks very nice. He also showed that the File Reopen support will be totally configurable (as many files/projects you want) with options to rearrange item and remove nonexting ones. Finally, he showed a new code formatter and indenter, with lots of custom options.

In the same session, Allen Bauer showed Direct2D support in Delphi (on Windows 7) using a new specific TCanvas descendant class. He alter demonstrated RTTI-baseed reflection (see Berry Kelly talk in my last blog entry) in the IDE, browsing the internal classes of Delphi itself.

Carl followed, at the same keynote, using a Mac and showing a HelloExe console application compiled with Delphi for the Mac.  Very limited, but certainly an intriguing starting point. Anders showed a tool to help converting existing Delphi projects from AnsiString to UnicodeString, that will be ready soon and will be made avaialble to all users.

The last person presenting at this keynote was David I, who announced CodeRage4 (the online conference) for September 8 to 11, 2009. He showed also Delphi Prism running in Visual Studio 2010, which includes support for .NET 4.0 and parallel extensions.

More Delphi Team Sessions

Allen Bauer had a very interesting session on Delphi Designers, a portion of the internal ToolsApi of the Delphi IDE, used more by component vendors than Delphi end users. He covered both technologies that are in the product like the internals and also how to customize the designer guidelines available since Delphi 2006, perform property filtering (which lets you hide published properties of a component from the Object Inspector or add extra "fake" ones), mouse event handling and custom painting in the Object Inspector. Among coming features he showed property descriptions and custom drop down controls.

Chris Bensen gave a wonderful session about Touch and Gestures support in Windows 7 and the future version of Delphi, showing some more details (and some source code) of the multi-touch applications already introduced the day before during the keynote address. It looks like multi-touch will be available simply by surfacing the corresponding operating system features. He then went on covering the new gestures support of the VCL, which can use the Windows engine if available or rely on a native one, for porting also to older versions of the OS. Finally he showed a new TouchKeyboard component, which provides a virtual keyboard handy in kiosk applications.

Adrian Andrei had a session focused on the future extensions of the DataSnap communication layer. There will be an HTTP tunneling layer capable of calling back into the TCP/IP components used in Delphi 2009. It seems that this tunnelling layer will let you hook in a filter that intercepts the byte stream and lets you provide encryption, compression, and similar services. He also covered a brand new REST interface for calling into DataSnap methods. There will be an automatic way to map URLs into server methods, but no direct connection to exported DataSetProviders. He mentioned the engine is going to use JSON as data structure. Finally he demonstrated the failover support of the tunnelling architecture, that could let your client hit a second backup server in the case default one is unreacheable.
Being a strong proponent of REST I certainly like the fact CodeGear is going to support this technology, but I like only portions of what I've seen. I might have missed some details, and the engine is still a work in progress, so I'll be able to judge it only after working on it.

More Sessions and Comments

I also gave a talk on Unicode in Delphi and attended a nice introduction to Subversion by Daniel Magin. After the conference, Saturday, there was another day of tutorials. I sat in Hadi Hariri session on MVC in .NET, which was very interesting. Although my first experience of MVC dates back to the my Smalltalk days (about 20 years ago!) I had not seen the details of Microsoft implementation, which seems well thought out. Had I to work on ASP.NET, that's the only approach I'd consider. Despite the fact that the session was quite interesting, I left it early to do some shopping, for myself and my family (you can find prices at Fry's that us Europeans could not even dream of).

I'm writing this while on a plane getting me back home, and will post as I get an Internet connection, so this is conference roundup. Overall I enjoyed Delphi Live! 2009 quite a lot, many valuable sessions, lot's of talking and networking with fellow Delphi programmers and CodeGear developers. The drawbacks were the limited number of attendees (the more, the better for speakers and exhibitors, but this was the first time for this event and the positive side was the high level of the developers at the conference) and the somewhat hectic schedule (I would have enjoyed a relaxed evening, for example).

Looking forward for another one in the future, I'm now busy setting up my own event in Italy (Delphi Day, on June 4th), getting to a German event (Delphi Tage, June 6th) and working with Cary Jensen for our London class (Delphi Developer Days, July 1st and 2nd). Stay tuned.