Monday, January 28, 2013

Mac Mini i5 and CS6

So I'm not the typical user of machines when it comes to computers. I abuse computers, put them through their paces and once it seems like that's all that I could do to a machine I cram in more storage, beef it up and make it run that much faster and squeeze every last bit of processing power out of it. That being said I've long been in favor of machines that could do what I needed and allow me to upgrade them beyond belief.

The Beast
About 4 years ago I was in the market for a new machine and had my eye on the multi-core Mac workstations that were on the market (8-core and 12-core). We were planning to take a trip to Alaska and it came down to a choice of trip or machine. Alaska was awesome, but that $10k that I needed to get the latest and greatest beefed up Mac had come and gone. I started to look at other options I may have, so I purchased an AMD server motherboard and added a couple of 6-core processors. Then I upgraded the memory to 64gb. Added a raid controller and striped a couple of SSDs, copied my pagefile and temp files to it and boom... super fast. I've heard stories of "nobody will ever use 64gb of memory," but those people don't use Premiere, After Effects, Lightwave, Modo, and have open a 1.5gb Photoshop document all at the same time.

So I've been using the AMD machine for a while. Then I started getting errors, blue screens, and lost files. It's running Windows Vista x64 Business which seems like a bad idea, but it's been stripped to the core and only has things necessary to it's required tasks. I run backups on the machine daily (nightly) and have been getting tired of doing my own IT.

Sleeping Beauty
So I have another machine, Mac Mini 2.3GHz i5 (dual core) circa 2011 with 16gb of RAM, that I've been using for e-mails and for running some other apps that don't necessarily need to be on my machine workhorse (accounting, hacking research apps, etc). I got the idea to try and use it as a fail-over about a week ago... I had a big render project and my workstation was tied up. So I downloaded the Adobe CS6 apps from the Creative Cloud and moved my Wacom tablet over. The more I used the little Mac Mini the more I loved it. I couldn't remember why I had left Apple a while back, but I was smitten.

As days turned into nights I began to extremely adore my little Mac, almost completely forgetting about the big workstation. Then I started to bog down the little machine. I accidentally left Parallels open one day when I opened Photoshop to work on a large file. This cost me about 20 minutes of delay before I finally realized what had happened. Also I had another file I was working on in Illustrator with its 18 artboards and about 90 blends in it. From a distance zoomed out, the little Mac handled the file okay. Then I zoomed into one of the artboards and basically brought the machine to its knees. I had to start working in wireframe mode just to be able to zoom out enough to tell where I was. (It only has the integrated Intel 3000 card.)

I expanded the little machine, added external storage, a hub, tore it apart and added an SSD so I could use it as a Photoshop swap file. The more I worked on the machine, the more I noticed its limitations. It's been upgraded to the max. Also I've been using multiple Windows machines for a while. I use mapped drives to my server so I can connect to the files without issue (same drive letters on multiple machines). On the Mac this wasn't an option, so every file that had 40 or 50 links in InDesign had to be relinked, file by file... a painstaking task that sometimes resulted in me realizing that I had opened the wrong file (waste of time). There were learning curves to my new process.

I had added a mini-display port monitor to the machine some time ago to expand the machine to run multiple screens and watched the system temperature closely because I was concerned about ventilation. This wasn't an issue until I started taxing the machine. Tonight I come in and the machine's CPU temperature sensor indicated 94º C while the machine was idle. It had Photoshop, Illustrator, Indesign, MySQL Workbench, Parallels, Firefox, Thunderbird, Filezilla, Word, and Excel open and it was basically doing nothing. By comparison, my workstation with the 12 cores, full load hits around 50º C (when I'm rendering on all 12 cores) and it being idle with the same apps open (VMware instead of Parallels) is around 29º C. I was a little freaked out. I went online and read about the phenomenon fearing the worst. In actuality when I upgraded the machine by adding the SSD, I inadvertently failed to reconnect the cooling fan (whoops). It's now hanging out at a balmy 50ºC.

Mac Mini a good option?
As I've been looking at replacements for my situation because I'm still not a huge fan of doing my own IT anymore (especially on deadline), I will leave you with this advice. If someone asks "Can you run Adobe Photoshop CS6 on a Mac Mini" the answer is "Yes." Pretty decently on the i5 model, probably even better on the i7. If someone said to me "I'm thinking about buying the Mac Mini to use as a workstation, what do you think?" I would ask what it was going to be used for. If it's going to be doing video, 3d editing, or anything that might require any bit of graphics it's definitely not recommended, although there are people out there who will attest to the contrary. If it is to be doing anything in Photoshop that requires any bit of horsepower then definitely not. If it's going to be showing complex renderings in Illustrator then definitely not. If it's going to be used for Web, then sure, it's a great platform.

Calm before the storm
While I did not have any warnings from my own Mac Mini about its insanely high temperature, nor did it shut down, it's definitely plagued by the same problems as the Mac Book Air. Poor ventilation by design and a lack of scalability. This means at some point the machine will have baked all of its internal components and have a shortened life-cycle. While the $1200 Mac Mini i7 might look like it's a decent deal, by the time it has been upgraded to hold enough RAM to be useful and storage to make it viable for a workstation, it's 2/3rds of the way price-wise to an iMac 27" which is a real workstation (albeit all-in-one). The Mac Mini shares the same laptop processors as the Mac Books, whereas the iMac has a full blown desktop processor. It's still going to have the same issues as the other Macs with heating, ventilation, and the ability for Apple to kill it in a single OS Update, but it's far better suited for doing things like opening Photoshop.

What other options do are out there?
Until then you can take the road less traveled and get a decent multicore Windows machine and do your own IT (stay away from Windows 8 for now). If you're going to try and make a Hackintosh machine remember that it will need an Intel processor (similar to the Macs). My AMD workstation will not run MacOS at all and Virtual Machines do not allow for virtualized high-end video cards, so no running Lightwave, Photoshop, or Firefox with 3d Acceleration in Windows from under Ubuntu or Debian. Outside of the IT aspect there is very little difference between running a Mac and running a Windows workstation using the Adobe Creative Suite.

Good Luck,
-Chris

Friday, January 11, 2013

How I got into Graphic Design


Frequently students presented with a research project of some sort ask me how I got started in the field of graphic design. They’ll also ask how I learned so much in the various fields I work in and how they can do the same. Short answer is most people who I’ve worked with have gone to school, asked questions, paid attention, and practiced.

That’s not what I did though… I did something else.

A little backstory
You’ll probably not hear a story similar to this. It is my own... it’s not recommended that anyone go down this path. One of the first things I remember drawing in Kindergarten was a dragon. I was always drawing dragons. I would get in trouble during church on the weekends for drawing dragons in the bulletins. “No drawing demons in church!”

When I was little my dad had a motorcycle with Snoopy painted on the side of it. He was always painting toy models. He had drawings of cars he had drawn. When I was about 4 (maybe 5) he sold his motorcycle (rather traded it I think) for a computer… an Interact. He labored one night working on a hangman game. I watched as he was using graph paper to plot pixels (sprites) to draw the artwork. When the game was done it had 6 or 8 words. I don’t remember which, but it was cool to see the little guy he had drawn on the screen. Very basic monochromatic graphics, but I was hooked.

The animator
Shortly thereafter we got a Commodore 64, and there were games for it, and it had color graphics. I had to help program the games from the back of magazines like Compute! and Compute’s Gazette. One day after school I was going through the books on the shelf and came across the manual for the computer. They showed how to make a sprite animation of a balloon. I sat down (I had my own floppy disk) and wrote out the program from the book to create the balloon and saved it. I altered the numbers and codes to change the colors of the balloon. Changed the speed and direction. It was pretty cool.

When I was in elementary school they had a “Gifted Summer School” where they had computer programming classes (unfortunately no art), but there we could use the computers to draw pictures with sprites (pixels). During regular school I was always in trouble for talking because I had finished my work, so drawing and reading helped me to stay out of trouble.

The hacker
From age 6 on I’ve been dabbling in computer programming… I guess the official term for someone who dabbles in computer programming for a living once they’re past 20 is a hacker. Around 11 or 12 I wanted to be a spy. I had a database program that I was using called Paradox that I had written my own tables and interface for because I had copied some of the ships from the Navy’s ARPANET site using a BBS. I was trying to catalog everything I could.

The digital artist
Around the same time we got CorelDraw on my dad’s computer. Before that I was using Gem Artline to draw on the computer.  I would draw in CorelDraw everyday and save my files to my floppy before Dad got home.

The car designer
As I got older my interests moved from dragons to jets and fighter planes, then on to cars. I loved the car drawings for concept cars in the magazines. I dug all of the cutaways in Popular Science and Popular Mechanics. About the age of 13 or 14 I really wanted to be a car designer. I wrote to Nissan Design International and asked if they had a scholarship program. They brushed me off and said they were only interested in college students who had their two-year degree.

The engineer
In high school I was heavily interested in programming and robotics. We had CNC machines in one of the tech labs. We had a contest one week between two back-to-back robots to see who could move blocks the fastest. I unplugged the other guy’s robot with my robot, then moved all of my blocks. I designed my CO2 car in an application we had on the computer and used the CNC machine to cut the body out. When it ran it was 3 times as fast as the guy next to me. Some kids at the end of the track picked up the safety barrier and my car blow into 1000 pieces and the CO2 cartridge became a flying projectile. I was disqualified. The other kid went on to win the state championship.

A somewhat formal education
The other classes I took for fun were Photography, Commercial Art / Advertising, and Television production. In Photography we had to use chemicals to process our own film. In Commercial Art it was all by hand (pen and ink, markers, and airbrushes), but we were one of the first schools to actually have a Mac with Illustrator and Photoshop… so when I was done with my work in my other classes I would come back over to the commercial art lab and draw on the Mac or head to the TV lab and do editing or shoot footage. I had a couple of marketing classes by this time over the years (they didn’t even really equate to Marketing 101).

Over the summer when I was 16, I began working at a photo-lab (at Walmart) because I had photography experience with the chemicals.  It wasn’t legal for me to be there (I was supposed to be 18 according to OSHA). This was all fine until I started pranking people and showing up late to work. I lost that job because I tore apart one of the film processors and modified some of the faulty pieces (it kept exposing the film because someone had bent the hinge). They were “afraid I would void the warranty” so I was let go. Come to find out later it’s because I had attracted attention to the fact that I was underage.

This left me looking for work.

A couple of my teachers had collaborated on getting me into a few schools. I wasn’t sure where I was going to go (nor did I really care). I ended up with a full scholarship to MIT through a robotics company (they’re out of business now). When I asked my girlfriend if she wanted to go, she said she had no interest in the cold North, so I didn’t go. I had a couple of partial scholarships for art schools that were way out of my price range, so I kept on working because none of the local schools had good art programs.

Desperate times call for…
I looked all over for a job, couldn’t find anything. One day on her way home from town my Mom noticed a magazine company that shared a space with a horse farm. She said because I had experience with the graphic design that I should try to get a job there as a graphic artist. So I went by, and they were nice enough to show me their cut and paste operation and their stat camera. I told them that I didn’t have any experience working in cut and paste. As I was leaving I asked the owner if he had any jobs for a computer programmer. He laughed and said “No, but you can paint my fences with oil.” I thought he was joking, so I went home.

When I came home my Dad asked me what happened with the job interview. I told him about the magazine, and then I told him when I asked if they had any computer programmer jobs the “crazy guy” told me I could paint his fences with oil. Dad got pretty angry and said “YOU NEED A JOB BOY. SO GO DO IT.” So I went back over to the horse farm, pride in hand, and told the man I would paint his fences. About a week went by before I was done.

After I was done I was looking for more money so I asked if he had any other jobs. He showed me a pile of horse manure and gave me a pitchfork. Told me I needed to get all of the manure in the pile into the back of a trailer. I didn’t know the first thing about shoveling shit and well, the wind was blowing, and somehow it ended up all over me. Another kid comes walking up and says “Why didn’t you give him a shovel?” The owner said “I wanted to see what would happen.” (I asked for a shovel and he said they only used the pitchforks because it broke it up better.) So after I shoveled all of the manure into the trailer the owner comes over and says “You know after all I think I do have a computer programmer job available.”

My first professional programming gig
For three months I wrote a state-of-the-art billing and sales tracking app in Paradox (Quickbooks meets Microsoft Project). When I was done with the project I came into the room where they were making the magazine. I told them it was probably a lot easier to make a magazine on the computer. The owner said “you can’t get halftones on a computer.” He showed me a printout from an inkjet. I told him that the programs they had weren’t suited for what they wanted to do, although I did show him that his laser printer would make halftones if we upgraded it. I started freelancing around the same time for a few other advertising clients.

So I went home, grabbed my whole desktop computer and brought it over to the magazine, set it up, and loaded CorelDraw. Then we brought their laser printer down from upstairs. When we printed one of the ad layouts I created we got really close to what he was calling a halftone. Within 2 months I had setup 3 workstations and upgraded two others in that back room and we were making a majority of the ads on the computer. They didn’t have room in the budget for me to be there fulltime so I had to find another job. My other part time job became a fulltime job. Then I had my freelance work on the side as well, so I had little time for the magazine company anymore.

The referral of a lifetime
After a couple of years I came back looking for work and the owner showed me their expanded operation. They had several computers and a network and were a 100% computerized operation. I asked if he had any work. I was about a month or two too late. He had to go The Flyer in Tampa, so he invited me along. While we were there they gave us a tour of the facility and showed us the presses, imagers, and plate-setters, and all of their graphic design stations. One of the guys who I had worked for at the USF Oracle was working there and asked if I was there for the job opening. So I inquired, the horse magazine owner recommended me on the spot, and before I knew it I was working on The Flyer's largest commercial accounts in tandem with their creative director in the creative services department.

I’ve read hundreds of volumes on the subjects of graphic design, commercial art, advertising, programming, video, animation, and photography since, but it's really difficult to apply unless you have the hands-on experience. As I would tell my students at Columbia College in Chicago, you have to practice whether you have a real job or not. I've also worked with hundreds of design, advertising, and illustration professionals over the years and picked their brains and studied their processes. Everyone has something to offer. The rest is history.

On thing though… every time I’m on deadline for some ad campaign late at night I tell myself, “It sure as hell beats shoveling horse shit.”

-Til later,
Chris

Tuesday, January 8, 2013

Changing a link in a sent e-mail campaign



Recently I received an e-mail marketing piece from AIGA. About a day later I received another email from AIGA with a title of “Revised Registration: …” and it got me to thinking about why this doesn’t usually happen to me. What has happened is in this case  AIGA, the sender,  had to resend their e-mail to their entire list with a fixed link, the registration link no less. This not only is a bad thing because some people may unsubscribe if they think it’s spam, but this might also make an email server or filtering service false-positively mark a message as spam and never deliver it to the recipient in the first place.

This is a little technical, but I’ll try and write it out long-windedly in layman terms. Some of the terminologies I’ll use:

Server – The physical box that runs the programs

Webserver – The application on the physical box that handles requests from end users by serving webpages.

Webpage preprocessor – The application executed by a webserver that translates server-side code into a scripted language for the web browsers of the end users or visitors.

List – A list of email address in the mail server.

Sending Service (or list management service) – A contracted service that maintains and manages e-mail subscriber lists, unsubscribe lists, and sometimes user subscription preferences.

Spam – Unsolicited [commercial] e-mail

I receive occasional requests from my clients to edit an e-mail marketing piece once it has already been sent. Usually it’s a price change or some little tweak like a company name being split between lines in some obscure browser, but every once in a while it’s because of something else…  a link going down, a website being moved, a photograph that needs to be changed. In regard to the text content, because of the way the internet works, the way e-mail browsers work, and high requirements for [the illusion of] internet security, it would be a “bad thing” if people were able to change things in your inbox once they were filtered by something like an antivirus application, an anti-spam firewall, or corporate e-mail server. If people could change a “trusted” link to something else once received, then they could circumvent the protections altogether. A lot of people will click on anything that looks remotely legitimate anyhow, so they would definitely click on a link they believed to be legitimate because their super expensive filtering system tells them it is safe. Because of this any content that has been sent as HTML or Text-Only cannot be altered in the client’s Inbox (legally and ethically).

NOTE: Mistakes always happen and this is why everyone should thoroughly proofread anything going to a huge list of e-mail recipients. Also rushing to send out an e-mail marketing piece (typically the case) is bad practice. If you can afford a little more time it might save 10% of a mailing list.

There are a couple of exceptions to this rule. You can alter where it goes ultimately if you control the links. This of course depends on the sending service you’re using and the type of system they have in place. It’s always best to use a sending service to handle e-mail marketing pieces because of the risks in regard to having your own email server ending up on a blocklist or anti-spam blacklist (Check back later). Most sending services (the great ones) allow you to provide your own HTML and text-only content. Some require that they make the code for you in their WYSIWYG interface. When you’re setting up the links for a “mailblast” or e-mail marketing piece there are a few things that you can do in order to make edits after the piece has been delivered. The tricks are all done on a web server. Now to do this, you’ll need to know what type of webserver (Apache or IIS) you’re using and possibly what language it’s running (PHP, ASP, Java, etc). 

For most of my clients I setup something called a redirect (302 technically). A redirect tells a visiting browser that a page has moved, either temporarily or permanently. When you use a redirect link, not only can you change the link on the server side in regard to where the end user is being sent, but you can also do other things with information from the e-mail. You can now marry their IP address and session information to anything they do on your website. So if you were wondering if that project manager with enormous buying power working for one of the potential clients you’ve been targeting is actually reading your e-mails, now you’ll know, AND you can retroactively pair their IP address presently with your webserver logs or high-level statistics to see what they’ve been interested in and looking at. This is all provided you have the system in the place and the proper people to translate what you’re looking at.

The overall premise
So if we’re plugging a tradeshow promotion, then I’ll setup a link on the client’s website in a custom directory (eg. TRADESHOW_012013). 

Some sending services allow you to set off-site links for the mailings in your HTML code and Text-only counterpart. So for the setup, you could for instance make the TRADESHOW_012013 that contains a redirect link with a target folder or alias that goes to a page in an “events” directory called “TRADESHOW-2013-January” when someone selects the link in their e-mail client.

So they would start with a link here:
http://www.somefakewebsite.com/TRADESHOW_012013/

And end up here:
http://www.somefakewebsite.com/events/TRADESHOW-2013-January/

The redirect can be created in the webserver configuration (not so good), the website’s configuration (a little better), or in the code (best) that is executed on the server if you’re using a server-side language. 

Option 1.) Dynamic Code Handling – Best Option
If you were to do this with a server-side scripting language like PHP or ASP, the visitor would first (for a split second) visit the TRADESHOW_2013 directory (they might even see it in their address bar), then they would be instantly redirected to the appropriate folder. In order for this method to work properly, the sending service needs to allow you to set your links and they should not be altered in the end code that is presented to the client. This would give you the most control. This server-side dynamic coding approach allows your pages to load faster (overall) because you’re only doing this for certain links.

So what happens if the file original file is no longer available on the server?

Conversely, some sending services actually follow all redirects to reach an end target and only deliver the end user to the content they believe they’re receiving. They’ll rewrite the link in the email content that you provide with their own tracking scripts.(Eg. Although they’re not a sending service, Facebook does this with certain links, so when you paste a link, they actually follow all of the redirects so they can show you the content you’re seeking. This way they don’t have to worry about someone intercepting any of their traffic.) If this is the type of service that you typically use for sending your e-mail marketing campaigns, what will happen is when someone selects the link in their email, rather than seeing your TRADESHOW_012013 redirect folder, they will only see the end page. These are a little harder to control, but not impossible. The problem is you’ll need to make sure the end page doesn’t exist anymore, or qualify someone for a redirect (a little more difficult).

Option 2.) Webserver Scripting – Second-Best Option
This doesn’t need to be a physical file on an Apache webserver because you can perform the redirect in the .htaccess file with mod_rewrite [http://httpd.apache.org/docs/2.0/misc/rewriteguide.html]. In newer versions of IIS [http://technet.microsoft.com/en-us/library/cc732969%28v=ws.10%29.aspx] you can set up a web.config file to use redirects and rewrite maps.

NOTE: Remember because of the way the webserver needs to recognize the request it can take longer for a server to process every single page on the site if you make a list of qualifying redirects in the server configuration file. In short if you make 35 redirects, the site has to make sure that every page on the server isn’t one of the 35 redirects before it forwards people appropriately or serves a page.

One of the resources I use is at webconfs.com:
NOTE: If you omit the lines in the redirect instructions that say “301” (permanent),  you will by default create a 302 (temporary) redirect.

Changing Images
Just like changing links in an email, you can sometimes replace an image in a campaign that has been sent, depending on the sending service and the way they manipulate your code. If you are using a service like Vertical Response, you can upload images to a directory on their website and link to them directly. You can also upload the images to your own webserver and then link to those in the code. In my experience with Vertical Response you can successfully alter links and images in the emails once they’re sent. The higher-end email sending service I use is called Campaign Monitor, and they’re a little more tricky because even if you link to an image on a website they will actually pull the image into their archives and link to THAT instead of the original image. Campaign Monitor is all about end-user protections and anti-spam which is excellent, but sometimes when an image contains faulty information or something where no release was obtained it’s a little more of an issue to get it changes after the sending.

When you’re using a sending service that doesn’t alter the end image source links to replace an image all you need to do is to physically replace the source image on the destination server. The next time the email client opens the email they should reload the updated image. (Sometimes they don’t if they use caching).

Worst case scenario you can specify a redirect link in the site’s configuration file that tells the end user the destination for an alternate image.