In addition to taking care of Chiara and doing her jobs this week, I will be busy attending the free online Delphi conference called CodeRage over at the CodeGear web site. The conference is live and runs from 6am-3pm Pacific time (March 12-16, 2007).
This basically looks like a mini "Borland Developer's Conference" but is done completely online. Many of the presenters are long-time Delphi conference presenters, including Marco Cantu, the author of the popular Mastering Delphi book series, Bob Swart, Cary Jensen (who taught an excellent Delphi training class that I attended many years ago), and many others.
I really applaud Borland (or DevCo, or whoever is in charge of Delphi these days) for bringing this conference back to its roots (they reversed the trend and got rid of a lot of those boring "Enterprise" development topics that Borland was pushing). And also for making it free! Anyone can go to the site linked above and register to view the conference live. It will have two live video stream feeds, along with live chat rooms. It will be interesting to see how it all works.
I don't know if any of the sessions will be available afterwards or not. If I was CodeGears, I'd probably make my money on charging for the sessions after the conference for viewing at people's convenience. The live conference starts really early in the morning, but I'll still be getting up early to tune in. Sure beats paying hundreds of dollars for a conference, then a couple of hundred a night for a hotel room and even more for food.
And this way I can attend the conference from my comfy chair with my laptop and headphones, and still be available to help Chiara with whatever she needs.
The Full Conference Schedule gives all of the session details and times. There is a lot more than just Delphi on the schedule. They will be talking about the new Delphi 2007 product, the new Delphi for PHP product, and a bunch of other stuff on Java, .NET, and even Ruby.
This will keep me busy for most of the week, so I probably won't be posting much to the forums. But I'll update this blog entry with my impressions of the conference as it happens.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Mon Mar 12, 2007 4:41 pm
Well, first impressions are *very* bad. I don't know why CodeGears is trying to re-invent the wheel when it comes to video conferencing, but their online conference has been a complete disaster so far. I had to make a comment in their real-time chat that they should have hired some experts from the porn industry for this.
First, their network got overloaded when they hit more than 350 attendees. Can't believe they didn't think they'd get more than 300. So with the bandwidth problems, the audio was breaking up and the video wasn't updating. They eventually switched to an audio-only presentation. They say that all of the sessions will be available for viewing later, but that's not what I tuned into a "live conference" for. And, of course, their download server is also overloaded.
Next, they put up a feed for their own ActiveX-based video conferencing system (something called "Participate"). This was working ok until the session started resetting itself four minutes into the session. It was like "Groundhog Day". I've heard the same opening four minutes of the VCL session about 6 times now. And nobody at CodeGears seems to be monitoring the problems. They are answering questions in their moderated chat area as if nothing is wrong and are ignoring all of the pleas by the users. So it's like the whole thing was pre-recorded or something. Again, not what I was looking forward too.
Can't tell if the Delphi 2007 product is going to be worth the trouble for more Vista compatibility yet or not. This has certainly been a waste of my time so far today. And I *hate* getting up early (it started at 7:00am local time). I know that these things always have some technical glitches, but it's far from just a couple of glitches. Sigh. I hope this doesn't indicate that CodeGears has the same quality control issues as Borland did.
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
Posted: Mon Mar 12, 2007 5:01 pm
Zugg wrote:
I *hate* getting up early.
So that's why you started working from home ;P
My advice would be to not give up on it - could be that they'll manage to fix the problems later in the week. You can't really criticise them for quality control at a conference rather than their products. They're quite different animals. That is rather disappointing, though :(
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Mon Mar 12, 2007 5:40 pm
Well, they got their technical issues working a bit better now.
Bad news though...still no Unicode support in Delphi 2007 :( That's not good for CMUD. That means I'll still be limited in the amount of Unicode support I can provide.
Edited: Just to clarify, Delphi has good low-level Unicode support (with the WideString datatype, etc). What I was talking about is the lack of Unicode support in the Visual Component Library (VCL). For example, the Text property of a TEdit control is still just String and not WideString. And from what they seem to be saying, we will probably never see this change due to compatibility issues with existing Delphi apps and all of the changes that would be required. Disappointing, but not unexpected.
Oh yeah...and the last session had more technical issues :(
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Mon Mar 12, 2007 7:35 pm
Relationship between Delphi and CMUD
While I'm waiting for the next conference session to start, I thought I'd post a bit more about the historical relationship between Delphi and CMUD/zMUD.
As most people know, Delphi is a Windows development environment. The language is Object Pascal (object-oriented pascal). It has a nicely integrated development environment with editor, debugger, etc (many people use the "Delphi" term to refer to the IDE these days, rather than the language itself...thus their new Delphi for PHP product). But the big part of Delphi has always been the Visual Component Library (VCL) which is an object-oriented set of visual components that wrap around the Win32 API. Programming in Delphi is very similar to programming in .NET in that you rarely call the API directly, and instead you use the object-oriented component framework.
zMUD v1.0 was originally written in Delphi 1.0. This was a 16-bit development environment for Windows 3.1 that I used in 1995. With zMUD 3.x I switched to Delphi 3.0, which was still 16-bit, although I was running it on Windows 95 at that time. In zMUD 4.x I switched to Delphi 4.0, which was 32-bit on Win95. zMUD 5.x was written using 32-bit Delphi 5. See a pattern? In the past, zMUD versions have been directly tied to the version of the Delphi compiler I was using at the time.
With zMUD 5.x I started adding some 3rd party Delphi components. These are visual components added to the VCL by 3rd parties. Each time Borland releases a new version of Delphi, they typically "break" the VCL requiring all new versions of 3rd party components. With source code for the 3rd party components, you can often just recompile the components in the new version of Delphi, which is why I never use a 3rd party component that I don't have the source code for.
Delphi 5 was the first version to add some limited support for window "docking". zMUD made heavy use of this, and long-time beta testers probably remember all of the problems with the window docking as it was added to zMUD. There were many bugs and problems with the Delphi window docking implementation.
When Delphi 6 was released, it was full of bugs and problems and generally ignored by the community. Borland was starting to change their corporate focus away from the Delphi products. As their management changed, they briefly changed their name to Inprise, and then later changed back to Borland.
The main problem with Delphi 6 as far as zMUD was concerned was the changes to their window docking code, and the drop of real support for it. So zMUD wouldn't even compile in Delphi 6. And many of the 3rd party components used with Delphi 5 were not available for Delphi 6, and a couple of these 3rd parties went out of business.
So, when Delphi 7 was released (with the same lack of window docking support), there was really no way to port zMUD to Delphi 7. zMUD was essentially stuck with Delphi 5. Delphi 5 was released with Windows 98. When Windows XP came out, some 3rd parties made some free components available to get WinXP themes to work with Delphi 5 apps. This is what zMUD used to support WinXP themes. But zMUD is still really a Windows 95/98 application that happens to still work on Windows XP.
When I started working on the eMobius email project, I decided I wanted to use Delphi 7. So, I spent a lot of time and money to acquire high-quality 3rd party components for Delphi 7. This included a theme/skin package that I was able to integrate with the Developer Express visual components. This also included a new window docking system from AutomatedQA that was only available for Delphi 7 (and later), but not for Delphi 5 (so it couldn't be used in zMUD). Much of the zApp project was integrating all of these components into a nice useable set.
When I decided to focus back on MUD clients (instead of eMobius/zApp), I realized that all of the work that I put into the components for zApp could be used to make a new MUD client. There was no way to "port" zMUD...as I mentioned, it doesn't even compile with Delphi 7. But I was able to start from scratch and create a new MUD client written especially for Delphi 7, Windows XP, and the zApp visual components that I had created. The result was CMUD. I used code from zMUD where I could. For example, I ported the main scrolling mud-output-window component that I had written for zMUD into Delphi 7 (this has the VT100 emulation, MXP, etc). While it was possible to reuse some code, major portions needed to be written from scratch to handle new database structures, such as the Package Editor. And every visual forum needed to be rewritten to use the new zApp themed components. Thus, while zMUD was a Win95/98 application written with Delphi 5, CMUD is a WinXP application written with Delphi 7.
Fortunately, the code generated by Delphi 7 is also compatible with Windows Vista. But Delphi 7 doesn't contain any native support of some of the new Vista enhancements (new file open/save dialogs, task dialogs, Aero "glass" interface, etc). So, while CMUD runs on Vista, it's not "native" to Vista, just as zMUD is not "native" to WinXP.
After Delphi 7, Borland headed down the .NET path. They received some support money from Microsoft, and started losing some of their key developers to Microsoft (one prime Delphi developer was responsible for creating the new C# language in .NET, for example). Borland released Delphi 2005, which was a .NET compiler, also with a new IDE (editor/debugger/etc). They broke the compatibility with the previous plugin architecture for the IDE, so most 3rd party editor enhancements no longer worked. Delphi 2005 had many problems and eventually Borland shipped Delpho 2006, which fixed some of these issues. But basic stuff like context-sensitive help were still broken. And it was still for .NET. Borland then announced that they were divesting themselves of their IDE development tools. People began to predict the death of Delphi.
Last year, things started to turn around. Borland spun off a new company (now called CodeGears) who then announced new free versions of Delphi (called Turbo Delphi). At the end of last year they announced the new Delphi 2007 product, which would be a return to the Win32 development (instead of .NET). Most importantly, Delphi 2007 would have native Vista support.
So, what does this mean for CMUD? Well, that's what I'm learning this week. The more I look at Delphi 2007, the more I'm thinking that I'll give it a pass. I think I can add native Vista support to the existing zApp components that I'm using in CMUD, rather then upgrading to Delphi 2007. The main issue is that their IDE is still the same as the "new" IDE written for Delphi 2005. Their IDE requires the .NET framework, so it's a bit sluggish. Also, it doesn't support much of the OpenTools API, which means that few of my editor enhancements (CodeRush in particular) will work with it. I would need to buy new editor enhancements, a new profiler (instead of AQTime 3), etc.
I still pay for the yearly subscription for Developer Express components, so it's no problem getting those for Delphi 2007, but many of my other 3rd party components would need to be replaced. This would also be expensive.
All of this just to gain native support for the Vista "glass" interface? I don't think so. In fact, there is a new version of the ThemeEngine components that I originally used in zApp to create the themed/skined DevExpress components that supports Vista and actually emulates several Vista UI features in Windows XP. So my time and money is probably better spent working with the new ThemeEngine code rather than messing with Delphi 2007 changes.
Don't panic. None of this has any immediate impact. I've got a *long* list of stuff to work on before I deal with these kind of changes. So don't worry, I'm more focused on getting CMUD to work properly and to add stuff like SSH and the new mapper rather than worrying too much about how CMUD *looks* on Vista. But I wanted to give you a bit more background on CMUD and Delphi and why I'm learning about Delphi 2007 and what it might mean for the future of CMUD. Hope you found it to be somewhat interesting.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Mon Mar 12, 2007 10:13 pm
Quote:
You can't really criticise them for quality control at a conference rather than their products. They're quite different animals
Yes, that's very true. I was just frustrated (and cranky because it was early :)
Good news is that Delphi 2007 is supposed to coexist with Delphi 7 so I can always play with Delphi 2007 on the side without screwing up the CMUD development in Delphi 7. That should help with the migration over time. This was a problem with Delphi 5....Delphi 5 and Delphi 7 have some annoying interactions, which is why I can't use Delphi 5 anymore without impacting current projects.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Tue Mar 13, 2007 7:14 pm
Quote:
I *hate* getting up early.
So that's why you started working from home ;P
Yeah, this has probably been the key thing that has kept Zuggsoft in business the last couple of years. If I didn't have such a dislike of getting up early, I might have taken a "normal" job instead. Fortunately, Chiara is a morning person and handles everything around here before 10am. Then we are together until 9 or 10pm and then I take over till about 1 or 2am.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Tue Mar 13, 2007 7:23 pm
This morning there was a good conference session on using Skype with Delphi. This was very interesting for me because I'm still thinking about the design for the built-in chat within CMUD. The presentation was very good, with some good code examples of using the Skype API and the Skype COM object. Unfortunately, the session was recorded as Flash and the compression that was used make it hard to read the code. And towards the end the Flash presentation froze, so all we had was voice. The recorded session available for downloading later is supposed to fix this.
This year is going to be a very interesting year for IM and VOIP apps. With Google promising to integrate GoogleTalk with AIM (which is already integrated with ICQ), we are really down to just three different IM camps: Google/Jabber/AIM/ICQ, Microsoft MSN, and Skype. Looks like Yahoo is going to get out of the IM business. And with Google releasing their API, along with Skype releasing their API, I think this will put a lot of pressure on Microsoft.
I can't see Microsoft joining the Google camp. Maybe Microsoft will team up with Skype. But at some point all of this needs to merge. I've said this before over in the forums, but all of these non-interoperable IM protocols are just a mess. It's like the old days when email systems didn't interoperate. It's inevitable that eventually these systems will need to interoperate. My bets are on the Google camp right now just because of their openess, which I think is the key. As long as Microsoft and Skype maintain their own proprietary protocols, I think they will continue to shrink.
But this presents a challenge for CMUD. I already need to implement the MM and zChat protocols to have compatibility with zMUD users. Adding Skype support looks really easy. I haven't taken a really close look at GoogleTalk API with Delphi yet, but I know that several Jabber clients are written in Delphi. So it's possible that CMUD might end up supporting everything (except MSN, since I don't know where to get the API).
Chat in CMUD (both IM and voice) is going to be a big deal later this year. I really want to provide some nice features for MUD chatting, including group chat rooms (and something like a CMUD support chat room that is actually used and active). Lots of exciting stuff to work on.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Wed Mar 14, 2007 10:41 pm
Another good session from Ray of Raize Software today. He showed his latest CodeSite logging/debugging tool. I used v2 a *long* time ago in Delphi 5 and had mostly forgotten about it. It has improved a lot and one of my tough debugging sessions back in November could have really benefited from it.
So, just like with an in-person conference, I'm afraid this virtual conference is going to have the same negative effect on my credit card as I upgrade some of my tools ;) At least I didn't have to also pay for the conference, plane ticket, hotel, and food!
I'm still unsure about Delphi 2007. Their presentation on the new Help system today was a bit disappointing. Delphi 7 (the version I currently use) was the last version where context-sensitive help (F1) mostly worked in the IDE. I even had a blog a while back on how to get that all working in Delphi 7 (it was a pain, but it finally worked). The big issue is integration of 3rd party component help.
Well, they have scraped their entire help system and started again. It's mostly working for Delphi stuff, but it looks like 3rd parties have to provide their help files in an XML format, and not just a HLP file. In fact, I was shocked to learn that Windows Vista doesn't even have WinHelp anymore and can't even read HLP files! That's going to be a huge problem.
But I use the F1 help every day. When I want help on a routine, or even a Windows API routine, I can put the cursor on the routine name, or component method/property and press F1 to jump to the help. It would be a huge step backwards to not have this working with all of the 3rd party stuff. I'm sure it's something they will continue to improve, and at least they have finally given it the priority that it should have had years ago. But it looks like the Delphi 7 help system is still better for a while.
In a way, I feel the same about Delphi 2007 as I do about Windows Vista. Some interesting changes and additions, but some steps backwards in some areas, and definitely a big change that I can't be sure will be worth the money. Even with the Delphi 2007 discounts for the conference I might just wait another year until their *next* conference and *next* discount since I'm plenty busy with all of the current stuff that I need to work on and won't really have time to mess with Delphi 2007 for a while.
I think I'll just be satisfied that CodeGear is back on track with Delphi and Delphi for Win32 is back to being a fully supported product that is not going away anytime soon. That bodes well for the future.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Mar 16, 2007 3:21 am
OMG!!!
I just watched the sessions that I missed earlier this week on "Delphi for PHP". This is going to be huge! I can't express how excited I am about this. It's a visual development environment for creating PHP applications. The PHP applications are in standard PHP 5 and work on any server. In other words, I could completely create the zuggsoft.com web site using Delphi for PHP using visual components that are all AJAX enabled. The possibilities are incredible. They showed creating a web page with a banner, menu, and database components (uses MySQL or Interbase/Firebird out of the box) in about one minute. It's doing some stuff that I don't even know how you would do in PHP/HTML.
There is a full visual component library (which is open source), and includes most components existing Delphi developers are used to (including treeview, grids, etc). It also includes a full debugger with local web server so you can run PHP apps locally and debug them before deploying them to the server.
I encourage everyone to go to the CodeRage site mentioned at the top of this blog and look at the two sessions on Delphi for PHP (one intro, and one on the VCL for PHP open source project). They only have session downloaded enabled during the night for bandwidth reasons, but the sessions will be transferred to the CodeRage TV area next week.
I think CodeGear has just found their huge product for keeping themselves in business for a long long time. And the rumors flying around the conference hint at a big announcement tomorrow that might involve Ruby....I'll keep you informed.
But I'm *really* excited!
Edited: Here is a link to a very short demo showing a very simple PHP application created in a couple of minutes: http://dn.codegear.com/article/34119
The Delphi for PHP session has a longer demo, but this short flash movie shows the basic IDE. The VCL for PHP session does not have any demo and is a bit dry.
Another short demo of a simple database web page with a table grid that uses AJAX to perform server updates of grid changes is here: http://dn.codegear.com/article/34091
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Mar 16, 2007 8:32 pm
Very nice timing! Delphi 2007 has gone GOLD and is shipping in conjunction with the last day of the conference! And Delphi for PHP is supposed to ship by the end of the month.
The conference ended up being really great, even with the technical difficulties. There were some great opportunities for chatting with other Delphi developers, and developers of Delphi and various 3rd party components. It was definitely worth all of the time this week.
It's been over five years since there was a useful Delphi conference (I just stopped attending them). The fact that this happened at the same time that I returned focus to MUD clients is a good sign. Everything is coming together again. I'm very optimistic for the future of Delphi and Zugg Software.
You cannot post new entries in this Blog You cannot reply to entries in this Blog You cannot edit your posts in this Blog You cannot delete your posts in this Blog