Got a glitchy photo? Don’t give up!

You’ve got a photo that looks great on the camera display, but when you open it on your computer the image looks ruined, as if someone applied a glitch effect to it. Don’t panic! You might be able to save the picture. When I photographed the ruins of an 1950s air raid siren on a tower, I returned to my computer and one of the images I liked the most appeared like this in Adobe Photoshop Lightroom: First corrupted image import This is not good. When you see a pattern of strangely colored rectangles over part or all of a digital photograph, sometimes with rough stripes running through them, that’s a sign that the image data is corrupted. It’s messed up and unusable. I didn’t panic, because after thinking it through I realized that there was a chance that the file corruption happened while reading the card or transferring the image to the computer. If that was true, the original image data on the card might be OK, and the photo might transfer properly if I try again. And that’s what I did. I copied the photo from the card to the computer again and got this: Second corrupted image import At first, that looks like bad news. This one’s also corrupted. But wait a minute: It isn’t corrupted in the same way. That could mean that the corruption really isn’t in the original, because if it was, I’d expect the result to look exactly the same. This encouraged me to give it another try: Third image import is good Aha! As they say, the third time’s the charm. The image was perfect. The hope I had clung to was correct: The original image was good after all, I just needed to complete a successful transfer of it. What went wrong? I’m still not sure. If it had continued to fail I might have tried my other card reader to see if it did any better. As it is, I don’t know if it was the card reader, the cable, or what. There are a few lessons to take away from this.

  • Verify your images after the shoot by looking through them on a computer or other device. If they are camera raw images, look at the previews generated by your raw processor. For the images above, the JPEG preview image attached to the raw file by the camera looked fine; it wasn’t until Lightroom read through all the raw data and produced its own preview that the problem was evident.
  • If it looks like you might have a corrupted image, it might be worth it to keep trying to copy it off the card until it works.
  • To preserve the option to copy the image again, you must not erase or format the camera media until you verify the images on your computer. If I had formatted the camera card immediately after import and before I discovered the problem, I would not have been able to go back and try again.

The card I used is relatively new, so there is still a chance that there’s something wrong with it. My next step with the card will be to format it in the camera. Hopefully that’ll help fix whatever went wrong. If it starts happening again, I’ll have to troubleshoot using process of elimination to find out whether the problem is in the card, the card reader, or the USB cable.

Discovering a time lapse video in long exposure stills

One of the most important tools for creativity is keeping an open mind. While reviewing a photo shoot of long exposure still photography, I uncovered an even more fun project hiding among the images.

Finding an unexpected animation

I got together with some friends at night to experiment with long exposure light painting. I played with a flash with a blue gel on it, glow sticks, and with a headlamp set to its red LED. The exposures were 30 seconds long, which was long enough to experiment with both multiple flashes per frame and colored trails from moving light sources.

When I got back I did what any other photographer would do: dump the photos into the computer and look through them. For me, this means finding the best version of a picture by opening Adobe Lightroom and pressing arrow keys in the Library module to flip through picture after picture. As I did this, I noticed that the images formed a kind of animation. I didn’t expect this.

The shoot was supposed to be about creating multiple versions of an idea for a single still image. But when I shot multiple takes of a 30-second exposure, each take just happened to be about the same interval of time after the previous one. Although the even time spacing between frames was not intentional, that’s why the long exposure frames made visual sense as an animation when viewed one after the other.

Creating the video

Having discovered a potential animation in my images, the next step was to be more intentional about it and make it into an animation. I turned to Adobe Premiere Pro video editing software because I can edit quickly in it.

Premiere Pro doesn’t import raw files so I exported JPEG versions from Lightroom. I dragged the JPEG versions from the Lightroom Grid view and dropped them directly into the Project view in Premiere Pro, and Premiere imported the stills into the project. In the Project view you can arrange media before you create a sequence out of them. And when you use the Automate to Sequence feature, whatever’s selected in the Project window becomes a sequence and you can set the interval between still frames. Or you can just create a sequence and drag the stills into it manually.

Creating a sequence from still images using Automate to Sequence in Premiere Pro

In the timeline I adjusted the timing of the stills, and inserted cross dissolves between the frames to visually merge them together more effectively.

Sequence of still images with cross dissolves transitions

I liked how the stills looked when I played them forward and backward back in Lightroom, so after creating a sequence out of the stills in Premiere Pro I created another sequence, dragged the first sequence into it twice, and reversed the direction of the second instance. You see this in the final video where each short series of frames is played forward and backward, first slowly and then quickly. To achieve this I played with speed, forward/reverse direction, and repetition until I liked how the visual rhythm felt.

Creating the master time lapse sequence in Premiere Pro

My digital SLR camera is like most in that it shoots frames with an aspect ratio of 3:2, but I wanted to create a 16:9 HD video. While the building block sequences were made at the native 3:2 aspect ratio of the stills, the master sequence is set to 16:9 at 1920 x 1080 pixels for TVs and phones, with the 3:2 aspect ratio still sequences composed within it. By doing this I always had total flexibility to adjust the composition by scaling and cropping. If I had cropped to 16:9 from the beginning it would be much more difficult to refine the composition later.

I composed the music in Ableton Live and imported the track into Premiere Pro. I then exported the final video using a YouTube preset and uploaded that to YouTube.

Creating the animated GIF version

I thought this video would work well as an animated GIF image. But unlike a video, an animated GIF image has no sound and is often most effective if it loops. That means it’s usually best to edit the video for animated GIF viewing instead of simply exporting a video as an animated GIF. This was easy to do in Premiere Pro.

First I duplicated the master video sequence and renamed it as a master for the animated GIF image. I deleted the audio and edited down the sequence to be shorter and to optimize it for looping.

Creating an animated GIF sequence in Premiere Pro

Premiere Pro doesn’t export animated GIF images in OS X, so I exported an H.264 version and opened it in Photoshop, where the video appeared in the Timeline. From there I used the File > Save for Web command to tune the GIF color table, turn on looping, optimize for file size, and to save the final animated GIF image.

Exporting an animated GIF image from Photoshop

I posted the final animation to the Google+ social network, where many visual artists like to post animated GIF images. Animated GIF images don’t play on Facebook.

Animated GIF image derived from video

Because I set the animated GIF to loop it didn’t seem appropriate to interrupt the loop with conventional titles. While I was still in Premiere Pro I removed the opening title and end credits that were in the original video, and replaced them with a constant faint watermark in one corner. The constant watermark helps ensure that attribution is present even if the animated GIF was hosted or shared far from its original site.

It was fun to discover the possibilities for video and animation in a project that was originally intended to produce still images, and this was a great exercise in efficiently re-sequencing stills for multiple types of motion media.

Using the Samsung 840 EVO SSD Performance Restoration Software on a Mac

A few months ago Amazon had a great deal on the Samsung 840 EVO SSD, and I took the opportunity to upgrade my aging MacBook Pro with it. Replacing the original hard drive was quick and easy, and the improvement in performance was obvious and profound. Anything involving disk access now seemed instantaneous.Samsung 840 EVO SSD in MacBook Pro Soon after, I read on Anandtech that Samsung acknowledged a serious performance bug with the 840 EVO SSD that would dramatically slow down read performance for data that had not been rewritten in a while. The bug fix came out in October 2014, first as a Windows application, and with a Mac/Linux version promised by the end of October. As a Mac user I naturally waited until the Mac version came out and fortunately it became available for download a few days before the end of October.

You can download the Samsung Performance Restoration software from the Samsung SSD US Solid State Drive Downloads web page. Note that to fix the performance bug, you must download the updater from the “Samsung SSD 840 EVO Performance Restoration Software” section, not the “Samsung SSD Firmware Updates for Mac Users” section.Samsung 840 EVO Performance Restoration Software on Samsung SSD downloads page

But the Mac updater came in a form I didn’t expect. While the Windows version is a point-and-click Windows application that lets you use the computer while it works in the background, the “Mac/Linux version” is actually a command line utility and has to be installed on a CD or USB drive that you can boot the Mac from. But the Mac version does not run under OS X, so you can’t use any solution that involves a drive that boots into OS X. That means you have to come up with a bootable non-OS X USB flash drive or CD, something that can be challenging for a computer user who has limited or no experience with a command line.

(Almost) creating a bootable USB flash drive with the fix

I first thought I could just download the “Bootable USB disk” version of the software (Samsung_Performance_Restoration_USB_Bootable.zip) and image it onto a USB flash drive. But the Samsung “Bootable USB disk” version isn’t actually bootable on a Mac from a USB flash drive. It contains only the Samsung utility, no bootable operating system of any kind. After looking up various instructions on the Web I was able to use Terminal to copy the image to a USB flash drive I formatted as MS-DOS FAT, but the drive was not visible in the list of volumes you get when you hold down Option while starting up a Mac, even after I found FreeDOS and added that to the disk image. A little more research revealed that you can’t boot a Mac from a USB flash drive unless it has the right EFI boot loader on it, and that isn’t included with either the Samsung updater or FreeDOS. You have to find the bootable USB flash drive software and figure out how to put it together on your own. Samsung actually warns you about this in the accompanying Installation Guide (PDF):

If you use a USB device 1) Please set your USB drive into a “bootable” state before starting the Performance Restoration software. 2) For assistance on completing this step, please refer to USB boot utilities from a trusted internet site.

Thanks a lot, Samsung. Basically this means if you don’t have the technical expertise to set up your own bootable USB flash drive, which usually requires Terminal commands, you’re out of luck with the USB flash drive option. (A couple months ago I successfully used the Terminal to copy another company’s DOS software onto a USB flash drive that did boot my Mac, but that’s because that company first made sure their disk image had everything necessary to boot a Mac. Samsung didn’t.)

While I’ve been using computers long enough to be the guy that my friends turn to for troubleshooting OS X and Windows and installing hardware upgrades, my Terminal skills are limited. I had already spent some time trying to figure out the bootable flash drive question and I probably could eventually, but after trying a few things that didn’t work I decided my time is better spent on other things. And I was thinking of all those other users who never even go near the Terminal: What should they do?

This is where I’ll ask for your help. If you know how to easily use OS X-based tools to create a bootable USB flash drive that can load a DOS-based (not OS X-based!) updater, or at least how to modify the Samsung or FreeDOS disk images so that the Mac can boot off it and the Samsung software will run, please post your instructions or links in the comments at the end of this article. Bonus points if it can be done with point-and-click (not Terminal) steps!

Update: Here is a possible solution. I haven’t tried it yet. Tutorial USB bootable SSD Firmware SAMSUNG 840 EVO (French, link is Google Translate for English). Also, readers are starting to add ideas to the comments, so check there too.

Creating a bootable optical disc with the fix on it

My MacBook Pro is old enough that it still has an optical drive, so I decided it was time to try the bootable optical disc option instead. I grabbed an old CD-RW (others have successfully used a writable DVD) and used the Quick Erase feature of Apple Disk Utility so that I could reuse it. Then I got ready to burn the Samsung ISO image to the disc. If you haven’t done this before you might find steps on the Web that tell you what Terminal commands to type, but I decided to see if I could simplify those steps far enough to avoid using the Terminal, and I was able to. The only software you need is Disk Utility, which is already on your Mac. These were my steps:

  1. At the Samsung downloads page, download the “Samsung_Performance_Restoration.iso” disk image.
  2. Rename the disk image filename extension so that the filename reads:
    “Samsung_Performance_Restoration.dmg”
    If you don’t rename the disk image, Disk Utility will just burn the single unopened ISO file onto the disk, and that’s not bootable. But when the disk image has a .dmg extension, Disk Utility will make the optical disc identical to the contents of the disk image, which is what you do want.
  3. In Disk Utility, choose Images > Burn, select “Samsung_Performance_Restoration.dmg” and click Burn.
  4. Put the blank optical disc in the optical drive and finish burning the disc. When you’re done it should look like this:
    Samsung Performance Restoration software successfully burned to a CD

You can then continue below.

Running the update

Depending on the size of your SSD the update process may take an hour or two, and once you start it you must not interrupt the process. It shouldn’t erase data, but with an operation like this you never know. So before you get started:

  • Back up the entire drive. If you are using Time Machine and its last backup was a few minutes ago, you should be set. Also, make sure you understand how to restore the entire drive from the backup.
  • Run the fix only when you won’t need to use the computer for a few hours.
  • If it’s a portable Mac, be sure it’s plugged into AC power since the process could take a long time to complete.
  • If FileVault is turned on, turn it off. The tool won’t work if the drive is password protected. (An OS X user account password is OK, you don’t have to remove that.)
  • Read the section “General Limitations” in the software’s Installation Guide for additional cautions.

To use the bootable media, insert it and then restart the Mac while holding down the Option key. This displays the list of connected bootable volumes. Select the volume with the update on it (in my case the CD) and press Return. (You should also be able to boot directly into a CD or DVD by holding down the C key as the Mac starts up.)

From this point on, the Samsung Performance Restoration utility takes over and works pretty much as it says in the Installation Guide. If you haven’t used DOS-based software, be aware that it’s all keyboard-based so forget about the trackpad or mouse, and pay attention for times when it asks you to do things like press the “y” (for Yes) key or press the Enter key.

The tool first installs a firmware update on the drive itself. When the tool says “Downloading Firmware…” I assume it means it’s downloading the firmware from the bootable media into the drive and not actually downloading over an Internet connection, but I’m not sure.Samsung Performance Restoration utility progress after firmware updateWhen the firmware update is done, the software goes through a two-step process which includes recalibrating all the data on the drive. This can take a while and it depends on how big your SSD is. For my 1TB SSD, it took about two hours total. Do not interrupt the process. One odd thing is that the Start Date and Start Time on the screen were three hours ahead of the actual computer clock, I don’t know why.Samsung Performance Restoration utility with all steps fully completedWhen it says “Samsung SSD 840 EVO Performance Restoration completed,” it’s safe to restart the Mac. At this point you can just hold down the Power button on your Mac until it turns off, then press the Power button again to start back up. If you want to eject the optical disc, hold down the mouse or trackpad button during restart and the Mac will pop out the disc before it even gets to the desktop.

If you want to read a more technical yet reasonably simple explanation of the bug, read the AnandTech article Samsung Releases Firmware Update to Fix the SSD 840 EVO Read Performance Bug. For even more detail about the bug, the solution, and the update process, I recommend the article Samsung 840 EVO Performance Restoration Tool preview – Getting EVOs back up to speed at pcper.com.

After the update

I was very relieved to find that the Mac rebooted right back into the regular OS X login screen and everything seemed to work just fine. Running the Samsung utility did not erase data, so I didn’t have to restore from a backup. I still took the precaution of running DiskWarrior on the SSD just to make sure the disk directory was OK (you can also use the Repair Disk feature of the First Aid tab in Disk Utility). Also, if you turned off File Vault as I did, remember to turn it back on.

Once you run the Samsung Performance Restoration software the fix is permanent, and you can’t run the updater a second time on the same drive, so you can go ahead and reformat and reuse the optical disc or USB flash drive you used to apply the Samsung Restoration software.

I know that optical drives are almost nonexistent in the currently available new Macs, so while the CD option worked for me I hope someone can shed light on how to create that bootable USB flash drive so that this article can be useful to more people.

OS X 10.10 Yosemite: Will Adobe software work?

OS X 10.10 desktop, courtesy Apple Inc.

Now that OS X 10.10 Yosemite is available as a free upgrade from the Mac App Store, you’re probably wondering how well your Adobe software and other Mac apps will run on it. Below is a summary of various reports I’ve read on Adobe.com and around the web. I’ll continue to update this article as I find out more. The good news is that upgrading to Yosemite seems to cause fewer compatibility challenges than some earlier OS X upgrades did.

Yosemite and current versions of Adobe software

Adobe FAQs: Adobe has published a tech note, Mac OS X Yosemite (10.10) compatibility FAQs. It contains links to additional information, so be sure to expand each of the FAQ questions there. On that page Adobe says “The latest versions of all Adobe CC products are compatible” and that no updates are required to run Adobe CC products on OS X 10.10 Yosemite.

The Adobe FAQ says “In our testing we have found no other significant issues with running Creative Cloud products with OS X Yosemite,” but with every OS X release things have turned up. I add them to this article as I come across them.

Lightroom 5: The Maps module may not work properly in Yosemite. Maps may load slowly, or fail to load completely. According to an Adobe statement at Photoshop.com (Lightroom: Issue with Map module in OS X 10.10 (Yosemite)), the problem is apparently related to an Apple change in Yosemite that interferes with retrieving map data from Google Maps, and Adobe is working with Apple to fix this.

Lightroom Maps module with missing map sections in Yosemite

InDesign: InDesign generally seems to run fine on Yosemite, but some users have seen a crash in Open/Save/Export dialog boxes. While speculation in that linked forum discussion suspects a Finder plug-in installed by Dropbox, it could be related to the Default Folder utility (see below). [Update: Dropbox has notified customers that OS X 10.10 has a crashing bug that affects Dropbox integration with Open/Save dialog boxes. They say Apple fixed this bug in the OS X 10.10.1 update.]

After Effects: The After Effects team has also published a blog post about Yosemite compatibility, After Effects good to go with Mac OSX v10.10 (Yosemite). In it they say that they tested After Effects CS6 through After Effects CC, and while those versions mostly run fine, a few minor issues are listed at the end of the article including a long first-time startup for Adobe Media Encoder.

Plug-ins: If you rely on any non-Adobe plug-ins, make sure those plug-ins are compatible with Yosemite. A plug-in that is not compatible with Yosemite may prevent its host Adobe app from starting up.

Default Folder: While this very useful utility is not by Adobe it modifies the Open/Save dialog boxes, and the release notes for version 4.6.11 say “Fixed a problem that could cause Carbon applications to crash on some machines running Yosemite. This included Adobe Creative Cloud and Microsoft Office applications, among others.” If you use Default Folder, run the updater from Default Folder preferences or download the latest version from the St. Clair Software web site.

Upgrading to Yosemite with older Adobe software or from earlier versions of OS X

If you’re upgrading from OS X 10.9 Mavericks or OS X 10.8 Mountain Lion you probably won’t run into problems. But if you’re making a bigger jump from an earlier version of OS X, or from Adobe software earlier than CS6, you may find issues that affect your migration. In many cases you can clear up problems by reinstalling the Adobe software.

Note that CS2 applications, including Photoshop, were written for Macs with PowerPC CPUs. OS X 10.10 Yosemite only runs Intel CPU-compatible software, so Yosemite will not allow CS2 to run or install. Adobe CS3–CS5 applications may run but Adobe did not test them extensively on Yosemite.

Photoshop: The Photoshop team has published their own blog post about the OS X upgrade, Photoshop & Mac OSX 10.10 (Yosemite). In it they say that they tested Photoshop CS6 through Photoshop CC and found no issues. However, the comments section of that post contains a lively discussion of issues some users are running into. For example, it has been discovered that the Yosemite installer might corrupt an existing Photoshop CS5 installation; if this happens reinstall Photoshop CS5 and then it should work.

In Photoshop CS6 in OS X 10.8 through 10.10, if you are having problems with keyboard shortcuts or brushes, including lags when painting, and especially with a Wacom tablet connected, you may need to install the “white window workaround” plug-in and try updating your Wacom driver. Adobe is reportedly working with Apple and Wacom on the problem.

Although Photoshop CS3, CS4, and CS5 were not extensively tested on Yosemite by Adobe, I upgraded a test Mac to Yosemite with those versions of Photoshop already installed and have been able to run them. License activation and deactivation work fine. However, I have not had time to try printing or serious editing with them.

Photoshop CS3 working in OS X Yosemite.

Photoshop CS3 is the oldest version that works in OS X Yosemite.

Update from reports in the comments, also reported at the official Photoshop Feedback site: Photoshop CS5 will crash if you try to create a custom paper size in the Print dialog box. A workaround is to create the custom paper size in any other program in Yosemite, and then go back to Photoshop CS5 and choose the custom paper size.

Photoshop Elements 11 or 12 may slow down or become unresponsive in Yosemite. In the tech note Photoshop Elements stops responding after Mac OS update to Yosemite, Adobe says this is a problem related to the trackpad and can be worked around by using a mouse. Apparently this is not a problem in the current version, Photoshop Elements 13.

Illustrator: There are some reports that the Type menu font previews in Illustrator may not appear in Yosemite. The reported workaround is to go into the Accessibility pane of System Preferences and select Reduce Transparency. It wasn’t clear which versions of Illustrator are affected.

An application won’t start: Two possible reasons for pre-CC versions to not launch in Yosemite are Java not being available, and having non-Adobe plug-ins that aren’t compatible with Yosemite. See the topics Java requirement below and Plug-ins above.

Java requirement: When launching some older Adobe software for the first time in OS X, OS X may say that a Java runtime needs to be installed. If a button is provided, click it; if not download the Java installer from the Java for OS X 2014-001 page at Apple Support and install that. Note: Sometimes when you visit that Java for OS X link, you get a blank page. I don’t know why that happens, but that link seems to work again after you first load the apple.com/support page. If that doesn’t work, try this direct download link: Java for OS X 2014-001 download

Install legacy Java SE 6 runtime

Some users have reported that the Adobe launch issue is not fixed until you reboot a second time after the Java installation. Also, some report that earlier versions such as CS3 are not working with the latest version of Java (currently Java 8), but it does work if they install Java 6, which is provided by Apple in the link above.

While it’s understandable why some avoid installing Java due to its security issues, OS X won’t let some Adobe applications launch without it. In the case of Photoshop, Adobe says Photoshop doesn’t need Java at all, but OS X puts up the message anyway.

OS X Gatekeeper may prevent older Adobe software from starting: Gatekeeper is an Apple security feature (added in Mountain Lion) that helps protect you from running malicious applications. If you run Adobe software released before Gatekeeper, you should know what to do if Gatekeeper prevents Adobe software from starting. Adobe covers that in this tech note: Error “has not been signed by a recognized distributor” | Launch Adobe applications | Mac OS. The short answer is to bypass the error by right-clicking the application icon, then choose Open from the context menu.

Adobe software released after Gatekeeper was introduced properly conforms to Gatekeeper requirements, so no adjustments are needed for them.

Intel compatibility required: If your Adobe software is earlier than CS5, to run under Yosemite at all it must support Intel processors. After Apple switched to Intel-based Macs, Apple started phasing out support for running software based on the older PowerPC processors. Starting with Mac OS X 10.6 Snow Leopard, Mac OS X no longer runs PowerPC-based software. You’ll have to check compatibility for each of the Adobe applications you want to run; for example, Photoshop CS3 was the first version of Photoshop that ran on Intel-based Macs. But even if your software older than CS5 runs on Yosemite, it may still have other issues because OS X has changed a lot since then.

Upgrading from Mac OS X 10.6 or earlier: You may also want to read my blog post “Mac OS X 10.7 Lion: Will Adobe apps and other software work?”, so that you can also be up to date on the more dramatic changes that were introduced in Lion, such as the end of OS X support for PowerPC-based software.

General compatibility and other info

To learn about OS X software compatibility of Mac software in general, one resource is the Roaring Apps database. It lists OS X software and its reported compatibility with the last few versions of OS X, and it’s crowdsourced from user reports which are said to vary in reliability. As always, for any software that you cannot afford to be without, you should do two things: Check that company’s support website to verify compatibility, and also set up a test installation of Yosemite on a separate volume (like a spare hard drive or even a large enough USB flash drive) to run tests with your own files, peripherals, and workflows.

Wondering what Yosemite is all about? For the most in-depth Yosemite review you’ll probably find anywhere, read John Siracusa’s review at Ars Technica. As with every major release of OS X, Siracusa not only reviews the visible features that Apple promotes, but goes under the surface to explain changes to some of the underlying technologies in OS X and how they affect your Mac experience.

TRIM support for third-party SSDs: If you replaced your Mac’s original internal drive with a solid state drive (SSD), depending on the brand it may be a good idea to enable a feature called TRIM for better long-term performance. However, due to changes Apple made in Yosemite to increase the security of OS X, you can’t enable TRIM in Yosemite without compromising certain aspects of OS X security. For the details, see Trim Enabler and Yosemite by Cindori Software, creator of the Trim Enabler utility.

10-bit video displays: For many years, Photoshop users and other graphics professionals have wanted proper support for 10-bits-per-channel video displays on Macs. (This isn’t about the file format, but the data path to the video monitor.) While 10-bit-capable displays, graphics cards, cables, and software (such as Photoshop) have been ready for some time, Apple has not provided the necessary APIs to complete the chain. As far as I know, there is nothing in Yosemite or even the new Retina iMac to indicate that this has changed.

Rethinking the Pixel: It’s All Relative Now — CreativePro.com article

How big is a pixel? It’s widely thought that a pixel is the smallest dot that screen hardware can physically display: One pixel is one pixel. That was safe to assume for over a quarter century because the pixel density of most of our screens was stuck between 72 and 120 pixels per inch (ppi) during that era, even while everything else about our computers got exponentially faster and bigger. But screens would finally make their move, and for designers that would change how a pixel is defined.

Want the whole story? Click the link below to read my article at CreativePro.com:
Rethinking the Pixel: It’s All Relative Now

Rethinking the Pixel: It’s All Relative Now