FileMaker Addict Has Moved!
FileMaker Addict can now be found here: http://www.filemakeraddict.com
Wednesday, June 27, 2007
FileMaker 8 Certified Developer Overview -- Explains the benefits of becoming a certified developer, and provides links to a number of other certification-related resources.
FileMaker Professional Training Foundation Series III program -- Information on how to obtain training on FileMaker. Also provides a link to the course materials (book and CD) used in the program.
Certification FAQ -- Frequently asked questions about the certification process.
Certification Process -- The steps involved in getting certified. Also tells a little about the exam itself (which consists of 60 multiple-choice questions, and they estimate that it will take about an hour and a half to complete). There's also a list of the 11 topic areas that the exam covers.
Thomson Prometric's FileMaker Certification page --The exam can be taken at any of the 3,000+ Thomson Prometric locations. This page provides links to help you find a location near you (but not much in terms of learning more about the exam).
FileMaker Technical Network -- Information about FileMaker's new program that provides developers with exclusive access to important FileMaker technical information and resources, as well as access to knowledge base articles, software, and more. Best of all, it's only $99. Seems like joining is common sense, and it might provide some resources that will help with getting certified.
FileMaker 8 Related Crossword Puzzles -- Dwayne Wright, a FileMaker 8 Certified Developer, put together and used these cool crossword puzzles to help study for the exam. What a great idea!
Know of any other certification-related resources that I've missed? Please let me know!
Monday, June 25, 2007
Over the past year or so, I've changed my ways. I wouldn't say that I'm a plug-in addict, but I'm definitely more open-minded than I used to be. In the past few months, I've tested many different plug-ins, and I'm much more productive as a result. I feel empowered -- like I'm running FileMaker on overdrive. There are things that I'm doing with FileMaker these days that I never thought would be possible -- and wouldn't be possible without all of these cool plug-ins.
In fact, it's safe to say that there are projects that I couldn't have pulled off without plug-ins. Troi's URL Plug-in and Text Plug-in are two that come to mind. Absolute lifesavers. (If you haven't seen Troi's plug-ins, I urge you to take a look at them. You'll be glad you did!)
So last week I was in a meeting with our local FileMaker rep and her boss, and they mention something called "SmartPill." "You can use it to run PHP within FileMaker," they claimed. "Nahh," I thought. No way. I didn't see how this was possible, and figured that I was simply misunderstanding what they were saying. Besides, I had never even heard of SmartPill before. In any case, I wrote down the name of this mysterious plug-in that they had been raving about, and the name of the company that has developed it ("Scodigo"), and figured I'd look into it later on.
So this evening I was thinking about the meeting, and realized that I hadn't checked out the plug-in that they had mentioned. I dig around and find my notes, I Google "SmartPill," and find a link to something called SmartPill PHP Edition™ | Scodigo. I click the link, still not sure of what I'm in for...
And there it is. "With SmartPill PHP Edition™ you have all the power of PHP at your fingertips right inside your FileMaker applications."
And there's a long list of things that they say you can do with it. "Send and receive email." "Send and receive files using FTP." "Encrypt and decrypt your data." It sounds too good to be true. But then there are the quotes from people like Matt Petrowsky, Jonathan Stark, Andy Gaunt, and Chris Hansen (who now works at Scodigo!). So I figure there must be something to this thing, and I download it...
And a few minutes later I've got it loaded up, and I'm experimenting with it, and sure enough, it does exactly what it claims to do: You really can use SmartPill to run PHP code from within FileMaker. No kidding. Honest.
This plug-in is amazing!
So what does SmartPill do for you, exactly? Well, it makes many PHP functions available to you for use within FileMaker Pro itself. For example, you can use PHP's email and FTP functionality. You can consume Web services. You can encrypt and decrypt data. You can take advantage of PHP's XML-related functions. You can use regular expressions! (I repeat: Regular expressions! In FileMaker Pro!) The list goes on and on and on. And while the plug-in doesn't give you access to ALL of the PHP functions that exist, it does provide access to a lot of them.
Don't ask me how the folks at Scodigo managed to pull this off. I have no idea. But they have, and I suspect that our lives as FileMaker developers are going to be much better off as a result.
Did I mention that this plug-in is amazing?
Best of all, you don't have to install anything other than the SmartPill plug-in itself. You don't even need to have PHP installed! Just download the correct version (there are three: one for Mac OSX on Intel, one for OSX on PowerPC, and one for Windows), drop the plug-in into your FileMaker Pro Extensions folder, start up FileMaker, and you're in business.
You can download SmartPill and it will run for up to 30 minutes before it needs to be registered. For evaluation purposes, Scodigo offers a 30-day trial license, available here. Pricing for SmartPill starts at $59 for a single user license, and quantity discounts are also available. (You can get pricing details here.)
I really can't say enough good things about SmartPill. I encourage you to download it and experiment with it. Even if you don't know PHP, I think you'll quickly see how powerful SmartPill is, and I suspect you'll want to learn more about PHP as a result.
Thursday, June 21, 2007
Explaining what FileMaker is, how it works, and the benefits of it is very hard to do to people who work with traditional SQL-based relational database management systems. I have a very heavy SQL background myself, and I still find it difficult at times to explain FileMaker to other SQL developers. Try explaining how you do a "find" instead of writing a query. Try explaining how you can build feature-rich interfaces within the database itself. Show them how to enforce referential integrity with a few clicks of the mouse... It's little wonder that they just "don't get it."
There are scenarios where building solutions based on traditional SQL RDBMSes makes sense, and scenarios where building them based on FileMaker Pro makes sense. It's my opinion that, because of the way that FileMaker has matured over the past several years, the number of scenarios where FileMaker is a good fit is growing rapidly.
Here's an example of where FileMaker is a good fit -- and where a traditional SQL database isn't: A few weeks ago, I was given the task of developing a proof-of-concept for an electronic purchasing tool. This tool needed to be able to obtain real-time product information from a suppler that provides it's data using Web services, allow the purchasing agent to make some decisions regarding what products they wish to purchase, and to submit the purchase order to the supplier as a cXML document. By the end of the first day I had submitted our first test order to the supplier (much to their surprise!). By the end of the second day, we had a full-featured application built. In other words, we went from specifications to proof-of-concept to production in a matter of days. (Try doing that in something other than FileMaker Pro.)
I don't think we'll ever get the FileMaker message out to the world in a way that feels satisfactory. What Chris was trying to do over at DBMS2 was to get people to at least take a look at FileMaker before passing judgement on it. I'm beginning to think that perhaps the best way to explain what FileMaker is -- and perhaps more importantly, it's value proposition -- is by using it to build Killer Applications like the one that I described above.
What do you think? What success stories can you share?
Sunday, June 10, 2007
How did you get started in IT?
I stepped on a guy's foot.
I guess you'll want the back story on that answer. I was working for a book store making a meager living in a bad neighborhood. I had just applied for a job in Claris Customer Assistance and been turned down. During this time, I was regularly attending BMUG meetings and one week a guy named Jeff Songster came up from Claris to demo the latest ClarisWorks.
After the meeting we're all milling around and I manage to take a step backward right on to Jeff's foot. After excusing myself I jokingly shook a fist at him and said I was stomping on his foot because he worked at Claris and I didn't. We got to talking about it and Jeff suggested I belonged in Tech Support. He told me to contact Cathy Barradas in Tech Support and gave me permission to use his name. I sent a letter asking for a job and actually got it.
How long have you been using FileMaker Pro, and how did you get started with it?
I started using FileMaker the day I was offered the job, in April 1996. It was like cramming for finals, but I shouldn't have worried. In those days Claris had a training department and I got heaps of terrific training. Taking calls was also a great way to learn under pressure. I learned as much about psychology and troubleshooting methodology as I did about FileMaker.
Tell us about your company, Crooked Arm Consulting.
Crooked Arm has been around since 2000. We're small with a focus on the higher end of the market. We only build custom databases, we don't sell templates or shrink wrap solutions. Our structure lets us invest in client relationships in a way that larger firms can't. Many of the professional relationships become personal friendships too and that feels good. I recently celebrated a birthday and had several clients at the party.
You've done work for a variety of different clients -- from the Ansel Adams Gallery to DriveSavers (the well known data recovery company) to a bartending school. What's the most challenging project that you've worked on, and why?
I've done a lot of programming for NASA in the past four years, and I can say without qualification that the Life Sciences Data Archive I built for NASA Ames Research Center is the most challenging. This was a rebuild of an old-world FileMaker system that we brought into FileMaker 8. This archive contains information about life science experiments that have flown on orbital missions. The level of detail is incredibly fine and the relationships among them are voluminous and complex. Add to that a whole XML data interchange system with Johnson Space Center that Jon Welch built and SyncDeK distribution that I programmed. The whole project was a constant challenge.
Tell us about Gladys. How did you come to develop it?
I'd been brainstorming product ideas with a colleague and it occurred to us that there wasn't a server monitor product that specifically addressed FileMaker Server. We hashed out a spec and got to work. It took way longer to get to market than anyone anticipated, but we’re here with a good product.
What was it like demoing Gladys (which was known as Eavesdrop at the time) at the 2006 MacWorld Expo?
Macworld was a very interesting experience. It's a consumer oriented show so we got a lot of blank stares when we'd try to explain what this product is. But anybody with a FileMaker Server immediately got the concept. I think the best part of the show was when a woman walked up to me and said "I don't know what you're selling, but Crooked Arm is the best name at the show."
Tell us a little about how you came up with the names of both your company (Crooked Arm Consulting) and your flagship product (Gladys).
When I first started independent contracting, I was looking for a company name that was catchy but not lame. You can decide for yourself if I succeeded. The dot-com boom was about to go bust and the Bay Area was littered with new companies that had utterly meaningless names. Teligent, Securify, InfiniDim, you get the idea. My wife suggested Crooked Arm, drawing from the name of a fiord we visited in New Zealand. We went with it and it’s been a good name. Way more people remember “Crooked Arm” than “Stuart Gripman.”
The name for Gladys came as the result of a mistake. We had named the product Eavesdrop near it's inception only to find out that another company was using the name for a software product. Somehow we missed it in our research. Rather than get into an "iPhone" style squabble, we renamed it. My friend, PR genius Naomi Pearce, suggested considering the names of nosy characters from film and television. My first thought was Gladys Kravitz from Bewitched. We asked around and our most trusted advisors all chose Gladys over the other candidate names.
Besides using FileMaker to develop solutions for your clients, what role does FileMaker play in the operations of your own business?
We use FileMaker quite a lot internally, but a funny phenomenon has started cropping up. For a lot of routine tasks, I'm turning to ready-built software. Things like time tracking and invoicing are coming out of FileMaker but not because I feel it's inadequate. Rather, when I build my own tools in FileMaker, I'm endlessly tweaking them or putting off changes I intend to make. Taking FileMaker out of the process removes that drag on my billable hours.
You're a contributing reviewer for Mac|Life Magazine (which was formerly known as MacAddict). Your review of FileMaker 8.5 was really well done. Do you plan on writing additional reviews in the future?
Thanks. I've done a handful of reviews since the FileMaker 8.5 article with another one due out shortly. I love writing for Mac|Life. The tone and wit throughout the publication makes it fun to read. While I don't have any reviews in the pipe at the moment, I really enjoy working with Roman and Leslie at Future Media. I think that they like my willingness to review the un-sexy stuff like accounting software and ergonomic keyboards.
I believe you're the first person that we've interviewed that has actually worked at FileMaker at some point. Tell us what you did at FileMaker, and what it is like to work there.
Well, it was 1998 when I last worked at FileMaker Inc., so I can't tell you what it's like to work there today. But I can tell you that working at Claris and staying on through the transition to FileMaker Inc. was the best job I've ever had. I was in tech support which is a difficult job to maintain without burning out, but I got to work with so many smart, funny, and supportive people that the work rarely got me down. The management really understood how to keep support workers happy. They gave us the tools to do our job without having to play "mother may I" and fostered an environment where professionalism and fun were valued. I'm still friends with many people from that era, some of whom still work at FileMaker.
You were also the Webmaster for StarNine (the developers of 4th Dimension, another relational database product). Do you do any development in 4D today?
In fact, 4D acquired StarNine for StarNine’s WebSTAR product. StarNine had bounced around quite a bit after the founders sold it to Quarterdeck. As Quarterdeck was imploding, they sold it to Platinum Equity Holdings which in turn sold it to ACI (now 4D). At that point the StarNine brand was dropped. WebSTAR still exists, though it's been sold off by 4D and is apparently in maintenance mode with no more updates planned. Soon after the 4D acquisition of StarNine, I felt like the new company wasn't a good fit for me and resigned. I never did learn much 4D.
You wrote of your tech support position at FileMaker, "I learned as much about psychology and troubleshooting methodology as I did about FileMaker." Any advice for us FileMaker developers who also wear the tech support hat from time to time (and sometimes more often than we'd like)? Any tips or words of wisdom on how to deal with difficult end users?
For the consultant, it's really important NOT to take the clients you don't feel comfortable with. That's hard to do when work is scarce, but it avoids a lot of headaches- not just tech support. The most important thing to do with a difficult person in a support context is let them talk for a while. Even if they're way off the mark or not providing the info you need. Give them a few minutes to talk and show that you're listening. Then you've got to take charge while keeping the tone cordial and respectful. Ask specific questions and keep the conversation on topic. If you do nothing else, admit when you don't know something. It doesn't make you look unqualified, it shows the user that you're honest, sincere in your desire to help, and you're not some ego-driven jerk.
I'd like to take you on a trip down FileMaker Memory Lane... Do you remember when Claris was publishing titles such as ClarisDraw, ClarisImpact, and Claris Organizer? I'm interested on what your thoughts are regarding that period of time, especially from someone who was "on the inside.: Was it difficult supporting such a wide range of products? (I kind of miss those days myself!)
I miss those days too. At the peak of my support responsibilities, I was supporting FileMaker, Emailer, Impact, Organizer, OfficeMail, ClarisWorks, and Home Page. It wasn't as difficult as it may seem. We all got good training and peer support was readily forthcoming. Most products have a handful of issues that crop up over and over again and once you get the hang of them the calls become pretty routine. That was also a time when Apple was hemorrhaging money and its long term viability was in doubt. Claris was the only profitable division for a few years, which left us in a curious situation. We were the very thin silver lining on Apple's dark cloud, not making nearly enough money to keep Apple afloat, but reliably turning a profit on our own operations. It felt kind of like being the best player on a lovable team that always loses.
What do you like best about your job?
I really enjoy the challenges I get from my clients. The best are the ones where nobody, myself included, is sure it can be done, but we somehow pull it together.
What do you like least about your job?
The drudgery of programming. Once the little rush of solving a difficult problem is past there's that realization that you still have to actually put your idea into code.
What are your favorite new features of FileMaker 8.5?
I have to admit that I wasn't all that excited about the Web Viewer when I first saw it. But I've come around. People are doing some really clever stuff. iSolutions' ICE is a real stand-out. But my favorite new feature is named layout objects. It's the kind of thing most users never see, but it opens up so many UI avenues.
If you could add some features to FileMaker, what would they be?
Well, Santa, as long as you're asking... Layout Mode needs a LOT of love. If you doubt me, go dig up an old screen shot of MacPaint. Looks a lot like Layout Mode, no? Let's get some pallets in there. Let me keep the color picker open while I work. I'd love to have conditional actions like disclosure triangles. Sure you can fake it, but let's get with the times.
FileMaker could also use some data management smarts. I really don't enjoy reinventing the wheel every time a client wants to find duplicate records and merge or purge them. A tool to automate migrating data into revised schema would be cool too. Data separation is as easy as it's ever been, but I'd still rather manage one file than two.
What's your favorite tool, plugin, or technique for developing FileMaker databases?
I don't know if I have a favorite. I like Inspector a lot; it's extremely valuable when you have to fix someone else's ill conceived database. I use BBEdit all the time when working with complex calculations. I find it easier to write my calcs in there than the calc dialog.
You're a FileMaker 7 and 8 Certified Developer. How has the certification helped you and your business?
I view certification as a marketing tool more than anything. It doesn't hurt to know that a layout can contain 32,768 objects or that there are 266 functions. But any test like this is a narrow slice of the skill set required to be a developer. I first got certified as part of applying for FSA Partner membership. Now that the FSA has been remade, I don't have that imperative, but certification imparts credibility to prospective clients and I intend to keep current.
Crooked Arm Consulting has been an Associate member of the FSA (FileMaker Solutions Alliance) for 6 years. Has being in the FSA helped your business? If so, how?
Ah, the FSA. It it really over? Crooked Arm was an FSA Associate member for about 4 years and joined the Partner ranks in 2005. It's been a terrific marketing resource and, like certification, lends credibility to the company. It's also provided access to FileMaker Inc. that wouldn't otherwise be possible. I'll miss the FSA, but I maintain high hopes for Tech Net and the FileMaker Business Alliance.
What advice would you give to someone that is just starting to do FileMaker development?
It's too late for me but you still have time to save yourself! No, I kid. Find other developers in your area or online and get to know them. The FileMaker community is teeming with smart and helpful people. If you're a consultant, read Let's Get Real or Let's Not Play by Mahan Khalsa. It's got everything you need to know about interacting with clients.
Embrace your mistakes. Trust your end-users. Have fun.
What significant changes have you seen take place in the FileMaker world over the years?
I've seen FileMaker grow from a modest desktop application into a serious development tool. When I got started there was no FileMaker Server, no developer tools per se, and lookups were as close to relational data as it got. Now we have so many tools and so many ways to interface with other data sources. FileMaker has really bloomed. I've also seen how major changes prune the developer community. First with FileMaker 3 and more dramatically with FileMaker 7. A lot of people revolted against the changes and left the field, but those who embraced (or at least endured) the changes have really thrived. I really believe this is a great time to be a developer.
What do you see as the coming trends in the FileMaker world in the coming years?
I think we'll see more and easier interoperability between FileMaker and other sources of data. The connection points between disparate sets of data are starting to mature in the computing world writ large. In recent years, FileMaker Inc. has clearly put resources into this field. Think XML from FileMaker Server, PHP support, etc. and I think those investments are only starting to pay off.
You're one of the conference speakers at this year's Devcon, and you're giving the "Filemaker Server Log Analysis" workshop. What can we expect from that workshop? Are you excited about this year's Devcon? Will you be demoing Gladys there?
My server log analysis workshop will be about getting the most out of FileMaker Server's event and statistics logs. We're going to move through the rudiments of enabling and locating logs to details of individual events and using logs to assess performance and problems. I always look forward to DevCon. There are many old friends and new faces each year. It's an intense week, but always enjoyable. We won't be showing Gladys in the vendor showcase this year.
On a personal note... This will be my first Devcon. It's hard for me believe that I've been using FileMaker since 1992, was a member of the original CSA program, and I'm only now going!
You'll have a good time, and your head might explode with information. One word of advice: pack as though you're going to, let's say, Seattle, and don't ever step outside. Some genius at the hotel decided that the inside should always be 40 degrees cooler than the outside. If you dress for 90 degrees and high humidity, you're going to die of air conditioning.
Are you involved in FMPUG at all? If so, how has being involved in the group benefited you?
I've only recently joined FMPug, but I'm looking forward to taking advantage of the benefits. I was involved in getting a developer group going here in the Bay Area. That continues to be fun and informative.
What technology has most changed your life?
Maybe the cassette tape. Yes, I'm serious. I've always loved and played music. Coming of age in the 80s, cassettes and players became cheap and plentiful. It made sharing music so easy. It also gave developing artists an inexpensive way to record their work and study it. I doubt I'd have developed the diversity of musical tastes I have without cassettes in my youth. We take easy music sharing for granted today, but it was a powerful factor in my formative years.
What one thing would you do with Crooked Arm Consulting if you knew you couldn't fail?
Reorganize into a cookie bakery.
What are your favorite things to do that don't involve work?
Playing with my son, napping, hiking.
You mentioned that you play music. What instrument(s) do you play? Have you had a chance to experiment with Apple's Garageband at all? And will we see you jamming at Devcon in August?
Yeah, I just finished scoring a video of my son's preschool in Garage Band. It was ridiculously easy. I could loose weeks at a time to Garage Band if it weren't for my lousy job. I studied classical voice, mostly choral and a bit of opera, but over the years I've played cello, guitar, keyboard, and my favorite, bass guitar. I probably won't take the stage in August. Mostly because I'm out of practice and don't want to embarrass myself, but I also promised myself I'd get some sleep this year.
What's in heavy rotation on your iPod these days?
Honestly, I've been listening to a lot of Stephanie Miller Show podcasts and Joe Frank's work (I don't know what you call it- spoken word, radio plays, or what, but it's some amazing stuff). My musical selections have been heavy on Brazzaville, the Propellerheads, Larkin McClean and Soul Coughing. My old 80s and 90s stuff like Fishbone, They Might Be Giants, The Smiths, Oingo Boingo, etc. still gets a lot of play. When my son Ben is in the car with me, he usually requests Raymond Scott or New Order.
What inspires you?
My family. I'm incredibly fortunate to have and amazing wife and four year old son. The same goes for my parents, siblings, and in-laws. I learn things from them every day. Today for example, my son told me all about "the worst disease you ever don't want to have." It's called "the Beodorant" and if you have it, “bad charcoal enters your body” and you need a tiny drop of "good poison" and "lots of vacteria" to get better. What a nut! I just love our conversations.
You mentioned that you have a four year old son. As the father of a five year old son myself, I know how challenging it can be to juggle the responsibilities of family life and work life. Do you have any advice or tips on how you manage that delicate balance?
Well, that's a really tough question. I think everybody needs to figure out what works for their own family. For our part, my wife and I have decided that being with Ben is the single most important thing to us. That has meant working below our capacity and having less money than we might otherwise. While vacations are fewer and shorter and our home improvement aspirations are forestalled, we have a richness in our family life that would be very difficult to achieve with less time together. Not every family has the luxury of choosing to work less and every situation is unique, but we've found what works for us.
What's next for you and/or your business?
I'm getting the band back together.
To learn more about Stuart and Crooked Arm Consulting, please visit:
Monday, June 04, 2007
There are times when you want to return a specific found set via a script. For example, let's suppose that you have a contact management application, and that contacts can be flagged as being Active or Inactive. You might want to launch the application and initially display only the Active contacts. This brief "how to" shows you how to write a script that does this.
To script this find, we'll use the Perform Find script step, and specify the find requests. For example...
Easy, right? Well, sort of. The script works perfectly if there is at least one active contact. However, if there are no active contacts, then the user will see an error message similar to the following:
This isn't very user-friendly. Chances are, you wouldn't want to show something this cryptic to your end users. So, to make the script a little more user-friendly, we'll use error trapping to detect when this situation occurs, and display a more informative message to the user.
To detect when the situation occurs, we'll use the Set Error Capture script step, and turn it on. We need to add this step before we perform the find. So our script now looks like this:
Now when the script runs, if there are no active contacts, the user no longer gets the error message that we saw earlier. However, now they're presented with an empty found set (which might be just as confusing to them as the standard FileMaker error message would have been).
It would be nice if, instead of leaving them with an empty found set, we told them that there are no active contacts, and ask them if they'd like to see the inactive contacts instead. We can use the "If" script step along with the "Get ( FoundCount )" function, and the "Show Custom Dialog" step, to do this.
After making the changes, our script now looks like this:
The settings for the "Show Custom Dialog" step looks like this:
And now when we run the script, if there are no active contacts found, the user sees the following:
Much better -- and certainly a lot more user-friendly! If the user selects "Yes," then all records are displayed. If they answer "No," then we simply show them an empty found set.
Some notes and comments about scripting finds in FileMaker Pro:
1. One of ther really nice things about the Perform Find script step is that you can specify find criteria that involve fields that are not on the current layout. For example, in the contact manager solution that I mentioned above, the Perform Find script will work even if the Status field isn't on the layout. (The same goes for fields in related tables. Those don't need to be on the layout either.)
2. The error capture method that I presented above is also useful in situations where you want the end user to be able to perform a find using their own criteria. Here's an example:
In this example, we allow the user to enter their own search criteria. When they resume the script, we perform the find. If records are found that match their criteria, then the script ends. Otherwise, we display a message indicating that nothing was found, and we ask the user if they would like to try again. If not, then the script ends (and the user is left with an empty found set). However, if they choose to "try again," then we restore the criteria that they had specified before, and let them make changes to that criteria. This process continues until either records are found that meet the user's criteria, or until they stop modifying their criteria.
Scripting finds in FileMaker Pro can be as easy or as complicated as you'd like it to be. The "easy" methods can sometimes confuse end users, resulting in error messages that they don't understand or empty found sets that scare them. Using the methods that I've described above, you can script finds in such a way that your end users always know what is happening and why.