Jonathan Oxer
[Blog]
>> Managing email overload
Thu, May 1st 1:35pm 2008 >> Web Development
One of the most fundamental tools used in any form of e-business is email, but most of us don't really think about it - we just use it out of habit, not with any real plan. And as business becomes ever busier it's easy to become inundated with email and fall so far behind that it becomes useless and customers get frustrated with lack of responsiveness. In "How To Build A Website And Stay Sane" I talked about some of the macro aspects of email in e-business, such as establishing an acceptable response time, delegating responsibility for inquiry responses, and use of role addresses such as "sales@example.com" so responsibility can be re-delegated when staff are away.
But I didn't talk about how to actually manage what ends up in your inbox - how to file it, archive it, and prioritise it.
Over the years I've tried a few different approaches to managing email. I personally receive about 1000 emails per day so my message load is probably a little bit higher than most, and that means I have to work really hard to keep up with it or I risk getting to the point where I have to declare email bankruptcy and just delete my inbox and start again. This morning I had 473 messages waiting for me when I got to work - and that was just new messages since I checked it before I went to bed last night!
So staying on top of email is one of the biggest burdens I have to face, and it's a problem faced by everyone heavily involved in e-business.
For many years my preferred approach was to use a highly structured filing system that had many different folders each with multiple levels. For example, I had a "Clients" folder, then inside that I had one folder for each client. As time went on that became unwieldy and just opening the Clients folder presented me with a list of hundreds of clients, so I broke it down further into Current, Inactive, and Archive - but then I was frequently shuffling folders around, and I had to remember where things were stored. I also wrote a whole bunch of filing rules on the mail server so that whenever email came in it would be automatically directed into the correct folder without my email software having to do anything.
But eventually it got to the point where it would take over half an hour each morning just to open my email software because it took so long working through the enormous list of folders, and I still ended up with over 50,000 unread emails in my inbox at one point. Not fun.
My next tactic was to just give in to the inevitable and let the avalanche sweep over my inbox. I gave up on filing entirely, leaving everything in my inbox and relying on search to locate messages related to particular customers or friends. That's the basis on which Gmail works, and it's actually a pretty cool approach. It worked for me for a while but it also had problems. Search became really slow because I had something like 400,000 messages in my inbox and it was very hard to pick out messages that still needed action. So to improve search performance I created one archive folder for each year of email, and put all messages from 2006 into one folder, 2005 into another, etc. My inbox became all messages from my current year, with anything earlier being in a year-based archive. Basically it was the "full inbox" approach with trivial archiving.
After a few months of that approach Arjen Lentz introduced me to the concept of "inbox zero", a technique developed by Merlin Mann from 37signals. Inbox zero is based on the "Getting Things Done" methodology made famous by David Allen and it's designed to leave you with an empty inbox at all times.
The promise of email nirvana!
I was sceptical at first but when you're drowning it doesn't matter what comes into reach - you'll grab at anything you can! So I thought I'd give it a try.
What I've ended up with is a system that's a blend of my previous year-based archive with the "inbox zero" prioritisation technique applied as a triage mechanism on incoming messages. I still have archives per year, but rather than use the inbox for all messages from the current year I also created an archive for the current year, and the objective of the game is to get every single incoming message into the archive as fast as possible by applying some rules to them. And that's where the "getting things done" mindset comes into play.
The first discipline is to never read an email twice while it's in your inbox. My natural tendency is to read an email, think "ok, I'll get back to that", and leave it there - but that's bad, because then you have to re-read it later to regain the context and actually do something about it. For every message that arrives in the inbox, you have to read it *once* and then classify it immediately. Do *not* think "I'll get back to that": classify it *now*, and don't take more than about 3 seconds thinking about each one.
Which leads to the second discipline: classification. I use a slightly modified version of Mann's classifications. For every email that comes in I mentally throw it into one of 5 piles: Do, Delegate, Delete, Defer, Archive. It's become a bit of a mantra that runs through my head at all sorts of odd times!
If it's something quick and all you need to do is dash off a reply, just Do it. Then file the email in the current archive.
If it's something that can be passed on to a colleague, forward the email and then file it in a "Delegated" folder.
If it's something that you really don't care about, like time-wasting "look at these funny pictures!" messages from that cousin you haven't seen in 6 years, delete it.
If it's something that will take a bit more care and time to actually follow up on, file it in a "Defer" folder.
If it's an email you want to keep for future reference but don't actually need to do anything about, file it in the "Archive" folder for the current year.
After a few minutes working through your inbox you should have every single message either Done, Delegated, Deleted, Deferred, or Archived. And your inbox will be empty. A miracle has occurred!
The third discipline is then to go through your Defer folder several times per day and action the items that will take some time and care. If you've been brutal enough with your classification process this will hopefully be a relatively short list. Once each item has been actioned, move it into the Archive folder. Once again your objective should be to achieve an empty Defer folder, but that's often not practical. I've heard of people using this technique who write a mail rule that takes anything which has been sitting in the Defer folder for more than 30 days and simply deletes it. After all, if you've deferred it for more than a month it's not likely you'll actually do anything about it, so why not just accept the inevitable? Personally I don't do that but I can understand why people do.
The fourth discipline is to regularly go through your Delegated folder and check if there's anything you need to follow up. Often you'll delegate a task to a colleague and never hear the outcome, so the messages in the Delegated folder can act as a prompt that you need to check the status of that task and then move it into Archive once it's done. Once again your objective is to have an empty Delegated folder: a sign that all the tasks you are delegating to other people are being completed quickly.
So there you have it: my technique for drinking from a fire-hose without being washed away. Everything comes into the Inbox, then is redirected into one of several folders, and eventually filters through to the archive for long term storage. Conceptually simple, but the trick is applying the discipline needed to make it work!
There's a very cool video online of Merlin Mann doing a Google Tech Talk about inbox zero. It's well worth a look if you're anything like me and wish you didn't have to spend so much time dealing with email.
video.google.com/videoplay?docid=973149761529535925
One of the most fundamental tools used in any form of e-business is email, but most of us don't really think about it - we just use it out of habit, not with any real plan. And as business becomes ever busier it's easy to become inundated with email and fall so far behind that it becomes useless and customers get frustrated with lack of responsiveness. In "How To Build A Website And Stay Sane" I talked about some of the macro aspects of email in e-business, such as establishing an acceptable response time, delegating responsibility for inquiry responses, and use of role addresses such as "sales@example.com" so responsibility can be re-delegated when staff are away.
But I didn't talk about how to actually manage what ends up in your inbox - how to file it, archive it, and prioritise it.
Over the years I've tried a few different approaches to managing email. I personally receive about 1000 emails per day so my message load is probably a little bit higher than most, and that means I have to work really hard to keep up with it or I risk getting to the point where I have to declare email bankruptcy and just delete my inbox and start again. This morning I had 473 messages waiting for me when I got to work - and that was just new messages since I checked it before I went to bed last night!
So staying on top of email is one of the biggest burdens I have to face, and it's a problem faced by everyone heavily involved in e-business.
For many years my preferred approach was to use a highly structured filing system that had many different folders each with multiple levels. For example, I had a "Clients" folder, then inside that I had one folder for each client. As time went on that became unwieldy and just opening the Clients folder presented me with a list of hundreds of clients, so I broke it down further into Current, Inactive, and Archive - but then I was frequently shuffling folders around, and I had to remember where things were stored. I also wrote a whole bunch of filing rules on the mail server so that whenever email came in it would be automatically directed into the correct folder without my email software having to do anything.
But eventually it got to the point where it would take over half an hour each morning just to open my email software because it took so long working through the enormous list of folders, and I still ended up with over 50,000 unread emails in my inbox at one point. Not fun.
My next tactic was to just give in to the inevitable and let the avalanche sweep over my inbox. I gave up on filing entirely, leaving everything in my inbox and relying on search to locate messages related to particular customers or friends. That's the basis on which Gmail works, and it's actually a pretty cool approach. It worked for me for a while but it also had problems. Search became really slow because I had something like 400,000 messages in my inbox and it was very hard to pick out messages that still needed action. So to improve search performance I created one archive folder for each year of email, and put all messages from 2006 into one folder, 2005 into another, etc. My inbox became all messages from my current year, with anything earlier being in a year-based archive. Basically it was the "full inbox" approach with trivial archiving.
After a few months of that approach Arjen Lentz introduced me to the concept of "inbox zero", a technique developed by Merlin Mann from 37signals. Inbox zero is based on the "Getting Things Done" methodology made famous by David Allen and it's designed to leave you with an empty inbox at all times.
The promise of email nirvana!
I was sceptical at first but when you're drowning it doesn't matter what comes into reach - you'll grab at anything you can! So I thought I'd give it a try.
What I've ended up with is a system that's a blend of my previous year-based archive with the "inbox zero" prioritisation technique applied as a triage mechanism on incoming messages. I still have archives per year, but rather than use the inbox for all messages from the current year I also created an archive for the current year, and the objective of the game is to get every single incoming message into the archive as fast as possible by applying some rules to them. And that's where the "getting things done" mindset comes into play.
The first discipline is to never read an email twice while it's in your inbox. My natural tendency is to read an email, think "ok, I'll get back to that", and leave it there - but that's bad, because then you have to re-read it later to regain the context and actually do something about it. For every message that arrives in the inbox, you have to read it *once* and then classify it immediately. Do *not* think "I'll get back to that": classify it *now*, and don't take more than about 3 seconds thinking about each one.
Which leads to the second discipline: classification. I use a slightly modified version of Mann's classifications. For every email that comes in I mentally throw it into one of 5 piles: Do, Delegate, Delete, Defer, Archive. It's become a bit of a mantra that runs through my head at all sorts of odd times!
If it's something quick and all you need to do is dash off a reply, just Do it. Then file the email in the current archive.
If it's something that can be passed on to a colleague, forward the email and then file it in a "Delegated" folder.
If it's something that you really don't care about, like time-wasting "look at these funny pictures!" messages from that cousin you haven't seen in 6 years, delete it.
If it's something that will take a bit more care and time to actually follow up on, file it in a "Defer" folder.
If it's an email you want to keep for future reference but don't actually need to do anything about, file it in the "Archive" folder for the current year.
After a few minutes working through your inbox you should have every single message either Done, Delegated, Deleted, Deferred, or Archived. And your inbox will be empty. A miracle has occurred!
The third discipline is then to go through your Defer folder several times per day and action the items that will take some time and care. If you've been brutal enough with your classification process this will hopefully be a relatively short list. Once each item has been actioned, move it into the Archive folder. Once again your objective should be to achieve an empty Defer folder, but that's often not practical. I've heard of people using this technique who write a mail rule that takes anything which has been sitting in the Defer folder for more than 30 days and simply deletes it. After all, if you've deferred it for more than a month it's not likely you'll actually do anything about it, so why not just accept the inevitable? Personally I don't do that but I can understand why people do.
The fourth discipline is to regularly go through your Delegated folder and check if there's anything you need to follow up. Often you'll delegate a task to a colleague and never hear the outcome, so the messages in the Delegated folder can act as a prompt that you need to check the status of that task and then move it into Archive once it's done. Once again your objective is to have an empty Delegated folder: a sign that all the tasks you are delegating to other people are being completed quickly.
So there you have it: my technique for drinking from a fire-hose without being washed away. Everything comes into the Inbox, then is redirected into one of several folders, and eventually filters through to the archive for long term storage. Conceptually simple, but the trick is applying the discipline needed to make it work!
There's a very cool video online of Merlin Mann doing a Google Tech Talk about inbox zero. It's well worth a look if you're anything like me and wish you didn't have to spend so much time dealing with email.
video.google.com/videoplay?docid=973149761529535925
>> Quickstart Guide to Google AdWords
Mon, Feb 25th 2:12pm 2008 >> Web Development
At CeBIT last year I grabbed a bunch of little booklets called "Insiders Guide to Google AdWords" from the Google stand, and since then we've been giving them away to interested customers. Then about a month ago in eBusiness News I did a story on the Google AdWords bid optimizer and offered to send readers the last few copies I had of Insiders Guide.
The response was unbelievable. My last few copies were claimed within five minutes of eBusiness News going out, and I ended up with a spreadsheet of people who wanted it but missed out.
"No problem," I thought, "I'll just get on the phone to the AdWords marketing team and grab some more copies. A box or two should do it."
No such luck. It turns out that Insiders Guide is out of print, and the AdWords marketing team has no intention of producing more - which is a pity, because it's a useful little guide. Oh well, since I talk to a lot of people about online marketing and many of them want to try out AdWords, perhaps I could arrange to have extra copies printed at my expense if Google didn't have plans to produce more?
"Absolutely not. It's Google copyright material and nobody else may reproduce it under any circumstances."
Wow. So they don't want me helping to advertise their services and send them more customers by reproducing what is effectively their marketing material for them at my expense? OK, I can understand them wanting to protect their corporate image, but still!
That left me in a pickle. Many of my customers are hassling me for a quickstart guide to AdWords, but Google won't let me use theirs. What's a guy to do?
Write one myself, of course!
So over the space of a couple of weeks I spent many late evenings writing "Quickstart Guide to Google AdWords", and now I'm happy to say it's all done so maybe I can start getting some sleep again. The first hard copies should arrive in Oz late this week or early next week but you can already order it online, and it should appear on Amazon.com and B&N and other random places once the Books In Print database does it's slow-as-a-snail update thing.
At CeBIT last year I grabbed a bunch of little booklets called "Insiders Guide to Google AdWords" from the Google stand, and since then we've been giving them away to interested customers. Then about a month ago in eBusiness News I did a story on the Google AdWords bid optimizer and offered to send readers the last few copies I had of Insiders Guide.The response was unbelievable. My last few copies were claimed within five minutes of eBusiness News going out, and I ended up with a spreadsheet of people who wanted it but missed out.
"No problem," I thought, "I'll just get on the phone to the AdWords marketing team and grab some more copies. A box or two should do it."
No such luck. It turns out that Insiders Guide is out of print, and the AdWords marketing team has no intention of producing more - which is a pity, because it's a useful little guide. Oh well, since I talk to a lot of people about online marketing and many of them want to try out AdWords, perhaps I could arrange to have extra copies printed at my expense if Google didn't have plans to produce more?
"Absolutely not. It's Google copyright material and nobody else may reproduce it under any circumstances."
Wow. So they don't want me helping to advertise their services and send them more customers by reproducing what is effectively their marketing material for them at my expense? OK, I can understand them wanting to protect their corporate image, but still!
That left me in a pickle. Many of my customers are hassling me for a quickstart guide to AdWords, but Google won't let me use theirs. What's a guy to do?
Write one myself, of course!
So over the space of a couple of weeks I spent many late evenings writing "Quickstart Guide to Google AdWords", and now I'm happy to say it's all done so maybe I can start getting some sleep again. The first hard copies should arrive in Oz late this week or early next week but you can already order it online, and it should appear on Amazon.com and B&N and other random places once the Books In Print database does it's slow-as-a-snail update thing.
>> Day-trip to Brisbane without leaving the airport
Thu, Jun 14th 10:25am 2007 >> Web Development
Yesterday was quite a day: up at 3:30am, early flight to Brisbane (watched the sunrise on the flight up), a day in a workshop with Brisbane Airport Corporation operations and security staff going over some of their internal processes, then onto a flight back to Melbourne (watched the sunset on the flight back).
It's actually pretty convenient to visit clients that happen to run an airport. The flight destination *is* the trip destination!
Even better when it's for an interesting project and the client's staff are very focused and switched-on. Workshops examining business processes generally tend to drift off into minutia and bikeshedding, but that didn't happen with BAC at all. Smart people + time pressure + a specific required outcome = productive meeting.
I'd love to tell more about the project, but then I'd have to kill everyone that reads this blog. Or maybe just myself. Either way, it's not a desired outcome.
Yesterday was quite a day: up at 3:30am, early flight to Brisbane (watched the sunrise on the flight up), a day in a workshop with Brisbane Airport Corporation operations and security staff going over some of their internal processes, then onto a flight back to Melbourne (watched the sunset on the flight back).
It's actually pretty convenient to visit clients that happen to run an airport. The flight destination *is* the trip destination!
Even better when it's for an interesting project and the client's staff are very focused and switched-on. Workshops examining business processes generally tend to drift off into minutia and bikeshedding, but that didn't happen with BAC at all. Smart people + time pressure + a specific required outcome = productive meeting.
I'd love to tell more about the project, but then I'd have to kill everyone that reads this blog. Or maybe just myself. Either way, it's not a desired outcome.
>> FileMaker, you're wiggin me out, man
Wed, Mar 14th 1:58pm 2007 >> Web Development
Way back in the day (a day well over a decade past, I might add) I spent a lot of time doing FileMaker Pro development. Most of what I did was hooking them up to the Internet using nasty little Applescript hacks and such, but then I saw the light and didn't look back.
Until recently.
I'm in the process of converting not one but two art dealerships / galleries from internally developed FMP stock management systems to SiteBuilder-based intranets. They both have thousands of stock records in FMP that I need to somehow liberate into a more accessible format, and along the way I've developed a bunch of little tricks like field-at-a-time conversion (more about that in a later post) but the one that has been bending my brain today is how to get images out of the DB into an actual image file.
For background, FMP has a "container" field type that is basically a binary blob. You can stick anything in it you like, including raw images: with a container field in a layout you can copy and paste (or even just drag in) things like JPEGs. Sweet. But it's kinda one-way. In the first conversion, the client had stored stock images externally and included a text field in the DB that referenced the image file, so that was a piece of cake. The second client had all the images stored *inside* the DB.
But the kicker is that there is no way (at least in FMP v7) to export container fields. It just flat-out refuses to do it. The only way to get them out is to go through every record, select the image, copy it, go to a document, paste it, and save the document. Manually. For every record. AAAGGHHHHHH!!!!
A bit of quick Googling showed up this post by Marc Liyanage who went to the extreme of using FMP script to execute an internal calculation to dynamically generate AppleScript which then generated and executed Shell. Now *there's* an example of determination, and maybe just a little bit of insanity. It's right up there with my OSDC lightning talk last year demonstrating a PHP script that generated code in OSDcLang which is a 3-syntax-element Turing-complete language which was then executed by an interpreter written in Ruby.
But back to the story. Marc's effort was heroic, but I just couldn't get it quite working in the way he wrote it. So I simplified it and actually got the same end result with one less AppleScript and no shell at all.
If you don't mind losing a few braincells just follow the bouncing ball:
1. Create a directory called "picture_export" in your home directory for the images to go in.
2. Go to Scripts -> ScriptMaker -> New..., and make yourself a script called "ImageExport" or somesuch.
3. Create the basic script structure like this:
In this case the DB name is "STOCK LIST 1-9-04", and "PICTURE" is the name of the container field with the images that we want to liberate.
4. Now the funky bit: the calculated AppleScript. Edit the "Perform AppleScript" line and set it to "Calculated AppleScript", then "Specify..." to get a dialog box to put it into. Hold onto your pants (and put some on first if you need to) because this is going to get weird:
Basically the calculation is a simple text concatenation that dynamically generates the AppleScript on each execution. That's why there are bizarro Apple paragraph characters appended to each line: without them the AppleScript parser can't figure out where the lines end.
Update the database name reference to suit, and in this case "Registration number" is a unique, auto-incrementing serial number field that we're using so the file names are unique and we can relate them back to DB records.
5. Run the script.
Enjoy!
Way back in the day (a day well over a decade past, I might add) I spent a lot of time doing FileMaker Pro development. Most of what I did was hooking them up to the Internet using nasty little Applescript hacks and such, but then I saw the light and didn't look back.
Until recently.
I'm in the process of converting not one but two art dealerships / galleries from internally developed FMP stock management systems to SiteBuilder-based intranets. They both have thousands of stock records in FMP that I need to somehow liberate into a more accessible format, and along the way I've developed a bunch of little tricks like field-at-a-time conversion (more about that in a later post) but the one that has been bending my brain today is how to get images out of the DB into an actual image file.
For background, FMP has a "container" field type that is basically a binary blob. You can stick anything in it you like, including raw images: with a container field in a layout you can copy and paste (or even just drag in) things like JPEGs. Sweet. But it's kinda one-way. In the first conversion, the client had stored stock images externally and included a text field in the DB that referenced the image file, so that was a piece of cake. The second client had all the images stored *inside* the DB.
But the kicker is that there is no way (at least in FMP v7) to export container fields. It just flat-out refuses to do it. The only way to get them out is to go through every record, select the image, copy it, go to a document, paste it, and save the document. Manually. For every record. AAAGGHHHHHH!!!!
A bit of quick Googling showed up this post by Marc Liyanage who went to the extreme of using FMP script to execute an internal calculation to dynamically generate AppleScript which then generated and executed Shell. Now *there's* an example of determination, and maybe just a little bit of insanity. It's right up there with my OSDC lightning talk last year demonstrating a PHP script that generated code in OSDcLang which is a 3-syntax-element Turing-complete language which was then executed by an interpreter written in Ruby.
But back to the story. Marc's effort was heroic, but I just couldn't get it quite working in the way he wrote it. So I simplified it and actually got the same end result with one less AppleScript and no shell at all.
If you don't mind losing a few braincells just follow the bouncing ball:
1. Create a directory called "picture_export" in your home directory for the images to go in.
2. Go to Scripts -> ScriptMaker -> New..., and make yourself a script called "ImageExport" or somesuch.
3. Create the basic script structure like this:
Go to Record/Request/Page [First]
Loop
Copy [Select; STOCK LIST 1-9-04::PICTURE]
Perform AppleScript[]
Go to Record/Request/Page [Next; Exit after last]
End LoopIn this case the DB name is "STOCK LIST 1-9-04", and "PICTURE" is the name of the container field with the images that we want to liberate.
4. Now the funky bit: the calculated AppleScript. Edit the "Perform AppleScript" line and set it to "Calculated AppleScript", then "Specify..." to get a dialog box to put it into. Hold onto your pants (and put some on first if you need to) because this is going to get weird:
"set thePic to the clipboard" & ¶
& "try" & ¶
& " set thePic to JPEG picture of thePic" & ¶
& "set thePath to (path to home folder as Unicode text) & "picture_export:" & "" & ${STOCK LIST 1-9-04}::Registration number & ".jpeg"" & ¶
& "set fileRef to open for access file thePath with write permission" & ¶
& "set eof fileRef to 0" & ¶
& "«event rdwrwrit» thePic given «class refn»:fileRef" & ¶
& "close access fileRef" & ¶
& "on error" & ¶
& "end try" & ¶Basically the calculation is a simple text concatenation that dynamically generates the AppleScript on each execution. That's why there are bizarro Apple paragraph characters appended to each line: without them the AppleScript parser can't figure out where the lines end.
Update the database name reference to suit, and in this case "Registration number" is a unique, auto-incrementing serial number field that we're using so the file names are unique and we can relate them back to DB records.
5. Run the script.
Enjoy!
>> Thinking on my feet
Thu, Nov 24th 9:47pm 2005 >> Web Development
I was invited to be a guest speaker tonight at a post-grad class at Swinburne Uni, talking to a bunch of people about eBusiness. Turns out to be not quite what I expected! I had prepared on the basis that I was to talk to students intending to become eBusiness professionals so I intended to do a talk about the life of a web developer, but when I got there I discovered it was a business management course and what they really wanted to know about was use of eBusiness in their businesses.
It's a good thing I didn't put any serious preparation into the slides because I had to just ad-lib it anyway. Still managed to talk for an hour and a half though!
I was invited to be a guest speaker tonight at a post-grad class at Swinburne Uni, talking to a bunch of people about eBusiness. Turns out to be not quite what I expected! I had prepared on the basis that I was to talk to students intending to become eBusiness professionals so I intended to do a talk about the life of a web developer, but when I got there I discovered it was a business management course and what they really wanted to know about was use of eBusiness in their businesses.
It's a good thing I didn't put any serious preparation into the slides because I had to just ad-lib it anyway. Still managed to talk for an hour and a half though!
>> Book price?
Sun, Apr 3rd 6:39pm 2005 >> Web Development

I'm absolutely convinced that the high sticker price of $69.95 on How To Build A Website And Stay Sane is really slowing down sales. It's been downloaded as a PDF over 2000 times which is pretty impressive (reading an entire book as a PDF would have to be a painful experience for most people!) and I've had fantastic feedback, but there haven't been many hard copy sales yet.
There's one library supply company in particular, James Bennett, that just keeps ordering more copies. That's way cool, but it's hardly selling in enough quantity to let me upgrade my transportation from bipedal locomotion to an RX-8. Or even a skateboard, for that matter.
What to do? Sell it cheaper? I dunno. Personally I think it needs to be selling at $39.95 retail to be hitting its market, but I don't know how practical that is. Retailers and distributors want about a 40% cut off retail so that leaves pretty much nothing for little old me between production costs and the wholesale price. Wholesalers are currently getting it at $44 inc GST, so if the retail went to $39.95 the wholesale price would go to about $23. Which would kinda suck. I think I'd get somewhere in the vicinity of 3 cents / copy then.

I'm absolutely convinced that the high sticker price of $69.95 on How To Build A Website And Stay Sane is really slowing down sales. It's been downloaded as a PDF over 2000 times which is pretty impressive (reading an entire book as a PDF would have to be a painful experience for most people!) and I've had fantastic feedback, but there haven't been many hard copy sales yet.
There's one library supply company in particular, James Bennett, that just keeps ordering more copies. That's way cool, but it's hardly selling in enough quantity to let me upgrade my transportation from bipedal locomotion to an RX-8. Or even a skateboard, for that matter.
What to do? Sell it cheaper? I dunno. Personally I think it needs to be selling at $39.95 retail to be hitting its market, but I don't know how practical that is. Retailers and distributors want about a 40% cut off retail so that leaves pretty much nothing for little old me between production costs and the wholesale price. Wholesalers are currently getting it at $44 inc GST, so if the retail went to $39.95 the wholesale price would go to about $23. Which would kinda suck. I think I'd get somewhere in the vicinity of 3 cents / copy then.
>> Future of web applications
Sun, Apr 3rd 6:21pm 2005 >> Web Development
A recent IVT News email that I sent out was a little essay about how the "AJAX" approach in Google Maps and Google Suggest has the potential to totally change the web development industry, making web apps look and feel just like desktop apps. I got some good comments from that and it looks like I might be presenting a session about it at an Innovation Week event in a couple of months.
In the meantime though it's been picked up and carried by The Age and Sydney Morning Herald newspapers. Thanks Sam!
A recent IVT News email that I sent out was a little essay about how the "AJAX" approach in Google Maps and Google Suggest has the potential to totally change the web development industry, making web apps look and feel just like desktop apps. I got some good comments from that and it looks like I might be presenting a session about it at an Innovation Week event in a couple of months.
In the meantime though it's been picked up and carried by The Age and Sydney Morning Herald newspapers. Thanks Sam!
>> And now for a dose of CSS...
Tue, Jan 16th 10:59pm 2001 >> Web Development
CSS rocks! I had been thinking about how this page had looked pretty dumb for a really long time, and then came across the winning site in the w3c Remix competition and got all inspired.
As you can see I've pretty much stolen the news item layout from that site with a few minor changes of my own, and it's so cool to be able to just wrap a couple of elements in some spans and divs and make it look totally different with some CSS tweaks. Major headache saver!
CSS rocks! I had been thinking about how this page had looked pretty dumb for a really long time, and then came across the winning site in the w3c Remix competition and got all inspired.
As you can see I've pretty much stolen the news item layout from that site with a few minor changes of my own, and it's so cool to be able to just wrap a couple of elements in some spans and divs and make it look totally different with some CSS tweaks. Major headache saver!
1 of 2 >
[ Back to top ]