This article explains how I’m able to use an aging but still capable Mac for database development in a company that develops commercial decision support software for hospitals. I wrote this article because I think the results of the search I made for software that allows me to work productively on this machine may be of use to others.
Background
The machine I develop on isn’t a fire breathing G5. It’s a more modest, but capable machine, a dual 450 MHz Graphite G4; a Gigabit Ethernet model. It still has its OEM 30 GB hard drive, DVD RAM drive and video board. Just the RAM and OS have been upgraded. It has 1.0 GB of RAM and the latest version of Panther installed.
I started working for my current employer last year. Up until that time, since the early ninety’s, the OS I developed in was Windows. All the machines I’d bought were PC’s of various makes and models. The Mac couldn’t even be considered at the time because there were no useful development tools available.
The rise of Linux, the advent of OSX, and major databases like Sybase and Oracle being ported to the Mac, changed the market and raised the possibility of me working on Macs again. Until these events, there was no way to do it. Now, it’s possible and getting easier all the time to develop enterprise database applications on Mac hardware.
When I started at this company, I was given a new Dell desktop with a 2.4 GHz hyper threaded P4 processor. It had 512 MB of RAM. Windows XP Pro had been installed along with all of the development tools and MS Office. It was your typical work machine. As I was being introduced to the web developers, I walked by an unoccupied cubicle that had the Mac sitting under its desk. I asked the IT guy how the company came to own the machine. He explained that it had been bought for a contract web developer, but that it had been collecting dust for the past couple of years after the developer left the company.
I asked my boss about using a Mac as a developer workstation instead of the Dell. He answered that as long as I could be productive on the machine and that I could do all that needed to be done, I could use the machine. The IT guy was thrilled because it freed up the Dell, which others were clamoring for. I next needed to see what tools were available for database development and whether I could realistically be as productive on the Mac as my co-workers were on their Windows machines.
My company builds its applications using a client-server architecture. Oracle 9iR2 is used as the data layer with PL/SQL packages containing the business rules and data manipulation logic. Java-based tools are used to move data into the application. The client side of the application, dynamic web-pages, is built using Macromedia’s Cold Fusion. I soon learned that the Java tool most of the developers use is Eclipse. Source control is through Boreland’s Star Team and Oracle development occurs on Quest’s SQL Navigator. Microsoft Office is used for documentation. Corporate email is via a simple POP3 server: there is no exchange server. Project management is done with Microsoft Project and flow charts are built with Microsoft Visio.
I suspect a lot of small software companies fit this pattern. I set about looking to see how much I could do on the Mac. I found that there’s very little now that I can do on a Windows machine that I can’t do on a Mac.
What follows next is how I use each of these tools:
PL/SQL Coding (Aqua Data Studio by Aquafold, Inc., JDeveloper by Oracle, dbVisualiser by Minq, Inc. ) In an attempt to be fair and honest I must admit that I’ve found none of the Mac title’s quite as nice as Quest Software’s SQL Navigator. Unfortunately, Quest hasn’t built a Mac version. SQL Navigator has several features that are hard to do without, namely the way it color codes PL/SQL packages in the object tree: black means they’re valid, red means they’re invalid. I also like the ability to double click on a procedure or function in the same list and you taken to that code in the package in the code window. There are a couple of features that I could do without however; one is it’s prone to losing its connection to the server for no apparent reason and the other is it randomly crashes.
Having said that, I can still do what I need to do on the Mac. My favorite of the three Mac tools I’ve listed, is AquaFold’s Aqua Data Studio. It has a nice, compact yet easy to understand user interface, and you can change its look and feel with a simple drop-down list control. Given the amount of time I’ve spent in the Windows world, I actually prefer the “3D” style to the “Aqua” style because it looks a lot like Microsoft’s Query Analyzer tool. JDeveloper has a very rich feature set; it has a commensurate price too. It is by far the most expensive of the Mac tools. It also has a built in Java editor, source control client, and database design environment.
Minq’s dbVisualiser has a very nice feature in that it will reverse engineer a database schema and put it into a diagram. Its SQL command window is a lot like JDeveloper’s SQL Workbench window in functionality, so if you’re familiar with JDeveloper, you’ll feel right at home with dbVisualiser. However, I prefer Aqua Data Studio’s implementation of a SQL editor.
VPN – (OS X’ internet connect, Cisco’s VPN Client ) When I need to connect to a client site, I exclusively use Cisco’s VPN Client software. I’ve experimented unsuccessfully with OS X’s built in VPN client, so I can’t report on how well it works, but I’ve used the Cisco Mac VPN client extensively. It’s is as slick and easy to use as its Windows counterpart.
Source Control – (StarTeam by Boreland, JDeveloper by Oracle) Source Code control is a big deal for us and getting more important as our engineering staff grows in size. Fortunately, Borland wrote StarTeam in Java and ported it to the Mac. I use it daily to protect my code from myself as much as anything. The look and feel of the port is not purely Aqua because of the way it underlines the “key” letter of menu commands.
JDeveloper does have source control functionality built into it and in Oracle shops that haven’t yet decided on a source control package, it should be given a serious look.
Application interface testing – Safari, FireFox or Internet Explorer all work equally well. I prefer Safari for no other reason than I like the interface. FireFox is the favorite browser of the web developers here. I use IE only as a tool of last resort because it’s so slow at rendering pages and it doesn’t block popups (Mac version).
Java Coding – (Eclipse, xCode by Apple, JDeveloper by Oracle) This is realy a tossup between two titles, Eclipse and xCode. I really like Eclipse, but it is a huge resource hog on the Mac. It’s the Java IDE of choice in our company and having a Mac version has been really nice. It has a nice implementation of intellisense and some very helpful wizards that make life for novice Java developers like myself quite a bit easier. My next best favorite is xCode. I’ve found the “hard core” approach to coding using a text editor and a Terminal window to be a fun foray into minimalist developer environments but I’m to much a novice to really enjoy coding that way.
Lastly, JDeveloper has a full featured Java IDE too. For shops that want to use a single tool that does it all, JDeveloper is very capable. Its cost however exceeds the combined cost of all the tools needed to replace it.
Flow Charting – (OmniGraffle by Omni Group, Inc.) I’ve found that using a flowcharting application to figure out how to accomplish a data manipulation process before I actually write the code to be a HUGE time saver. OmniGraffle Pro is a superb application for this task! It comes in two versions, Personal and Professional. It’s easy to use and the flowcharts look very nice. I prefer the Professional version because it allows me to share my work with the other developers who use Visio.
Inter-office documentation and collaboration – (Microsoft Office for the Mac, NeoOffice/J, OpenOffice and OS X applications) My employer uses Microsoft Office products for all their documentation, presentations and email. I use the Mac version of office. After I updated my version with the latest downloads, it has been very stable and useable. For those on a tight budget, I recommend NeoOffice/J which is a variant of OpenOffice that runs on the Mac outside the X11 environment. It’s still in alpha release and has the bugs to prove it. But as long as you stick to the basic features, it’ll work for you. If you need to use more features, then OpenOffice is your choice. Both applications share the same look and feel: they don’t use Aqua. But since they’re free, I’m not going to complain.
I use Entourage as my email client because of it includes a calendar and task list that are easily accessible. You can do pretty much the same thing with OSX’ Mail, Address book and iCalendar applications. There are a lot of shareware tools that have been built that add to the features of these applications that ship with OS X. I haven’t tried them because Entourage works well enough for me the way it is.
Project Management – (PMX by JTech Software) PMX allows me to open and edit PMX files exported from Microsoft Project. It doesn’t have the full feature set that Project has, but it has enough to allow me to collaborate in the management of some of the development projects with my Windows using counterparts.
Text Editing – (TextWrangler by BareBones, TextEditor – included with OSX) For simple text editing and document comparing, Bare Bone’s text editor, TextWrangler is powerful and easy to use. It’s every bit as capable as Ultra Edit which exists only on Windows. TextWrangler is loaded with some sophisticated and powerful features. The feature that endears it most to me is its “Find differences” tool. With it I can compare two versions of a document side by side and with the click of a button selectively “sync” those documents. One button allows you to apply the currently selected difference between the old and new version to the old version from the new version and another button applies the difference to the new version from the old version. It’s very slick and easy to use.
TextWrangler also supports syntax color coding, so you can use it as a developer tool. There are developers that like to code this way, I’m not one of them. TextEditor is more a light weight word processor than a text editor. It’s great for simple writing tasks. Since it can save documents as RTF files it can fill in as a word processor in a pinch. However, BareBones recently decided to set the price of TextWrangler to nothing: it’s free. For this contribution to the Mac community, I strongly recommend you check out BareBone’s web site and look at the other tools they sell. They make some high quality software.
Time tracking – (Clock and Time by BDNSoftware) There are a lot of shareware titles for the Mac that allow you to keep track of you time for billing purposes. I use this title because it’s simple to use, has a nice interface and it’s cheap. At the end of the week, I use it to print invoices for the various projects I’ve been working on. I use them to fill in the time sheets my employer requires.
Outliner – (OmniOutliner by Omni Group, Inc.) I’ve just recently started using an outliner to make checklists, meeting notes etc. I’ve tried a couple, including Microsoft Word’s outlining feature. I don’t like any of the others as much as I like OmniOutliner. I especially like the ability to add columns, format them in just about any way, the little checkboxes that are included by default and the templates. OmniOutliner will export to the “OMPL” file format which is actually XML. Once there’s a Windows based outliner application that accepts them, it will be much easier to collaborate and share these outline documents with my coworkers. Right now, I export to MS Word. I especially like the templates since I can put together a checklist and then create a new one for each process I need to document doing.
For Windows-only utilities, I use the Remote Desktop Connection solution and an old Dell. The Dell is barely strong enough to run Windows XP, but it’s faster and cheaper to use than to buy an emulator. I could use VNC but I haven’t set it up to evaluate yet. If my machine were faster, then Virtual PC or GuestPC or Bosch’s Windows emulator would be workable solutions.
Final Thoughts
With such a rich set of tools, serious relational database development is not a Windows-only game any more. I continue to exchange some good natured ribbing about the various strengths and weaknesses of our respective OS’s, but for all intents, my Graphite Mac holds its own against the Windows machines.
If you are tired of the viruses, spyware, malware etc. that afflict the Windows world and would like to escape from all of that, now you can. For non-commercial uses, some of these titles, like the developer tools, are free. Most of them have generous “try before you buy” licensing. If you are just starting out, the Mac is especially appealing right now given the amount of free or low-cost software you can get started with.
Software List and Prices
What I’ve provided here is a list of the various titles I’ve commented on, how much they cost and where you can download them. A quick disclaimer, this is not a complete list of the available tools. These are just the ones I’ve tried out. While JDeveloper can do more than one thing, it is listed just once. One final note, VersionTracker.com is an invaluable resource for finding software. While I’ve used Google searches and Source Force, the place I’ve had the most success in finding software is Version Tracker.
PL/SQL Coding
JDeveloper 10g (Oracle), For non-commercial use it’s free. For commercial use, it’s $995 for a single seat license. You can find out more about it at: Oracle – JDeveloper
Aqua Data Studio 4.0 (AquaFold, Inc.), For non-commercial use, it’s free. For commercial use, it’s $149 for a single seat license. You can find out more about it at: AquaFold, Inc. – Aqua Data Studio
dbVisualiser (Minq, Inc.) There’s a limited feature free version and a “personal version” that I would recommend using for $99 per seat. You can find out more about it at: Minq, Inc. – dbVisualiser
Java
xTools 1.5 (Apple) – Free. Comes with OSX. It requires OS 10.3. You can find more about it at: Apple – Developer Tools
Eclipse (Eclipse.Org) Free. For more information go to: Eclipse.org
(For the truly hard core Java guys) TextEditor in conjunction with a Terminal window and Applet Viewer, which come with OSX, works too as a Java IDE.
Office Suite of tools
MS Office (Microsoft) Regular $399, Student $149, Professional $499. For more information go to: Microsoft/Mac
Open Office (OpenOffice.org) Free. For more information go to: OpenOffice.org
NeoOffice/J (NeoOffice.org) Free. For more information, go to: NeoOffice.org
Mail – comes with OSX
Entourage (Included in Microsoft Office)
Project Management
PMX (JTech Software) Shareware, $59.95. For more information go to: JTech Software
Flow charting
OmniGraffle Pro (Omni Development, Inc.) There is a limited feature “free” version. The Professional version costs, $119.90. You can learn more about it at: OmniGroup – OmniGraffle
Text Editor
TextEditor – comes with OSX
TextWrangler (Bare Bones Software) It’s free. You can learn more about it at: BareBones – TextWrangler
Source Control
StarTeam (Borland) You can download a demo of the StarTeam client at: Boreland – StarTeam
VPN
Internet Connect – comes with OSX
VPN Client (Cisco) To download you have to have purchased a Cisco router. You can learn more about it at: Cisco VPN
Outliner
Omni Outliner Pro (Omni Development, Inc.) The Professional version costs, $69.95 You can learn more about it at: OmniGroup – Outliner
Time and Billing
Clock and Track (BDNSoftware) Shareware, $29.95. Get more information about it at: BDNSoftware
About the author:
Ken Cluff is a SQL Server/Oracle Database Developer who resides in a quiet little town near Salt Lake City, Utah. When he’s not sitting at his computer playing or working, he’s spending time with his children.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
Some solid choices. I use mysql/navicat, spring/hibernate, tomcat, apache, php5, perl, xcode, omnigraffle/omnioutliner, subversion (code), pages (iwork), etc…
I go much lighter with these choices.
wow you found a nice bunch of os x apps. I am also having a hard time deciding between xcode and eclipse, but i am a java noob. i mostly did stuff in vb .net before, but i’ve had my mac since august so i decided to learn something new. there are also other apps like adium, iterm (really nice terminal replacement), btw the document comparison thing you can do from the terminal using diff, also would like to hear if you would switch to mac for personal use.
I would in a heart beat. My needs can be met with a Mac mini so that’s what I’m getting when it ships with Tiger (OS 10.4) installed.
would like to hear if you would switch to mac for personal use.
I will myself once Tiger is out.
used tiger a while back, the few things i really liked were being able to search in the system preferences,the new look (whatever its called), and the revamped mail because right now mail really sucks. ;-p I also plan on getting a mac mini within the week because I obtained a copy of panther server should be interesting. I only have a powerbook and don’t wanna run panther server on it.
iTerm isnt that fantasitc, it doesnt do ansi color or anything.
If you want a super awsome best IDE ever, use IDEA by jetbrains. It’s way better than Eclipse and XCode.
booter, i seriosly doubt you can do that. CPU and MB would be at least 300 ad windows XP and some basic apps, and your already over 500 bucks. No HD, mem, video, case, cdrom, anything… And its not preassembled and warenteed. Plus its going to be 10x the volume of the mac mini.
> If you want a super awsome best IDE ever, use IDEA by jetbrains
With a much heftier price. for $500.00 it better be.
Thanks for the article. I was very happy to find the list of software, url and price at the end.
The betas are free and you get to use all the new features.
I was interested, since the article mentioned developing for Oracle 9i, if people have interest/experience/comments regarding Oracle 10g on OSX Server….developing, client-side, on OSX is half the equation, what about the other half?
Anyone care to chime in on the server side of the Oracle db/development environment under OSX?
Mark
I’ve been thru a few offices in the past 10 years. I first pushed (if you can believe it) for MS BackOffice and Office (for the front) and ended up standardizing our company on Microsoft across all machines. But through that I got burned one too many times by MS. This isn’t an MS bashing comment either.
After than I went through various companies who usually had a hodge-podge of what worked and what hurt to use. I now have a startup (again) and I think we’ve hit a sweet spot.
Since my partner is a business guy and OOo still isn’t 100% on formatting, we allow MS Office into the fray (haven’t tried Pages yet). However, when we do presentations offsite, all out PowerPoint (usually my partners) are all run through Keynote. We bring along a 12″1Ghz G4 Powerbook, a small projector (just in case) and a Keynote remote control. Our presentations always turn out great and def. look different.
Our product is web based and we’ve managed to do some cool XHTML stuff and have it work on IE, Moz-based, and even Safari. We cluster two Tomcat servers behind 2 Apache servers and those connect to a Postgres 8 server with a hot backup – all running Linux, of course.
Our mail server is available to the outside via https access for co-workers and also Imaps. Our product has calendaring/scheduling built in based on the iCal standard, so we can do really cool stuff with web and free clients such as Sunbird and also Apple iCal.
Our main development boxes are mostly Macs – and those mostly Powerbooks – and a few Linux machines. 1 developer has Windows and he’s responsible for it.
I think all this works for us because I’ve spent so much time over the years seeing what does and does not work and looking here and there. For a medium to big outfit tho, it’s a tough call. As much as I’d like the geek squad to run the show, we ultimately have to provide the tools that work for the biz guys so they can bring home the money. I did read a bit on Novell Hula and maybe that’ll help with some of the calendaring – always seemed to be a sticking spot at so many places.
Anyay, the offices that don’t use MS throughout, for now, are diamonds in the rough.
This is a good article written with honesty and hard work.
It will be a great boon for company who want to switch to Mac for database devekioment work
This is a very well written article. Thank you!
jEdit is the bomb regarding IDE’s.
jEdit is not an IDE. It’s just an editor.
But yeah, it’s good.
Does he have a Mac at home? Or did he just want to try out a Mac and see if it would work? We get no explanation on if he is a complete newbie to Mac or just a regular user some where else in his office. I really want to know why did he decided to switch.
I’m actually a hard core mac lover. I fell in love with the promise of the interface when I saw my first Mac back in 1984. I’ve owned several through the intervening years. (My current home Mac is a beige G3 MT running OS9.) But as I started developing database software, I gravitated towards Windows because that’s where the money was. Eventually, because that’s where the tools were too I switched to Windows-only development in the late 90’s.
I kept watching the Mac to see if it would survive during all that time. Now, with the advent of OSX and especially with Panther and the tools I wrote about, I think it will.
I take a fair amount of grief from my coworkers for switching from a Dell that has twice the horsepower of the G4 to the G4. But with the stability and look of the OS, plus the lack of concern I have for virus and all the rest, I consider it a more than fair trade.
More than one co-worker is now getting a Mac or considering the purchase of one for personal use. Plus the comments from those who yearn for a ‘nix workstation tell me that Apple is headed in the right direction and will only get stronger in the business space in the years ahead. So, I’m also enjoying being at what I consider the bleading edge of Mac database development.
Another comment: I mistakenly cited the publisher of PMX as “JTech Software”. It’s actually “JTech Softworks”. Sorry about the error. The link is still good.
I use Eclipse for anything other than Cocoa development – I’m surpised you didn’t explore a few more plugins…particularly the Azzurri Clay plugin for DB design, and dbedit for…editing
Just wanted to add that Adium is a very serviceable Lotus SameTime chat client! That was one of the biggest roadblocks I encountered using my PowerBook in a large corporation.
Very nice article, simple but yet very sincere.
As I’ve mentioned many times here, I am stuck with Microsoft tools because we use .NET/C#
I’ve been going mono from time to time but there are two BIG issues with mono on OS X.
1) Mono itself does not support Windows.Forms namespace (yes it is starting to, but not for a production enterprise aplication). Cocoa# (which should be the aqua looking windows forms stuff for OS X) is still less than alpha…
2) Visual Studio.NET: Although I am not saying that VS.NET is the BEST IDE that you will find all over the world (haven’t tried ’em all anyways), it is very productive if you’re in a windows environment, and know what you’re doing with .NET
SharpDevelop (the OS alternative) is very good, but when I tried to import one of our projects, I got unhandled exceptions (reported to the developers..).
But… wait… SharpDevelop is a Windows only thing… for Unix we’ve got MonoDevelop… which is not as mature as SharpDevelop!
The lack of a comfortable, non-geek-only, easy to use, fast and reliable IDE (in the language of your choice) is a must if you pretend to develop. Unless of course you’re a hardcore editor instead of an ide. In which case I’m still waiting for suggestions… none has proven to be useful so far.
I admire the author of the article for being able to switch (if we only had chosen Java instead!!). I use the Mac at work to.. it handles all the Mail (Notes and Pop), music, Aqua Studio for talking with the MySQL, RSS Feeds, etc.. but I would love to be using the box for writting code, debugging, etc., as easy as it is under windows.
The moment you start performing tasks in OS X, you don’t want to go back to Windows. The usability under OS X (which may take a few days to get used to) is awesome; and it looks like it will improve!
:p
– I use DreamWeaver, JBuilder2005 Developer, for batch Java programming
– I use DreamWeaver/SharpDevelop/VPC on a Powerbook 1.5 with 1gig.
It’s doable but you’ve got to turn off everything except IIS, and use MySql for your database. Oracle is just too heavy a db engine to run under VPC.
– Then there’s Remote Desktop Connection which runs very well when you can’t get it done on your local machine.
– I’m looking at JBoss / Eclipse for JDeveloper for J2EE in the future…
This was a well written and useful article. Kudos to the author. I appreciated the pointer to PMX; project management tools for the Mac don’t often come up for discussion here (not complaining of course, I’m “just sayin”).