FileMaker Addict Has Moved!

FileMaker Addict can now be found here: http://www.filemakeraddict.com




Thursday, January 31, 2008

Geoff Coffey
Co-Founder / Author
Six Fried Rice

Earlier this week, I reviewed the popular FileMaker book, "FileMaker Pro 9: The Missing Manual." I had an opportunity to interview Geoff Coffey, co-author of the book. My interview with Geoff follows. In it, we discuss Geoff's career as a FileMaker developer, his love of writing and what went into getting The Missing Manual published, and much more. I think you'll enjoy this one!

In the weeks ahead, look for our an interview with Susan Prosser, who co-authored FileMaker Pro 9: The Missing Manual with Geoff.



How did you get started in IT? And how did you get started with FileMaker?
I was pretty much always "in to" computers, if you will. We had an Apple II+ when I was maybe 8, and I learned a little BASIC on that. Later I tinkered with Hypercard and the ClarisWorks database on our Mac. I actually read Inside Macintosh developer docs and programming books for fun, although I didn't really have access to "real" programming tools. When I started college at Purdue University, it just seemed obvious that I would study computer science. Aside from a short stint as a Psychology major, I stuck with computer science. So I got started in IT pretty much in the most mundane way: I went to school, studied computer science, and became a programmer.

But they don't do a lot of FileMaker Pro in computer science classes. My entry into the FileMaker landscape is a lot more colorful. I always worked full time through college (because I wanted to) and for a while I found myself doing tech support for Apple. I didn't actually work for Apple though. My employer was a company in Tempe, AZ called MicroAge, and back then, they handled some chunk of Apple's tech support.

Like most call centers, this place was pretty obsessed with "call stats" like how many calls you took during your shift, your average call duration, your total hold time, and so forth. Apparently it was really important to them that we answer as many calls as possible as quickly as possible. Every day, you could go look at a report of your stats for the previous day, week, and so forth, and they periodically ranked everyone by various performance metrics on a big board on the wall.

Some people found this disturbing, and others didn't much care. But a few of us thought it was fun, and we would try hard to beat each other every day. But because the reporting was a day behind reality, there was no way to see real-time how you were doing *right now*. As luck would have it, we had FileMaker 2.1 on our computers at the call center, and I had a lot of free time since I was answering the same seven questions over an over. So I poked around in FileMaker and built a simple little database to track my calls. I would enter the name and phone number of the caller, and a short note about the call. The database also knew when the call started and ended. It was a silly little thing, but it had what these days we would call a heads-up display of call counts and average duration. You could easily see how one bad call had impacted your day's totals, and get inspired to work hard to make up for it. I'm sure everyone reading this knows how this goes, but eventually one person, then another asked for a copy, and I was suddenly distributing my little tool to a vibrant market of cube dwellers within 30 feet of me.

From there, I moved on to a few more databases. They were mostly reference tools that made it easier to answer calls. Things like a list of common Mac software and hardware vendors with contact information, so you could refer a caller to the right company when they were having a problem with some third-party something-or-other. Again, these little tools spread around, and people found them useful.

At the same time, the call center was (unbeknownst to me) developing a new call tracking system for use across the center. The thing they delivered was called "Phone Rocket" but "Phone Tortoise" would have been more apt. It was built in HyperCard, and as such, was unimaginably slow. Needless to say, it was an absolute disaster and they pulled it off our machines just a few days after the big rollout. Apparently there were some back room discussions about how to rescue the project, and someone mentioned my little database. One of the IT guys asked if I could expand my tool to meet their requirements, and my first real FileMaker job was born. I rebuilt my tool from scratch, this time in the new FileMaker 3, which was in beta at the time. It was actually a touch on the complex side for a first project. They had more users than FileMaker Server could support, so I built a stand-alone database that we deployed on each machine. At the end of the day, the user would "log out" and the database would upload timesheet information and some relevant statistics to the central database where it could be reported on. This database was called "Phone Rocket II" and was decidedly more rocket-ey than its prequel. I thought the whole thing was great fun, and I was thrilled to have a couple weeks off the phones to work on it.

A few weeks later, one of my coworkers brought me a want-ad clipping about a local company looking for a FileMaker Pro developer. Honestly, my first reaction was disbelief. I had no idea someone would actually *pay* for FileMaker work. I thought FileMaker was much too simple to have any kind of "developer community." How wrong I was :) None the less, I answered the ad, and the rest is history. The ad, by the way, was placed by Worqsmart, later called Waves in Motion, and now called Worqsmart again. I took the job, and spent a few years working with Marcus Silving, Wille Florence, and Vince Menanno. It was a ton of fun.


Tell us about your company, Six Fried Rice (SFR).
Six Fried Rice was officially begun on April Fools Day, 2007. Until recently, it was just two people: Jesse Antunes and myself. I'm very excited to announce that as of January 1, we have our first new fulltime employee, Daniel Antunes, who just happens to be Jesse's brother. There, now you have a scoop for this article :) We do a lot of FileMaker work and a lot of web development. We also blog, answer a lot of incoming questions (although I'm sorry to say we just haven't been able to answer them all) and have lots of plans for the future, which you'll have to wait to find out more about. Sorry!


You started SFR with Jesse Antunes. How did you meet, and what led to the formation of the company?
Jesse will be annoyed at me for saying this publicly, but he's a bit of a prodigy. Until a year or so ago, I worked at a small web retailer called AllegroMedical.com. Jesse was hired there a few years ago to answer phones. He was one of the people who helped you place an order, process a refund, or get tracking information. I'm not sure how long he worked there, but eventually the customer service manager asked me if I could possible do something with him. Apparently he had advanced so quickly that he was out of advancement opportunity and she was convinced Jesse would leave if he didn't get something more interesting to do. I was, of course, overworked and too busy to pay attention, so I sort of said "sure" in a way that meant, "don't ever bother me about this again." But Jesse took "sure" to mean "go ahead and start fixing things on the IT to-do list" so he just dove in and started helping while on the phone. He got help from other FileMaker people at the company when he got stuck, and just plugged through it. Legend has it, about six months later he was the most skilled FIleMaker developer on staff and as my focus shifted to web development, he essentially took complete control of the FileMaker side of operations. And this was a very advanced FileMaker system: huge automation, EDI, SQL, and so on. Jesse went from zero to 60 in six months. It was amazing.

For personal reasons, I eventually left Allegro to go back out on my own. I decided I really wanted to try to create a company, so I started forming the ideas for Six Fried Rice, and began to work on some blogging ideas. A few months later, Jesse met me for lunch, and let me know he was leaving Allegro too, and wouldn't mind helping me on a project or two while he figured out how to go independent. Well, I am not exaggerating when I say he is one of the most talented FileMaker developers I've ever worked with. And believe it or not, he's not a half-bad guy either :) Seriously, he's honest, likable, intelligent, hard working, and just about everything else you want in a partner. So right there, over that first lunch, Six Fried Rice was reborn. We were incorporated about a month later.



On the SFR Web site, you mention some work that you did for the Arizona Department of Education. It sounds like an interesting project. What can you tell us about it?
Well, first I have to divulge a dirty little secret. When your company is exactly zero years old, and you're giving it a web site, you have to bend the rules a little bit. Someday soon I should go revise the Consulting section to talk about projects we (SFR) have done since our inception. But what you see there now is based on our combined experience. So the project you're referring to was something I did while I was working for Waves in Motion. It *was* a fun project, and it illustrates what I was trying to get across, so I used the word "we" royally, and put it up as an example.

The AZ Department of Education was working on a program to spotlight exemplary teachers. A place for teachers and student teachers to learn by example. So they envisioned a system where people could go on line and see these teachers in action. They recorded video footage of the teachers in the classroom. We then put that video on line. They wanted a method for visitors to discuss certain points in the video. In the end, we built a custom Quicktime component using a tool called Live Stage Pro. The component would display a video, along with our own controls. A visitor could click, and add a comment to the discussion board that was linked to that point in the video. Another visitor could then read the comment, and click to watch the relevant portion of the video. It was all pretty smooth in practice, and 100% FileMaker Pro (and CDML) on the back side.

The system ran for a while, but I don't believe it is up anymore (it was not open to the public, I think because the video showed children in the classroom, so it had to be by invitation only).


Can you tell us about some of the other projects that you are either currently working on, or that you've recently completed.

We are very fortunate to have some absolutely fantastic customers. I cannot express enough our gratitude to the people who, every week, put trust in our abilities and food in our kids tummies.

Recently, we have been working with a small local business who handles vote-by-mail ballot distribution for Maricopa County. It is a fantastically fun project because we get to watch their big mail insertion and sorting equipment run, and who doesn't like watching big machines? We are replacing some of their pure-FileMaker processes with some hybrid FileMaker/Ruby which gives them a huge performance boost and much better automation. Along the way, Jesse built some very reusable Ruby tools to manipulate and convert text-based file formats. It always makes me happy when we build something I know we'll use again.


You are also involved in providing FileMaker training. What led you to get involved in training? And do you have a preference between doing development work and training?
I must give a shout out to Jerry Robin on this point. He was kind enough to let me help him in his training classes years ago, and it was something I loved very much. Training was a big part of the original Six Fried Rice plan, and it is something you'll see more about later. But sadly, our training plans have been delayed due to the mighty reality of cash flow. It takes a long time and a lot of effort to build good training material, and neither Jesse nor I would be satisfied to deliver something "thrown together." We have the pieces in place to deliver the material in an innovative way, but we haven't finished building the curriculum yet.

As for preference, I think honestly you can have development without training, but not the other way around. I think it is absolutely critical that the person writing training curriculum have real, current hands-on development experience. We get very disconnected from the developer-realities if we stop doing development even for a short time.

I know this first hand from my experience writing the FileMaker Missing Manual books. When I wrote the original manuscript for FileMaker Pro 7: The Missing Manual (more on that later!) I did it entirely from pre-release betas of FileMaker 7. Susan (Prosser (president of dbhq, a FileMaker certified consulting firm based in Gilbert, Arizona) and I had to do a lot of revisions later in the process to incorporate what we knew once we started using 7 and 8 "for real."


Our readers will likely recognize you as the co-author of FileMaker Pro 9: The Missing Manual, a very popular FileMaker book, which you co-wrote with Susan Prosser. What was it like writing the book? And what led to you and Susan working together on it?
Writing the book is, for the most part, a total blast. I love to write, when I'm in the mood for it (which is most of the time) and I absolutely love explaining things. Also, I love the process of refining what I have written, which some people don't care for so much. At the same time, though, it is really exhausting. It is a lot of work ... I think more than most people realize. For the FileMaker 9 edition, we revised the 8 version, and added new material. It sounds pretty small really, but ...um...ugh. By the time it hit the shelves, Susan and I had both had to read it cover-to-cover four full times (plus a lot of smaller re-reads and reviews of certain sections). If you think reading a technical book is a bit dull at times, try reading one *you wrote*. By the last edit, you really feel like you would give anything for a big Harry Potter style book burning. But there is a euphoric sense of accomplishment once you finish.

Have you ever seen one of those commercials where they show a machine testing some durable good? Maybe it is opening and closing a drawer over and over, or sliding a car window up and down...up and down. When I finished the 9 book, I asked Word how many characters were in the complete manuscript. And I marveled at how many times our dutiful fingers pounded little plastic keys with precision.

As for Susan, she is my personal savior. Honestly, without her, the books simply would not exist. A few people know that I originally set out to write "FileMaker Pro 7: The Missing Manual". This gig came about way before FileMaker 7 was released. I was lucky to have really early access to pre-release builds (the first build of FileMaker 7 I installed couldn't even show the Relationships tab without crashing) and I was instantly excited by the prospects. My very dear friend, Vince Menanno had made contact with Tim O'Reilly (if you know Vince, you know he has a real knack for making some amazing contacts). Tim told Vince that O'Reilly had been pondering a FileMaker book for a while, and were just looking for the right person to write it. I knew Vince, and Tim knew David Pogue, so David and I got electronically hooked up, and he asked for writing samples. Pretty quickly after that, I got the job, and started work on the book, with David Pogue as editor.

David, by the way, was amazing to work with. I was a complete newbie, and he was amazingly supportive, offering outstanding advice, perfect criticism, and just enough praise to keep me from getting depressed. The process was smooth and uplifting. Then David kind of dropped off the radar. I got a cryptic email or two saying he would be out of touch for a while but to keep on plugging away. So I kept writing. And writing. A month or two later, I got a short note from David letting me know that he and O'Reilly would very shortly announce the sale of Pogue Press to O'Reilly. When that happened, he was moving on, and my book would be one of the first in the Missing Manual series to go through O'Reilly entirely.

Alas, as we all know, these sorts of things never go smoothly. I'm sure it is a huge job moving a book production process from one company to another, and so my book was in a bit of a black hole for a very long time. I kept writing, but I was getting no editorial feedback at all, which was a huge contrast from my work with David. O'Reilly assured me that they would have an editor eventually, and that I should keep on writing. Eventually I delivered the completed manuscript, still with no editing. And then I went and got a job and enrolled in a full time MBA program. I was amazingly busy both at work and school. And *then* O'Reilly said, "We're ready now."

But by then, FileMaker 8 was almost out the door, so I was looking not at an edit, but a revision with new features *and* and edit. When I sat down to work on the revision, at 11:00 at night after all my homework was done, it just felt like an impossible task. I realized pretty early on that I simply wasn't up to it while I was in School, and I certainly couldn't quit my job (I do have a wife and two kids after all). O'Reilly was very supportive, and to their credit, they accepted my judgment without question. They were happy to allow a co-author, and let me hand-pick the person. Susan, as most of you know, is a very accomplished FileMaker developer, a meticulous writer, and a good friend, so it was an easy choice. She graciously agreed to take over the project, do the revision for FileMaker 8, finish the editing, and share the credit. So really, I wrote the book for FileMaker 7 and Susan re-wrote it for 8.

When the opportunity came up to do a FileMaker 9 revision, she and I agreed to work together, and the process was lovely. It was a real joy to have another FileMaker guru to bounce ideas off of, and the journey was relatively stress free.



In addition to writing FileMaker Pro 9: The Missing Manual, you've written for FileMaker Pro Advisor Magazine, FileMaker Advisor Basics Magazine, and MacAddict Magazine, as well as the SFR Blog. Do you enjoy writing? And how has writing about FileMaker helped you in terms of your career and the business?
I love to write. When I was in grade school, I wanted to be a writer. In the end, I think that career path was a little too open-ended for my mechanical mind, so I went for computers instead. But it is something I love to do. When I was working on the FileMaker 7 book, I got a little excited about the idea of writing more, and that's how the Mac Addict thing came to be. But I didn't like that work very much. It was a little dry, and I discovered that it is a lot harder to write about something you're not terribly passionate about (and I seriously *love* FileMaker).

I also love teaching, especially beginners. So writing for FileMaker Advisor Basics is a natural fit. And again, I owe a debt of gratitude to our editor, Liz Novak, who gives me a ton of freedom to write about what I think will interest her readers. She is awesome. And patient when I completely forget a deadline and deliver two weeks late.



You hold an MBA from Arizona State University, and a degree in Computer Science from Northern Arizona University. How has your formal training helped you as a developer? And how has it helped in terms of running SFR and making it the success that it is?
I always say my Computer Science education was easier than my MBA. And that is because, for some wonderful reason, programming comes to me naturally. I saw my undergraduate program as a way to formalize and legitimize skills that I already had or could develop on my own. But the MBA program... well let's just say I'm not a natural with Finance. Or Economics. Or Marketing. Or Accounting. So in that program, I learned an amazing amount. Almost every lecture was fascinating, as I discovered the nuances of a dozen topics I was largely ignorant of before. In that sense it was a lot more fun. It didn't hurt that I was more mature as well. I did my MBA in a full-time evening program, while I worked and had a family. That kind of thing keeps you really focused on the goal :)

So in that sense, I would say my MBA has been more directly beneficial. Surprisingly, it has helped me *both* as a developer and a business owner. I am much more comfortable talking to my customers now because I have a better understanding of the issues they face. Accounting is a big part of this. Although I am nothing like a real accountant, I know the terms and understand the core concepts. And this knowledge helps me build better systems in many cases.



You're a strong advocate for Ruby on Rails, and have served as one of the primary designers for the FileMaker API for Ruby (also known as Rfm). Tell us why you feel strongly about Ruby, and why FileMaker developers should be interested in it.
As usual, I have to give thanks to my friends here. In particular, Mufaddal Khumri, one of the co-developers of Rfm. He spent a lot of time trying to convince me that Ruby and Ruby on Rails was worth my attention. I largely ignored this for a good six months (I'm not a big fan of computing fads, and I've been a Perl obsessee for many years).

One day I was writing some code to clean up a big pile of data in a MySQL database. Mufaddal encouraged ... no admonished me to use Ruby because its ActiveRecord system made database access so absurdly easy (for a programmer-nerd type). Within about two hours I was completely hooked. I realize this sounds completely nuts, but the best explanation I can give is this: Ruby is *beautiful*. I don't mean that in the slang sense, where it is a synonym for "awesome." I mean it in the good old traditional sense. Ruby is pretty, lovely, adorable, sweet, likable :) I have a lot of experience with many programming languages, and over time I think I just developed a certain sense about languages, like some people have about wine, or cars or something. And ruby hit all the right notes.

So I almost completely switched from Perl to Ruby. It was a revelation. I still get a little giggly when I do something in ruby that is what the ruby folks call "expressive" -- in other words, where you can convey a complex idea without a lot of code, and still maintain readability. It just makes me happy.

Rails, which is a web framework built with Ruby, was not so much of a love affair. I think rails is very good at what it does. It is less perfect than Ruby (mostly because it is immature). But it is improving rapidly, and it is wonderfully suited for real-world deployment in many situations today. I also have a lot of experience with web frameworks. In the old days, I used WEB•FM to do FileMaker-based web development. After a short stint with Tango, I switched to Lasso, then to CDML. Meanwhile, I wrote CGIs in Perl and C for my "real job," then worked heavily in ASP, Cold Fusion, and eventually J2EE. And all along, I *universally* felt like the people who designed the frameworks just didn't quite "get it." They were functional, but none were elegant.

A lot has changed since then. These days, J2EE and .Net are both very nice platforms, and the folks who build them clearly "get" a lot more than I do :) But from the developer's perspective, Rails feels like a tool that knows exactly where things get annoying. It almost always has a built-in mechanism to solve the mundane problems we deal with all the time. And its solutions are usually very elegant. You don't have to write as much code as other systems would require, and you do very little configuration. This is in stark contrast to J2EE, for example, where hand-editing XML-based configuration files is considered normal, as if anyone actually *wants* to do that ... ever. But the reality is that J2EE can run eBay, and Rails never could. So I use both platforms, depending on the scenario.

Rfm was inspired as much by my disdain for PHP as my love of Rails. I know I'm going to ruffle feathers here, but I think PHP is one of the worst languages on earth. From a design standpoint, it is an unfathomable mish-mash of bad decisions and poor foresight. Most people using PHP don't care or don't notice (and I think that is wonderful... I *wish* I could love it). But every time I write in PHP (and I do that a lot) the computer scientist in me sheds a tear.

You asked why FileMaker developers should be interested in Rails. Honestly, I'm not sure they should. :) Rfm is out there, and we will continue to support it. We have a small number of users, and we use it heavily internally. But if you're not already in to web development in a big way, then PHP is where all the action happens on the FileMaker side. You get point-and-click installation, the Site Assistant, official support from FMI, a lot of deployment flexibility. FileMaker's PHP support is migrating towards a FileMaker Developer's web development platform. Rails is a Web Developer's platform. There's a big difference there.

But if you like web development, and you like to learn new things, and you know enough to realize that PHP is the spawn of satan incarnate, then you should definitely check out Rails.



SFR is a member of the FileMaker Business Alliance. How important is being a member?
Very important, for two reasons. First, we get awesome benefits, from discounts on software for our use to discounts and resale opportunities for our customers, to access to FileMaker folks when we need it. And second, because I think it is important to be a part of the community, and a team player. FMI has a big job to do, with a very vocal and active developer community, a mature product, and the human need for cash flow. They try very hard to keep us happy, and I want to be an active part of the process. I have no right to complain about things I don't like if SFR isn't responding to what is offered, trying it out, commenting on the things we do and don't like, and staying engaged. So it is well worth the price of admission.

Although you didn't mention it, I'll also add that we are TechNet members too. This is a program I would recommend to absolutely anyone who does FileMaker development as part of his or her work. I am a pretty capable FileMaker developer, and I learn new things all the time on TechNet. I've even had real, honest-to-goodness problems I could not solve, that have proven easy work for the TechNet community. The answers I get there make me a better developer, and make my customers happier. It is an amazing bargain.



Tell us a little about JSON and the FileMaker to JSON Converter. In what ways is SFR using it?
I'm a lazy guy, I must admit. I can't stand repetitive steps. I'm the sort of person who would build a bridge to cross a stream so I don't get my feet wet more than once. So when Jesse and I first started, I built a Dashboard widget for Mac OS X that let me quickly enter my hours. It shows a pop-up of our customers and projects, plus an interface to quickly pick a day. Then it lest us enter hours and descriptions. All this data goes back to our FileMaker Pro database. For those who don't know, Dashboard Widgets (and Vista Gadgets) are built like little web pages, with dynamic HTML and asynchronous Javascirpt (sometimes called AJAX). And in the Javscript world, JSON is a very easy data format to work with. So I pounded out a little XSLT stylesheet that converts fmresultset XML to JSON on the fly. This let my Javascript talk to FileMaker Server directly with no complicated parsing, and saved me a lot of lines of code.

Once I built it, I thought maybe someone else would find it handy, so I put it up on the site. We've never received a single bit of feedback on it, so maybe nobody else finds it useful... And in case you're wondering, we don't use the widget any more because we switched to FreshBooks for our billing after just a few months in business.



What do you think of FileMaker's recent release of Bento. Have you had a chance to use it? And if so, what is your take on it?
In the great movie "When Harry Met Sally," Harry is talking to Sally about his ex wife. He says, "I don't miss Helen. I miss the idea of Helen." It's a great line. Anyway, I was going to say "I love Bento." But instead, I'll say "I love the *idea* of Bento." I love what it stands for, which is a FileMaker Inc. that is looking to grow creatively. I've never been in their shoes before, but it has to be pretty difficult to have a 9.0 product. If they release a new FileMaker upgrade every 18 months, and they keep it fresh enough to get solid upgrades, their revenue can really...stay flat. Also, with a really mature code base, they just have a lot less freedom to play, to experiment with new ideas and new ways of doing things. It is almost certainly a huge investment to make even relatively mundane changes to the core way FileMaker works. If those decisions are off, even a tiny bit, FMI has to live with the consequences for a long long time. I think the Relationships Graph might -- just a little bit -- belong in this category, for instance. It is not all bad, but it has some serious weaknesses, and I wonder if FMI might do it a different way if they could go back in time and try again.

So Bento brings two things to the table. First, it *might* make database software mainstream again. When I was a kid, everybody had a database program as part of their "works" package or by way of Hypercard and its ilk. And a lot of people used them. It is natural to want to use your computer to keep track of your life in some way. But as computers went mainstream, things seem to have shifted a little. Spreadsheets, which are ill-suited to data management, are none-the-less completely obvious. So they picked up a piece of that pie. And the spreadsheet vendors noticed this and made their tools a little better at it by adding sorting, searching, filtering and so on. At the same time, database software got a lot more complex. Even a product like FileMaker, which is the ease-of-use champion, is scary to a lot of people. It starts right off asking questions they can't answer about things they don't understand called Fields. So today, only businesses and hard-core computer buffs use database software. We all have customers who ran their small business for ages on spreadsheets or (gasp!) Word files. I think Bento addresses this nicely. It says, "Look people, computers are supposed to work for you. Not the other way around." So if that strategy succeeds, then it becomes popular, and people start to understand that managing data is about more than rows and columns. And then some of that attention spills over to FileMaker. FMI gets new FileMaker Pro customers, and Bento revenue, which means more resources to do the stuff we all would love to see done. Win win win. But I did say "If." Bento is brand new, and it is not at all certain it will succeed. I hope it does.

Also, I think it might be a playground for FMI's thinkers. I've read reports that Bento underwent a lot of usability testing. I can imagine the knowledge gained through that process (and the continued evolution of Bento) will inform the FileMaker design process. It will help FMI make better decisions when some of the core FileMaker components need an overhaul. And it will help them introduce more ease-of-use into FIleMaker along the way. More wins.

I have used Bento a little, and I bought a family license to share with my wife and kids. My wife, in particular, finds it pretty compelling. She saw the light pretty quickly, and now uses it to keep track of the gifts she has given to her friends. The gift data is tracked right along side her Address Book -- the same address data that syncs with her iPod Touch and so on. It was a lot of fun to see her get the bug a little bit.



What new features of FileMaker 9 do you find to be the most valuable?
I'd love to say ESS since it is so massive, but I honestly haven't used it much. I'm still waiting for just the right project. I have two answers. From a user's perspective, I would say Conditional Formatting. It really helps me build better user interfaces without polluting my tables, which typically means better UI since I *hate* polluting my tables.

And from a developer's perspective, it is the news ScriptMaker, hands down. I can hardly imaging a modal Edit Script window anymore. Filtering and grouping in the script list also make me very happy.

But to tell you the truth, almost every new feature has enabled me to solve a real problem for real customers at least once in the last six months. I love it all.



If you could add a few features to the next version of FileMaker, what would they be, and why?
Easy as pie :)

1: I would add some concept of Layout calculations. Think of this as Merge Fields in overdrive. Instead of embedding a field, I want to embed any arbitrary calculation expression. For instance, I could add a total below a portal without adding a field. Or make a dynamic label, again with no new fields. As an added bonus, it should support container data too, so I can show conditional images on the layout.

2: I would add a filter box and folder-type groups to every FIleMaker dialog, just like we have in ScriptMaker now. I want to group and search fields, value lists, custom functions, and layouts.

3: I would overhaul the Relationships graph so that I get the benefits of anchor-buoy without the redundancy. No matter how much people write about anchor-buoy, it all comes down to one key benefit: it is unambiguous. And ambiguity is the enemy of development. Period. The relationships graph needs to be unambiguous at its core. I should never have to guess at what to call a table occurrence, or hope that I'm choosing the right table to double-up. Doing this would mean losing a few nice things about FileMaker relationships (like bidirectionality and context-sensitive script behavior) but I think those are tough-but-fair trades.


What would you like to see FileMaker Inc, as a company, do in the future?
Keep on truckin'. Sometimes I feel like a lone dove in a sea of killer whales, but I think they are, largely, doing a fantastic job. Are all my pet features in there? Nope. But they consistently come up with things that I didn't know I needed so badly. And they do a good job communicating with us. If I could change on thing, I would have them outlaw the word "elitist." Not, mind you, because I was offended. But because I don't think I could bear another thread like that one.


Are you involved in any of the FileMaker Pro User Groups. If so, how has being involved in the group benefited you?
I joined FMPug in the midst of some DevCon euphoria. But I have honestly never logged in. I think it is a great group though and I wish I had the time to be more involved. So no, none at all.


What do you like best about your job?
I always feel a little dirty saying it, like I'm cheating "the system" or something, but I just plain love my work. I look forward to Mondays, when I can get back into the projects I've been working on. (Of course I look forward to Saturdays too). I would say the part I like best is solving problems. I'm never happier than when someone is stuck on something out and I get to take a stab at it with them.



What do you like least about your job?
That nobody pays me to just answer the questions that come in through our web site. If I could earn a living just answering questions, I'd be thrilled. But I have to finish a project now and again to keep the cash coming in.



What are your favorite things to do that don't involve work?
I have two kids, and most parents will understand when I say how much I enjoy spending time with them. I think my favorite kid activity is reading to them. Thankfully, the both love books, so I get to cheat a little and count a personal hobby as family time. And I'm deeply thankful for the array of fantastic children's books out there. When my first daughter was born, I worried a little that I would be subjected to horrible literature for the next 12 years. But it has been just the opposite. Isabel and I just finished what, I think, is one of my top 10 favorite books of all time, called The Princess Academy. It is beautiful, sweet, sad, funny, and full of girl power. I read it twice. And it joins a long list of awesome books we've read together. If you have any memory of what it felt like to be an adolescent, I think you would find it moving. But maybe it helps to have a daughter. As a father of two girls, I also get to do things I probably never otherwise would. Over Christmas break, we learned to Knit because Sophia, my youngest, was desperate to try.

I'm also very involved in my church. I'm a member of the Church of Jesus Christ of Latter-Day Saints. Put another way, I'm a "mormon." I teach 14-16 year old boys on sundays, and do activities with 12-17 year old boys and sometimes girls every wednesday, plus occasional weekend outings. I'm not sure I'm terribly good at it, but here in the city, there are a lot of boys who need a positive influence in their lives. It does make me grateful for the fairy-tale upbringing I enjoyed, with two happy, loving, down-to-earth parents with stable work and a stable home.

Aside from that, I'm a big Kurt Vonnegut fan, I love the Simpsons and have an unhealthy obsession with Buffy the Vampire Slayer.



What are your goals for 2008?
I'm not sure if I should let this out, but my SFR-related goal for 2008 is to stop doing active development on my own. My intention is to meet with customers, assess needs, and design and architect systems. Then to act only as an adviser to our employees. I like to think of my self as a developer's lubricant (which, now that I've said it, sounds a little icky...). In other words, I keep the gears of development running smoothly. For reasons I'll never understand, I tend to be a very good trouble-shooter. I can track down code problems quickly and get things back on track. I'm much better at this than I am at slogging through a huge project. So my ideal December 2008 would see me having completed this transition. Six Fried Rice would be doing a lot of web and FileMaker work, and I'd be mentoring our awesome team. Jesse's goals probably involve Halo 3 or something. I'm not sure.


Thanks, Geoff!

For more information on Geoff and Six Fried Rice, check out the Six Fried Rice Web site, located at sixfriedrice.com, and the company's blog, located at sixfriedrice.com/wp/blog.

Monday, January 28, 2008

Book Review: FileMaker Pro 9: The Missing Manual

One of the first things that I noticed about "FileMaker Pro 9: The Missing Manual" is it's size. It's a big, heavy book, clocking in at 778 pages. But there is a good reason for this: This book covers a lot -- and I mean a LOT -- of ground. As such, it has something for everyone. From newcomers to veteran developers, you're bound to find something new here. So don't let it's size scare you away!

Written by Geoff Coffey (of Six Fried Rice fame) and Susan Prosser (president of dbhq, a FileMaker certified consulting firm based in Gilbert, Arizona), FileMaker Pro 9: The Missing Manual is part of a series of books published by Pogue Press. Like other books in the series, it is very well written, and is presented in a way that allows a lot of information to be presented without overwhelming the reader.

The book is divided into seven parts. Part One provides a good introduction to FileMaker Pro and is a good start for FileMaker newcomers. Part Two covers layouts, including all of the tools that are available to us in layout mode. Part Three dives into relational databases, with information on modeling, relationships, table occurrences, data tunneling, and more.

Part Four deals with calculations, and does a good job of explaining topics that can be hard to grasp, including the Self function, the Let function, and variables. The "Power User Tip" in this section is one of the best examples that I've seen yet on how to put the Let and Self functions to good use. It shows how to use these functions, and a few others, to clean up and format a user-entered phone number.

FileMaker users who have yet to automate their databases with scripts will find Part Five of FileMaker Pro 9: The Missing Manual especially useful. Everything from script basics and how to use ScriptMaker, to advanced scripting techniques, is covered. The information presented about script parameters is especially informative. Readers will learn how to pass multiple parameters to a script, as well as how to pass parameters to subscripts. Script variables, and error handling techniques, are also covered.

Part Six covers FileMaker security and integration. Readers will learn how to use FileMaker's built-in security model to protect their databases. In terms of integrating Filemaker, this section explains how to share data in FileMaker databases with other systems, and vice versa. The authors do a great job of introducing what many believe to be one of the most compelling new FileMaker features: External SQL Sources (or "ESS"), which was introduced in FileMaker Pro 9. Rounding out Part Six are terrific explanations of some of the developer utilities that are only available in FileMaker Pro Advanced. Copying and pasting database structures, the script debugger, the data viewer, the database design report, tooltips, custom menus, and more are covered.

And finally, Part Seven includes two helpful appendixes. Appendix A, "Getting Help," offers a good review of other places that developers and users can turn to when they run into trouble. Appendix B provides a list of FileMaker Error Codes.

At a list price of $34.99, FileMaker Pro 9: The Missing Manual is a smart, affordable investment for any FileMaker user or developer. Reading the book is like taking a crash course in FileMaker Pro development. Read it, and your FileMaker skills are sure to benefit!

Look for the FileMaker Addict interview with Geoff Coffey, coauthor of "FileMaker Pro 9: The Missing Manual," later this week!

Wednesday, January 23, 2008

Jonathan Stark
Author / Instructor
Jonathan Stark Consulting

Over the past few years, Jonathan Stark has become known in the FileMaker community as one of only a handful of FileMaker / Web gurus. He is especially known as an expert in how to integrate FileMaker databases with the Web using the FileMaker API for PHP. His 2007 book, Web Publishing with PHP and FileMaker 9 (which I reviewed earlier this week), further established Jonathan as an expert in this area.

In this interview with Jonathan, he tells us how he came to be interested in FileMaker, the Web, and some of the exciting Web sites that he has been working on -- including the popular Tittr Web site (a photo sharing application for the iPhone). Enjoy!



In your bio, you state that, "Jonathan is reluctant to admit that he began his programming career more than 20 years ago on a Tandy TRS-80." Why the relucatance? (I started on the "Trash-80" myself!) And how, exactly, did you find your way into the world of IT?
The reluctance was more about the amount of elapsed time than the hardware ;)

Like a lot of FileMaker developers, my path to IT began with music. In the early 90s I graduated from Berklee College of Music in Boston. I was doing the solo singer/songwriter thing and spent a fair amount of time trying to drum up attendance at my shows. Toward that end, I set up a mailing list database to manage my monthly postcard blast (this was still before the average person had an email address). I knew absolutely nothing about databases and didn't even have a computer, but a good friend lent me an old laptop that had a copy of MS Access on it. I just banged away until I figured out how to set up what I needed.

As time passed, I found that I was actually enjoying the database programming. At the same time, music was not paying the bills. One thing lead to another, and I eventually ended up employed full-time as a programmer in the advertising department at Staples. Turned out that programming paid a lot better than music and was just as creative. Plus, I was never really that great of a musician.


Tell us about your company, Jonathan Stark Consulting, Inc. What led you to start your own business? What types of services do you provide?
I spent a few years as the VP at The Moyer Group, during which time I learned an awful lot. After several years of working for a recognized leader in the industry, I had a few ideas about how to build a better mousetrap. Most of the ideas were not a good fit for TMG, so I eventually ventured off to put my money where my mouth was. January 1st, 2008 marked the 1 year anniversary of Jonathan Stark Consulting, and so far my "better mousetrap" is working out great (knock on wood).

I offer four services:
1) Consulting - I give you advice
2) Development - I build stuff for you
3) Training - I teach you how to build stuff
4) Mentoring - I teach you how to do what I do

All services are usually centered around web applications. They often involve FileMaker, but not always. During my first year of business, most of my clients were interested in consulting and development. Honestly, I have had very few people interested in training. Now that I have the administrative parts of running my own business under control, I am excited to start devoting more energy to mentoring other developers so they can build their businesses.


You've done work for some impressive clients, including Staples and Turner Broadcasting. Of all of the development projects that you've been involved with, what's the one that you're the most proud of? And why?
Hmm... that's sort of like asking me what my favorite movie is. There are so many ways to measure the success of a project that it's hard to single one out.

My favorites are usually the ones that improve the client's quality of life the most. For example, I have one solution running for a training company in Chicago that is used to manage their class schedule. It's basically an event management solution with some bells and whistles like email campaign management, public and private online calendaring, automated reminders for both students and teachers, etc. Overall, the programming is very simple and straight-forward - nothing fancy at all. However, the client says that the system has revolutionized they way they work. They are so happy with it that I believe that they are working with Kevin Mallon at FileMaker to get a case study up on FileMaker.com. That level of customer satisfaction is what I strive for, so when it works out that way, it does feel good.


Can you tell us about some of the projects that you are working on now?
I am always uncomfortable getting into the details of client work without getting their permission, but I can tell you about a couple of things I have cooking on my own. For example, I have a couple of web apps that Apple.com posted on their list of iPhone applications late last year. One of them was in the top ten most popular social networking apps for several weeks, which I thought was really cool.

The first one is called GossipDB (gossipdb.com), which is a searchable database of celebrity gossip feeds. Not exactly high art, but *damn* is that thing addictive. Check it out - I betcha can't read just one. I built it as a proof of concept for a project that never materialized. When the iPhone came out, it was a perfect fit for a mobile Safari3 CSS makeover. Some day I will make good on my original intention for the site, which is to build up a long enough timeline of celebrity gossip that I can then plot it against timelines of international news feeds to see if the American media really is trying to drown out distasteful news with Britney's latest escapades.

The other iPhone app is a photo sharing application called Tittr (tittr.com). This one really seems to be taking off - it's had over 100,000 pageviews in the last 30 days. It's sort of a cross between Flickr and Twitter (hence the name) and combines elements of social networking with micro blogging. I am having a lot of fun working on it because I have never had a site with that much traffic. It's truly amazing to see how effortlessly the LAMP stack scales from handling 10 hits a day to 10,000.


What's a "day in the life of Jonathan Stark" like? Do you have a certain routine that you like to follow? A favorite time or place to work?
I don't have a particular routine in terms of time or space. It all depends on my commitments for the day. In general, I am online every waking moment, whether it's in my house, at the local Starbucks, or some other public wifi location. If I have any intense programming to do, it's usually between 11PM and 5AM because I find that that is the only time of day I can get into the right state of mind.


You are known in the FileMaker community as one of the few FileMaker/Web gurus, especially with regards to FileMaker and PHP. Tell us how you came to be interested in integrating FileMaker with the Web.
Wow, FileMaker/Web guru? Thanks. Can I quote you? ;)

Some background... I remember exactly where I was the very first time I saw a web page. It was late to the internet party - probably around '91. My best friend's girlfriend had a tech job and she had a laptop at home and a dial up connection. My buddy showed me some news site and was like, "Dude, this document is not on this machine!" I was flabbergasted. I kept asking him, "Well, then where is it?" He tried to explain, but either he didn't know enough about it or I just didn't get it.

The seed was planted. Right away I saw the internet as the NEXT BIG THING. It seemed to offer a solution that side-stepped so many entrenched, seemingly intractable problems. Bear in mind that at the time, I was a musician and my enemy was corporate radio. I hated that I didn't have a good way to distribute my music and I fantasized about the democratization of broadcasting. Of course, that - along with a million other things - has come to pass, for better or worse.

The thing is, the Web is just moving out of its infancy. I don't think anyone can even imagine where it will be in ten years. The power to communicate on such an enormous and instantaneous scale is game changing. A lot of people talk about the internet being a "revolution", as if to compare it to the industrial revolution or something. I think it's bigger than that. I know this might sound like the ravings of a madman, but I believe that the internet actually represents a major step in the biological evolution of the human race.

Okay, enough of my love letter to the internet. In answer to your question...

Around the time I started becoming comfortable with web programming, FMSA7 came out which allowed for simultaneous connections to the database via XML. Lots of existing FileMaker customers wanted to make the leap to 7, at least in part because of the enhanced web publishing capabilities. Chris Hansen (the original FileMaker/PHP web guru) had already written FX.php to take the heavy lifting out of the process, so it just made sense to start learning it.

My first web project was twelvetwentyfive.com, which I wrote as an exercise to learn PHP. I couldn't justify the expense of a FileMaker Server Advanced license for a pet project, so I wrote the whole thing using text files on the web server to store the user data. I made a ton of silly mistakes, of course, but I am a "learn by doing" type of guy. Eventually I ported the site over to MySQL because it's free, you can install it on Linux, and I wanted to start sharpening up my SQL skills.



Over the past few years, the FileMaker community seems to have more fully embraced the idea of using PHP (and especially the FileMaker API for PHP) to integrate FileMaker with the Web. What do you attribute that to?
I assume that FileMaker developers gravitate to PHP (as opposed to other middleware) because it's mature, well documented, pretty easy to learn, and available everywhere. Oh yeah, it's also fast, free, non-proprietary, and runs on every OS that you can shake a stick at. The FileMaker API for PHP just makes the interaction between your PHP code and FileMaker Server that much more "FileMaker-ish" and therefore, easier to learn for people who are already familiar with FM.


Your book, Web Publishing with PHP and FileMaker 9, is a great resource for those who are looking to learn more about integrating FileMaker with the Web (as well as those who are already experienced in that area). What led you to write the book? What was it like writing it? What has the reaction to the book been?
Truth be told, SAMS contacted me out of the blue. I was totally shocked and flattered. I had previously had a book deal with another publisher as a co-author and it didn't end up working out. When the PHP/FM book opportunity materialized, I jumped at it.

The editorial process was amazing. There were something like four or five editors, each with a different focus. It was a real team effort and quite a learning experience. If I hadn't been working full-time while I was writing it, I would have loved the process. I pulled more than a few all-nighters and was still always behind schedule.

The reaction to the book has been overwhelmingly positive. It really seems to be just what the doctor ordered for folks who are just getting started in web publishing. I wanted to write a book that a total beginner could pick up and use right away. At times I caught flack from the editors for too much spoon feeding, but I am glad I stuck to my guns. Based on the feedback I have gotten, we ended up with the right balance of material for the target reader.



Back in August of 2006, you published (along with Chris Hansen) a very helpful comparison of FX.php and the FileMaker API for PHP. At the time, FX.php had been around for awhile and the FileMaker API for PHP (also known as FileMaker.php) was in beta. Since then, FileMaker.php has gone through some changes and has been officially released by FileMaker. Do you prefer to use one class over the other? If so, why? And what do you think of FileMaker Inc.'s work on FileMaker.php?
Well, I am not exactly impartial. After writing a book on FileMaker.php I pretty much have it memorized, so I tend to use it a lot more than FX.php. I think that if you already know FX, there is not a compelling reason to switch to FileMaker.php. Unless maybe you are going to be using the PHP Site Assistant and need to modify the code.

I think FileMaker did a really good job on both FileMaker.php and the PHP Site Assistant. Like any v1 software, there are some bugs here and there. I wish that FMI could fix them faster than they do, but overall, it's pretty impressive.


How important is FileMaker.php to FileMaker Inc and to the FileMaker community?
I think FileMaker is in a weird place. They have a huge installed base, which is great, but the concept of desktop software seems to be going away. I think I could make a nice living doing FileMaker development for the rest of my life, but what kind of work would it be? Fun, cutting edge stuff or tedious patches to legacy software systems?

IMHO, FileMaker needs to continue getting more and more web-friendly if they want to remain relevant. FileMaker.php and the PHP Site Assistant are great steps in the right direction. The fact that FMI included FileMaker.php in the base version of FMS 9 was huge. The integration of the Server Admin Console was a smart move as well. I hope to see this progression continue.

Secretly, I have my fingers crossed for a FileMaker web publishing option that is so radically easy that it will make FileMaker.php irrelevant. Drag, drop, and deploy. Something my dad could use to build web apps. Obviously, it would have to live up to the "legendary easy of use" slogan for that to work ;) But seriously, FMI has the user base, the track record, and the reputation to pull off something like that. Not many companies can say that.


What do you think of the new PHP Site Assistant? Do you use it yourself?
I have not used it in production, but then again, I am not the target market. I know a lot of people are using it because I get tons of questions about it through my website. I think it is really well done - useful, powerful, and best of all, educational for the developer. It still has a few rough edges, but I am willing to bet that we'll see growth there in the near term.


You presented at DevCon 2007. What are your thoughts on DevCon 2007? What was it like to be a presenter? And will we see you at DevCon 2008?
I love DevCon and I had a good time at 2007. Since I work remotely pretty much 100% of the time, it's my one chance every year to see my fellow geeks get their annual drink on. I even have a couple customers that make the trek out. In terms of the show itself, as a presenter, I don't get to go to many of the sessions because I am either prepping for my talk, meeting with customers, drinking by the pool, etc... ;)

Being a presenter was great. I am passionate about my work, so to have the opportunity to present to such a large group of like-minded individuals is truly an honor. Sure, it's a lot of work to prep for and I get butterflies leading up to the presentation, but once things get rolling, it's a blast.

I hope to present at DevCon 2008. I submitted 4 session proposals, all web publishing related. We'll see what happens. I have my fingers crossed.


I noticed in one of your blog posts that you seem to be as impressed as I have been with Scodigo's SmartPill PHP Edition plug-in. Have you been using the plug-in? If so, in what ways?
At the time I made that post, I didn't really know Micah or the gang at Scodigo, but in the interest of full-disclosure, I have done some work for them since then and have used the plugin quite a bit on their projects. In any case... SmartPill blows me away, and that is coming from a guy who's not a fan of plugins. Scodigo just released a beta of the new version and it has even more eye-popping features. Plus, the documentation and sample files look great. The people at Scodigo are real pros and do a great job. I would recommend that anyone using FileMaker get familiar with SmartPill.


Are there other plug-ins, tools, or techniques that you've found particularly helpful with regards to your FileMaker development work?
I have used Metadata Magic for dozens of conversions and it's been indispensable. In terms of techniques, squids and naming scripts like function prototypes come to mind, but those are just things I came up with for my own sanity. I am sure a lot of people would would say they both suck.



On your site, you write that you "have forever been interested in two things: computers and music." Are you involved in music in any way today? If so, how?
I did the music business thing for a long time and it really soured me on the whole endeavor. After a long hiatus, I am just getting back to remembering why it was fun in the first place. So, now I just play around the campfire, or the occasional jam session with family or friends. Other than that, I don't really play.


If I managed to steal your iPod, what would I find in your Recently Played playlist?
Lots of John Mayer, Back to Black by Amy Winehouse, and that Feist album from the iPhone commercials. I also have Miles, Coltrane, and Hendrix in heavy rotation. I recently bought a Bob Wills collection off of iTunes that I used to have on cassette and totally love.



Are you involved in any of the FileMaker Pro User Groups. If so, how has being involved in the group benefited you?
I have been to a few in Atlanta over the years, but I am not really active. I have a FileMaker dev buddy named Graham Sprague up in my area and we've been talking about going to the Boston user group but have not made it there yet.


What are your favorite things to do that don't involve work?
I assume you mean with my pants on, right? ;)

Playing guitar, skiing, going to the gym, and scoring monster kills in Unreal Tournament.


Are you working on any other FileMaker books?
Not at the moment, but I would love to write another book.


What can we expect next from Jonathan Stark? Do you have any big plans or goals for 2008?
I am really looking forward to having time to develop the mentoring program in 2008. There is a real need for good FileMaker developers and I think that my time would be well spent working with folks who want to take their game to the next level.


Thanks, Jonathan!

Want to learn more about Jonathan Stark? Visit his Web site, located at http://jonathanstark.com/.

Are you a FileMaker Addict? Interested in your 15 minutes of fame? Let me know!

Monday, January 21, 2008

Book Review: Web Publishing with PHP and FileMaker 9

Over the holiday break I had some time to read (a better word might be "consume") Jonathan Stark's book "Web Publishing with PHP and FileMaker 9." In a little more than 250 pages, Jonathan manages to do the impossible: He explains how to put the FileMaker API for PHP to use.

The book is divided into four logical sections. The first section provides background information for those new to the world of Web publishing, including an introduction to HTML and PHP. After reading this section, you won't be an HTML expert, and you certainly won't be a PHP pro. But you will have a good understanding of the technologies involved in Web publishing and development, and how those technologies fit together.

The second section of the book provides a foundation for the examples that are used later on. The section includes a chapter on how to setup a FileMaker database (creating fields, working with the database, performing finds, and so on). I'm sure that the majority of readers will find this section to be unnecessary and might be tempted to skip it. However, the chapter does cover one key topic that you should take a few minutes to check out, and that is an explanation on how to setup a FileMaker account (and grant it the correct privileges) that PHP can use to connect to the database.

The second section also covers installation, deployment, and configuration of FileMaker Server, as well as the new PHP Site Assistant. Jonathan makes a recommendation -- and one that I heartily agree with -- that if you do not absolutely need your own server, then using a server provided by a Web hosting provider is an ideal solution. However, if you do have your own server, you'll find this information to be of great use.

The third section of "Web Publishing with PHP and FileMaker 9" includes what I consider to be the most valuable information in the book. This section covers the FileMaker API for PHP (often referred to as "FileMaker.php") itself, and does so using an example Web application that is developed and expanded throughout the section. The application is one that most readers will be able to associate with -- an online product catalog.

The section includes chapters on how to select, sort, and do finds against a FileMaker database using PHP. Another chapter explains how to alter FileMaker data over the Web, including the creation of new records and updates and deletions of existing records. There are also chapters on how to view, add, edit, and delete related data via PHP (which is accomplished using portals), as well as some very useful information on how to work with images (including images stored in container fields and those stored by reference using URLs).

The last chapter in the third section describes a very interesting concept: Developing a PHP application that automatically updates as the FileMaker layouts that it is built on are updated. For example, if a field is added or removed, the PHP application automatically adds and/or drops the field as well. If you are looking for an easy way to let your FileMaker users "self-manage" a PHP application, then this chapter will prove to be invaluable to you.

"Web Publishing with PHP and FileMaker 9" covers a lot of ground, and does so in a way that makes it a fast and enjoyable journey. Jonathan's writing style and "voice" make it easy to follow along with the material. His expert knowledge of PHP and FileMaker is apparent, and he does a great job of sharing that knowledge in the book.

If you are looking for a good book on PHP and FileMaker integration -- whether you are new to the topic or consider yourself to be a pro -- then I highly recommend picking up a copy of "Web Publishing with PHP and FileMaker 9."


Exciting news! I've just finished up an interview with Jonathan Stark. Look for it to be posted on Thursday!

Thursday, January 17, 2008

Denis Somar
Founder & President
Secret Weapon Labs

I first interviewed Denis Somar of New York City-based Secret Weapon Labs way back in November of 2005. In fact, Denis was the second FileMaker Addict that I interviewed. Well, a lot of time has passed since then...

So I thought I'd check in with Denis to see what he has been up to. In this interview -- the first "follow-up" interview that I've done -- Denis spoke about the exciting new product that he has developed (a FileMaker-based inventory and point-of-sale solution for consignment businesses), his thoughts on the changes that have been made to FileMaker, and more.



How are things at Secret Weapon Labs?
Wonderfully busy!!! I just finished launching our flagship full product (versus customized one-company solutions) called InBloom. It's a different kind of inventory and point-of-sale solution designed for businesses that do business primarily on consignment such as resale shops, furniture shops, art galleries, even gun businesses. Last but not least, I'm working on a number of web design projects that are always fun and serve as a nice break from FileMaker-only work.


Congratulations on the launch of InBloom. The product looks amazing, and the Web site that you've developed in support of it is very, very cool. What experiences can you share with us about developing the product and launching it?
Just as the typical words of wisdom echo when you start your own business: "It's more work than you think". Regardless, it's a labor of love as well. There have been some minor snags with implementing new user features (such as a getting-started-wizard) and the documentation, while fun to write, took exceedingly long to generate. I learned that I really did produce a functionality-deep solution, which resulted in a 76 page user manual.

I would point a lot of my own experiences parallel the situations described by 37signals in their book Getting Real (I absolutely recommend it, most especially as it is freely available on their website). More specifically, anticipating how new or unfamiliar users react to your program, how intermediate users react, and how advanced users react has been eye-opening. In many ways, the new FileMaker forms of development and interface are jointly shared with web design, such as the primitive look of buttons and how users understand which rectangle is actually a button, versus which rectangle is just a non-clickable interface element.

In addition, figuring out the problems of upgrading databases and sending out bug fixes, is not an easily solved problem in FileMaker. It's made me realize how and why a number of more experienced developers have religiously switched the Data Separation Model with separate files for GUI and Data. I plan on this being part of the next major revision of InBloom.


How is selling an off-the-shelf application different from developing a custom application?
Hmmmm.... good question. Selling an off-the-shelf application puts the developer in the situation of determining more possible variables with how a company or possible client may approach the software. There is ALWAYS a tendency to want to have a software package be all things to all people, but it almost always leads to buggy bloatware - I refer back to Getting Real here. Keeping things simple and tightly focused is the key to releasing a successful application, regardless of the end-user. The primary difference between off-the-shelf and custom development is the experience-level of the end users with FileMaker (which is usually not much) and results in the developer having to sell FileMaker as a framework in addition to their own implementation of data management. The licensing of FileMaker can get a little muddy too, if users are looking for one-box solutions.

There's also a distinct difference in face time with a client as most developers have hands on experience with their client and can legitimately see how their end product would be used. This leaves a lot of opportunities for spit and polish refinement.


FileMaker 8 had just been released when I interviewed you back in 2005. There have been two significant releases since then. What do you think of the latest version (FileMaker 9)?
I like it and I realize that FileMaker Inc. is trying to grow their advantage to enterprises by offering seamless integration using ESS. FM9 has matured on the client side in somewhat primitive manners, but the biggest improvement has been on the server side more than anything else. Don't get me wrong, there are improvements in FM9, but some have been long overdue.


Are there any new features in FileMaker 9 that you are particularly impressed with? In your opinion, what features are still "missing" from FileMaker?
ESS is nice. Conditional formatting and resizable interfaces are long overdue but finally nice to have as a re the numerous calculation enhancements. Don't forget the web viewer, though it wasn't worthy as being such a major part of the 8.5 release.

Where FileMaker can truly benefit is in the consolidation of developer related parts and finally killing the modal developer windows such as the Define Fields window. All the parts of scripts, fields, value lists, relationships, graphics, layout templates, and more could truly be consolidated into a neatly compartmentalized window.

Last but not least, I've also noted that FM development has very much become akin to Netscape Navigator 4 and 5 style web development. It's functional and can be beautiful but sometimes too primitive. We need OS GUI components that look as beautiful as the OS we choose or at least the very ability to produce such rich solutions with transitions to show relations between data. AJAX has incredible amounts of momentum because it's finally materializing a lot of the potential richness of data on the web. FileMaker Inc. has catching up to do in this respect and they have hooked into it with the webviewer, but they have to be able to go beyond it as well and make sure the web functionality doesn't surpass FileMaker software functionality in major leaps.


Were you able to attend DevCon 2007? Any plans on attending in 2008?
Unfortunately no in 2007. I am considering it, most especially as InBloom is getting bigger and better. The more experience I can cull from others, the better!


What do you think of the iPhone? Do you have one? Plan to get one?
I think the iPhone is one of those illustrious objects that shows a maniacal obsession to creating a functional piece of beauty - a Dyson vacuum is another example. You can see so much of this in Apple products. I empathize and share it in my own work, or at least I'm always trying to. It could do probably 101 things better, as just about anything can, but for what it is and what it strives to be: it's absolutely wonderful.

Ironically, I don't have one yet, but I absolutely plan on getting one. I'm looking for the perfect way of carrying to do lists with me and having a sexy phone and this seems to be it. So I'm sure I will be making my way to the Apple Store one day soon to get it.


You've had some big things going on in your personal life. Do want to share any of that with us?
To make a long story short, my fiancé was diagnosed with breast cancer just under a year ago. She is doing spectacularly well, we've gotten married, and have managed to stay happy through just about the whole thing.


What's next for you and Secret Weapon Labs?
I'm genuinely looking to always try and push the envelope. It can be with combining something with FileMaker, taking FileMaker to the next level, or using FileMaker in really fun and provocative ways with the myriad of web projects coming my way. InBloom is definitely one of those vehicles, but certainly not the only one. Most importantly, I'm looking forward to much health and happiness. I can attest to the age old proverb: No health, no wealth and I wish it upon you and yours as well as all of your devout readers. Thanks again for the opportunity of being part of FileMaker Addict!


Thank you, Denis!

For more information about Denis and Secret Weapon Labs, visit http://www.secretweaponlabs.com/ as well as his blog at http://www.secretweaponlabs.com/words/. Information about InBloom can be found at http://www.inbloomsoftware.com/. And finally, if you are interested in reading the original FileMaker Addict interview with Denis, check out http://filemakeraddict.blogspot.com/2005/11/denis-somarfounder-presidentsecret.html.

Thursday, January 10, 2008

Albert Harum-Alvarez
Lead Designer
SmallCo.net

In December, I was lucky enough to have an opportunity to take the FileMaker Design Master Class that is offered by SmallCo.net and presented by their lead designer, Albert Harum-Alvarez. I had heard great things about the Master Class, and especially about Albert. So my expectations were high...

Well, the class exceeded those expectations. Albert's teaching style, combined with his approach to application design, was a real eye opener. Since taking the class, I've been looking at things differently -- asking myself why I make some of the design choices that I make, critiquing my older designs, and giving more thought to the way I approach the design of new applications. I'm already noticing an improvement in the interfaces of the applications that I am developing.

I feel equally lucky to have had an opportunity to interview Albert. What follows are his answers to a number of questions that I had come up with both during the Master Class and since. I think you can tell from his answers that Albert is no ordinary FileMaker developer. So read on to learn more about Albert, his background, the Master Class that he teaches, and a lot more!

Also, if you are interested in seeing Albert's approach to a FileMaker redesign project, check out this Design Caucus recording.



How did you get started in IT?
I'm a musician, and at Oberlin Conservatory my buddies and I made music with all sorts of technology. We built an electric zither, we constructed tape loops and Moog sequencer melodies, and I wrote assembler code for a 6502 microprocessor that created some wonderfully strange sounds! I wrote my first musical algorithms in APL, which stands for "A Programming Language." We would code four- and five-dimensional matrices during the day, and the sound was created as a batch process on the college's mainframe at night. If some physics geek ran his own batch program at 2 am, you got pops and scratches in your music!


What led you to the FileMaker world? How did you get started with it? How long have you been using it?
Well, I graduated with a degree in experimental music composition, and found that my phone wasn't exactly ringin' off the hook with job offers! I became an elementary music teacher in the Overtown neighborhood of Miami (starting salary: $14,000). I loved the classroom, but I couldn't support a family, so I began automating my dad's law office. That led to a gig at the New York Public Library doing FileMaker, and our application the PressFile was born. This was the summer of '94.


Where do your design skills and knowledge come from? Are you formally trained in design?
You know, I find my music training VERY pertinent to what I do as a software designer. Even more so my experience as a carpenter, and my citizen activism in urban planning. The virtual architecture of a software application seems to have a lot to do with REAL architecture. I'm now building a 'green' house that has gotten a lot of attention in Miami, and when I designed the house, it was clear that I was doing the same kinds of things I do when I'm designing software. You can see the house in an article at herald.com, and there are some more photos over at Mac.com.

I think this kind of design is in my blood. My mom was trained as an architect, my grandfather was a master carpenter, and our family has quite a few architects and engineers. And my other grandfather was a journalism professor who wrote a textbook on newspaper layout and typography.


You are the lead designer for SmallCo.net. What can you tell us about the company?
SmallCo.net is a small design consultancy with clients and partners in North America, Europe and Asia. Our "Design Partner" services include consulting, custom application design and our Design Master Class, which is offered this year in Miami Beach, Paris, Mumbai and perhaps an autumn session on the water in Sag Harbor, New York.

Curtis Michelson directs a small team of developers at SmallCo, and if I'm good he lets me help with the application architecture and interaction design.


You've been offering the FileMaker Design Master Class for ten years now. How did the Master Class get started?
The Master Class grew from my notion of the ideal educational setting. I had spent many years working in public schools, teaching a mandated curriculum to students who didn't always want to be there. I often wondered what it would be like to teach students EXACTLY what they needed to learn at that very moment, so they could implement those skills right away, right there in the classroom.

That's what the Design Master Class does. Experienced developers, on FileMaker AND other platforms, bring their work to the class, present it to their peers, and advance their design over three or four days. On the final afternoon, they present their "Before and After" versions to the class. The results are often amazing, and always compelling.


In those ten years, FileMaker has changed significantly. Have those changes made teaching the Master Class easier or harder? Is there any one particular concept that you think students struggle with?
FileMaker has evolved by leaps and bounds as a development platform, which makes it ever more difficult to design simply. We tend always to present too many things to our users: too much data, too many graphic elements, and--strangely enough, given the time we waste developing them--too many features. Having more features in FileMaker makes it even harder to practice restraint!


In terms of FileMaker design, you're considered the "legend and guru." What do you think it takes to create a well-designed database.
Well, first of all, I do want to pick on the choice of the word "database." FileMaker Pro has always been called a database, and so it's understandable that we refer to the things we make with FileMaker as databases. But in reality, we build applications, which incorporate databases--the same as if we were building a web app with mySQL or Microsoft SQL Server as the database.

Building an application requires lots of skills, including database design and data modeling, layout design, scripting, and more. These technical skills are each "necessary but not sufficient" for a well-design application. The most critical skills are:

1. Understanding your client: "Who will use this application and what do they want to accomplish?"

2. Steering the development process: developing a specification in which the voice of the user can be heard, and then iterating prototypes that bring the user's world into focus, step by step.

Developers who practice these two skills inspire confidence in their clients, and lead them to successful application solutions. FileMaker Tech Net members can read more on the development process in the Design White Paper that FileMaker, Inc. commissioned me to write. It's available to Tech Net members on FileMaker's Tech Net site.


You seem to do a lot of traveling -- with FileMaker Design Master Classes being offered in locations such as Miami Beach, London, Paris, Mumbai, Auckland, San Francisco, Vancouver, New York, Boston, Sag Harbor. It seems like you're racking up the frequent flyer miles... Do you enjoy being on the road? Of all of the places that you've been, do you have any favorites?
My favorite place, hands down, is home in Miami with my family and my neighborhood. But traveling has been a great blessing. I loved touring Mumbai, India, roaming the alleys of the Souk in Dubai, strolling along the Danube in Ulm, Germany. I try to get out of the hotel and take a walk in a neighborhood, whether it's Natick, Massachusetts or Santa Clara, California. It makes the process of air travel less alienating.


You received a Master Teacher degree from the University of Miami. How important has that formal training been in terms of the success of your career as a trainer, and the success of the Master Class?
I was awarded a Master Teacher Fellowship from the State of Florida, which was a great honor. But frankly, my most advanced training was as a substitute teacher in Watts, in South Central Los Angeles. I worked in a program that paid 150% of the daily rate, as long as you promised to go no matter what the school assignment was. I walked into classrooms where the previous teacher had run out of the room crying, and I was charged with getting the classroom -- and the educational lives of those children -- back on track.

The experience taught me a lot about humanity, as well as teaching. There are so many obvious differences between a rundown school in Watts and a high tech training room at Apple's headquarters in London, but at the root, the job of the teacher is the same: Respect your students, engage them with meaningful lessons that they can use, and accept the responsibility of leadership in the classroom.


You also hold a Music Bachelor's from Oberlin Conservatory. Are you still active as far as music goes?
Our family is Puerto Rican, and so the Christmas holidays are big -- and exhausting! I'm learning new Puerto Rican Christmas songs, called "barrandas" or "asaltos" (literally, "assaults"), including the conga parts. At 3 am on January 1st, I was playing Son-Montuno and Guaguancó on the piano while my brother-in-law and friends jammed.

My dream is to retire and play lounge piano! I love the tunes of Ellington and Hoagy Carmichael. Lately, I've been playing some old Irish pub ballads, and working out an arrangement of Joni Mitchell's "Amelia," trying channel my fellow South Floridian the late bassist Jaco Pastorius, whose haunting solo is on the first recording of that tune.


In addition to FileMaker Pro, you have experience building solutions with technologies such as FileMaker Pro as well as Microsoft SQL Server, MySQL, ColdFusion, PHP, Flash and Flex. Is there any particular technology that you prefer to use?
The choice of the platform needs to grow from the client's goals, which is why we offer a host of platforms. FileMaker is a joy because the prototype cycles can move so quickly. Flash is amazingly powerful, and can be very responsive on the web. I'm as intrigued as many are with the growing promise and potential of AJAX. And I find Bento, the new personal database tool from FileMaker, very interesting.

Like they taught in Orchestration class at Conservatory: each instrument is unique, and each has its strengths. Too often in the world of technology, folks use a tuba because "we've got a tuba player." At SmallCo, we try not to make that mistake.


You've been a speaker at six FileMaker Developer Conferences. What's it like presenting at DevCon? What are you thoughts on DevCon 2007? Will we see you at DevCon 2008?
We had a blast at DevCon 2007, hosting a series of House Parties in the hotel lobby. My wife Enid taught Flamenco and salsa lessons, and Curtis played for the crowd with his friends, a group of master drummers from Senegal. Afterwards, we hosted our third "Up the Lazy River" canoe trip (I told you I liked Hoagy Carmichael) on the Wekiva River, with our largest ever crowd. It was nice to be able to give back to the FileMaker community with our sponsorships, and I hope we can do it again some time.

It's been a few years since I presented a session at DevCon, but it's striking how wide-ranging and in-depth the sessions have become. It's an indication of how sophisticated and complex the FileMaker platform has become. Last year, we set up a SmallCo "living room" in our booth on the show floor, and I spent most of the three days visiting with colleagues and old friends. The most surprising thing about the FileMaker DevCon for those who've been to other devcons, is the fact that we have an incredible community of such interesting people. I can tell you that this is not true of all development communities!


Tell us about the work that you are doing with Chris Manton and Babelfix Limited. How did you two happen to meet?
Chris and I have been friends for years, and he was kind enough to organize the first European offering of the Design Master Class in London two years ago. Chris is a stellar example of how interesting FileMaker folk can be! His stories of his pre-FileMaker life are compelling, to say the least! And, guess what? We met at DevCon!


SmallCo is a FileMaker Business Alliance Platinum Member. How important is that to the success of the company?
We're proud to have FileMaker Inc. as our business partner and as a client! The Business Alliance Platinum membership has put a proper name on the long relationships we've had with FileMaker's sales team, people like Darrin Quick and Chris Lieberman, Rosemary Tietge and Andy Lecates.


You've done work for a long list of prestigious clients, including Time Inc., Harvard University, and FileMaker Inc. itself. What's the most challenging project that you've worked on, and what made it so?
Harvard, Time and FileMaker Inc. have all been great clients. Without naming names, I can say that some of the most difficult moments come with clients whose applications "look good" but don't work well. There's still a popular misconception that good graphic design makes for good user interfaces--and sometimes we encounter clients who've spent so much time making their screens look nice that they're a bit miffed when we advise them to change it!


Tell us about some of the projects that you are either currently working on, or that you've recently completed.
We've got a long history of working with publishing and university presses, and we're bringing that experience to bear on a lovely Title Management application at the University of Minnesota Press. The Press has been a great client, and they trusted us to run the development process the way it should be run. And the project also got the benefit of our years of work with Harvard, the University of Chicago, Island Press and others. By now, we know publishing very well, and it shows in the application.


You're a part of the FileMaker Masters Colloquium, along with an impressive line up of FileMaker gurus such as Stevn Blackwell, Ray Cologon, Win Decorte... The list goes on. How did you get involved in that? What can those attending expect (and what are the rest of us going to miss out on)?
I was honored to be included in such a stellar cast! I'm looking forward to the event, which should be the first of its kind in the FileMaker community. It should be a great way for long-time developers to get advanced training and consulting, from the best in the FileMaker world, at an intensive event. The location should be superb as well!


What do you like best about your job?
I'm humbled and grateful to be paid well enough that I have the time to be with my family, walk my children to school, and volunteer in the community. It's a shame that schoolteachers are not paid as well as software designers.


What do you like least about your job?
As I grow older, I find myself dizzied by the kinds of hardware and software specs that I need to keep track of in order to provide good counsel to our clients. Luckily, I have business partners who are younger than me!


What new features of FileMaker 9 do you find to be the most valuable?
It may be stating the obvious, but our clients are very well-served by the option to directly use SQL data. No one need worry any more that they will be 'stranded' in FileMaker, unable to move their data to another platform. It means clients can choose the best platform for their current situation, without concerns about compromising future plans.


If you could add a few features to the next version of FileMaker, what would they be, and why?
I'd really prefer to remove features, because FileMaker has so many features now! For example: a recently added feature in FileMaker adds a window to specify how objects re-size as the window dimensions change. I would like to remove part of this feature--the window that specifies how the object will re-size--and instead have the object just "do the right thing" when the window is resized, without having to be told.


What would you like to see FileMaker Inc, as a company, do in the future?
I think they're already doing it, with Bento. The ease-of-use goalposts have changed, with the many web apps that are pushing the boundaries of self-service data management. Bento--or something like it--may represent the future of shared data.


What advice do ou have for someone interested in FileMaker development?
I don't know if I have any generic advice for any person interested in the platform. Every platform has its place, and no platform can do everything. But if you're hoping to create applicatons that share data among workgroups, with small teams and with short development cycles, FileMaker deserves to be on your list.


Looking forward, what trends do you see with regards to FileMaker?
That's a tough question to answer, partly because I'm under non-disclosure agreement with FileMaker and other companies, who have hired us as consultants on future platform development. But I'd also say that it's very hard for any of us to tell what will come from the next wave of web applications, which could inspire FileMaker to respond, or challenge FileMaker to keep up.


Are you involved in any of the FileMaker Pro User Groups. If so, how has being involved in the group benefited you?
I am less and less involved with day-to-day coding, and so I benefit less from the various lists and user groups than do my staff. But all of these groups add their own piece to the community, and that's a great service.


What technology has most changed your life?
The piano, hands down. Hey that's a pun!


What are your favorite things to do that don't involve work?
Dancing with my wife, playing soccer with the kids in the park, visiting my nieces and nephews...


What are your goals for 2008?
Dance more, play in the park more. Tend my business so that it can do an even better job of supporting the lives and livelihoods of our clients and our staff. Work to promote the health and vitality of the neighborhood and community I live in.


Ok, last question. When can we expect your FileMaker Design book?!?
Thanks to the prodding of Curtis Michelson and others, I have the start of an outline! But if writing the book means no time to play in the park, it'll have to wait!


Thanks, Albert!

For more information about SmallCo, and to sign up for the Master Class, visit SmallCo's Web site located at SmallCo.net.