Posted on Leave a comment

Making a website look good on all devices

N.b. Be sure to read this.

Responsive design is actually pretty straight forward. Use standard practices and don’t overcomplicate your html. But when we start to tweak something here or there, you quickly find yourself having to make sure that the code has adjustments for various devices. What does this mean to your programmer? Basically having to make changes to all of these:

/*********** Phones and handhelds ***********/
/*********** iPhones ***********/
/* ----------- iPhone 4 and 4S ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {

}

/* ----------- iPhone 5 and 5S ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {

}

/* ----------- iPhone 6 ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2) { 

}

/* Portrait */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) { 

}

/* Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) { 

}

/* ----------- iPhone 6+ ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3) { 

}

/* Portrait */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) { 

}

/* Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) { 

}

/*********** Galaxy Phones ***********/
/* ----------- Galaxy S3 ----------- */

/* Portrait and Landscape */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 2) {

}

/* Portrait */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 2) 
  and (orientation: portrait) {

}

/* Landscape */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 2) 
  and (orientation: landscape) {

}

/* ----------- Galaxy S4 ----------- */

/* Portrait and Landscape */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) {

}

/* Portrait */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: portrait) {

}

/* Landscape */
@media screen 
  and (device-width: 320px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: landscape) {

}

/* ----------- Galaxy S5 ----------- */

/* Portrait and Landscape */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) {

}

/* Portrait */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: portrait) {

}

/* Landscape */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: landscape) {

}

/*********** HTC Phones ***********/
/* ----------- HTC One ----------- */

/* Portrait and Landscape */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) {

}

/* Portrait */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: portrait) {

}

/* Landscape */
@media screen 
  and (device-width: 360px) 
  and (device-height: 640px) 
  and (-webkit-device-pixel-ratio: 3) 
  and (orientation: landscape) {

}

/*********** Tablets ***********/
/*********** iPads ***********/
/* ----------- iPad mini ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* ----------- iPad 1 and 2 ----------- */
/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {

}

/* ----------- iPad 3 and 4 ----------- */
/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 2) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 2) {

}

/* Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 2) {

}

/*********** Galaxy Tablets ***********/
/* ----------- Galaxy Tab 10.1 ----------- */

/* Portrait and Landscape */
@media 
  (min-device-width: 800px) 
  and (max-device-width: 1280px) {

}

/* Portrait */
@media 
  (max-device-width: 800px) 
  and (orientation: portrait) { 

}

/* Landscape */
@media 
  (max-device-width: 1280px) 
  and (orientation: landscape) { 

}

/*********** Nexus Tablets ***********/
/* ----------- Asus Nexus 7 ----------- */

/* Portrait and Landscape */
@media screen 
  and (device-width: 601px) 
  and (device-height: 906px) 
  and (-webkit-min-device-pixel-ratio: 1.331) 
  and (-webkit-max-device-pixel-ratio: 1.332) {

}

/* Portrait */
@media screen 
  and (device-width: 601px) 
  and (device-height: 906px) 
  and (-webkit-min-device-pixel-ratio: 1.331) 
  and (-webkit-max-device-pixel-ratio: 1.332) 
  and (orientation: portrait) {

}

/* Landscape */
@media screen 
  and (device-width: 601px) 
  and (device-height: 906px) 
  and (-webkit-min-device-pixel-ratio: 1.331) 
  and (-webkit-max-device-pixel-ratio: 1.332) 
  and (orientation: landscape) {

}

/*********** Kindle Fire ***********/
/* ----------- Kindle Fire HD 7" ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 800px) 
  and (max-device-width: 1280px) 
  and (-webkit-min-device-pixel-ratio: 1.5) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 800px) 
  and (max-device-width: 1280px) 
  and (-webkit-min-device-pixel-ratio: 1.5) 
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 800px) 
  and (max-device-width: 1280px) 
  and (-webkit-min-device-pixel-ratio: 1.5) 
  and (orientation: landscape) {

}

/* ----------- Kindle Fire HD 8.9" ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1600px) 
  and (-webkit-min-device-pixel-ratio: 1.5) {

}

/* Portrait */
@media only screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1600px) 
  and (-webkit-min-device-pixel-ratio: 1.5) 
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1600px) 
  and (-webkit-min-device-pixel-ratio: 1.5) 
  and (orientation: landscape) {

}

/*********** Laptops ***********/
/* ----------- Non-Retina Screens ----------- */
@media screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1600px) 
  and (-webkit-min-device-pixel-ratio: 1) { 
}

/* ----------- Retina Screens ----------- */
@media screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1600px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (min-resolution: 192dpi) { 
}

/*********** Wearables ***********/

/*********** Apple Watch ***********/
/* ----------- Apple Watch ----------- */
@media
  (max-device-width: 42mm)
  and (min-device-width: 38mm) { 

}

/*********** Moto 360 Watch ***********/
/* ----------- Moto 360 Watch ----------- */
@media 
  (max-device-width: 218px)
  and (max-device-height: 281px) { 

}
Posted on Leave a comment

Smashing Morning

I woke up this morning feeling very groggy. Not hung over. I didn’t drink that much. Just that ache of exhaustion punishment on the body after giving in to a decent night’s sleep.

I approach the coffee maker and there is plenty of water but I think it would be nice to fill it up so Cathy has enough for her coffee. In the process, the cup that I use to transfer water into the reservoir slips from my hand landing perfectly on a vase with the correct angle and velocity to shatter the vase into a million pieces.

Cathy’s response? "Oh, that’s just from way back when you used to bring me flowers. It’s no big…wait, I’m devastated! Only a Starbucks will make me feel better."

Posted on Leave a comment

Autonomous cars are so close to reality

When I declared automated cars to be on our roads within 5 years and highly adopted in 10 years with private transportation becoming obsolete in 15-20 years, my friends looked at me like I was nuts and an overoptimistic technologist.

Mark my words, a transportation revolution is happening and most people are completely unaware how fast it is coming.

Telsa has joined the ranks of autonomous vehicles: Tesla Testing Software For Autopilot Trips Between Seattle & San Francisco

Elon Musk’s promise to deliver a fully functional self-driving car within the near future appears to have some truth to it — it seems to have not been an exaggeration, in other words (despite his habit of overstating things). The company has reportedly begun testing software that will allow the Model S to “drive itself” all the way from San Francisco to Seattle.

[Source, Clean Technica]

I so welcome it. The ramifications of autonomous vehicles is huge! Think of the infrastructure changes alone:

  • No more parking lots. (turn mall parking lots into actual parks)
  • No more signage = prettier cities.
  • No more painted roads.
  • Narrower and fewer roads = less maintenance, less environmental impact.
  • No more DUIs.
  • No more road rage.
  • No more divided highways (the cars negotiate the number of lanes each direction as demand dictates)
  • No more stress of ownership (ie. no more insurance, unexpected repairs when payday is still weeks away, worry over other’s ruining your vehicle by running into you)
  • No more accidents.
  • The elderly can become mobile again.
  • Special needs (mentally, disabled, blind, etc) people who previously could not drive will have refound freedom.
  • Greater quality time on commutes. (Trips to work can be productive. You can sleep on the long commute to granny’s house. Practice guitar while passengering to that gig. Play cars with your child instead of demanding they play the alphabet game once more time.)
  • Moving vans delivered to your door. (Want to move a bedroom suite from Cincinnati to Knoxville? Have Penske autodeliver a truck to the house in Knox then let the truck take you to Cincinnati, load, and the truck returns you or better yet just send the truck to Cincinnati and have locals load it.)

So many possibilities!

Posted on Leave a comment

Getting thrify

I have decided to become a bit more thrifty. Once upon a time some blue moon ago I couponed. Not like Coupon Katie or the serious couponers but enough to make a difference. I am redoubling my efforts! Yesterday I used 2, count em, 2 coupons! Yeah me.

Posted on Leave a comment

Power tools under used (mostly to look at pictures of cats)

Q: If someone from the 1950s suddenly appeared today, what would be the most difficult thing to explain to them about life today?

A: I possess a device, in my pocket, that is capable of accessing the entirety of information known to man.
I use it to look at pictures of cats and get in arguments with strangers. (by user nuseramed)

[Source, Reddit, AskReddit]

I purchased the Omnigroup tools to get my professional (and personal) life in order. I am now heavily using Omnifocus and loving it! One of my favorite features of Omnifocus is the location based reminders. I can set a reminder for the Office so that when I arrive at work, the reminder pops up on my phone (and in turn on my Pebble watch). Now wait, doesn’t the iPhone have this same functionality in its built-in Reminders app? Yes it does! But I’ve never used it. Omnifocus differs from Reminders in functionality. Apparently the iPhone Reminders app has a tighter radius on the location awareness. Back to function. Reminders is simply a reminders list. Omnifocus is adaptable to whichever productivity management style you have. It was written primarily with Getting Things Done in mind but will work well with Covey’s First Things First and many of the other productivity structures out there.

I find myself leaving my Narrative camera at the office frequently. Today I decided to setup a location aware reminder in the iPhone Reminders app to warn me when leaving the office with a daily reminder "Got Narrative?"

Why did I choose Reminders over Omnifocus? Simply because when I look at my list of daily todos, I do not want it cluttered with a recurring reminder to do simple things. However, I want that daily reminder to do simple things and this is a fantastic use of Reminders. I will be using this heavily now. I will use the location aware contexts of Omnifocus for important reminders that do not regularly recur such as "Drop child’s lunch check off at the elementary school" which would pop up as I drove by the school on the way to work.

We have these amazing tools for enhancing our lives but rarely exploit a fraction of their full potential. I bet your DSLR has a manual’s worth of menus and settings you’ve never even thought to explore. When I speak of smart homes, automation, and a technological society, these simple tools like the iPhone’s Reminders program are much of what I am referring to.