Delphi 2007 Handbook




Tuesday, May 13, 2008

Embarcadero and CodeGear, Both Back to Basics

Both companies (well, Borland and Embarcadero) have suffered trying to get into high-end ALM segment, losing (or risking to lose) a broad loyal following...

I just found out that Borland/CodeGear and Emarcadero have more in common than I thought. Both Borland and Embarcadero have suffered trying to get into high-end ALM segment, losing (or risking to lose) a broad loyal following. Borland partially reversed the trend by creating and selling CodeGear, a division focused to the original core products. Embarcadero refocused on its core a few months back, according to this article dated Dec 2007 (thanks to Hrvoje Brozovic for pointing it out in non-tech).

In the article Embarcadero CEO Wayne Williams tells that " the company was not accustomed to the long sales cycles and higher-touch presales support. In that sense, it was like Borland before it spun off CodeGear for its IDE business" and that " R&D for core products has been doubled" (while cutting on brand new and non-core development). The article concludes:

Williams believes that Embarcadero can achieve its stretch goals by going back to its core customer base. “There is a lot of room within those user categories to provide additional products to improve their productivity.”

There is also a lot of room for Delphi Win32 to grow and improve its users productivity, something CodeGear seems actively focused on, after a few years of distraction.






Monday, May 12, 2008

On Books Publishing, Part 2

Some more thoughts on publishing and self-publishing books in a relative small technical market.

Following posts by a few bloggers last week I started writing about book publishing. In that blog post I provided a few links and wrote my impressions. Here is more of my reasoning.

Developers read fewer books, but how many books are worth their price?

It is well known that developers read fewer books than in the past. The amount of free information on the Internet and newsgroups, the extensive help files coming with products, the extra online documentation services provided by software companies, all play a considerable role. But that's not all. The quality of books has been getting worse over time. You often see books published with information that is not accurate, without good flow and organization, without good editing. Many publishers simply want the first book out on a subject, regardless of the quality. They are willing to add more authors, to increase production speed, making the overall flow and organization much worse (at times really badly confusing readers, with the same topics covered from different perspectives). This is true also because books are often bigger than they should be (mostly to justify their price), and have nonsensical rules such as an evenly sized chapters (all chapters should have the same page count) and the like.

Another element I find disturbing is that amongst the last few books I bought, I saw many that seem to be "adapted from a blog". I don't mind if a book covering programming from a wide perspective uses this approach, but if it is a instructional book the result is often badly organized material. A collection of examples without a higher level perspective. Specific best practices, but without any indication when you want to apply them. Or maybe these books have just been rushed, written by authors with no experience whatsoever (as authors, I mean), as writing good quality technical articles is rare these days, often replaced by blogging (which is a very relevant but totally different experience).

Quality and reviews

I agree that book quality has suffered. Also, many books still use a "reference-based" approach, at times without even a good index, making it much easier to use the web to find similar reference material. Not only quality suffers, but finding good reviews before buying a book has become tricky. Amazon for a few years was a good place to find reviews, now the number of reviews has decreased significantly, making those left much less significant of the entire readership of a book. Don't know if LibraryThink can fill that void left by Amazon (or better, its buyers) but I doubt. You often have to trust fellow bloggers to provide book reviews, but a single review (even from a source you trust) is not always better than a dozen with multiple perspectives.

Ultimately, it is getting harder to find good books, not because there aren't good books being published, but because good books seem to fall outside of classic series from classic publishers and there is no good reader ranking system these days, which is somewhat ironic, given the pervasiveness of the Web.

Publishing experiences

Some of the blog posts I referenced, complained about the uselessness of the traditional publishing industry. I partially disagree. In my career as a writer I did find some exceptional editors, who really made my books much better. Still, I agree that the overall process, with its very clear cut steps and strict deadlines that make little sense when working on a not-yet-released product. For example, I remember having to delay writing the chapter covering the IDE (one of the initial chapters) up to the very last moment to avoid having to recapture all screenshots on a more stable release. Or the nonsense of not adding than 10% of content in the second-pass editing even if a relevant feature was added to (or dropped from) the product.

In the traditional publishing model there is also an excessive separation of editorial roles (5 or 6 editors working on a single book, each from a very specific perspective, often don't help the coherence of a book, unless the author can handle them and smooth their requests), and the time taken to complete the books since you submit the latest changes (final editing pass, indexing, blue-prints, actual printing, shipping from warehouse) is incredibly long. These are all reasons I find a self-publishing model interesting.

Self publishing and do-it-all-yourself are not the same

There are many caveats, though. From bad looking covers, to unedited books, to odd formatting choices and fonts, to the lack of a good alphabetical index, to some lack of organization and flow... self-publishing should not be mistaken as "do-it-all-yourself" books. Now I'm against the "do-it-all-yourself" model.

For the books I've self-published I found a few tech editors (generally for free), I paid an editor to help with flow and English language, I paid a cover designer, I found some help on the typographical side. I did a lot of formatting myself, had to pick the proper tools, make an index of one of my books for the first time, investing some extra time for these extra efforts and for coordinating everyone. I think it was well worth it, but my impression is that "do-it-all-yourself" is way more common among Lulu authors...

Lulu and more

Coming to Lulu, I think I like it for the freedom is gives to publishers. However, as I've already discussed in the past, there are two totally different ways to use Lulu. If you buy a distribution service (get the ISBN; have your book on Amazon, at least in theory) you are back to situation very close to the traditional publishing model or the Amazon supposedly "self-publishing" model. The largest amount of money goes to the distribution channel. Publishing times change a lot, you need to set a date in advance, you have a lot of extra burden. On the other hand, if you use Lulu as a pure print-on-demand service, you have full control, but have to find your own marketing. This is good for publishing a work for a community in which you are known, but very hard if not, despite Google AdWords and other focused advertising services you can use these days.

Still there are things I don't like about Lulu (I wrote many times about the positives, I don't want to repeat them all here). They are quite slow in printing (one week average is quite a lot in the Internet age, since you have to add shipping to it). Compared to Amazon fulfillment service, there is a huge difference. Their customer service is OK, very responsive and helpful, once you get in touch. Other facts, like not listing all the countries they ship to, is turning away readers in a rather silly way. Their bulk discount is also quite a nonsense. You need to buy 50 books to have 10% off... or something similar.

The other thing I dislike is that by shielding buyers from publishers (understandable from the point of view of their business and for privacy reasons), they made it impossible to provide special deals for updated books, or a PDF plus printed book bundle, which is makes it harder to build a loyal following. Still, there is a lack of alternatives. At least, I haven't found one so far.

Electronic vs. paper

Certainly moving to a PDF format has many benefits. One could do direct sales, offer immediate delivery, update the content more frequently. But while an electronic format is great for a reference, I prefer paper if I want to delve into a topic and read hundreds of pages of a book. I can read a printed book in many more places, with different positions of my body and back. I already stare to a computer screen too many hours to be willing to do all of my reading there as well... Seems I'm not alone: even while sales of the recently released Essential Pascal are still limited (about 50 copies), the sales of the printed version double the sales of the PDF edition.

I hope to be able to improve the delivery time (offering alternatives to Lulu) for future books, as a way to mitigate the problem... If you have suggestions, let me know. I think an electronic version is great as a reference, but at this point a continuously updated web site could be even better (provided one can find a business model behind it). I'll soon publish a totally new book (not on Delphi) "as a web site", beside Lulu, and I'll see how it works.

Friday, May 9, 2008

Buy Delphi, Get the PDF of My Book

From now to mid June, if you buy Delphi 2007 you'll get the PDF of my book for free.

Extending an short offer made at the end of the last quarter, CodeGear is offering the electronic version of my book "Delphi 2007 Handbook" and a license of QuickReport 5 standard to anyone buying or upgrading to Delphi 2007 (or RAD Studio 2007 or C++Builder 2007) in any version. This is quite a good deal. I sold them a flat license, so I don't get any extra money from individual sales... but it is a good way to get the book promoted. If you plan reading all of the 250 pages, buying also the printed version still makes some sense.... but I know I still owe you the second blog post about the book publishing business...

Thursday, May 8, 2008

Delphi Jumps Ship: Welcome Embarcadero

Delphi has a new owner, along with all other CodeGear products... here are some facts, links, and thoughts.

As you probably know by now, Delphi has a new owner. After 25 years of Borland Turbo Pascal and later Borland Delphi, after the Inprise fiasco and Borland ALM focus (a fiasco, as well?), two years after the announcement that Borland was trying to sell its IDE tools, at last we know what lies ahead. And the future looks brighter than it was a few days ago...

After so long, the Delphi community is going to say farewell to Borland. This is partially sad (as a few people mentioned) but it was about time to distance Delphi from the company and the management than sank the ship, while they kept cheering and dancing. I'm not sure if it is Delphi that's leaving Borland or, at the opposite, the real Borland, the barbarians Borland, the developers Borland, the Scotts Valley Borland, the good-old-Borland that's now sailing free, setting its own course, and kicking off the remnants of a company that took over and "usurped" its name for far too long.

That name we won't have any more (well unless some big buys the ALM assets and sells the name back to Embarcadero, but I'm dreaming here!), and probably even the young CodeGear brand is not going to survive. I don't particularly like the Embarcadero Technologies name, but it certainly accounts for a few good puns... and will probably get used to it anyway. Here is the formal announcement: "With more than $100 million in annual revenue and over 500 employees worldwide, the combined companies will operate under the Embarcadero Technologies name."

Some Facts About the Acquisition

  • Borland is going to get about 30 million dollars, even if Embarcadero is going to spend 23 millions. The reason is that Borland is going to receive money of current product sales that are still not part of the balance sheet (accounts receivable).
  • Embarcadero Technologies is buying CodeGear, but as the two companies are about the same size, it looks more like a merger than an acquisition. Also, it looks an extremely friendly merger, as (former) CodeGear employees sound quite happy in their blog posts.
  • How comes a company the size of Embarcadero can shell out such an amount of money? It comes from Embarcadero parent company, the real owner and buyer, Thoma Cressey Bravo. With a current portfolio of software companies (one of their many sectors) totaling approximately 2 billion dollars in revenues, this is not exactly a small player, even if a financial one.
  • TCB, by the way, recently bought InstallShield.
  • CodeGear has kept doing quite well. Its first quarter with revenues at 12.2 million dollars (earnings were not detailed, AFAIK) was in line with the previous year. Not astonishing like the 4th quarter 2007, but not bad either. Still Borland overall lost another 4 million dollars, before considering GAAP elements that place the loss at 22.3 millions. Nice we are leaving and don't have to worry any more!

There is certainly much more to say, but at least I wanted to set a few facts straight.

Some Links to News and Comments

I know you've been deluged with links to official announcements, blogs posts, and more. I don't want to provide all the links I have... but a few is probably already too many! I'll skip the official announcements I already linked yesterday...

  • The main thread in the newsgroups, with many posts by DavidI and Nick Hodges, among others. (I'm glad to have an AJAX version of the NNTP front end, as the thread is quite huge!)
  • Allen Bauer, first and second post
  • Nick Hodges is juiced up
  • DavidI blogs here
  • Greg Keller (Embarcadero Product Manager) has a great post (and yes, he does mention Delphi, not only Java and dynamic scripting languages).
  • A critical post with interesting replies by Greg and Nick.
  • And for the worst title look no further than sys-con. if "dumping" is the term use to sell the only part of your company making money, you are probably a finance genius.

In Greg's post read in particular this comment by the author himself: "We’re here to build a business that serves and grows these traditional bases while moving into exciting new emerging areas. To prove this point somewhat, while Embarcadero will be the go forward name of the company, we are so enchanted with the history and ‘cleanliness’ of the CodeGear portfolio that Embarcadero’s ‘traditional’ portfolio will likely be rolled into a parallel branded business unit to be known as DatabaseGear.tools provider!"

Wow, this might mean that the CodeGear brand is not going to be lost, after all! And, even more, that Delphi is far from dead: Embarcadero seems to understand there is a huge value in "traditional client/server" development, as they do have products in the same area.

Some More Thoughts

One fact is certain. Delphi is now in a stronger and safer harbor than it has even been for its entire life. Since Delphi 1 days, I kept hearing the mantra "good product, but Borland won't survive 'till the end of the year". Borland did survive, and Delphi did survive (far longer than PowerBuilder, VB for Win32, and all of its competitors)... but now it can even prosper. Let's open all of our sails, let's the wind blow strong, our new ship is setting the course for another 10 years of Delphi, CodeGear Delphi, Embarcadero Delphi, or Borland Delphi is you still like calling it that way. Jump with Delphi on the new Embarcadero ship... Go, Delphi, go!

Wednesday, May 7, 2008

Goodbye Borland, Welcome Embarcadero

CodeGear, Borland's division specialized in development tools like Delphi and JBuilder, is being acquired by Embarcadero technology.

The news is floating around the web, moving from blog to blog, and sparkling newsgroup discussions... and will be like this for some time.

Embarcadero Technology, the company behind database management tools like ER/studio and DBArtisan, has signed an agreement with Borland to buy CodeGear, the division focused on development tools like Delphi and JBuilder (plus some database properties). I haven't seen the amount mentioned, but I have read only a fraction of the white papers and announcements... will read more and post more comments over the coming hours. Update: It was actually quite prominent, "approximately 23 million USD".

My initial reaction? Quite positive I have to say. The two companies have a similar audience (even if Embarcadero probably sells more to larger development shops), similar tools, a similar independence and cross-platform appeal, and even a similar look and feel in the web sites (which might not be a coincidence!) Many Delphi developers I know already use Embarcadero tools for managing their larger databases. The products are quite a good fit. And there are even quite a few Borland/CodeGear managers who moved to Embarcadero over the last few months...

I was expecting more of a "financial investment" than an acquisition, but (in reality) this is not far from it. Embarcadero was a public company bought by a financial investor, and CodeGear will become a privately held company (or part of a privately held company) as well. No more excuses for having a detailed roadmap, now.

I like the idea of working closely with the "largest, independent software provider"... but we'll have to see how things evolve. Blog again soon...






Monday, May 5, 2008

On Books Publishing, Part 1

Some initial comments on a few posts about book publishing, a thread started by Jeff Atwood of Coding Horror.

Today I've been reading a few threads about book publishing (I know, this was last week news but I've been traveling around the "park of the delta of the river Po" with a camping car and no Internet during the Labor Day long weekend).

Jeff Atwood of Coding Horror fame has a very interesting post about the fact that programmers in the Internet age don't read books. I mostly agree with him: poor quality, 21-days books, books with more authors than chapters, have made the industry a bad service. And for sure you can find great free online references. But when you need to understand a new topic I found a printed book a better medium. You can read a printed book in many places oyou won't bring your computer (like in a camping car, where I read half of a book about the local mafia of Naples).

Nick Hodges comments citing myself and my experience, among others. Most of it is what I think... .well, we discussed it last week and I haven't changed my mind since then. I partially disagree with his analysis of the book printing process... I did find some good editors in my experience (and some bad ones, for sure) and I still prefer paying a good editor rather than a do-it-yourself approach. It adds value to a book.

Someone at Micro.ISV asia (the name is not visible) further comments, with a slightly more critical description of his experience with Lulu and more thoughts about editing... interesting.

Given that Jeff started this and has tons of comments, I guess there were other posts. I'll add my thoughts later this week.

Wednesday, April 30, 2008

April 08 Delphi Roadmap Comments

Last week CodeGear has published an updated roadmap, with many new details about the coming and future versions of Delphi. Here are my comments.

Last week, CodeGear has published an updated roadmap, with many new details about the coming and future versions of Delphi. Compared to the last few times the roadmap has been updated, the changes are quite significant.

  • The technology focus: even if broad (GUI, database, client/server...) the focus of Delphi will be on native optimized applications. That wasn't always the case over the past few years. I think is is a good idea to make this clear.
  • The core customers are independent software vendors (ISV), consultants, small organizations... without trying to appeal everyone and certainly not targeting large corporations like in the ALM days. This probably means less ECO and more dbExpress, to mention specific technologies.
  • Tiburon (the next release of Delphi) will have a focus on Unicode and Internationalization. Slightly broader than originally described, but certainly focused on Unicode as key element. This was well known.
  • Tiburon will also focus on connectivity by "extending both the existing DataSnap architecture and the dbExpress data access framework". This is brand new information. Rather than focusing on "BDE compatibility" as mentioned in the past, the idea seems to be a focus on more flexible data access architecture, also open to multiple languages: "native, managed, Java, JavaScript, PHP". This sounds a revolution, as DataSnap was mostly a Delphi-to-Delphi technology. We'll see what comes out...
  • Tiburon will have new language features including generics (as expected) and anonymous methods, which comes totally unexpected! I use anonymous methods in JavaScript a lot (the jQuery library I use a lot is based on them, not only for AJAX calls). Don't know how the Delphi implementation will compare, being JavaScript a dynamic language. But this looks an interesting addition.
  • There is also a list of interesting IDE improvements, but I'll have to see them before I could comment.
  • Beyond Tiburon there will be native 64-bit support (expected), a threading library (partially expected, per Allen blog), code formatting (not sure about this) and many other features beyond that... which are too far away to be worth a comment.

Overall, Tiburon looks much stronger in this roadmap compared to "we'll have Unicode support" of the past. It looks also one could write a nice book covering all of these new features...

Saturday, April 26, 2008

Essential Pascal Published on Lulu

The first printed edition of Essential Pascal (along with a download version) is available on Lulu.

Essential Pascal CoverMy online book Essential Pascal is available in its 4th edition, the first also on paper. The first printed edition of Essential Pascal is available on Lulu.com for only Eur 16.50 (apparently only about 21 US dollars for Lulu!) At the same link (www.lulu.com/content/2398448), you can also buy the  electronic version (a PDF) for a mere Eur 6.50 (about 8 US dollars).

The book has 140 pages and is focused on the core Pascal language (and not its OOP extensions) as found in Delphi, with some references to differences or similarities in Delphi for .Net, in Chrome, and in Free Pascal. From the page "Essential Pascal is an introduction to the basic features of the Pascal language, as found in Delphi and other modern development tools, from the best selling author of Mastering Delphi."

Compared to past online edition I've reworked all of the examples to be console-based, so they can be focused on core features and be (potentially) cross-platform. The book has had extensive editing and dozen of relevant corrections and improvements. I've kept the price very low on purpose, as the book is already used in Universities around the world, and some of its users might want to buy the printed edition.

Although the book is focused on new users of the Pascal language, it is not only an introductory book. By covering dynamic arrays, pointers, functions overloading, open array parameters, and variants (to name a few rather advanced topics) the book delves into many areas that not all Delphi developers are fluent with. An twin book introducing OOP and VCL foundations (Essential Delphi) might be turned into a printed volume depending on the success of Essential Pascal.

Finally notice that I intend to update the free HTML version of the book (I'll add quite some advertising to it, though... let me know if you are interested in promoting your tools in it) and will also published the source code. These two further steps might take a couple of weeks, because next week we have a very long weekend (4 days) and I'm taking a few days off with my family.

Overall, anyway, the book will be available as advertise-based one-page-per-section HTML (free), PDF file (paid), and printed version (paid). After that I'll retire the previous edition...

CodeGear New Site and David I Interview with Me

CodeGear has a new design for all of its web sites and Developer Network hosts a video interview of David I with me, captured live 2 days ago.

CodeGear has a new design for all of its web sites. I like it a lot, only I miss having my blog featured on the home page (but it was there more than I would have expected). From what I was told, they now have full control of all of the sites, including the main one, allowing them easier and better customization and changes. The look is great, the content is already improved and should get better with time...

Speaking of the site, the Developer Network section hosts the video interview that David I made with me on Wednesday, while I was in Scotts Valley. From the article: "David I interviews Marco Cantu on April 23, 2008. The interview is available in WMV video and MP3 audio formats. Marco talks about his Delphi 2007 Handbook and also about Delphi programming."

I had no time to look at the final result (it is a holiday today in Italy), but hope it is nice. Feel free to let me know here if you like it or have any comment on the actual content.

Update: I noticed my blog is now featured (among others) in the Delphi Resources page where there are also links to my Essential ebooks.

Thursday, April 24, 2008

At CodeGear, Day 3, and Back Home

Another morning spent at CodeGear meeting Jim Douglas and David I, and a flight back to Europe.

Yesterday I spend another morning at CodeGear headquarters, meeting with CEO Jim Douglas  (no link to the blog, as it is not exactly active!) with whom  I had a very interesting conversation. I really think he has a vision for where CodeGear should go and which opportunities the company should focus on. We discussed many different things, about the business and the technical side, and he also told me about his many trips to Italy.

After that I sat with David I in the "Studio" for an informal interview, chatted with him on several issues, and got the preview copy of my new Essential Pascal book (a formal announcement as I get back home, but the book is already available on Lulu.com as a type this). That was all, as I had to get back to my car, drive to SFO (San Francisco airport). Right now I'm blogging from Amsterdam, waiting for my flight to Milan. This marks the end of the trip. I'ìll blog again about the information I got, starting with my comments on the (very interesting) updated roadmap. Stay tuned.