Rules for Work and School

Lately I’ve been thinking a lot about the workplace and about my kids’ school endeavors. In both situations, some people are excellent role models and some people are perfect examples of what not to do. This has made me wonder “what’s ideal? What rules should we operate under?”

We give our kids rules to follow, yet I see these same rules violated in the workplace all the time. Some rules need to be broken; most rules won’t be considered valid until the person experiences the opposite behavior.

So with all this in mind, I thought I’d type up a quickie list of things I believe in, as it relates to my profession or my kids’ schooling; I’ll leave out politics, religion, the sad state of the music industry, Apple versus Adobe, and alien conspiracies.

The following list is in no particular order. Feel free to add more in the comments.

  • Quality
    If you’re not going to do it right, why bother? Have pride in your work.
  • A sense of craftsmanship
    Your work is your craft, and you should continually strive to improve, no matter how small the improvement.
  • Helping people
    Treat everyone as if they’re a friend or cousin, and do your best (within reason) to help them. Unless, of course, they’re continually taking advantage of your generosity. In those cases, you should put their name on every telemarketing and fundraising list you can think of.
  • Respect
    The golden rule: treat others as you’d like to be treated. Better yet, follow the platinum rule: treat others they way they’d like to be treated.
  • Honesty
    If someone frequently lies, stretches the truth, or misrepresents things, how can you possibly trust them or feel comfortable working with them?
  • Responsibility
    Take care of your obligations, every time. If it isn’t possible for some reason, don’t cover it up — be open about it and look for alternative solutions.
  • Flexibility
    Being overly rigid and unwilling to listen to alternatives will bite you in the ass someday.
  • Communication
    Being clear is extremely important. So is listening to others (not just paying them lip service). If you’re not listening to others, how do you know you’re on the right track with a project or relationship? As we’ve all been told, communication is a two-way street: If you don’t inform others of your intentions, provide context for decisions, or give honest feedback, your relationship will sour.
  • Sharing knowledge
    Ignorance helps no one, except immoral politicians and businessmen. Raise the bar. Share what you’ve learned with others.
  • Don’t be afraid to ask for help
    We’re all n00bs at some point. It’s nothing to be embarrassed about.
  • Simplicity
    Do overdo it just because you can. Clutter isn’t just limited to your closet; websites and e-learning courses frequently suffer from visual and informational clutter, too. It takes restraint and discipline to keep things simple.
  • Equality/Accessibility
    Everyone should be treated equally and have access to the same resources. Building web sites and e-learning courses in an accessible manner is easier than ever. There is no excuse for an inaccessible product. (Note: accessible content does not always mean an equal user experience; for example, reading a transcript of a video may not be as fun as watching the video itself. Regardless, the content of the video is accessible to all.)
  • Don’t be greedy
    Money is a means to an end — no more, no less. Don’t become like all those Wall Street parasites we’ve read about.
  • Enjoy what you have
    We all suffer from daydreams about how much better things would be ‘if only I had thing X.’ Personally, I often forget that today I DO have the thing X I wanted 5 years ago. The problem is that the definition of thing X keeps changing, and I lose sight of what I’ve already accomplished. Many of us need to step back and realize that we probably have more than we realize and take some of it for granted every day.

TextAreaExpander Class for MooTools

I’ve had to create a slew of forms over the last few months, and have become fond of textareas that auto-expand when they become filled. There are a number of MooTools scripts on the interwebs that can handle this task, but none of them suited me, and I generally like to roll my own code as a learning experience.

So, without further ado, I present a very simple MooTools Class: TextAreaExpander. It does exactly what is says: expand textareas. No more, no less.

Details

Options

Defaults are shown.

  • textarea_selector: none
    • Uses CSS selector syntax, such as “#myId” or “textarea.expand-o-rama”
  • padding_bottom: 0
    • Only accepts pixels, no percentages or ems
  • fx_transition: Fx.Transitions.Expo.easeOut
  • fx_duration: 350

Returns

Array of textarea elements

Requires

MooTools 1.2.4 core

Demos

Sample implementation using defaults (grabs ALL textareas on the page):


window.addEvent("domready", function (){
    new TextAreaExpander();								  
});

View ‘simple’ demo

 

Sample implementation specifying all available parameters:


window.addEvent("domready", function (){
    new TextAreaExpander({
        textarea_selector: "#demo",
        padding_bottom: 12,
        fx_transition: Fx.Transitions.Quad.easeInOut,
        fx_duration: 500
    });
});

View ‘options’ demo

Download

License

MIT-style license. Completely free. Enjoy.

Dear Apple and Adobe

 

Update: Steve Jobs Responds! Well, not to my letter directly, but it hits on the major points and is a well-written explanation of Apple’s position.

Dear Apple and Adobe

I’m a long-time customer and have spent more money on your products than I have on just about any other aspect of my life. I’ve spent more money on your products than I’ve spent on my healthcare, vacations, kitchen appliances, children’s school supplies, or home entertainment system.

In return, you’ve increasingly shown a disregard for my needs and concerns, and have acted in ways that demonstrate all you want from me is my money.

For example, both of you have constantly forced me (or at a minimum pressured me) to buy updates to products I already paid for. For years I went along with it because I bought into the sales hype and assumed these updates would somehow make my life better.  In most cases, they did not.

Adobe, your constant tinkering with the Creative Suite has brought a few nifty tools to the world, but these new tools will not get me to overlook the incredible bloat you’ve unleashed on my computers — almost 6GB of program files on my Windows PC at work, and over 7GB of app files on my Mac at home. Your applications feel more unstable with every release, and your UI feels slow and unresponsive despite the extra RAM and other hardware upgrades on my machines. Some of the biggest security holes on my computers are due to your Acrobat software — the very same Acrobat software I’ve learned to hate because of how bloated, complicated, and unfriendly it has become. It feels like it gets worse with each release.

Apple, your innovation is refreshing. Adobe could learn a thing or two by examining your software: increased productivity through reduced feature sets and cleaner UI. Simple is usually best. However, despite your continued excellence in design, your behavior is repulsive. You’ve consistently screwed your early adoptors via your pricing schemes and forced millions of Americans to use a phone network they detest. (Why? Because AT&T was willing to give you a bigger cut of the revenue?) Worst of all, the totalitarianism displayed in your latest iPhone developer agreement is breathtaking. It appears your goal is to piss off everyone, even your staunchest allies… like Adobe.

Apple and Adobe, you used to play well together. You both benefited from your long-term relationship and grew into very large, very successful companies. I sincerely doubt either of you would have survived the 1990s intact if it weren’t for your partnership. Desktop publishing was the Mac’s forte and the one thing that kept it afloat when the buzzards were circling. And who provided the most popular DTP software? Adobe (and the companies Adobe acquired, like Aldus and Macromedia).

Adobe, I know you’re mad because Apple won’t let you put your Flash technology on the new iPhone platform (iPhone, iPod, iPad). Honestly, if I were controlling a platform, I would have major concerns, too. As I mentioned earlier, your track record for software quality seems to be in a steady decline. Your products have become infamous for security holes, bloat, and crashing. It didn’t used to be that way. Somewhere along the line you dropped the ball, and now it’s coming back to bite you. The good news is that it isn’t too late for you to reign things in and regain control of your software. Stop trying to please everyone by adding every conceivable feature under the sun, and really focus on the most important elements. Drop the cruft. Clean the cupboards. Get that lint out of your bellybutton. Once your software is respectable again, you’ll be in a much stronger position to complain about Apple.

Apple, I don’t know what happened to you. You went from being a popular underdog to being the class bully. You’re in danger of becoming as popular as Microsoft in the European court system. From where I sit, your biggest mistake has been the idea that you can take over the world, one industry at a time. Of course, many companies are aggressive and set big goals for themselves, but they don’t stab their partners in the back as quickly and viciously as you seem to do. Your hubris and eagerness to expand into your partners’ markets is going to be your downfall. People have liked you because of your design sensibilities and because you were the hip underdog. You are no longer the hip underdog, and with time, other companies will create products that will be (almost) as stylish but also cheaper and with equivalent or greater capabilities.

The bottom line is that neither of you are choir boys, and I’m fed up with your bickering.

Adobe, stop playing the sympathy card. It’s a complete turn-off because I know how crappy your software can be. Granted, it’s unfortunate that so many people depend on Flash and Flash doesn’t work on the iPhone platform, but Flash is not a web standard. For all its shortcomings, the iPhone platform has one excellent quality: a top-notch HTML5 browser. Standardistas have been warning people not to go all-in with Flash for years, and now we see why. If it isn’t part of a standard, it will not be incorporated into some products. It’s the vendor’s choice. Simple as that.

Apple, stop trying to take over the world. We’ve seen what happens to other companies who try it, and it never looks pretty. Focus on your core values and let your partners do their thing without stepping on their toes.

Oh, and ditch AT&T already, will ya?

Respectfully,

Philip

Rule of Thirds tutorial

By popular demand, I’m re-posting the Rule of Thirds tutorial.
I took it down when I revamped my site, largely because the tutorial is old and requires Shockwave. A few school teachers have let me know they used it in their classes, so I’m happy to repost it.

Rule of Thirds
Launch the Rule of Thirds tutorial
Also available: Standalone .exe version (Windows only)

Background: Rule of Thirds is quick and fun tutorial explaining the concept of the rule of thirds as used in visual design. I created this tutorial for a graduate-level Macromedia Director course at San Francisco State University in 2004. Because it was created in Macromedia Director, you’ll need the Shockwave plug-in to view the file (sorry about that… I know it’s a hassle).

Some materials contained in project (music, images) are owned by others. This was a non-profit educational project that respects their rights and has made use of their materials only for fair-use demonstration purposes. All other materials © Philip Hutchison 2004.

Viewing PDFs in a Browser on a Mac

As a Mac user, one of the more annoying issues I frequently encounter is funky PDF handling in Firefox and Safari. For instance:

  • Adobe doesn’t make a version of Adobe Reader that’s compatible with Firefox on Mac OS X
  • Adobe Reader is only supported in 32-bit versions of Safari on OS X (Snow Leopard ships with a 64-bit version of Safari)
  • Safari has built-in handling of PDFs, but if Adobe Reader is installed — whether it’s actually working in Safari or not — it will turn off Safari’s native PDF handling by default.

Here are some things you can do to get PDFs to display in your browser(s).

Restore Safari’s built-in PDF handling

If your Safari browser isn’t using OS X’s native PDF handling, Adobe Reader may be overriding it. Here’s how to fix it:

  1. Launch Adobe Reader
  2. Go to Preferences > Internet
  3. Deselect “Display PDF in browser using…”
  4. Click OK

Enable PDF support in Firefox

Mozilla has a handy reference for this topic.  Here’s what they say:

Adobe does not yet maintain a plugin for viewing PDF files within Firefox for computers with Mac OS X. To view PDFs in Firefox:

I’ve installed the Firefox PDF Plugin on my Mac (Firefox 3.6), and it works great. It uses the Mac’s built-in PDF handling, so it’s a very small plugin runs very quick.

Caveats and an editorial

Using the Mac’s built-in PDF support means you won’t be able to take advantage of some of Adobe Reader’s new features, such as scripting, portfolios, and SWF support.

I don’t know about you, but I prefer to use the PDF format for its traditional purpose: reading print-based documents online.  Plus, Adobe Reader currently requires 290MB of space on the hard drive. I can live without the new features and would prefer to use my 290MB of space for other things.

In general, I recommend avoiding Adobe Reader on a Mac because of its poor support in Firefox and Safari, its incredible bloat, and the seemingly daily announcements of major security vulnerabilities. Most of the security issues have been directly related to the scripting functionality and other new features. If a lite version of Adobe Reader were offered — one that removes the bloat, eschews these new features, and simply lets us view standard PDF documents — I’d be more than happy to use it.

Shameless plug

Need to embed a PDF in an HTML page? Try PDFObject. It’s free, tiny, and works much like SWFObject (the two projects are unrelated).

Introducing LearnSWFObject.com

I’m happy to introduce you to my latest project, LearnSWFObject.com

It’s been many, many months in the making, and has rudely been put aside a number of times when my life left me no free time to work on it. Happily, I’ve been able to push through the last remaining barriers and get the site out the door. Hopefully someone will find it useful.

I’ve ported my most popular SWFObject tutorials and examples to the new site — updated, of course — and have added a few new tutorials, too. As part of the housecleaning effort, I’ve removed all SWFObject examples and tutorials from pipwerks.com. 301 redirects will re-route the most popular posts to their LearnSWFObject.com equivalent, but the odds and ends have been sent to the compost heap.

I’m most excited about the brand-new code generator (written from scratch) that will write your SWFObject embed code for you. Some notes about the generator:

  • It can write HTML 5, HTML 4 (transitional/strict), and XHTML 1 (transitional/strict) doctypes
  • It provides code for both types of SWFObject embeds: dynamic (JavaScript) and static (markup)
  • It includes a download link that lets you save your generated markup in an HTML file
  • The static publishing option includes an option for a nice, shorter syntax
  • The generator uses progressive enhancement techniques, meaning it’s nicer with JavaScript enabled but fully functional without it

Give it a try!

LearnSWFObject.com will remain a work in progress, as SWFObject itself continues to evolve and people find news ways to break use it in their sites. I will continue to play with the formatting and layout from time to time.

In other SWFObject news, I think I’m allowed to report that SWFObject 2.3 is in the works, and will contain mostly bug fixes and an enhancement or two. Bug reports and feature requests are always welcome at SWFObject’s Google Code site. If you have questions about how to use SWFObject that aren’t answered by the LearnSWFObject.com tutorials, please post them on the SWFObject Google Group.

Fear of sharing, fear of failing

Janet Clarey posted a link to a great blog post by Rajesh Setty entitled Why some smart people are reluctant to share? Setty’s insights resound with me, not because I think I’m smart — quite the opposite, actually — but because the more I learn, the more I’m aware of my limitations.

Setty tried to determine why “smart people” are often reluctant to share their knowledge with others. His conclusion was:

Smart people want to give their best and as they learn more, they learn that they need to learn a lot more before they start sharing. They learn some more and they learn they need to learn some more. What they forget is that most of the expertise that they already have is either becoming “obvious” to them or better yet, going into their “background thinking.”

I agree with the points in Setty’s post completely, except in I’d substitute the word “experienced” for “smart.”

Setty’s line “Smart people want to give their best” seems to be something of a passing thought in his post. I’d like to give it more attention, because I believe conscientious experienced folks have a fear of giving bad advice.

Zeldman had it right when he said “If your old work doesn’t shame you, you’re not growing.” Experienced people look back at their younger, inexperienced self and either chuckle at their own gumption or get rosy-cheeked from embarrassment. I’m more of the rosy-cheeked guy. My old work shames me all the time, and it often causes me to hesitate when sharing my work or giving advice to others.

This may sound funny to some of you… anyone who follows this blog probably knows I spend a lot of time doling out technical advice via places like the SWFObject and eLearning Technology and Development Google Groups.  The truth is, I question myself in almost each and every post I write. Why? Because I’m experienced enough to know that maybe I shouldn’t be so quick and cocky with an answer. Maybe there’s a different solution I haven’t heard of. To paraphrase Setty, maybe I need to learn more first.

So why do I even try to give advice if I have a fear of giving bad advice? Because I want to learn more. I often find that helping others is the best way to teach myself. I’ve learned a ton through helping others, and find it rewarding in many ways. Except when I’m wrong, and then it plain sucks.

DevLearn 2009 Recap

(Okay, I admit it… this post is WAY overdue.)

Let me begin by saying this is not a rant, but rather an honest account of my impressions regarding this year’s DevLearn.

Nearly two months have passed, and when I think of DevLearn I think of two things: Social media gone wild, and hallway conversations.

Social Media Gone Wild

DevLearn 2009 was absolutely wonderful if you’re into incorporating social media into e-learning. Or should I say “using social media for learning,” without the “e.”

Unfortunately for me, I’m not really interested in using social media for learning. I mean, I learn via social media all the time — Twitter and RSS feeds are a raging river of information flooding my head with ideas every day. But when it comes to creating e-learning projects at work, we’re not ready for social media. It doesn’t really have a place in our plans yet, and we’re A-OK with that.

So upon attending DevLearn, you can guess how dismayed I was about the lack of breadth regarding session topics… it seemed as though every other session was about social media. Perhaps the conference should have been named SoMeLearn.

I believe this was my fourth DevLearn conference — I live nearby so it’s not difficult to attend — and I’d have to say this one felt the lightest when it came to the Dev part of DevLearn. There were so few hands-on technical sessions that I had a hard time finding them. I know I’m not the only person who felt this way, as a number of folks confided similar sentiments. Chad Udell, one of this year’s presenters (probably the best technical session I attended) had [link no longer available]:

[T]he conference wasn’t all rainbows and unicorns for me. There are some real underlying problems I have with the conference’s overwhelming love affair with Social Media or Web 2.0 or whatever you may want to call it. […] Do we really need 5-6 sessions about “Leveraging Twitter in your Learning Organization”? […] Given that Mark Oehlert so masterfully managed the Social Learning Jam as a dedicated area for discussion about using Social Media for learning in the eneterprise, it seems a tad silly to have so many concurrent session on the topic.

I may be cast out by talking so candidly about this, but here’s the crux of it for me: If the conference really is called “DevLearn” shouldn’t their (sic) be more “Dev” in the schedule?

I wholeheartedly agree, Chad. I have nothing against social media and finding its place in learning, but did it have to steal so much focus from other areas? Despite my MA in education, I consider myself a developer first and foremost. I like to get my hands dirty. I want more “developy”-type sessions, especially considering the price of the conference. This is meant to be constructive criticism… hopefully next year DevLearn will have a more rounded/balanced session lineup.

Hallway Conversations

Returning to the positives, it was wonderful to meet so many people in person. I’ve “known” many people via Twitter and the blogosphere for quite some time, but it’s a real trip to meet these folks in person. Janet Clarey had a nice post about it (great to meet you, fellow introvert!). In fact, if there was anything about Devlearn 2009 that really stood out for me, it was how great the hallway conversations (and after-parties) were.

Gary Hegenbart said it nicely in his DevLearn recap:

Almost everyone I met included their Twitter name as part of the introductions. […] Twitter accelerated the conversation because if you just met someone you follow or who follows you, then you already knew a lot about the person.  It felt like a reunion and conversation flowed easily and freely.

It was absolutely awesome to finally meet The Beard (aka Aaron Silvers) in person, even if we never really found much time to chat. (Does this guy command a crowd or what? I should start calling him “The Mayor.”) And it goes without saying that if Brian Dusablon and Steve Howard are in the house, we have to hit a pub for a beer and a chat! In my case a Coke since I had to commute an hour by car. Sad, I know.

I learned firsthand that (Mark Oehlert + Kris Rockwell + Koreen Olbrish) === instant mischief. This time it was zombie mischief. LETSI’s Avron Barr was there, and I had the pleasure of driving Mike Rustici to the airport (sorry if I scared you with my crazy driving!). I could go on and on. I’m something of an introvert, so I may not have seemed very excited, but trust me, it was fun.

Following BJ Schone’s footsteps, here’s a list of tweeps I chatted with (apologies if I left you off the list, it wasn’t intentional):

Mac Mini Server

In my last post, I explained my frustration with web hosting services and how this frustration led me to purchase my own server. In this post, I will briefly touch on some of the ups and downs I’ve experienced with the Mac Mini Server and its Snow Leopard Server software.

Hardware

The Server Edition of the Mac Mini is very similar to a normal Mac Mini, with a few notable exceptions: it has 4GB RAM, it does not have an optical (DVD) drive, and it comes equipped with a second 500GB hard drive for a total of 1TB. If you’ve never seen a Mac Mini in person, it truly lives up to its name… this bugger is TINY. It also uses very little electricity compared to other PCs.

RAM

I’ve read that the Mini is actually capable of using up to 8GB of RAM, though Apple doesn’t officially support it yet. I didn’t want to try it, as I believe 4GB should be enough for my needs. I don’t plan on doing anything fancy besides serve my websites.

No Optical Drive

This is a bit of a pain sometimes, but in my case I’ve shipped the Mini off to a data center, so I couldn’t plop a DVD into the optical drive if I wanted to!  The Mini uses the same technology as the MacBook Air for accessing optical drives in other computers. You also have the option of hooking up an external USB drive if you need to.

Since the Mini came with Snow Leopard Server pre-installed, I wasn’t worried about the optical drive.

Dual hard drives

The Server Edition comes with dual 500GB drives for a total of 1TB of disk space. Of course, the operating system eats up a chunk of that space, so you’ll have less than 1TB of free space to work with.

Both drives are 5400 RPM, which I didn’t notice until after I bought it. I was a bit disappointed about this, as we all know 7200 RPM drives are much more responsive. However, on the bright side, 5400 RPM drives don’t run as hot and won’t use as much electricity. If I were using this Mini for a major corporate site, I’d bump up the hard drives, but for my purposes two 500GB 5400 RPM drives will be fine.

As for how the drives are configured, it appears Apple intended the second drive to be for content storage (Snow Leopard Server is heavy on content creation tools). Since I don’t plan to use much space (for now), and because I’m completely paranoid about losing my data, I’ve repurposed the second drive as a Time Machine backup drive.  I’ve also hooked up an external 500GB USB drive for bootable SuperDuper backups. Redundant backups are a good thing, right?

By the way, I’ve read that an external 7200 RPM hard drive connected via the FireWire 800 port can beat the internal 5400 RPM drive’s performance.  You’ll be able to upgrade pretty easily if you need to.

Other hardware notes

Mac Minis don’t come with keyboards, a mouse, or a monitor. You’ll need to get those yourself.  Since mine is located at a remote data center, I connect to it remotely using my Macs at home. Works great.

Software

Snow Leopard Server

The Snow Leopard Server (SLS) marketing materials had me drooling. I know that Linux is no fun. Mac OS X is a variation of Linux, and it’s way fun. So it was logical to assume that Apple would do for Linux servers what they did for Linux desktops.

Umm… not quite.  Actually, it’s kind of a big fail.

The bad

SLS is nowhere near as easy to configure as Apple makes it sound. Apple positioned the Mac Mini/SLS combo as if you can be your own IT department. True, it does provide many very cool enterprise-level tools and services, but if you don’t have previous system administrator experience on a Unix/Linux system, you are in for a world of confusion. For instance, if you intend to host more than one website, you’ll need to get out of the “one-click” Server Preferences app and dig into the advanced settings in the Server Admin app. If anything gets messed up here, you’ll probably have to go to the command-line to make fixes. While on the phone with Apple Support.

SLS uses the Workgroup Manager app to manage login accounts. This is a front-end GUI for a heavily customized Open Directory authentication system. Don’t know what Open Directory is? Then you’ll especially hate trying to set this stuff up. Unix/Linux uses POSIX permissions for users. These are what you see when you use most FTP programs or even WordPress. Windows uses access control lists (ACL) for user permissions, as they provide a finer level of control than POSIX over what people can access. Mac OS X uses BOTH. This causes a great deal of consternation when trying to set up FTP services for your users, as the POSIX settings may look correct, but the ACL settings will override the POSIX! I still haven’t gotten mine sorted out yet. It’s a real pain.

Long story short, Snow Leopard Server is very confusing to administer. And since it varies so much from the traditional Unix/Linux setup, it’s very hard to find help. For instance, file paths for Apache (the software that serves web pages) are completely different in Snow Leopard Server than they are in a typical Linux environment. If you have an Apache how-to guide, a significant chunk of the info will be wrong for your SLS system because of different file paths, or Apple-specific security restrictions, or Apple’s unique implementation of add-ons like PHP.

I often feel that I may have been better off ditching Snow Leopard Server and installing a typical Linux server system. Which, I might add, is completely free (Apple charges $499 for SLS if purchased separately from the Mac Mini). If I had done a typical Linux install, I would have had a much easier time finding answers online or in books. I’ve purchased two Snow Leopard Server books, and while they’ve been a little helpful, they’re still incredibly dense.

I should mention one bright spot for Snow Leopard Server support: Apple provides free 90-day phone support for Snow Leopard Server when you buy a Mac Mini Server. I found the phone support to be very helpful a couple of times, and completely exasperating a couple of times. It’s like any other company’s tech support: some guys know their stuff and are very helpful, and others are either ignorant or standoffish, treating you like you’re an idiot. Par for the course, I suppose.  One major problem I had with the phone support was that Apple apparently doesn’t have the Mac Mini Server Edition in its phone tree. When it asks you what product you’re calling about, if you say “Mac Mini” you’re taken to the wrong line (I speak from experience). If you say “Snow Leopard Server” it always thinks you’re calling about the non-server edition of Snow Leopard. I’ve yet to make a call to Apple support where I didn’t have to explain my hardware/software setup and be redirected a couple of times.

The good

Snow Leopard Server includes some tantalizing features that almost make it worth the trouble of dealing with setup/administration. Here’s a quick list:

iCal Server, Address Book Server, Mail services: Apple’s version of a Microsoft Exchange system.

  • iCal Server is similar to Outlook’s calendar system. It’s great for businesses where everyone needs their own calendar, including the ability to send meeting requests and whatnot. My take? I don’t have iCal Server enabled because it’s easier to use a service like Google Calendar, and you don’t have to worry about administration headaches. However, iCal allows you to be in complete control over security and privacy, if that’s an issue for you. It also syncs with iPhones and MobileMe.
  • Address Book Server is a similar deal: It allows multiple users to maintain address books online, and they can all be synced with iPhones and MobileMe. Makes sense for a business, but not worth the effort for an individual like me.
  • Mail services. This is a biggie. Mail services allows you to create mail accounts for every user in your system. It has all kinds of features, but to be honest, it’s such a pain to administer that I mostly stick to my GMail account. Again, if you’re a business, this is a great app. Keep in mind that it’s a repackaging of a free Unix-based application named Postfix, which means you could have similar functionality free without buying Snow Leopard Server, it just won’t look as pretty. And yes, Mail includes webmail access and spam filtering.

Podcast Producer, Wiki Server, iChat Server: Apple jumping on to the Social Media bandwagon.

  • Podcast Producer is an interesting application. You can record podcasts using your desktop Mac, then upload them to the server where they’ll be encoded and served to others (much like your very own YouTube). I find it alluring, yet I currently don’t have much need for it. I do plan to play with it at some point… it has great potential for e-learning.
  • Wiki Server. For better or for worse, every website you create in Snow Leopard Server has a wiki enabled by default. These wikis are powered by Wiki Server. Wikis are certainly useful, and the wiki system in SLS is probably the easiest and lowest-hassle feature of the entire system. It just works, and it’s very pretty compared to most wiki systems. The problem for me is that I often don’t want a wiki attached to my sites. This means I have to manually go in to each site and turn off the wiki feature. You got it — the one thing that works great out-of-the-box is the one thing I don’t really want to use!
  • iChat Server. I didn’t understand why anyone would want an iChat Server. Then I realized that it includes video chat support, and it can be completely encrypted. That is pretty cool. You can have private video chats with anyone, and since you’re using your own server and encrypted video, you can rest assured your video is not being monitored or cached on some corporation’s server. Unless you’re being monitored by a government agency or something. In that case, I don’t know you.
  • Client Management. This is where Snow Leopard goes enterprise. You can remotely administer Macs on your network, including performing system updates and remote software installation. You can also manage iPhones. This is certainly not something I’m in need of, but if you’re a business (or school) I can see this being a big plus.

VPN, Time Machine, File Sharing: Essential tools for daily work.

  • VPN. This is a great feature for people concerned about privacy. Most people know that VPN allows you to connect to your workplace’s network via an encrypted connection. But did you know you can use VPN to secure your data over WiFi connections? When you connect your laptop to your server via VPN, all of the data transmitted between the two computers is encrypted. So if you’re using WiFi at a conference or a coffee shop (or even at home) and want to make sure someone isn’t intercepting and reading your data, use VPN to encrypt those transmissions and protect yourself.
  • Time Machine. Every Mac comes with Time Machine, but Snow Leopard Server’s Time Machine lets you back up your Mac’s hard drive to the server, no matter where you are. No USB cables, no external hard drives… all you need is an internet connection (preferably using VPN as described above).
  • File Sharing. Snow Leopard Server’s file sharing feature is nothing new, but so far it seems quite sturdy and is flexible enough to work with both Mac and Windows systems.

Snow Leopard Server: Yea or Nay?

Do the pros of using Snow Leopard Server outweigh the cons? I’m not sure I can answer that question yet. I haven’t tried using every feature available, as I’m taking baby steps to ensure I don’t accidentally kill my system. I’ve got the basics up and running (web server, MySQL, file sharing), and so far it’s been running pretty smoothly. I’ve been pretty hands-off. I still don’t have FTP set up the way I’d like, and there are a few other odds and ends that need fixing, but on the whole everything seems pretty stable right now.

If you ever decide to get Snow Leopard Server, do yourself a favor and do a test run before deploying it.  Go ahead and set it up in your living room, and try to get every feature up and running. Chances are you’ll make some critical mistakes, and hopefully you’ll learn from them. By the time you deploy the server in a production environment you’ll be an old pro.

If you do your first setup in a production environment, you are guaranteed to run into trouble. When I called Apple support the first time, the first thing they suggested was for me to reinstall the system. Seriously. Multiple techs informed me that because of the intricacies of the underlying Unix system, if you fudge some of the key settings it’s much quicker and safer to reinstall than to try and fix the problem(s).

Running your own server from a data center

As I mentioned in my last blog post, I decided to get the Mac Mini because of my frustration with commercial web hosts. Jon Gruber pointed out an article written by Brian Stucki, who owns macminicolo.net. I was intrigued by the idea of having my own computer in a high-class data center. I set up an account, mailed in my Mac, and next thing you know I have a server!

Brian has been pretty helpful getting my hardware up and running, and as you’d expect, his company has been pretty hands-off when it comes to administering the software side of things. It was Brian who suggested the external drive with the SuperDuper backup. As they say in Hawaii, akamai!

I did have a hiccup, which was no fault of macminicolo — my Mac Mini apparently got damaged during shipping and wouldn’t boot. Luckily for me, Brian is a regular at the Apple Store in Las Vegas (where the data center is located), and they hooked him — and me — up with a new server on the spot, no charge. Brian wasn’t obligated to go to the Apple Store on my behalf, but he did, and at no charge, so props to him and his excellent customer service.

Now that I’ve had a server up and running for a couple of months, I can tell you one thing: whether you have Snow Leopard Server or a plain Linux server, you will LOVE the freedom you have to configure the server to meet your precise needs. Want to set up Rails? No problem. Want to try server-side JavaScript? No problem. Want to set up a custom web service API?  No problem. You can do any experiment you like, any time, with no bureaucracy or extra fees — assuming it’s legal and doesn’t violate your data center agreement!

If you use a hosted web service, especially a shared hosted service, chances are you will be limited to whatever they give you. Having your own server means freedom. Unfortunately, it also means more work. Macminicolo’s hosting prices are slightly more expensive than a typical shared hosting plan, but it’s cheaper than my AT&T iPhone plan, so I can’t complain.

Alternatives

The Mac Mini Server Edition is currently $999, and includes Snow Leopard Server.  If you’re looking for a cheaper alternative, you could buy a standard Mac Mini instead. They start at $599 and have nearly identical hardware, except for the amount of RAM and hard drives, both of which you can upgrade on your own for a fairly low price. If you get a standard Mac Mini, you’ll be getting the desktop version of Snow Leopard, in which case you might want to check out MAMP. You could also replace your Mac OS with a Linux server system like Ubuntu server edition. Or you could install Linux server software as a virtual machine using VirtualBox (free), VMWare or Parallels. In this scenario, you can easily replace or upgrade the server software without having to reinstall your entire operating system.

Final words

Am I glad I did it? You betcha. Was it as easy as I had hoped? Not at all. Would I recommend it to non-technical people? Probably not. You have to have a decent level of technical savoir-faire and a good amount of stick-with-it-ness. However, once you get over the initial hurdles, it mostly runs on its own. Snow Leopard Server can even email you when there are patches that need to be installed, so it isn’t like you need to log in as an administrator every day. On the whole, I’m pretty happy and I’m glad I took the plunge.

Master of My Own Domain

Just a head’s up: this post is a bit of a rant. Had to get it off my chest.

Musical Chairs

I remember a few years back, probably 2002, my web hosting service went down for over a week at Christmas. Thankfully, I didn’t own any online retail/shopping sites, but if I did I would have been completely hosed. Unfortunately, I did host some clients’ sites on that server, and I had a very hard time explaining why their site was down for a week at the busiest shopping period of the year. The hosting service’s response? “Umm… we’ll get back to you,” followed by a very unapologetic string of excuses for the failure.

I’ve tried a number of different web hosting services since then. Despite every single one of them boasting about their “99.9% uptime”, all but one of them had technical problems at some point, leading to significant downtime for my sites. I left the one vendor that I didn’t have problems with because his service was a bit too limited for my needs.

Enter Media Temple

Eventually I was lured to Media Temple. Some of the higher-profile sites I frequented at the time were “proudly hosted by Media Temple.” Media Temple’s site has always been very slick, and includes an impressive a list of big-name clients. Aside from the eye-candy aspect, they also appeared to be on the leading edge of web hosting technologies with their fancy “grid server” system. I decided to take the plunge.

From the very start, I had issues with Media Temple, including confusing documentation, unfriendly/disinterested support staff, and — worst of all — connectivity issues.

Just say no to Media Temple

As with anyone in an abusive relationship, I wondered if it was my fault and was kind of ashamed to speak up about my problems. I let the relationship continue for a couple of years, making it work as best I could. I quietly cursed when my FTP connection would stop working mid-transfer then not be able to reconnect for 3 hours. I muttered to myself whenever I noticed the web service was down again despite the boasts of uptime. I rolled my eyes and sighed heavily whenever I saw the gazillion “hosted by Media Temple” stickers on famous websites.

Then, as I started to get more plugged-in to industry RSS feeds and Twitter, I noticed that there were others like me. The internet became my anonymous support group. I read other people’s Media Temple horror stories and realized I wasn’t alone. Then I started paying even more attention to Media Temple’s service, and started demanding excellence. What I received was most certainly not excellence, and was in fact confirmation that they are a crappy hosting service that I needed to leave behind.

Despite their glossy public profile, despite their proclamations stating that they are on top of their game and provide world-class support, in reality their service was mediocre at best and oftentimes downright shoddy. Customers using the cheaper Grid Service (shared servers) had the worst of it, but even customers using the Dedicated Virtual service have complained about problems. The final straw? The fact that Media Temple’s entire Grid Service system was hacked — including my sites — and they didn’t even contact customers to let them know. I received an email with a very vague warning about the hacks six days after it happened.

I complained to Media Temple directly via their internal support system, emails, telephone conversations and Twitter, explaining that they need to be more proactive and communicative with clients about serious system issues such as hacks and unanticipated downtime. Their response has always been something to the effect of “we provide plenty of information… it’s your responsibility to monitor our website for important notices.” Apparently they now consider Twitter to be their main alert system for clients.

I tried to explain to them that I don’t have the time to check their website every day, and Twitter alerts don’t work because they’re too easy to miss. Why not simply send your clients an email? I received excuse after excuse about why they won’t email clients. None satisfied me and some were completely illogical.

When the recent FTP hack occurred, I learned about it from the blogosphere (here and here [link no longer available]) and Twitter. I checked Media Temple’s site, and sure enough, they had a bulletin mentioning the issue, but I had to search to find it! It wasn’t until almost a week later that I received a notice from Media Temple about the problem.

One of their excuses for not emailing clients was that they didn’t want to alarm unaffected clients with scary news of hackers attacking sites. Whatever. In MY case, I WAS affected. The targeted sites used PHP and WordPress, and Media Temple knew I used WordPress because I initially used their one-click installer to set it up! If they knew I use WordPress and that I was susceptible to this hack, why not contact me directly?

Exit Media Temple

I had no idea what I was going to do, but for the last year or two I’ve desperately wanted to find an alternative to Media Temple. I asked around, and it always seemed to be the same problem: one person loves Host XYZ, yet another person has written a scathing rebuke of the same host. There doesn’t seem to be a perfect host.

Then a post by John Gruber caught my eye. It was very short:

Who better to write about the new Mac Mini server than the guys who specialize in colocating Mac Minis as servers?

A Mac Mini as a server? Whaaaa?! I read the article John had linked to and was impressed. Skeptical, but impressed. The article explained that Apple had just released a server edition of its Mac Mini that comes equipped with Snow Leopard Server OS, an extra hard drive, and 4GB of RAM. What’s more, the author of the article runs a business dedicated to hosting privately-owned Mac Minis in a world-class data center for a modest fee. That’s right — you can have your own private server in a secure top-notch data center for less than the price of a MacBook Pro.

I read the article and said “Screw Media Temple. I’m getting a Mini!”

This blog post is hosted on that Mini.

The World is My Oyster

All of my sites have been transferred from Media Temple to my Mini, and my Media Temple account will be closed at the end of the month. Buh-bye MT, won’t miss ya.

I will be posting on the ups and downs of administering your own Snow Leopard Server — there are plenty of both — in an upcoming blog post. Overall I’m really happy with my decision and feel very liberated. The short version is that administering your own server isn’t for everyone, but I’m willing to bet many of my peers and e-learning tweeps would be more than capable of handling it, too.

PS: If you feel I’ve been unfairly harsh about Media Temple, do a simple Google search and see for yourself. There are some pretty high profile people with similar complaints.