The optimizing definitely should be done for every layout regardless of *desktop*, *iOS* or *webdirect* usage. With careful planning the same layout may serve them all, rather than needing separate layouts.
You also got to the heart of CSS and why this is SO important. A single style for multiple objects truly is the way 'normal' web site pages can be optimized. I'm so glad FMI made that a part of WebDirect. Plus the users (and developers) don't even need to learn CSS (cascading style sheets).
With your permission, I'd like to share this link on other FM forums and social media.
-- sent from my iPhone4 --
Please feel free to distribute the video. Its designed to help the community.
This is a very well-done, and very helpful video. Thank you for producing and sharing it. I hope that it is viewed by many FM developers.
Very nice job Richard. This clears up a lot of things that even seasoned FileMaker developers might not have known out of the box.
I look forward to viewing some of your future presentations.
I handled this like a Devcon Presention. This is what I wanted to do this past year. But product timing didn't work out. - RC
Thanks, well done and well worth the time viewing it. It does make me wonder why FileMaker would not have covered this somewhere in its documentation. Seems strange to deliver a new set of tools and then shelter us from this kind of useful info. Thanks again,
The information is covered here.
THis and other PDFs are on the FileMaker Server Resource page:
However... the visual animations in the video really explain things better. Thats the benefit of going to Devcon... or watching a video like this. My team worked hard to make sure the visuals told the storey.
Thanks Richard. I had read those and while it does clearly state that these are things that will improved performance your video is way more informative, detailed and better presented. There are benefits to going to Devcon, reading and trying to pick up knowledge here and there but I am not sure that should be a requirement to get the kind of info you provided.
Again thanks to you and your team and for sharing this video. I'll be applying and testing this further here
All the best in 2014.
Great info Richard, especially about the Styles and making tweaks.
A side note... something that ended up not being included in the video.
For best performance in a solution... DO NOT switch themes, as you navigate from Layout to Layout. Web Direct... does actually cache theme info on the browser. So changing themes... causes additional massive data pushes... when you don't need them.
Great question received today from user:
Background: I have a solution which I rewrite every several years, to best utilise the new feature set. With FMP v13, I'm up for another rewrite, the last one being FMP v10/11. This time around I want to optimise for (future) WD developments, along with multi-device access. In the past, I've often 'fiddled' - a lot - with various display elements. It's actually a bit like smoking or perhaps biting one's nails - when in doubt about x, distract oneself with y. Also, let's face it, sometimes the fiddling is actually important, to hone each element to its most effective.
The question: In our new 'Aspire' (or whatever) world, will fiddling with the aesthetic aspects of objects create junk lines of CSS that don't get automatically sanitised if not required?
I 'get' - thanks to your excellent youtube - the value of selecting just one 'object type', designing it thoroughly, saving it as a style, and then applying that style to other instances of that object type. This appeals greatly to my sense of efficiency.
QUESTION: Even still, while I'm designing, or fiddling, with the object's manifestation, do I risk creating junk CSS?
Answer: Fiddling with an individual object in Layout mode creates a "local override" of the "Layout level" CSS. My reccomendation is to fiddle until you find a standard format that you like, and then save that format into a style... that you can share with other similar objects. Once you've saved the style, it's no longer a local override, but the information is pushed up to the layout. Of course, if you give each object its own custom saved style... and you're not sharing styles between similar objects... then you're creating a lot of extra wasted code... but it is saved at the layout level. There is no benefit to that.
The goal is to come up with a style that you can share between similar objects.
QUESTION: If so, is there a better workflow? (development Workflow... interesting use of the term). I'm wondering about, for example, having a 'scratch pad' file to fiddle with, and then ???copy? the finalised object to a 'fresh' copy of the file? Would this bring in a whole CSS 'history', or would it only copy over the 'final version'?
Answer: Historical CSS is not saved... so you're not junking up the file with fiddling. As you apply a new style to an object... a local override CSS is created (which takes precedence over the layout level CSS). If you change that SAME attribute again... then FMP just deletes and changes the local CSS...so no additional bulk is created.
QUESTION: Also, while it's fabulous being able to shift scripted navigational elements into popovers with no loss of functionality, I'm guessing that it would be better practice to start off with a fresh, empty, v13 file and build from there (though most likely, still using a lot of copy and paste) or importing. Any additional considerations or bits of wisdom that you'd like to share on this issue?
Answer: Some people are going overly wild with the Popovers. Sometimes... things need to be on-screen to "expose" the user to the functionality. Slide Controls are a perfect example. Someone told me... switch all my tabs to slide controls. I asked Why? They said it was new and cool. I said, "Well the tabs actually display text... which informs the user at to what in in each tab. So do we want or need to obscure the label? A number of times, you need to educate the user what is in a tab so they don't have click on each one to learn the contents."
Ah... use the right tool for the right job. Obscuring important info...may not lead to good UI. In fact... alot of times... I think it would not.
Great job with the video, just what I needed. I had no idea that using custom styles had any impact at all on performance. Does it optimize layouts in a hosted Pro as well?
This video does not address work arounds for features that developer would like to see... but are not in the product yet.
hoping this is in the works...
The benefits to performance...directly affect Pro and Go clients too. it is MOST noticable with clients on poor network connections... especially when the client first loads the layout.