ARBP Chat with Aaron Ballman
October 28, 2009 (8:00PM to 9:30PM Eastern Time, UTC-4)
| Paul Lefebvre | Welcome to the October ARBP chat. This month our special guest is Aaron Ballman, former REAL Software engineer, and author of the new book Ramblings on REALbasic. Aaron's here to talk about his book, REALbasic and anything else that strikes his fancy. The chat will last about an hour. The floor is now open for questions. |
|
| Aaron, take it away! |
| Aaron Ballman | Hey everyone! I'm glad to see you all could make it tonight |
|
| |
| Bob Keeney | Aaron, is your book officially on sale? |
| Aaron Ballman | Yes -- the book is on sale through Amazon (though they seem to be temporarily out of stock for the moment), as well as through my website (http://ramblings.aaronballman.com/book) And one lucky person today will walk away with a free copy! Assuming, of course, that you've not already purchased yours. ;-) |
| Bob Keeney | Any price advantage going through your website vs. Amazon? |
| Aaron Ballman | Yes, if you buy the book off my website, you get over 10% off on the cost of the book, but unfortunately, only if you happen to live in the US |
|
| |
| Bob Keeney | Tell us what you're doing now that you've left REAL Software. |
| Aaron Ballman | Since leaving RS, I started working for 4D as a software engineer. |
|
| It's been a pretty fun gig so far, but I certainly miss the RB community. That's why you still see me lurking around the forums and mailing lists on occasion. ;-) |
|
| |
| ScottBoss | Aaron what made you decide to write a book? (btw, I just got my copy of the book an hour ago.) |
| Aaron Ballman | It's kind of funny -- I was approached by a printing company that happens to use REALbasic |
|
| One of the people at this company really liked the blog content and wanted to see it in book form |
|
| I figured "how hard can this be? I've already written everything, right?" |
|
| Nine months later, it turned into a book. Turns out that it's actually pretty darned hard! |
|
| The biggest challenge was editing all of the content. I had written over 1500 pages worth of content, some of which was over five years old |
|
| So over the course of nine months, I edited every single article you see in the book, as well as wrote several new articles that I had never posted on the website before. |
|
| |
| Kostantinos Rokas | Hi Aaron, is there some way we could have a look at the first few pages with the contents, to get a feel of how useful the book may be for our needs? |
| Paul Rodman | Any chance of posting either the table of contents or an example bunch of pages as a PDF file on your site? |
| Aaron Ballman | Unfortunately, I've not posted a TOC anywhere -- it's almost 10 pages long! Instead, I've posted chapter headings which detail what content the book provides, as well as how many articles are under each chapter |
|
| You can find that list in this thread on the RB forums: |
|
| |
| Paul Lefebvre | Aaron, care to give us any teasers on the new articles you wrote? |
| Aaron Ballman | Certainly! One of the most popular blog topics I've written on (by far) have been design patterns and how to apply them to your REALbasic projects So I wrote several new articles on design patterns, covering topics like iterators, decorators and templates Also, there has been some confusion about writing plugins in REALbasic, so I wrote an article about the correct usage of the dynamic access APIs |
|
| |
| Ken Winograd | Is the book platform neutral and is the 5 year old content still valid? |
| Aaron Ballman | Platform neutral? Somewhat, yes. There is an entire section of the book dedicated to Windows, whereas there's not one for OS X or Linux. But the majority of the content to the book is going to be pretty agnostic. |
|
| As for the content, I refreshed all of it. So any information which was out of date will be noted, though I tried to remove it entirely unless it was truly pertinent to someone |
|
| One of the things you'll see in many of the articles are "notes from Aaron" at the end |
|
| where I'll usually add some out of band data about the article |
|
| |
| Russ Tyndall | I know the book is barely out, but any plans for Kindle or other e-book editions? |
| Aaron Ballman | Good question -- I've had some people request copies of the book in PDF format, which may be an option. As for Kindle or other eReaders specifically, there are no current plans |
|
| but that's mostly due to ignorance on my part. -- I'm not entirely certain of how Amazon does e-reader content. ;-) |
|
| |
| Tom Russell | Is there an accompanying CD or download containing example projects? |
|
| There is not an accompanying CD with the book, because it'd mostly be wasted space. I tried to cover topics which didn't require any external downloads. However, there are some sample projects and misc information that is available. |
|
| The links are called out in the book, but they all tend to point to http://ramblings.aaronballman.com/book |
|
| btw, right now that link goes to the sale page, but I intend to improve that page for errata as well as a more visual cue to the downloads. |
|
| |
| Bob Keeney | Is there something that you really wanted to put in this book that didn't make the cut? |
| Aaron Ballman | Deciding what information goes into the book and what information gets cut was probably one of the hardest decisions I had to make |
|
| There were several topics that I really wanted to get in there, but they just wouldn't fit. |
|
| The most prominent one was a series of articles on how to debug in REALbasic |
|
| It was good content, but due to the pictures, it was pretty hard to fit in there |
|
| If I write another book (and not saying that I am), that's content I would find a way to fit in there. :-) |
|
| But as I was saying -- if I were to do a second book (and not saying that I am), the debugger articles are one I'd definitely want to bring back. |
|
| |
| Paul Lefebvre | Not book related: I've never used 4D. Is there anything in it that you think would be cool to add to REALbasic? |
| Aaron Ballman | 4D is a very database-centric developer platform. So it comes with a lot of tools that really focus on the database instead of the application itself. |
|
| This is a blessing and a curse. If you are making an application where the database is the focus, the 4D does a great job. But if you are writing an application where the database is an ends to the means, REALbasic does a great job |
|
| So I think both REALbasic and 4D could do a lot of "trading" to make each product a bit stronger in their weak areas. |
|
| |
| Bob Keeney | What do you think are the weak areas in RB? |
| Aaron Ballman | Every product suffers from "oh, if we only had the resources to do X", and REALbasic is no different in that regards. I like the direction I've seen with reporting tools and Cocoa support as I think both of those areas were sorely lacking. |
|
| Of course, Cocoa's not released yet, so there's really not much I can say there. But it's good to see movement |
|
| That being said, I think that REALbasic could make a much stronger offering in Windows technologies. Both in terms of old stuff (like actual COM support) as well as new stuff (like new things that have come out with Vista and Win 7) |
|
| |
| Bob Keeney | Does it surprise you that Cocoa is taking so long? |
| Aaron Ballman | No, Cocoa is actually coming along about how I had expected it to. Adding a new platform layer is very hard -- I learned that when working on the Linux platform. But Cocoa has an additional challenge |
|
| No one expects their Mac application to look/behave/act exactly the same when they clicked the Linux button for the first time |
|
| but with Cocoa... people expect everything to look and act almost exactly the same. |
|
| It's easy to forget that this is an *entirely* new set of code written in a totally different language than the old Mac platform layer |
|
| so managing that expectation takes a lot of effort, which is piled on top of the effort of just getting the platform layer done in the first place. So yeah, Cocoa is really coming along about how I'd expect |
|
| |
| Bob Keeney | If RS decides to work on Windows only technologies, do you think it will take them a long time (as long as Cocoa) to implement them? |
| Aaron Ballman | Depends on the Windows technology. If we're talking about adding a .NET platform layer, then yes -- in fact, it'd probably take longer due to the compiler work involved. |
|
| But if we're talking about basic COM support, transactional files, registry, a status bar control, etc -- these are all easier to implement than an entire platform layer. |
|
| |
| Russ Tyndall | Great RB books are essential to the RB community. In addition to buying the book, is there anything we can do to support your literary efforts? |
| Aaron Ballman | I agree -- good books (as well as other resources) are essential for a community, in my opinion. The hardest part about books is the publishing aspects of it. I was lucky in that I worked directly with a printer, which made the book much more feasible |
|
| But trying to convince publishers to take a chance on REALbasic books (especially given the current state of the economy and the trend away from dead tree copies) is really difficult |
|
| A while back, I had approached several publishers about REALbasic books and was turned away by all of them as "there's not enough of a market" |
|
| so (and this may seem self-serving, but I'm not trying for that!) the best thing to do is to support the community by purchasing books, asking publishers for more REALbasic content, and basically just driving the product. |
|
| |
| Bob Keeney | Does the Rapid Release Model make it harder for traditional book publishers to actually publish a book? |
| Aaron Ballman | The rapid release model makes books "stale" pretty rapidly since you can't mention versions without looking old. But the biggest issue that I heard from publishers was simply "no one is buying REALbasic books" |
|
| It's kind of funny -- I ran RBLibrary for a long time... |
|
| and I don't see a problem with people WANTING content |
|
| so I'm not certain what the publishers are whining about. :-P |
| Bob Keeney | Perhaps it's more a matter of finding people to WRITE the content. |
| Aaron Ballman | That was the single biggest challenge I had with RBLibrary, and I am pretty sure Norman has been running into the same thing when I passed the torch to him. Writing good content is time consuming, and we're all busy people |
|
| With writing Ramblings on REALbasic, I was shocked at how much time it took to get all the nuances down. It takes a lot of patience and time to write content for public consumption. Even when I was just writing the blog postings for the web -- |
| Aaron Ballman | the posts would typically take at least an hour. If you look at how many articles there were, we're talking about thousands of hours worth of work. |
| Bob Keeney | And ARBP is always looking for people to articles, and demo's so we know how you feel. |
|
| |
| Bob Keeney | You were the "Windows guy" at RS. Do you think there's any chance they might decide to add Windows specific stuff (COM, satus bar) to RB now that you're gone? |
| Aaron Ballman | I was the *vocal* Windows guy at RS, which is something to keep in mind. RS still has a fantastic staff of engineers, and I'm certain they're capable of providing good Windows-specific technologies to customers. |
|
| The biggest thing is to be sure to request the technologies you are looking for via the feedback system and vote on their importance. RS has always focused on the customer requests. |
|
| |
| Bob Keeney | Do you feel that they are too Mac-centric these days? |
| Aaron Ballman | I've felt that REALbasic has always been too Mac-centric, to be perfectly honest. The bias is definitely there. But that being said, I think that the user base is also quite Mac-centric -- so the company is simply following customer requests. |
|
| However, in order to grow the user base for any platform, you have to focus on their needs -- in order for REALbasic to gain better acceptance in the Windows market, REAL Software will need to focus more attention on those needs |
|
| You can substitute any platform you'd like in place of "Windows" and the message remains the same. ;-) |
|
| |
| Bob Keeney | In you opinion, what is RB's strength? |
| Aaron Ballman | There's the typical marketing line of "cross-platform the just works" or something like that. :-P But honestly, I think the biggest strength of rb is the ease of use. I was always surprised when talking to customers at events like real world |
|
| because I'd ask them "what do you do for a living" |
|
| and invariably, the response was *not* "I am a programmer." |
|
| It was "I'm a forest ranger" or "sales" or "scientist", etc |
|
| REALbasic really is a product that *anyone* can pick up and do something with. And I don't think there's another product on the market like it. |
|
| |
| Bob Keeney | Could that also be its weakness in that it's not considered a REAL (pardon the pun) development environment? |
| Aaron Ballman | The fact that anyone can pick it up on any major platform and do something for any other major platform is fantastic though. |
|
| In the computer science world, you hear a whole lot of jockeying and you get used to it. "You're a not a real programmer because you don't use XXX." It doesn't matter what XXX is, someone's always belittling you for not knowing their pet lang |
|
| To me, you use the tool that gets the job done for you. |
|
| When I do work, I frequently mix technologies -- I'll use REALbasic to whip up a user interface, but I may write a bunch of C++ code to do the fiddly low-level stuff because it happens to work better. The fact that REALbasic |
|
| that makes it truly powerful -- you can use whatever tool works best for whatever task is at hand. |
|
| |
| Tom Russell | Do you plan on doing any consulting work using Realbasic? |
| Aaron Ballman | I've done consulting work in REALbasic for a long time (which most people probably don't know). I'm not currently doing any outside work, but that's mostly because I'm picky. :-P I tend to enjoy projects that pose a unique challenge. |
|
| So if you have contract work in mind that you'd like to run by me, you can always email me. Heck, you can email me if you have questions, want to say hi, or whatever. :-P My inbox is always open. :-) |
|
| |
| Christopher Armstrong | Many people think that REAL is not suitable for enterprise development. What are your thoughts on the matter? |
| Aaron Ballman | Eh, enterprise is a strange, strange world |
|
| People want a tool that does something, they want it to cost at least 50k, and they want it to do everything they need. ;-) |
|
| I don't think enterprise is REALbasic's strength because it's lacking in typical features like LDAP and other "enterprisey" things. But I think those issues can be solved by the 3rd party market too -- the average user could care less about QOS |
|
| and other enterprise-level features. |
|
| But that's not to say that you can't use REALbasic in the enterprise, because I know people who have. |
|
| |
| Tom Russell | Is it difficult for Realbasic to fully support ActiveX from your perspective as a former engineer? |
| Aaron Ballman | ActiveX is such a squiggly topic because the feature depends entirely on the person you ask. You also have to keep in mind that the technology has had about twenty years to accrue all sorts of terrible edge cases. ;-) But I do think that |
|
| REALbasic sort of did things backwards with ActiveX |
|
| ActiveX is built on top of COM so having support for ActiveX without support for COM, while technically possible, is a bit strange because it means you can do some things, but can't do others. |
|
| For instance, the common one is "why can I use this ActiveX control, but not that part of it?" Well, because REALbasic only supports things which have a type library and implement the IDispatch interface... |
|
| but that's a rather strange thing to have to explain. It seems arbitrary to the user. |
|
| I think that getting a good foundation of COM support is certainly achievable, and when it happens, I think ActiveX support will "magically" get a lot better, without actually touching the ActiveX support directly. |
|
| |
| Bob Keeney | Do you think that full COM support is critical for RB on Windows? |
| Aaron Ballman | Definitely. For those of you who aren't up on your three-letter acronyms for Windows, COM is basically another form of declares on Windows. Except these declares are object-oriented, unlike traditional declares |
|
| and just like how tradition declares have opened up a world of functionality due to their interoperability, COM will only increase that interop. |
|
| The OS itself exposes a ton of functionality as COM objects, allowing you to do things you're not able to do from REALbasic directly or via declares. For instance, to make your own shortcuts to files. |
|
| But it also opens up a lot of opportunity for accessing 3rd party tools on Windows. Most vendors supply their functionality as COM objects so that they can be used from C/C++, Visual Basic, and .NET |
|
| So if REALbasic were to get COM support, you would no longer be as reliant on REALbasic plugin developers for your platform-specific needs on Windows. |
|
| Interestingly enough, this isn't just a Windows technology. COM is how you access IOKit (as well as other things) on OS X. |
| Bob Keeney | It sure would be nice to be able to access the plethora of Windows only components like Grids, Reporting tool, libraries, etc. |
| Aaron Ballman | So yes, I'd say it's critical for REALbasic to get COM support at some point. Especially since the trend from Microsoft is to expose their new APIs via COM instead of flat Win32. |
|
| |
| Richard Schroeder | Aren't we straying from the reason RB is appealing as a Cross-platform tool? |
| Aaron Ballman | Let's ignore the fact that COM is actually used on all three platforms. ;-) |
|
| I don't think platform-specific technologies stray from the x-platform message |
|
| Different users have different needs -- and for users who just want everything to be exactly the same on all platforms would do better with a product like Java. |
|
| REALbasic has a strength in the fact that it provides a *native* experience on all three platforms |
|
| but in order to provide that, it has to allow for single-platform technologies when it makes sense |
|
| For instance, imagine trying to make a compelling application on the Mac without support for sheet windows. |
|
| So in the cases where a technology can be reasonably "applied" to all platforms, like sheet windows, I think REALbasic should tackle it. And when the technology is so incredibly specific to a platform that it can't be mimicked elsewhere |
|
| (like AppleEvents or the registry), I think REALbasic should just buckle down and provide support for it |
|
| because many users want to provide a compelling native experience for their products, which simply isn't possible if everything has to be perfectly cross-platform in nature. |
|
| It's a very tough line to walk though, that's for sure. |
|
| |
| Bob Keeney | If you have any last minutes questions, whisper them to me now. We're going to wrap it up soon |
| Aaron Ballman | Awww, but I was just warming up! ;-) |
|
| |
| Richard Schroeder | If they want a "compelling" native experience for e.g. Windows then would they not be better off with something besides RB (Delphi, VB, et al)? |
| Aaron Ballman | If the focus is one platform only, then sure. The same is true on Mac or Linux. If you want the world's best Mac application, you're better off using XCode and Cocoa. If you want the world's best Windows application, you're better off using Visual Studio |
|
| But if you want an application that is deployed across platform, but you want it to be compelling for native users, you use REALbasic. |
|
| There are two examples I always trot out for this. ;-) |
|
| Windows users DO NOT want iTunes. Mac users DO NOT want MSN Messenger. Those are great examples of how not to make a compelling application across platforms. |
|
| If you want an application that feels native, then you need to buckle down and do it the platform way as a developer. That includes everything from the user interface to the nuts and bolts |
|
| It's hard though -- we all have our biases as to what's the "right way." We just need to keep in mind that it doesn't matter what *we* think as developers. It matters what users will think of what we produce. If we produce something that seems odd to them, it will be rejected. Regardless of how truly awesome we think it is. |
|
| So it's funny -- in order for REALbasic to be awesome across platforms, it needs to focus on individual platforms while still keeping the whole in mind. As I said before, it's fine line to walk. |
|
| |
| Bob Keeney | Well thank you Aaron. |
|
| I hope your book is a big success. |
| Paul Lefebvre | Yes, thank you for putting up with our flaky chat software :-) |
| Aaron Ballman | My pleasure! I plan to stick around in the lobby, so if anyone feels like chatting, feel free to stop in |
|
| And I hope the book is a big success too! ;-) |
|
| As always, if you have any questions, you can always email me (aaron@aaronballman.com) |
|
| |
| Bob Keeney | Thank you everyone for coming. |
| Aaron Ballman | And thank you all for coming, and thank you to ARBP for having me! :-D |


