The personal disquiet of

Mark Boulton

July 25th, 2006

Sorting my workflow out, part two

Printed estimateLast week, I men­tioned I was slowly drown­ing in a thick­en­ing quag­mire of paperwork—estimates, invoices, con­tracts and things. I took it upon myself to design and build a sys­tem which would help sort me out, thanks to a bit of inspir­a­tion from Stan and the boys at 37signals. A week later and this little applic­a­tion is work­ing rather well, even if I do say so myself. 

Filling in the gaps

When I pos­ted last week, I’d got together the basic require­ments and work­flow. Just to recap: 

By Tues­day I’d pretty much got together the bare-bones. Then with a little help from Expres­sion Engine I applied some edit forms, so now I can add and edit Estim­ates, Invoices and Jobs, all from within the browser rather than hav­ing to go to the Expres­sion Engine con­trol panel. All good. 

Here’s a few grabs of where I’m up to at the moment: 


Design­ing with Print Styles

The detail page for dis­play­ing the Estim­ates and Invoices proved to be a little tricky. First off, I wanted to emu­late my design for paper Invoices and Estim­ates, secondly, as I wanted to save these invoices as a PDF for email­ing to cli­ents and also print­ing, the print stylesheets for this tem­plate had to essen­tially cre­ate the lay­out for the PDF.

In April, I wrote about apply­ing print styles to a web page and touched on using CSS to design for print. Then, it was a fairly simple pro­spect; design­ing a news­pa­per lay­out to run on A4. One column. No fuss. My Estimate/Invoice lay­out is a dif­fer­ent kettle of fish altogether. 

For starters, there’s a four column grid. Secondly, there’s a extens­ive use of white space and Rules of vary­ing thick­ness. Also, there’s a subtle, but import­ant typo­graphic hiearchy going on. I set myself the chal­lenge of recre­at­ing this design, which is essen­tially an Indes­ign lay­out for A4, using the exist­ing markup for the tem­plate and CSS. This is the first time I’ve done this in anger. Using CSS to lay­out a design for print. 

Bodging with abso­lute positioning

The web-based tem­plate dis­play of the detail Estimate/Invoice page uses floats to pro­duce the lay­out. This proved to be pretty tricky for repro­du­cing this design for print. The solu­tion took a little of get­ting my head around. 

What I did was to start think­ing about the ele­ments of con­tent as square boxes in Indes­ign. Start think­ing about print stylesheets as print design. I had to for­get about cer­tain browser quirks of CSS (yes, I was design­ing this just for me, on a browser of my own choice.). 

I used pos­i­tion: abso­lute; on most ele­ments, giv­ing them the width, height and pos­i­tion as I would a box in Indes­ign. Using mar­gins and pad­ding defined in mm, coupled with this allowed me to, with a lot of trial and error, pos­i­tion the ele­ments and pretty much exactly repro­duce my let­ter­head and Estim­ate design. 

Gran­ted, it’s a bit of a bodge, but it works and fits my needs. 

Room for development

It was incred­ibly time-consuming but the implic­a­tions of design­ing a sys­tem this way, for me, are pretty fant­astic. I now have an data­base with all my jobs in there. It pro­duces a web based sys­tem for to keep track of stuff, but more import­antly, it pro­duces Estim­ates and Invoices which mir­ror the print design I spent a lot of time ini­tially pro­du­cing. You can prob­ably sense I’m quite excited about this. Design­ing for print using CSS is some­thing that has pos­sible for ages, but it’s some­thing that is just not given enough attention. 

I’d like to see this kind of tech­nique applied to cor­por­ate intranets for example. When print­ing an a page, there’s no reason why the cor­por­ate design guidelines couldn’t be applied to the con­tent to the same level of soph­ist­ic­a­tion as a DTP pack­age.

More for the App

There’s a bit more to do with this little applic­a­tion. It’d be great to have an email­ing facil­ity in there to email the invoices/estimates dir­ectly to the cli­ent. Cur­rently, I have to save off the PDF and manu­ally attach it to an email. To be able to track which cli­ent had been emailed and what was said would be a good thing I think. Also, the print styles need to be applied to all the other tem­plates. Jason men­tioned in the com­ments on my last post that he used his sys­tem to work out tax. It might be good if this sys­tem could also do this for. 

I could go on. But I won’t. I’ve got enough to do.

34 Responses to “Sorting my workflow out, part two”

  1. bernd said on: July 25th, 2006 at 11:45 am

    will this pro­ject be avail­able to the pub­lic?

    i am look­gin for some­thing like that. 

    bernd

  2. Mark Boulton said on: July 25th, 2006 at 11:50 am

    bernd: There’s no plans at the moment. In it’s cur­rent state, this applic­a­tion is very much designed around my needs. Now, they may mir­ror other peoples as well, in which case there could be a valid reason to develop it fur­ther. Also, it’s been pretty much thrown together in EE at the moment so rolling that out as a hos­ted app, or oth­er­wise would be pretty tricky. 

    If there’s any soft­ware developers who fancy get­ting together to develop this fur­ther, then give me a yell.

  3. Jonic said on: July 25th, 2006 at 12:01 pm

    Hey Mark,

    Nice work with the app, I’d be inter­ested in see­ing the fin­ished product :)

  4. Karl said on: July 25th, 2006 at 12:57 pm

    Inter­est­ing art­icle Mark, par­tic­u­larly about writ­ing the print style sheet. I think too many of us (at least myself) read Eric Meyer’s clas­sic CSS Design: Going to Print and stopped there — hide a bunch of divs, set font to Times New Roman or sim­ilar and expand links. To me it was always “just make all the rel­ev­ant text appear on the page” rather than con­sider any brand­ing / asso­ci­ation with the web page it came from. 

    I have two pro­jects now that could bene­fit from this, one of which is a cor­por­ate intranet. 

    Regards, Karl

  5. Adam said on: July 25th, 2006 at 3:53 pm

    Awe­some job.  I’ve been want­ing to build some­thing like this for myself for a long time.  I’ve been play­ing around with Side Job Track, but it just isn’t quite meet­ing my needs. 

    You should get together with some other developers and build some­thing for the pub­lic.  Heck, I’d help out.

    Just think, you too could be a Web 2.0 Designer/Developer SuperStar.

  6. Keeran said on: July 25th, 2006 at 4:19 pm

    Hi Mark,

    This looks pretty cool — it’s exactly what I’m hop­ing to imple­ment in Rails over the next few weeks to help with our busi­ness ( http://www.beanlogic.co.uk ). 

    Am plan­ning on keep­ing everything doc­u­mented on my site, so will send any updates your way if you like.

    Keeran

  7. Gabs said on: July 25th, 2006 at 4:48 pm

    My friend made a access one.. I’ll try and dig it out..

  8. reese said on: July 25th, 2006 at 6:11 pm

    I’m curious…are your forms essen­tially emu­lat­ing EE’s stand-alone entry form? It appears that when you upload data about a new pro­ject, it must go into EE, which (per­haps through cus­tom quer­ies?) in turn sorts that data, puts it into a web­log, and this, in turn, is ‘updated’ on your list? I’m just curi­ous (if you care to share) about what’s hap­pen­ing behind the scenes in terms of the input form and the end result.

  9. Mark Boulton said on: July 25th, 2006 at 8:19 pm

    reese: Then forms are indeed EE’s stand-alone entry forms. The edit forms are also stand-alone entry forms which use a plu­gin to pull in the exist­ing data. There are four web­logs: cli­ent, job, estim­ate and invoice. These then inter­act by means of rela­tion­ship cus­tom fields to build out the data sets.

  10. reese said on: July 25th, 2006 at 9:00 pm

    Thanks, Mark. This is a really cre­at­ive way to stretch EE’s capabilities :)

  11. Leslie said on: July 25th, 2006 at 10:31 pm

    Mark,

    that’s slick. Check your email. We’d love to know more about how you set this up.

    The pMa­chine team

  12. Chris Malumphy said on: July 25th, 2006 at 11:24 pm

    What soft­ware do you use, and what steps do you take, to con­vert your doc­u­ments to PDF. I am look­ing for a some­what auto­mated way of tak­ing con­tent from EE and using it to cre­ate PDF doc­u­ments. Some have sug­ges­ted scarf­ing up the pages using Adobe Acrobat, oth­ers have also men­tioned using Print CSS, but I don’t know how that works, or exactly what they mean. 

    How do you do it and can you sug­gest any good resources to help me make advances in that area? 

    Thanks. Great site!

  13. nat said on: July 26th, 2006 at 12:48 am

    I’ve been think­ing about doing essen­tially the same thing with EE for sev­eral months now, but haven’t got­ten around to it.  If you’re not going to develop this into a stan­dalone app, would you con­sider mak­ing your EE tem­plates available?

  14. Colly said on: July 26th, 2006 at 1:30 am

    …and people STILL stick with Move­able Type. 

    I’m per­son­ally tired of explain­ing how good EE is now, when so many just shrug and doubt me. I think this will turn a few heads though, Mark. I’ll expect this as an offi­cial mod­ule in EE ver­sion 2.

  15. reese said on: July 26th, 2006 at 1:36 am

    I’m with Nat. I’d hap­pily pay you for a mod­ule of this (can’t recall if you can sell mod­ules or not). Would love some­thing like it for my own cli­ent tracking.

  16. Arden said on: July 26th, 2006 at 1:41 am

    What soft­ware do you use, and what steps do you take, to con­vert your doc­u­ments to PDF. I am look­ing for a some­what auto­mated way of tak­ing con­tent from EE and using it to cre­ate PDF doc­u­ments. Some have sug­ges­ted scarf­ing up the pages using Adobe Acrobat, oth­ers have also men­tioned using Print CSS, but I don?t know how that works, or exactly what they mean.

    How do you do it and can you sug­gest any good resources to help me make advances in that area? 

    Thanks. Great site!

    In Mac OS X (which Mark uses), there is a but­ton (well, a but­ton that’s really a list, but that’s a dif­fer­ent issue…) that will print a page dir­ectly to PDF.  That’s prob­ably what Mark’s doing.  It would be inter­est­ing to find a plu­gin that would do this within EE for those without that cap­ab­il­ity, though, or to be able to keep the PDF pro­duc­tion within the application.

    I’d be inter­ested in col­lab­or­at­ing with people on cre­at­ing a sys­tem like this.  I’ve learned the intern­als of EE very extens­ively, and I’m always look­ing for ways I can expand with its cap­ab­il­it­ies.  If you’d like my assist­ance, please visit Deep Thought at http://www.dtgeeks.com and send me an email.

  17. Scott said on: July 26th, 2006 at 2:05 am

    I believe I’ve spot­ted a typo in the second screen­shot: “There are estim­ates for this job yet”

    You don’t want to con­fuse your­self, now. 

    (Sorry if it’s been men­tioned, i ran a find but didn’t spot anything.)

  18. Veerle Pieters said on: July 26th, 2006 at 3:27 pm

    Wow, Mark you out­done your­self here. I wish I was half as smart to set this up. Colly is right this must be in EE 2.0, I would use this in a heartbeat.

  19. Mark Boulton said on: July 26th, 2006 at 3:31 pm

    Thanks Veerle! I’d like to think I’ll be tak­ing this fur­ther as an applic­a­tion in the next few months. In what form, I’m not sure yet. We’ll see… keep tuned.

  20. Jan Bra?na said on: July 26th, 2006 at 7:50 pm

    “[…] there?s no reason why the cor­por­ate design guidelines couldn?t be applied to the con­tent to the same level of soph­ist­ic­a­tion as a DTP package.” 

    Well, maybe there is a reason. If you stick with the solu­tion of PDF-printing a page w/ print stylesheet (or dis­tilling it server-side via DOMPDF or sim­ilar), you can’t include vec­tor stuff and in some cases even a cus­tom type. It doesn’t look good if all the gradi­ents, icon­o­graphy and logo­types are simply 72dpi ras­ters in the res­ult­ing PDFs. I think we have to wait for wider SVG pos­sib­il­it­ies or come up with a server-side pdflib solu­tion sim­ilar to postscriptcomoposition.

  21. Chris said on: July 26th, 2006 at 8:08 pm

    Bril­liant! Makes me wish I had come up with some­thing like this. 

    I would also use this if it became pub­lic. You could eas­ily sell this as a mod­ule. Easily.

  22. John Donovan said on: July 27th, 2006 at 4:25 am

    OMG genius. Think­ing out­side the box like that! It would have never occured to me to imple­ment some­thing like that. I pre­sume adding VAT to your invoices and estim­ates would be pretty simple?

  23. Andru Edwards said on: July 27th, 2006 at 10:08 am

    This is unreal…just too cool. Let me know what I can do to help make this avail­able to others…be it press, cash, whatever :) I need this!

  24. Ilija ?ivi? said on: July 29th, 2006 at 7:34 am

    Just great :) , I will sup­port this in any too..

  25. Timothy Martens said on: July 31st, 2006 at 2:22 am

    Mark,

    How do you handle supress­ing the header and footer data that the browsers display? 

    –t

  26. Derek Allard said on: July 31st, 2006 at 3:03 am

    Mark, this is appears very nice and very eleg­ant.  Well done.  I have been work­ing on a sim­ilar applic­a­tion that I built with Code Igniter (the frame­work Rick pulled from EE).  Its URL is http://www.bambooinvoice.org.  I’ve released the code under the GPL.  Again, very nice work.

  27. Mark Boulton said on: July 31st, 2006 at 8:28 pm

    Timothy: In Safari, which is the browser I’m using export the PDF’s, you can turn on/off the head­ers and foot­ers in the browser preferences.

  28. Timothy Martens said on: July 31st, 2006 at 9:45 pm

    Mark,

    I see. Unser “Safari” in the print dia­logue you can check/uncheck “Print webpage inform­a­tion in head­ers and foot­ers.” Nice one. Thanks.

  29. Keith said on: August 2nd, 2006 at 3:45 am

    Hey, that’s really cool Mark. 

    We’ve (Blue Fla­vor that is) been toss­ing around ideas for some­thing like this for a few months now and it’s really cool to see that A) we’re not the only ones with these prob­lems and B) we’re not the only ones explor­ing how to solve them. 

    It’s really, really, really cool to see that you’ve already taken a stab and done some inter­est­ing work already! 

    I’ve been mean­ing to check into EE and hope to do just that some­time soon.  I’ve been pretty con­sist­antly impressed with what people are doing with it.

  30. Scott said on: August 3rd, 2006 at 6:03 am

    Nice app, Im con­fused though — was it writ­ten with EE? 

    It resembles the Rails apps from 37 sig­nals and you men­tion it above and have links to their other apps in the screen­shots (bas­camp, back­pack etc…) 

    So, yeah — just curi­ous — done with EE or a rails app? 

    Nice though, take care!

  31. masone said on: August 3rd, 2006 at 9:53 am

    I agree with the oth­ers. You’ve done great work here! 

    I would also be inter­ested in such an app. I always wanted to do one on my own because I’m not sat­is­fied with the one’s I found.

  32. Jeff Croft said on: August 5th, 2006 at 5:52 pm

    Very cool, Mark. And an impress­ive demon­stra­tion of EE’s cap­ab­il­it­ies. I’m sooo look­ing for­ward to some of your cli­ent work! :)

  33. oneafrikan said on: August 8th, 2006 at 11:06 pm

    Hey Mark

    I’d be inter­ested in see­ing an Alpha ver­sion as I’ve got exactly the same prob­lems atm… 

    I’d also be will­ing to help out where pos­sible, and test / debug if it means hav­ing some­thing that would com­pli­ment Base­camp… and make life easier ;-) 

    Good luck otherwise!

  34. Leevi Graham said on: August 11th, 2006 at 7:31 pm

    Its great to see EE being used for more than your aver­age website. 

    I have been using Billings by Mar­ket­circle for a while and it is a good cheap solu­tion. V2 is com­ing out soon. 

    I would like to see a rails based job man­age­ment applic­a­tion that you could set up to run on a local machine. A stop start javas­cript­timer for jobs would be cool as well. Hope­fully someone will take this on.. 

    keep up the good work.

  • Me

    Hello. My name is Mark Boulton. I’m a designer, an author, a speaker and I run a small design agency where we work with lovely cli­ents and pub­lish books as we go. This is my blog.

  • More of me

  • Publications

    Design­ing for the Web
    Start­ing from £19 + VAT for a PDF Down­load. £29 for a full col­our paperback.
  • Where I work

    Mark Boulton Design
    A small design stu­dio doing good things for nice clients.
    Five Simple Steps
    Pub­lish­ing easy to read design books.
  • See me speak

    @Media 2010
    June 8th — 11th, Lon­don, UK.
    Drupal­Con 2010
    August 23th — 27th, Copen­ha­gen, Denmark.
    dCon­struct 2010: Design 1010 workshop
    Septem­ber 1st, Brighton, UK.
    Web­d­a­gene
    Septem­ber 29th — Octo­ber 1st, Oslo, Norway
    Web Developers Conference
    Octo­ber 27th, Bris­tol, UK.
    New Adven­tures in Web Design
    Janu­ary 20th 2011, Not­ting­ham, UK.
  • Copyright © 1999–2010 Mark Boulton. Made with an Apple Mac in Wales. Running on WordPress and VPS.net.