Home > Features > Feature Article > Joe Esch: SketchUp, Cocoa and Mac OS X


< | 1 | 2 | 3 | >

Joe: I don't think that there was anything about the Apple implementation of OpenGL that particularly impressed me. One of the main points of using OpenGL is that it is a standard API (application programming interface) that you can use on different platforms. The fact that Apple had a good implementation of OpenGL on OS X made it easier to decide to do the port. They seem to have a solid implementation of it, but we don't really use any of the extensions so there is nothing about the Apple implementation that makes it especially compelling.

AFR. What kinds of extensions has Apple made to OpenGL and if you used them would you be able to implement them on Windows?

Joe: There are lots of extensions to the OpenGL API. Some are created by specific hardware vendors to take advantage of special features on their boards. Others are defined by the OpenGL Architectural Review Board. One nice thing that Apple has done is that they have defined some extensions that are supported across hardware, so you can program to the extensions and run on both ATI and nVidia graphics boards.

Things are more complicated on the Windows side. Microsoft pushes Direct3D, so they don't really try to get vendors to support common OpenGL extensions. The hardware vendors still offer lots of extensions, but it is harder to take advantage of them without programming to specific hardware.

We've considered using some of the more common extensions to improve display performance, but so far we've been sticking to pretty vanilla OpenGL to get the best compatibility across a broad range of hardware.

AFR. Is the Windows version of SketchUp also based on the OpenGL API set or do you use Microsoft's proprietary technology?

Joe: We use OpenGL in the Windows version also. Being able to use the same graphics API was one of the things that helped when we did the port.

AFR. Did you choose OpenGL as your preferred 3D API because of its technical merits or because you wanted SketchUp to be portable to other OS's after you guys got established with the Windows version?

Joe: Both actually. I was already familiar with OpenGL, so that was one consideration. I thought that it was a better choice technically than [Microsoft] Direct3D -- which has been targeted primarily at the game market. Also, we wanted the cross platform compatibility in case we did decided to port to different platforms.

AFR. So let's recap a bit. Apple's implementation of OpenGL is solid but you aren't using any particular extra extensions there. Are there any other developer things that Apple is doing well...what about Apple's Quartz Extreme, are you planning on using that?

Joe: We don't directly take advantage of anything in Quartz Extreme. The fact that it is built on OpenGL adds to our confidence that Apple is committed to having a good implementation of OpenGL.

As I said earlier, OpenGL is pretty much OpenGL. The thing I really like about developing for Mac OS X is the Cocoa framework. It is much nicer using this to create the UI (user interface) than using the framework that we use on Windows. I would love to be able to use the Cocoa framework on the Windows version.

AFR. As a cross-platform developer would you prefer it if Cocoa could target Windows in addition to the Mac?

Joe: The core of SketchUp is all written in portable C++. The GUI in the Windows version is done using the MFC framework. When we decided to move to the Mac, I spent some time looking at cross platform GUI toolkits. I didn't really find anything that I liked though. One of my main objectives was to make the Mac version look and feel like a native Mac application rather than like a Windows application that was ported to the Mac. In the end, I ended up using Cocoa and Objective-C++.

It would be nice if we could target Windows using Cocoa. It would be a hard decision to go back and redo the Windows GUI using Cocoa at this point though.

AFR. What is @Last Software's goal with the development of SketchUp? Where is the product going to go and who would you say are your competitors in the market?

Joe: Our primary goal in creating SketchUp was to come up with an application that would make 3D design and modeling easy enough to learn and use that someone who was not an expert in modeling could use it. We also wanted the modeling process to be much more fluid so that you could quickly play around with different design ideas.

There are a lot of other applications available that let you do 3D modeling. We don't consider most of them as competitors though. A lot of the other systems try to provide a complete solution that lets you do everything with a single application. With SketchUp, we don't try to do everything, but we try to make what we do very easy to use.

AFR. Why did SketchUp come to the architectural market? Are you guys interested in architecture in particular or was this decision based on some market research that said this area was a void that could be filled in the market...that the architecture market needed an ultra easy-to-use 3D program?

< | 1 | 2 | 3 | >

Home > Features > Feature Article > Joe Esch: SketchUp, Cocoa and Mac OS X




NBC on iTunes





  | Corrections | About Architosh | Awards & Press Reaction |
| Site Map |

Privacy Notice | Contact Us | How to Advertise | Corporate Sponsorship |
Copyright © 1999 - 2006. BritasMedia Publications. All Rights Reserved.
Architosh™ and the ToshLetter™ are trademarks of BritasMedia™

Quantified - Quantcast