Wednesday, January 31, 2018

State of the Custom App Report

When we weren't looking, FileMaker started marketing more effectively


On the day of the State of the Union speech, FileMake released the State of the Custom App Report.  Great timing – FileMaker rode the news existing news cycle, google searches, and social media traffic to get the most exposure and bang for their buck.  And spotlighted the power of the custom app. Well done.

And the report is pretty good, too:
The State of the Custom App Report 2017 honed in on citizen developers, defined as those individuals with little to no professional coding or developing experience. The 2018 report takes a look across the board, examining the myriad ways custom apps are being used and how these tools are helping businesses succeed.

The State of the Custom App Report 2017 honed in on citizen developers, defined as those individuals with little to no professional coding or developing experience. The 2018 report takes a look across the board, examining the myriad ways custom apps are being used and how these tools are helping businesses succeed

Results presented in this report were gathered in October 2017 from 370 FileMaker customers across North America, Japan, and Europe. Respondents are in organizations of all sizes and across different industries. All respondents were involved in the creation of their custom app(s), and are actively using them

Those are impressive numbers.   It's worth downloading and sharing.

It Started with Farmtime


FileMaker ran its largest ad campaign in over a decade with the release of Farmtime:

https://youtu.be/tbAwijlozZQ

This spot uses humor very effectively, is high quality, very professional and very different from past campaigns.  And it's garnered over 63,000 views in just two weeks.  Not bad for an ad...

Let's hope FileMaker keeps it up!




 

Monday, January 29, 2018

China's Two Great Walls (One Virtual)

AWS and WebDirect for Chinese customers:  It doesn't work.


I just learned this late last night.  I have a client who manufactures parts in China and ships to the US.  When we tried out the China vendor part of the database using FileMaker WebDirect this past week we were in for a surprise:  WebDirect does not work in China when hosted on an AWS server not in China.  User Accounts that work fine in the States cannot login to WebDirect in China.

It seems China forced Amazon to sell off physical assets and go into business with two Chinese firms:
The service operator and provider for AWS China (Beijing) Region based out of Beijing and adjacent areas is Beijing Sinnet Technology Co., Ltd. (Sinnet), and the service operator and provider for AWS (Ningxia) Region based out of Ningxia is Ningxia Western Cloud Data Technology Co., Ltd. (NWCD).

I'm not sure how that affects my client just yet.  The problem is severe and we are looking into options.  Using VPN technology to do an end run is evidently possible but not allowed...China controls content flowing into it's internet with a pretty tight fist.  Amazon encourages clients to comply with their rules, which makes it hard for my client.

If anyone out there knows a way to make this work, please let me know.


FileMaker Relational Design Video (Beginners to Intermediate)


Jeremy Hammond on the basics of FileMaker Relational Design at a recent user group meeting.  Worth your time if you are having trouble with it:

[embed]https://www.youtube.com/watch?v=VlUmJxrfmmA&feature=youtu.be[/embed]


360Works updates their plugins


Server compatibility is the biggest topic in this upgrade.  If you are running any of their plugins, get the updated versions installed.


Space isn't remote at all. It's only an hour's drive away if your car could go straight upwards.

Fred Hoyle

Thursday, January 25, 2018

Skiing the Great Wall of China (literally), Filtered Portals, and more...

Dynamically Filtering Filtered Portals


A blast from the past (all the way back to 2013!), but still a great technique for smaller databases, this filtered portal is easy to use and will filter multiple fields. Read the comments for some speed enhancements and an faster alternative.  The best part:  You can use your existing portal and just use the Filter Portal checkbox in the portal setup.  Free FileMaker Example File at the link.

Caution:  Do not use with tens of thousands of records unless you limit the number of fields and change it to update on field exit (or use a script timer to allow multiple character entry). Best not used on a cloud solution, either, but does work with smaller data sets.

Kudos to Sara Severson for this technique:

Source: Dynamically Filtering Filtered Portals | Soliant Consulting

Who Needs Snow to Ski?


This in one of the most incredible videos I have ever seen...this guy skis everything including the Great Wall of China!

https://www.youtube.com/watch?v=NHrwcQQ38bA

LOCATE DATA WITH LOGICAL PRECISION


I've played with Logicator and love the concept for some applications:
LOgiCATOR builds on the immense power of FileMaker’s native Find mode, and wraps that power in a sleek and intuitive interface. Gone are wonkish operators and confusing find and omit requests, replaced by plain language prompts and options.

It's easy to bolt on, powerful...and free.  Can't ask for more than that.  Free FileMaker Example file at the link.

Source: beezwax > products > logicator

 

Monday, January 22, 2018

Being Responsible as a Developer

So, how do you go about being responsible as a developer?


Being responsible as a developer requires some thought and some concrete action.  Susan Fennema and I discuss what steps you can take to help:




[embed]https://youtu.be/34SbWX8EY0k[/embed]


As a developer, how can you keep yourself on track?


  • Say no when there are too many demands

  • Underpromise, overdeliver

  • Look at the project management system for your work - communicate with your PM if what you think you're working on and what it says are not identical

  • Spend 10 minutes at the end of every workday to prep for tomorrow and to do your time sheets

  • Use the timer options if your time tracker allows that

As a sub, what if you are working with multiple clients and multiple project management systems as a developer? How can you avoid becoming overwhelmed?


  • Use the tools you're given by your PM or your contractor

  • Calendar your time for each client

  • Start by looking at the PM system for that client when you start work

  • Making the "me", "my tasks" area your landing pages in your browser

  • Set time to handle the business side of things, as well as coding.

  • Working with the same people, but different clients

  • Communication of availability and progress

How can your PM help?


  • When you are overwhelmed, your PM can help you sort out priorities

  • When the client isn't getting you stuff, your PM can get you an extended deadline

  • When the client asks for something not in scope, your PM can get more money

  • Many can test for you - something you always need before delivery

  • Your PM can say no when you don't want to


If being responsible is your goal, this video will help you achieve it.

This wraps up our six video series on project management and subcontractors.  We hope you found it useful!




This useful advice has been around for over 200o years and comes from a man born a slave:

It's not what happens to you, but how you react to it that matters.

Epictetus


Thursday, January 18, 2018

FileMaker External Authentication: EA, SSO, AD, OD, OAuth, LDAP

FileMaker External Authentication


Wim Decorte presented on FileMaker External Authentication (EA, SSO, AD, OD, OAuth, LDAP) at Devcon 2017 last summer. Don't let the the acronyms bother you. It's actually pretty easy to set up Microsoft Azure, Amazon, or Google to handle external authentication for your FileMaker solution, and Decorte spends most of his session showing you how to do just that.

Why use EA to connect?


The benefits are pretty nice, actually.  If you already have users set up outside of FileMaker, then those users can use their credentials to access a FileMaker database.  That streamlines setup and administration when rolling out a new database, and offers a lot of other features available with EA services:
  • Better password security
    • Length

    • Expiration times

    • Complexity (symbols, caps, etc.)

    • Geographical limitations

    • Multi-factor authentication

    • Time frame usage


Types of EA


Some types of EA have existed in FileMaker for years:
  • Local – FileMaker's login system

  • Active Directory – Windows

  • Single Sign On (SSO) – Windows again

  • Open Directory – Mac

  • LDAP – not a logon service, but a method of making the server easier to find


Newer technologies are now available:
  • IP – Identity Provider.  A service that stores and manages identities

  • IAM – Identity andAccess Management

  • OAuth – An industry standard that uses tokens between systems to authenticate users

  • FIM – Federated Identity Management.  This is the same concept as EA.

Three New Services


Microsoft Azure, Amazon, and Goole each use OAuth2 to provide authentication, which means the operation system is left out of the process.  FileMaker Server Admin is used to configure the connections to each provider, but that setup process is not very hard.

How It Works


The process of logging in is a bit change:  The user will open a FileMaker database the same as always using their normal method (shortcut, Open Recent, etc.), but will have the option to choose Azure, Amazon or Google instead of typing in their username and password:

FileMaker External Authentication View

Pretty nice...

Clicking one of those options will take the user away from FileMaker – don't panic, they will be directed right back – to login using their credentials with that service.  For example, they might have a google account with all that entails, so they would login to their account on their default browser. Of if they were already logged in, it will ask them to re-enter their password. By clicking they sign in button, the user will be directed back to the database.

Setup


If you are doing this for the first time, you might want to watch the first 12 minutes of the above video for an overview of External Authentication (EA).  I highly recommend watching it.

Otherwise, jump ahead to the 13 minute mark to learn how to hook up to Microsoft Azure.  This section also includes a bit more of an overview of the process plus the details needed to connect.  Azure has one advantage over the other two:  it handles users and groups, which gives the database administrator more options to control access. This is a big bonus, in that any MicroSoft user with credentials on the internal network can be added to a FileMaker group and be able to logon to the database.  Amazon and Google only have user accounts, which you will have add users to FileMaker but will choose to let them authenticate with that service.

For Amazon setup, jump ahead to 39:21 to get started.

For Google, jump ahead to 46:28.

[embed]https://www.youtube.com/watch?v=99BuLS3mCSY&feature=youtu.be[/embed]

All three of these services also work with WebDirect, by the way.  Jump to 53:00 minutes for more details.

The Downside


To use Azure, Amazon, and Google, internet access is acquired, which means no internet, no access, and nobody using the solution.

More Information


Download the white paper for this presentation here.  Trust me, you'll  want this.

Want to use the FileMaker Data API?  Todd Geist has you covered:

https://www.geistinteractive.com/2017/05/09/filemaker-16-data-api-and-oauth/


It has yet to be proven that intelligence has any survival value.

Arthur C. Clarke

Monday, January 15, 2018

Meeting Expecations

Meeting Expectations


In the fifth video of the Project Management - Sub Contractors series, Susan Fennema and I talk about tips for subcontractors to help with meeting expectations. Below the video is an overview...watch the whole video for all the useful details:

https://youtu.be/-wn1K0h232Y

What is the developer's role in using project management tools?


  • Checking off or assigning tasks to the client when they are finished

  • Post your time to the correct job and task, with coherent notes

  • Add tasks to keep yourself and the client on task

  • Make sure that everything assigned to you is truly in your court

If you offer 20 hours/week, how can you guarantee that you give it?


  • Progress vs. deadline is estimated based on your availability and workload

  • It is imperative that you give what you promise

  • Calendar your allocated time... if you promised 25 hours to a client, that's a 5-hour block per day. if your calendar is filled up, you have overpromised

  • If you are stretched and in demand as a subcontractor, raise your rates

What if a deadline is unrealistic?


  • Discuss this with your Project Manager

  • Figure out if part of the project can be delivered on time

  • Communicate on this early and often - avoidance and assumptions are dangerous

  • Give clear, concise communication – with consequences – to your client

Next week, we'll offer tips on how to be more responsible as a developer.  Don't miss it!




There are only two tragedies in life: one is not getting what one wants, and the other is getting it.

Oscar Wilde

Friday, January 12, 2018

Communicating with your Project Manager

Communicating with your Project Manager


Susan Fennema and I just finished our 4th Facebook live video on Project Management:  Communicating with your Project Management.

In this video we talk about communicating with your project manager and cover the following topics (and more, of course):


[embed]https://youtu.be/Jfg87GCqAAk[/embed]

What information does a project manager need from a developer?


  • When you will be working on the project

  • When you have questions for the client

  • When will you not be available (other projects, other clients, vacations)

  • How do you like to work (2-3 hour blocks? all-day blocks?)

  • Best means of communication (email, Slack, project management tool)

  • When something unexpected comes up

  • Document client communications/changes

The PM is responsible for scope, budget, and time. What is the developer's role in those same things?


  • Be clear how long will each task take you

  • Be responsible for understanding the scope

  • Let PM know when  the client asked for something that is not in scope

  • When you expect to be finished ("done done") with specific tasks


The biggest takeaway is not a big secret:  keep lines of communication open and the information flowing freely.  Doing so will make your job a subcontractor (or employee) much easier and more rewarding.


If you do not change direction, you may end up where you are heading.

Lao Tzu

Thursday, January 11, 2018

JSON Variables, WebDirect in FileMaker 16, Scrolling the Unscrollable

How to Automatically Create Variables from JSON Data in FileMaker

Mislav Kos wrote an incredibly powerful, free custom function for parsing data from JSON files, something you'll definitely want in your tool chest for the future (as the future will include a lot of JSON for most developers).
If you have data stored as JSON, presumably you will want to extract it at some point. And as part of doing that, you may end up assigning that data to variables, whether for better script readability or other reasons. Adding these assignment steps to your script can be tedious, especially when the JSON document contains a lot of data. For instance, given the following JSON document that has key-value pairs for each letter in the alphabet, we would end up having to create 26 "Set Variable" script steps.


Features include handling arrays, typecasting data (dates are saved as dates, numbers as numbers, etc.), handling spaces, and more.  One of the worst parts getting data from web sources is mapping the data properly, mostly because it is boring and tedious.  This free FileMaker example file (at the link) helps relieve that boredom.

Source: How to Automatically Create Variables from JSON Data in FileMaker

Scrolling the Unscrollable


I've never needed a scrollable check box in a popover before, but I have downloaded the free FileMaker example file, just in case:
Howard Schlossberg’s presentation on popovers (FileMaker 13 Popovers) has inspired me on multiple occasions… a favorite takeaway is the idea that you can have a scrolling check box set within a popover.

Bonus:  you can scroll other types of static fields, including container fields. More info at the link.

Source: Scrolling the Unscrollable | FileMakerHacks

FileMaker Server 16: Multiple Worker Machines


This was posted in May, but is still worth reading for a good overview of  WebDirect in FileMaker 16:
The FileMaker 16 platform includes FileMaker Server and introduces the ability to have multiple "worker" machines connected to a single FileMaker database server or "master" machine. This is mostly relevant to FileMaker WebDirect, which has greatly improved with the latest version.

This involves an understanding of the different services running as part of FileMaker Server, only one of which is the database server itself. There are also web publishing and scripting engines, among other services. Most important here is the Web Publishing Engine (WPE). That’s where WebDirect sessions are run from. FileMaker 16 introduces some changes to how WPE is managed in the FileMaker Admin Console.

The routing of clients to lower traffic hosts on the worker machines is worth noting.  So is the increased performance:  My clients WebDirect pages are waayyyy faster than the FileMaker client when run on the same machine.  It's almost embarrassing.  It's also often the best solution for the client.

Source: WebDirect in FileMaker 16 - New Features and Capabilities


We cannot put off living until we are ready.

Jose Ortega y Gasset

 

 

How to Automatically Create Variables from JSON Data in FileMaker

If you have data stored as JSON, presumably you will want to extract it at some point. And as part of doing that, you may end up assigning that data to variables, whether for better script readability or other reasons.

Adding these assignment steps to your script can be tedious, especially when the JSON document contains a lot of data. For instance, given the following JSON document that has key-value pairs for each letter in the alphabet, we would end up having to create 26 "Set Variable" script steps.

Source: How to Automatically Create Variables from JSON Data in FileMaker

Tuesday, January 2, 2018

FM to Google Translate, Indexing Secrets, FM to Zapier

It's a brand new year and lot's of exciting things are happening in the FileMaker world!


Translating using Google Translate with FileMaker


It turns out to be pretty easy, but costs for every word translated. I'd like to find a way to translate labels and tags in FileMaker on the fly – and store them of, course, for later use.  That would allow a user to translate a database into their language on the fly.  There would be limitations, of course, but still would be interesting.

Translation

There's also a free example file at the link (kudos to Douglas Alder for this).

Source: Making FileMaker interact with Google Translate | HomeBase Software

Indexing Text vs Numbers


Honza did some interesting – and eyebrow raising – testing on indexing text and numbers.  One of his startling conclusions:
The longest search time was measured when searching in indexed text field containing unique values. It was even almost twice as slow as searching in unindexed field.

There's more:
If you are likely to have repeating values from a value list in your field, having a value index is definitely going to help. If you’re going to store natural text in your field and likely to search for words that appear many times, word index is probably going to be your friend. But if your text field is going to hold unique values, the index overhead is something you may want to avoid.

Read Honza's post if you need to optimize indexing on your databases.  Or even if you don't...it's valuable insight.

Source: Text or Numbers – What’s Faster

Connect FileMaker to Zapier (and to hundreds of services) for free


This was announced at Devcon 2017 and requires some beta testing and setup, but the benefits are awesome:
The fmGateway for Zapier allows your custom FileMaker apps to communicate with a huge number of web applications using Zapier. For example:
  • new leads from your website can be automatically collected into your database

  • ecommerce orders can be imported automatically

  • SMS updates can be sent automatically to alert clients in changes to their order

  • customers can be automatically subscribed to your newsletter

  • invoices can be sent via PayPal or Invoice Ninja

  • updates can be sent to Slack and vice-versa


Every FileMaker developer knows the future lies in integrating with the rest of the world.  This tool will make that task easier.

Source: FREE fmGateway for Zapier – soSIMPLE Software/Paradise Partners