So, my blog has NOT been regularly updated, but I thought I should add a post acknowledging that I will be presenting at FileMaker DevCon 2013 in San Diego, CA, which runs August 12-15.
The sessions I will be presenting are:
- Mon, 1:30 PM: Crash Course in Advanced Developer Techniques (PreCon Session)
Ever attend a session where the presenter threw out a phrase like “Then I used X to make this happen…” and felt like you didn’t understand what follows? Instead of having to hang around afterwards to find out what they meant, come to this session and learn about virtual lists, complex script parameters, modular coding, web viewers as custom interface elements, and much more.
- Wed, 10:45 AM: What Was I Thinking? Coding Best Practices
Developers should always be thinking “How will this code look to the next developer?” – that saves time later. But, coding best practices also save time NOW, by helping us avoid bugs in the first place. Dashing off a quick script or sloppy calculation might feel faster, but when we spend an extra hour tracking down a bug that could have been avoided, we discover that consistency saves time everywhere.
I’m also considering hosting an Unconference session on “Cracking the Clipboard” to do some very useful things with FileMaker objects in the clipboard. We use that technique at my office to dramatically save time during development. We avoid a lot of repetitive work by converting objects between types, search-and-replace within objects, making multiple copies of similar objects, changing the table occurrence for a group of related layout objects, and much more. For example, one macro we have takes selected field definition objects and puts field layout objects (and matching labels), Set Field script steps, and their fully-qualified field reference names as text all into the clipboard at the same time. So, you select a bunch of field definitions and can then paste them onto a layout, into a script, and even into a text editor. The same thing works in the other direction.
I will have demo files available during and after DevCon for each of the official sessions, and may find time to throw something together for an Unconference session, but my schedule has been very busy lately – rolling out a FileMaker Go app for work, complete with home-brew (for now) sync functionality.
Goal: Reduce table field definition clutter caused by single-purpose calculation fields while still creating complex reports, using FileMaker Pro.
FileMaker Pro has significant capabilities for reporting, but it can sometimes be frustrating creating calculation fields for everything you might want to see only for a single report. Wouldn’t it be nice to create “temporary” fields programmatically via a script that last only while running the report?
There is a way to do this, using the Evaluate function: Create a single calculation field with, say, 100 repetitions, and have it Evaluate calculation text in matching repetitions of a repeating Global Text field. It can be tricky to do this successfully and decrease the likelihood of breaking your report if fields are renamed. I delivered a presentation for the New York FileMaker Developers’ Group on creating a detailed report (simplified for the demo) with many columns, percentages of many values out of the total for multiple sub-summaries, all with only a pair of fields. Download the Dynamic Repeating Calculation Reports demo file to see more. One final note: the most important thing to remember to accomplish this successfully is to wrap every non-repeating field used in your calculations with the Extend() function, so the repeating calculation gets a value beyond its own first repetition.
I recently gave a presentation for a joint meeting of the New York FileMaker Developers Group and the CocoaHeads NYC Group. It was a demonstration on how to submit web forms using the POST method from within FileMaker Pro using the open source command line tool cURL (comes pre-installed in Mac OS X).
FileMaker has the ability to load web pages into a “web-viewer” and can thus be used to programmatically load search results using web forms that submit via the GET method, where the search terms are embedded in the URL of the results page. A developer only needs to create a URL that includes the search terms and set the web-viewer to display that URL. However, many useful sites use the POST method, where the search terms and other parameters are sent in a separate HTTP header, rather than directly in the URL request.
The command line tool cURL has many options for accessing data via HTTP, FTP, and much more, including the ability to programmatically submit form data via POST. So, FileMaker can run an AppleScript command that calls cURL by using the AppleScript command “do shell script.”
A completely unlocked copy of the demo file I used in my presentation is now available online: Web Form POST Demo. Please note that it leverages features of Mac OS X, and thus will not work as-is for the Windows version of FileMaker. There are alternative plugins that can be used to perform similar operations for Windows.
Is Apple ashamed of the iPad’s lack of Adobe Flash? Far from it, they seem to be proud to be the ones who are working to kill Flash and move websites to open standards like HTML5.
I found it amusing to read commentary that suggested that Steve Jobs accidentally revealed the iPad’s lack of the Adobe Flash plugin when he viewed the NY Times website during his web browsing demo. For example, a post on Geek.com says that “a missing plug-in message spoiled Jobs’ presentation for a moment but he quickly navigated away.” That is not true. It shows several times during his demo of web browsing on the iPad. In fact, if you scan to time mark 0:13:57 in the released video of the iPad special event, Steve Jobs actually zooms and and makes the “broken plugin” fill most of the display.These seem to be deliberate. It is clear that Apple views Flash as a terrible format. It is not an open standard for information, Adobe controls it, it wastes a lot of battery life, and it slows down other functions by overusing the CPU.
It seemed to me that Jobs was taunting Adobe and the abomination that is Flash. For years we’ve needed someone with the will and the strength of position to kill Flash. Apple has both. The iPhone doesn’t do Flash and never will. Same for the iPad. Eventually, websites that want to continue reaching many people with disposable income will start using HTML5 and other standards instead of proprietary junk that kills batteries. If the iPad used Flash, that 10 hour battery life probably drops to 2 hours. Apple would be making a big mistake to put Flash in it.
For an insightful commentary on how Apple seems to view Adobe Flash technology, read John Gruber’s post Apple, Adobe, and Flash at DaringFireball.net.