Archive by Author

Men – Who has your Back?

God has been stirring in my heart over the past several weeks and the Tipping Point (great book) was a friend of mine torpedo-ing his life. I say the Tipping Point (great book BTW by Malcolm Gladwell) because God has been working on this in me for a while now, but seeing a friend lose everything in a blink of an eye made it very real and God used it to knock me off center.

One of the “ah-ha’s” from my friend’s situation was me concluding that nobody was close enough to him to identify the signs that led to his very public failure. There wasn’t anyone with enough relational capital to get in his chili about the condition of his heart and what he was doing to stay out of the deep weeds. I concluded this because I’m confident that had a person like that existed, things would be different for my friend.

That conclusion sparked another rabbit trail centered around the analogy of war. I had just finished watching Band of Brothers for the tenth time and that provided the visuals God needed to bring some very important points home to me:

  1. No war is won by an individual – it takes a team. Not just any team, but a well-trained, strongly led, close-knit group of soldiers with a common mission and like minded strategies.
  2. Success is a result of solid preparation, great execution and fanatical perseverance. The soldiers of Easy Company that jumped in behind enemy lines on D-Day (from the series) had all of the ingredients to play a critical role in winning World War II. They trained tirelessly, kept their heads in the heat of battle and dug in like ticks when they absolutely had to hold that line.
  3. There’s a time to play it smart and a time to get crazy. Taking undue risks usually meant trouble for those soldiers except when it was the last thing the enemy expected. Wisdom is knowing the difference and that comes from great leadership.
  4. We need men around us that would weep if we died. One of the things that can’t be calculated tactically is the extent we would fight for those we love. The war produced a bond that was both unexpected and surprisingly strong. When that bond was threatened, logic faded, raw emotion took over and survival became the sole focus. And when survival didn’t happen, their hearts broke and were never the same.

I started trying to take an inventory of my own life against these principles and I found myself sorely lacking in every one of them – and that scared me.

  • I don’t feel like I’m on any teams that both believe victory is possible and have a consensus about how it can be achieved.
  • I don’t feel like I’m prepared or execute very well and at the first sign of resistance, I crumble like a Christmas cookie wondering where my fallback position is.
  • I play it smart when I should be charging the hill and I charge the hill when I should be playing it smart. Sounds like Paul’s famous passage in Romans 9:15.
  • I also don’t think there is any man who would miss me so much that tears would be the result of my passing.

This is very sad to me and not how I wanted it to be at 37 years old. And God tells me that isn’t how He wants it either. Scripture is filled with references to how important it is to live life in the context of close relationships. Love implies that very condition and we are called to love above all else.

I’ve thought a ton about how I got here and why the principles listed above aren’t more true of me and perhaps they will find themselves listed out in another post; however, I want to conclude by telling you that I am on a journey mission crusade to change this.

  • I’m going to be sure that the teams I serve not only believe victory is possible, but they have a good sense of how it will be achieved – especially those in the Church.
  • I’m going to better prepare my mind and heart with His Word and use it when making decisions and facing the hard things in my life.
  • I’m going to more frequently use prayer for wisdom when discerning  the difference between hunkering down and issuing a battle cry.
  • I’m going to, in faith, reach out to my friends and figure out a way to move those relationships to the next level. I’m ready to be open and honest and place my heart in their and His hands in the hopes that it will produce a bond that makes a difference in the middle of a firefight.

I’m so convinced that these steps are no longer negotiable that I’m going to dedicate this year to seeing real change in this arena. And now that I’ve made my plans public, you are free to ask me how it’s going. I hope you will from time to time and I also hope you will take a moment to assess where you are and come up with your own action plan to ensure that no man is allowed to take himself out of the fight.

iPhone Readiness – SWFObject Method

SWFObject

SWFObject has been around since October 2004 as a JavaScript method to detect not only the presence of the Flash Player, but minor versions of the Flash Player for feature readiness. Since then, it’s evolution has continued to add features that cover today’s ever-increasing code complexities. To get the SWFOjbect code as well as all other resources for this very useful tool, head over to http://code.google.com/p/swfobject/

As I stated in the overview article, this is my preferred method for Flash detection for the iPhone. This method is used on all of your SWFs and therefore inherently takes care of all detection and alternate content substitutions as part of the solution. In short, it’s simpler.

Obviously, the first thing to do is download the code and get it on your site. There are great instructions on the Google site on how to setup the include files and you also get some demo files that show how your code should look when using either the static or dynamic method.

I used hyper-linked images that looked similar to the Flash content as the alternate content so visually, there wasn’t much missing. Other than that, there isn’t much to it other than following the instructions and choosing the method that suits your content and situation better. There will probably be some trial and error that you’ll need to go through, but given an hour, you should have it just like you want it.

Here’s the JavaScript code on my example site (put inside <head> tag):

<script type=”text/javascript” src=”/Scripts/swfobject.js”></script> //the include JavaScript file
<!–Button 1 Code–>
<script type=”text/javascript”>
var flashvars = {};
var params = {};
params.wmode = “transparent”; //sets the SWF file to have a transparent background. Default is “opaque”
var attributes = {};
swfobject.embedSWF(“/assets/multimedia/PTT_Button1.swf”, “myContent1″, “174″, “40″, “9.0.0″, “”,  flashvars, params, attributes);
</script>
<!–Button 2 Code–>
<script type=”text/javascript”>
var flashvars = {};
var params = {};
params.wmode = “transparent”;
var attributes = {};
swfobject.embedSWF(“assets/multimedia/PTT_Button2.swf”, “myContent2″, “174″, “40″, “9.0.0″, “”,  flashvars, params, attributes);
</script>

And the associated content code (alternate content defined):

<!–Button 1–>
<div id=”myContent1″><a href=”html/FindTip.asp” style=”padding:4px”><img src=”assets/images/PTT_Button1.jpg” alt=”Defeat the Diaper | Find a Tip” width=”174″ height=”40″ border=”0″></a></div>

<!–Button 2–>
<div id=”myContent2″><a href=”html/GiveTip.asp”><img src=”assets/images/PTT_Button2.jpg” alt=”Defeat the Diaper | Give a Tip” width=”174″ height=”40″ border=”0″></a></div>

Given that, there is one piece of advice I can give:
Make sure you enclose the content you want SWFObject to examine in <div> tags. For those of you that code using tables, don’t try to affect a <td> as the SWFObject’s default behavior is to hide the element and this will destroy the table’s structural integrity and therefore produce undesired results.

For an example of a site that this method has been used, you can go to defeatthediaper.com – my community potty training tip site. I hope this helps and don’t forget to add the <meta> and CSS mods outlined in the overview article.

iPhone Readiness – Flash Detection Method

Flash Detection

When you publish your Flash content, you have the option of publishing HTML and in the associated option for HTML publishing, there are several check-boxes related to which version of the Flash Player you want to target and whether or not you want the resultant HTML to check for the presence of the specified version or above. FIG. 1 shows what you would check to get the HTML file that checks for the presence of a version of the Flash Player.

FIG. 1
Flash Settings

Provided you check the box shown in the figure and publish your content, you’ll get an HTML file that has the detection code in it. As you examine the code, you’ll see that the detection script looks for a specific minimal version of the Flash Player, not just the presence of the Flash Player. So, the detection script can “fail” for two reasons: 1) An insufficient version or 2) the absence of the Flash Player altogether.

Therefore it is a good practice to include the GetFlashPlayer icon linked to Adobe’s site in case they were sent to this page because of a version problem and not the absence of the Flash Player. I guess you could use the CSS mod outlined in the overview article to hide a <div> tag that includes the icon if you don’t want your iPhone users to see something they can’t act on.

The next step is to copy all of the detection code including the conditions to another HTML page and save it as the site’s default page – typically index.htm or default.htm. From there you can send your users to either the regular home page (successful detection) or an alternate page (failed detection). The alternate page is where you can customize an image-based version of the home page that can be seen by mobile browsers that don’t support the Flash Player as well as explain why they were sent there.

I then went a step further and set a session variable and checked it on every other page on the site that had Flash content so I could either substitute alternate content or hide the Flash content altogether. This has an inherent problem as the session will at some point time out and if the iPhone user closes Safari and comes back, they could be faced with a site that doesn’t know they are a non-Flash user.

To overcome this, you could call a modified version of the Flash Detection script on each of those pages that resets the session variable if the detection fails, but that starts to get pretty cumbersome and is why I eventually went to the SWFObject route. You can read about that method in THIS POST.

To see a site that uses this method, go to www.americanpiepizza.net – a Central Arkansas pizza joint with a killer menu.

Get your Website iPhone-Friendly

I’ve recently gone through and made a couple of my sites iPhone friendly. I say iPhone friendly because I’m not convinced (sorry Blackberry and Droid) any of the other platforms amount to a significant amount of users to cater to.

Two different strategies were employed and I thought it might be fun to share them. The first is based on a technique I’ve been using for years via simple Flash Player detection. The second, uses SWFObject 2.2 and displays a non-Flash equivalent of my Flash elements for any user without an active Flash Player. Each have their merits; their pros & cons and therefore it is up to you whether or not they fit your situation.

I’ve even found a third that uses Regular Expressions to detect the use of a mobile device and redirect users to alternate pages. I decided to reject this approach because I don’t want to maintain multiple versions of my content for a given percentage of users – especially when there are alternatives for almost all scenarios. If you want to know more about how to detect mobile devices for a variety of platforms  via regex, visit http://detectmobilebrowser.com

Regardless of the method, there are two things you need to do for iPhone users. One is a META tag that needs to be inserted into your pages and the second is a CSS style inserted into your style sheet. Here are some examples:

META | The WIDTH value is whatever width your actual content container happens to be
<meta name = “viewport” content = “width = 960″>

CSS | Because the iPhone uses a full version of Safari, the device type isn’t “handheld” – it is screen, just like your laptop computer. Apple didn’t want their users to get the handheld versions of websites, but rather enjoy the full version of the site. So, adding a new CSS file with the “handheld” designation won’t change the appearance of your site on the iPhone. I’m not saying that you shouldn’t develop a handheld version of your CSS as part of your usability strategy, but it won’t do anything for your iPhone users.

Make this the last entry in your CSS file. As you can see, I’m overriding several styles if the screen width has a maximum width of 480px. Put whatever styles you need in here to make the iPhone version readable.
@media only screen and (max-device-width: 480px) {
body,td,th {
font-size: 12px;
}
.page-content {
line-height: 22px;
padding: 4px;
color:#FFFFFF;
font-size:16px;
}
}

If you’re interested in the Flash Detection method, read THIS POST outlining it. If you’d rather employ the SWFObject method, I’ve covered it in THIS POST.

I don’t have time

One of my favorite songs these days is “How He Loves Us” – written by John Mark McMillan. The song was born out of a response to tragedy in John Mark’s life, but I find it very effective in getting me to that place of worship when I’m willing to be still and quiet.

In the song, there’s a line that hits me in the gut each and every time…

I don’t have time to maintain these regrets,
When I think about, the way…

In the time it takes for me to hear these words all of the mistakes I have made and am making come to mind while the cleansing blood of my savior washes over me leaving me clean and forgiven. I marvel each time and can’t get enough.

The truth is – regrets get you moving in the wrong direction…away from God. Regret’s close cousin, shame, is right there to ensure that you stay there. But the Truth is that in Christ, regrets and shame are vaporized by grace and mercy. Regret and shame are tools used to keep us (and others for those of you that use these to “motivate” people) from living.

John Mark reminds us that life is too short to have regrets and allow shame to rule us and we must drink deeply of His love, stand from the dust and move forward again. What a miracle…thanks John Mark McMillan.

My “normal” kids

Kiddos

What a weekend we’ve had – full and great! Friday evening was pretty routine except that we chose to dine out at the best fast-food restaurant on the planet – Chic-Fil-A. Great food and a great study in marketing if you’re into that like I am, but I digress…

Saturday started off pretty good. A trip to Wally World with the kids while my wife stayed behind to vacuum (kids present doesn’t make for ideal dirt-nabbing conditions). Normally, I like to go to the store, but normally, it is just me and the boy. Add one 14-month old to the mix and you’re all of a sudden trying to play a zone defense in a store that acts like a third opponent. By the end of the 90-minute ordeal, I was just about done and it wasn’t even 10:00am yet!

Sound familiar? Yes? That’s great, but more on that in a minute.

Saturday was also host to one of TWO birthday parties for the boy because trying to cram everyone into one big party at our house would involve a paddy wagon for me and the Mrs. This party was just for family, and the cousins were the main attraction. Before they arrived, we thought it important that the kids take a nap. No problem for the little one – she’s a great sleeper, but the boy fought it the whole way. He was simply too excited to see his cousins and couldn’t wait to run and play like banshees. I’m sure you can relate…right? That’s fantastic!

The party came; presents were ripped open; and grandma’s cake was eaten (mostly just the icing) while I watched with pride. All of this was very normal for a family that has its roots in some very abnormal beginnings. Adoption is anything but normal, but my kids and the relationship we have with them is just like any other and that makes me swell up even more.

God is the great normalizer – taking the absurd and changing it to the amazing and making it feel like it should have been that way all along. I’m grateful to my Father for my family. I couldn’t have designed it any better with a million years time. Oh, we have our encounters with the world where we are reminded of the special DNA of our family, but that only keeps us grounded and ensures that He gets the credit for it all.

Page 11 of 12« First...«89101112»