A few years ago I thought it would be funny to have a "pretend agency" so I had someone to talk to about the operations side of design. I wrote all the posts as if there was a larger staff.

Although it's just me talking to myself and an imaginary staff, I keep my notes on the more business-like aspects of my design work here as a public forum: "Agency + Lyceum".


09
Feb 10

Tuesday Evening Staff Meeting

Goodness, I almost forgot to have the staff meeting! Here we go.

Status

Chelsea’s website is live! We also have a new $500 Photo Website Package, based on this same template and my buddy Sid’s portrait photography. The surprising thing to me was that I could repackage the exact same template and still feel I was delivering value; having three examples of the site helps. Sid’s photography also really helps make the package a great value. I am having 35 two-sided flyers printed with the information on the photo website package, which cost me about $20 including shipping from Idaho. Not a bad price at all, though I’m taking a gamble on quality.

Also, reconnected with two other website projects. The first of these projects is a design/education project, really. I just passed the HTML files onward and provided some guidance. The second of these projects is for Mark’s more traditional business website, and we’re waiting on content. I got some excellent feedback about what would be helpful in this case: examples of how to write content for a small business, and how to find examples, etc. I was reminded that just knowing how to start is precious information!

I also have been evaluating Unify, the PHP application that allows easy editing of a static website without the need for a CMS or a database. Client Mark gave it a try, and he liked what he could do with it, so that’s a big relief.

Upcoming

I’m trying to close down as many open projects as possible, so I can launch the next round of packaging. Based on Mark and Chelsea’s feedback, the package concept is attractive. I may even be able to raise the price, which would be good because every client is going to need additional design and content guidance, and this extra time needs to be taken into account.

There’s quite a bit of support material to write, and a lot of it can be streamlined further and included in the package. I would say the next immediate production plan would be to create several examples of the “business template” that are attractive and easy to understand. Then, I can create a second sell-sheet. Again, this can be very simple.

Next, packaging the design services is next. I’d prefer, actually, to outsource this to other designers, so I’ll keep a lookout for interested parties.


08
Feb 10

Smaller Packages

I recently finalized one of the Agenceum clients using an existing template, and by coincidence I also used it to make a small subsite for Sid’s upcoming Portrait Photography workshop. With that, I had three websites using the same template, and each of them used Sid’s photography. I talked to Sid about making some kind of package that combined his photography and this website specific template, and presto! Here is our first real package.

I reworked the Agenceum Sell Sheet into something I could show people who come into the studio.

New Collateral

At first, I had thought that I needed to make a custom website for every client; this comes from a desire to really understand the uniquenesses of each individual. However, in terms of business, customization to the nth degree is very time-intensive and hence unprofitable. And for most people, it turns out that that level of customization is not needed. Essentially, people need a website that represents them well and is within their means. This template happens to work pretty well for what it is, though mentally it is something of a stretch to use the same template over and over. The mental shift is from “designer” to “product packager”.

The front side has 6 examples of the layout and a call-to-action at the bottom. Instead of the Agenceum logo I’m using the Collective logo, which is what I use when doing collaborative work. The price is correspondingly higher, at $250 for the web work. It turns out that this is more realistic than $75 once you include all the customization and back-and-forth with people. At a total cost of $500, it’s still a pretty cheap package, especially given that it includes custom photography.

I print the first sheet  on matte photo paper, and second sheet (with all the text) gets printed in black-and-white on the other side of the photo paper. The photo paper I’m using is a little thin and bleeds through; printing in black and white makes the bleedthrough less noticeable on the pretty front side.

For a better look, check out the PDF Download.

I’m having a version of this printed via an online printer I’ve been meaning to try, Digital Lizard, which I came across via a Facebook advertisement. They have a very snazzy online interface, and some interesting product offerings for the solo designer. I however have not seen samples of their print output, despite having requested a sample kit a couple of times. This experience was echoed by another friend of mine who was looking into using them. The prices look great, however, and the phone call I had with their representative was very professional and personable, so I’m willing to chalk this up to “we’re super busy”.


04
Feb 10

Initial Impressions of Unify from Unit Interactive

I purchased a license of Unify (tagline: “The Simple Content Editor Anyone Can Use”) earlier this week to test on my staging server. The websites that Agenceum is developing are static HTML based on my simple templates, as I wanted to avoid the complications that even a polished CMS introduces for people who are just getting started with the Internet. However, the great bugaboo of any website deployment is enabling the client to edit their own content. That’s where Unify comes in.

I’d first become aware of Unify a couple of weeks ago thanks to commenter Bill Kracke, who listed a whole slew of simple CMS-like products. Essentially, it’s a web-based program (requires PHP5) that will edit the content in your static website. To tell Unify what block-level areas are editable, you simply apply the unify css class to it. Then, you browse to the unify subdirectory on the website, which contains the web app, which loads the web page in a WYSIWYG-style interface. The block-level elements that have had the unify css class applied to it show what you can edit. You can enter rich text and upload photos, and then publish your changes. You can even click the links and browse your website as you would normally. It is practically perfect for simple websites. The changes are saved back to the files (hence, they need to be writable by the web server).  Very slick. They have also added “unify repeatables”, which will duplicate and repeat any block-level div and its contents. Great for maintaining lists of things, I’d imagine. I haven’t tried this yet.

Some additional notes:

  • You need to buy a license of Unify for each domain name. That includes subdomains. As licenses only cost $16, that isn’t too bad, but it does mean that you need a development license for yourself, and a separate license for each of your clients. The web app is customized to your domain, and appears to communicate with Unit Interactive’s server to validate users (I haven’t verified this, though).
  • Because of the above, you can’t develop “local” without Internet access.
  • Installation is super easy: just upload the unify folder to the website, and add the unify css class to the block-level elements you’d like to be editable.  Make sure that your files are writable by the web server. You will also need to have PHP5 on the server.
  • You can’t “nest” editable areas.
  • You need a separate install of unify on each website.
  • It supports multiple users: the administrator can add other users to a site to allow editing.
  • It’s not 100% WYSIWYG, but it’s darned close. Really sweet.
  • It requires a modern browser and a fast PC to run it well.
  • See the Unify FAQ for more information.

So far, I’m impressed, and have started rolling it out to Agenceum’s clients. It does seem a little slow to start, particularly on the first startup when (I think) it is scanning files for changes. I haven’t profiled it either to see what kind of impact it has on the my server. But these are minor nits; this product vastly simplifies the need for training and content support after-the-fact, which frees me to do other things while giving the client control of the content whenever he/she wants to grab it. Booyah!


02
Feb 10

Tuesday Evening Staff Meeting

So here we are again on Tuesday. I’m making it a quick status meeting because I have another meeting tonight.

Old Business

Several client projects are finishing up. Even small projects take a few weeks to complete. Sometimes this is due to my availability, and sometimes it is due to the client. This may be a necessary condition to take into account when dealing with people who are just starting their web presences. There’s a lot to learn not only about the Web, but about Internet-based marketing and personal branding.

I’ve started to finalize some illustration for a lion logo. It’s been a while since I’ve had to do this, but I’m finding that Freehand is again superior for pure drawing and shape-making compared to de-facto industry standard Illustrator. Just sayin’.

New Business

An interesting lesson from the past week is that the number of templates I need is actually quite few. I will have four examples of people using the same template, and people don’t seem to mind. One nice thing about this template is that it’s designed to work with the photography that my buddy Sid is providing to his client; that suggests that a photo+website package is something we could offer. We have enough variety now to show that this particular website template is effective for what it does. It looks nice too.

Development

I bought a license of Unify to try out on my staging subdomain. It’s $16.00. I have a few clients staged on the staging subdomain, so I’ll be able to evaluate its ease of use for editing content, without requiring a database or blog backend. I’m also planning on continuing to look at CodeIgniter, WordPress, and CushyCMS as possible solutions and/or development platforms.

Conclusion

That’s all for now! This is a finish week, closing off as many projects as possible, and perhaps launching some new ones.


26
Jan 10

Agenceum System Process Diagram

Agenceum Process

Last weekend I was thinking a lot about the various tasks that needed tracking as part of the Agenceum project load. It had gotten to the point where I was starting to worry if I was forgetting something, and it also seemed that I needed to formalize some processes. The idea of making a map of everything seemed useful, so I started sketching it out on Sunday, and have been refining it over the past couple of days. The result is a fairly complete process list of Agenceum business functions. In short, it’s an idealized process guide to everything that has to get done at Agenceum, based on my prior experience at various small agencies and my own freelance practice.

Agenceum Processes

The general idea is that any task that I’m doing on Agenceum (or David Seah/Associates, for that matter) corresponds to one block somewhere on this diagram. Once I know what block that is, I can then see what needs to happen next. Eventually, I can create tickets for each of these tasks, and use this overall process diagram to manage the workflow.

Some other notes:

  • In general, tasks start from the left and move on through the right until results are achieved. The result may feed into another process; for example, many of the marketing processes result in an INQUIRY, which can then be handled by the INQUIRIES process line.
  • Several tasks have iterative cycles baked into them, for example the typical design-review-refine cycle.
  • Also, the processes are roughly ordered from top-to-bottom as outward-facing  to inward-facing activities.
  • Each box has a word or short phrase that evokes what needs to be done. So theoretically, the way to use this diagram is to wonder what the hell you’re doing, look at the process diagram, and then see what you need to be working toward. There is also some implied creative strategy baked into some of the processes, which I could write about at length but will save for some other time.
  • The first four MARKETING lines have a vertical hash line that indicates that you can jump from any of those four starting points to a different tactic to generate inquiries.
  • For the FINANCIALS and EXECUTIVE lines, the left-to-right process is arbitrarily defined. I tried to think of the most important things to be mindful of with regard to these functions as I understand them. Your mileage may vary.

You can download the latest version of this file here as a PDF: » AgenceumSystemProcesses.pdf


26
Jan 10

Tuesday Evening Staff Meeting

I visited five different locations to work today: home, Starbucks, Ashish’s office, Bonhoeffer’s (a local coffee shop), and Sid’s studio (with no Internet). So I’m just getting to the Staff Meeting report.

Current Business

I’m getting close to finishing two of the projects, now that final content is in. What is interesting is that every one of these tiny projects takes many weeks of calendar time to complete, with scattered bursts of activity. I could complain about that, but instead let me just list the criteria that small client projects seem to share, so I can design a process around them:

  • These projects are very “spiky” in terms of activity. When the project starts, there’s a surge of activity. Then, as time goes on, the urgency ebbs as other priorities take over; a new job-related priority springs up, difficulty in finding time, changes in direction. The low-cost website is, perhaps by nature, a non-priority purchase because the amounts involved are small. This leads to rescheduling and delay. It’s difficult to run an efficient creative production engine with that kind of input, so I think I need to design a spiky creative production engine that is modeled after a fast food sushi system in reverse; empty trays float around the track, representing available work units on certain days. The enterprising client needs to load the tray with their work before production begins. The main idea is to make it apparently that there are limited production slots, and that timing and preparedness is required. This would also help even out my own planning; being reactive to client needs that can strike at any time, without a maintenance or retainer structure in place, is tough on scheduling and energy.
  • Clients often don’t have their own project managers. I have not been offering project management beyond what I have on Basecamp, because the least fun thing in the world I can imagine is chasing after other people’s projects when they are not ready to move. It’s not their fault, but it takes time, and that requires money that is not in the budget. To handle this, I might just have to add a project management fee, so people feel they are paying to be managed. Often times, it’s a relief. I may call this a continuity maintenance fee for projects that linger beyond the original date, if the client needs help getting the ducks lined up in a row. This would be very minimum project management, consisting of use of the Basecamp area.
  • Content Quality Assurance is implicitly included in this as well, in areas where the client feels they aren’t expert. This includes supporting content creation, such as photography, logo design, copy writing, marketing, and business strategy. The website often can’t go live until this is done. To identify this as a hangup, I am going to create a website preparedness checklist for clients, with boilerplate copy and links to resources to pound them out. I can also provide custom services at a higher rate.
  • Website Maintenance I’ve talked about. I think I have some solutions in place.

Agenceum Processes

There is enough stuff going on that it’s becoming a significant mental burden. This is the combination of scheduling creative time, sending off status emails, doing the creative and technical work away from distraction, and making sure I’m not forgetting anything. And this is with only a handful of clients. On top of that, there’s the need for R&D and expansion of all the support material for each client. This material is reusable, but it’s a drain on my mental capacity the more I have to switch between clients. Ideally, I handle all clients and projects the same, which means I am feeling the need to establish a methodology.

I spent the past day writing up and distilling what I know about web agency processes into a diagram that will help me contextualize everything I’m doing. I’ll post that next as a separate article.

On Deck This Week

  • Finish integrating Chelsea’s website with new content and photos
  • Convert Chelsea’s Website to CushyCMS or something similar
  • Logo work: Chelsea
  • Logo work: Leo
  • Catch up with stalled projects, get new status update, evaluate need for new support docs and methodologies.
  • Create small website kit, based on a single template.

21
Jan 10

Wading into CodeIgniter

After posting about my desire for a Simple Website System several readers have offered solutions; either helping to develop such a system itself for the challenge (and potential revenue), or pointing out solutions like Unify, CushyCMS, and Perch. CushyCMS and Unify are close to the simple solution I’m looking for, featuring in-context editing, simple tagging of editable areas through the use of CSS classes, and no need for a database. Even Adobe is getting into the game with their InContext Editing product (currently in preview) which appears to work with Dreamweaver CS4′s templating features. I may deploy them for upcoming Agenceum clients to see how they like them. This considerably streamlines the client side of editing, which means that I can close out two projects that have been lingering.

However, I’m still in a curious mood, and have decided that I really should see if it’s possible to roll-my-own website publishing solution from one of the many powerful PHP and Javascript code libraries that are out there. The problem is that I’m not really that familiar with them. To date, my PHP/CMS templating experience is fairly thin:

  • Writing an image thumbnail plugin for WordPress 1.0 – 2.0.
  • Installing and customizing WordPress with my own theme
  • Converting the WordPress blog to use Expression Engine 1.5.x and 1.6.x.

That’s not a lot of experience, but it’s given me a working outline of how one theoretically develops applications in PHP. I am about to attempt to apply this knowledge to understanding CodeIgniter, which is another PHP framework on which Expression Engine 2.0 is built.  Since I’m planning on migrating my website to Expression Engine 2.0 in the future, why not kill two birds with one stone?

I’m going to take the approach I learned in my ModX documentation experience and start by making some assumptions about how a PHP Framework should operate. I’ll stuff it all in my CodeIgniter Integration Notes WikiLab page for now.


21
Jan 10

A Simple Website System

I was about to implement a simple ModX-based website when it occurred to me that it didn’t really make things easier for me.

While it does, theoretically, make it easier for clients to edit their content, it means that I have to now worry about deploying ModX on a foreign server. This is not difficult, but it’s involved enough that I would need to charge for it and be Mr. System Administrator, which is not my life goal. Additionally, once you touch someone else’s server you become implicitly responsible for it. I would prefer to be responsible for just my own server, but the implication then is that I then have to be offering hosting. I would actually prefer to avoid that as well. I’d like clients to pay for their own hosting and domain name services, so they always retain direct control over it.

So, I’m back to Square One. Here’s what I want:

  • A zero-cost, easy way for clients to edit their website without breaking the HTML. No additional software should be needed.
  • Avoiding being part of the content update/maintenance loop. THat makes me a bottleneck, and I have to charge for it.
  • Maintaining the ability for clients to host anywhere, without me having to actually have to know how those servers work, or needing to keep a list of login credentials.

I think the solution to this is actually a custom web application that I deploy on my own server. Essentially, it would be a web templating system that gives each client their own login to edit each templated web page’s content areas. The system manages this content in a database. When the content is edited and saved, the system creates static web pages from the templates/database content. These files are then uploaded directly using FTP to the client’s server.

I looked around briefly to see if something like this already exists (it reminds me a bit of old versions of MovableType), but there are so many web frameworks that it’s hard to sort through them all. So for now, I’m going to start looking through the CodeIgniter documentation to see what it will take to do this. If something already exists, I would love to know about it. I’ve also had an offer by a reader to help with this, so we’ll see what we end up building. My lack of practical database experience has long been a shortcoming in my application development ambitions, so this would be a great project to help shore up the gaps in my knowledge.


19
Jan 10

Setting up a Local Test Environment with Virtual PC and Windows 7

So, what do you do when you need to write code that uses PHP, Apache, and MySQL all on the same computer? The simple answer is to install them using a WAMP or MAMP package. However, this approach has a few drawbacks:

  • You end up with a jumble of server applications running on your computer all the time.
  • Your configuration of the various packages will be different from the actual server environment you’ll be using, so some of the setup details will be different. The ported versions of PHP, Apache, and MySQL aren’t exactly the same, and the idiosyncrasies of your home operating system and hardware configuration can lead to weird bugs.

Plus, it’s just plain messy! The ideal case, from the testing perspective, is to actually have a separate development server running the way that your deployment server is set. And that server is likely to be a LAMP (Linux / Apache / MySQL / PHP) setup running an enterprise version of Linux. My websites, for example, run on a Media Temple dedicated virtual server using CentOS, which is the “community” version of commercial Red Hat Linux. So, if I’m developing a dynamic web site using PHP/MySQL, it would be best if I could actually set up a separate server on my home network that is configured in the same way. This works great…unless you don’t have internet access, which is something I face pretty frequently when I’m working away from the house.

The solution to this conundrum is to actually run a virtual server on my development laptop. I’m using Virtual PC, which is free from Microsoft, to create a 256MB CentOS machine. The tricky part is configuring it to connect to the laptop’s networking subsystem and CentOS to recognize it, but I now have a good portable setup. When I want to do development, I can start up the Virtual CentOS machine, and point my web browser to it. I can also SSH into the CentOS machine just like any other, which makes the development process very similar to working with my Media Temple (dv) server. The closer I can make each environment to each other, the more fluid my development workflow will be.

A big advantage of using virtual machines is that all the messy configuration details are contained in them, and the rest of my laptop remains pristine. I can also take snapshots of each virtual machine and restore them to saved states, which makes it easier to try different server configurations.

The details of the setup I need to reconfirm, but I have a Wikilab Entry that maintains my working notes.


19
Jan 10

Tuesday Staff Meeting

Another late Tuesday update!

I’ve spent most of the day installing a stand-alone web server environment on my laptop so I can actually work at Sid’s photo studio, where I share space a couple of days out of each week. The only problem with the studio is that there’s NO INTERNET ACCESS, which makes developing websites that require PHP and MySQL practically impossible. I have it largely working now, but that’s a different post.

Current Agenceum projects are rolling forward, but I am running them like regular design projects, which means they are taking a lot of time for very little income. I am, however, logging the time it takes to do each job and noting where greater efficiencies can be gained.

The biggest hurdle right now is how to provide inexpensive website maintenance.  Making the website templates themselves is relatively simple; it’s the content integration that takes a long time. I’ve delivered websites to some Agenceum clients as ZIP archives of the files, inviting the more inquisitive to try editing the HTML themselves. I don’t think, however, this is a good solution because no one in their right mind should want to edit HTML. I am starting to think that I need to create an online solution based on some simple form entry that’s capable of talking to other hosts. Otherwise, I would have to host the websites myself. So I am starting to look into more generic PHP frameworks like CodeIgniter, which is also the basis of the new version of Expression Engine. Since I use Expression Engine for my davidseah.com site, I figure it might be worthwhile to look into; what I want are really simple database-driven websites, and I am afraid that tools like ModX and WordPress are even too complicated for what I’m envisioning. I’ll have to think about this some more.

So that’s where we are right now. I’m closing the current projects as quickly as I can, but I am not happy with the idea of delivering static HTML files as the final deliverable. This is not a real business solution.