Home ARBP Blogs and Opinions ARBP Chat with Aaron Ballman: Transcript
ARBP Chat with Aaron Ballman: Transcript Open as PDF Print Version
avatar   Votes (0) | Hits (605) | Comments (0)
Written by paul.lefebvre
Category: (ARBP Blogs)
29 Oct 2009

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:

http://forums.realsoftware.com/viewtopic.php?f=9&t=30305

---

 

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

 

 

Tags: Add Tags


Comments

There are no comments for this item

Be the first to leave a comment

Login to leave a comment

 

ARBP Members Login

This Sign In is for registered ARBP members only. Please read the information on this page to discover the benefits of membership.



To start accessing the ARBP site you only have to register. After that you can purchase any of the memberships to unlock additional content.

Purchase REALbasic