Mar 5

Today I noticed these transactions appearing on mint.com:  Looks like a pregnant lady at the mall. :)

picture-4

Mar 3

I was answering a question in the Salesforce.com developer forums today and someone asked if the solution I offered was documented anywhere. I couldn’t find the documentation for the option – so I may as well post it here.

The function URLFOR() creates a link to somewhere in Salesforce.com without having to hard-code your server name and worry about links breaking later.  You can use this function to create another record automatically and have the system automatically press the save button too. Simply append “save=1″ at the end of the array of field values you are passing. Here are some example uses:

Create a button that updates a hidden workflow field on the record you are in. To use custom fields you must find the field ID (open the object, under fields, and open the field detail page, use the ID in the url).

{!URLFOR($Action.Account.Edit, Account.Id, [retURL=URLFOR($Action.Account.View, Account.Id), 00N300000030Ea1 ="TRUE", save=1] )}

Have an Account and you want to have 1 button that creates a renewal opportunity. You can add more fields that are important to you (close date+1 year?).

{!URLFOR($Action.Opportunity.Edit, null, [Amount = Opportunity.Amount , AccountId=Opportunity.AccountId , OwnerId = Opportunity.OwnerId, save=1] )}

Feb 21

I love when people proclaiming to do it right do it so wrong. This website which is focused on “User Interface Engineering” has an RSS feed, but not one that you can subscribe to via the normal meta tags. They require you navigate all the way down the page and look on the right side and they call it an XML Feed. I just thought it was funny.

User Interface Engineering Website

Oct 15
New MacBook
icon1 James Sullivan | icon2 Uncategorized | icon4 10 15th, 2008| icon3No Comments »

I picked up the new MacBook. I have been realizing over the last few weeks that the Eee PC, though fun and little and catchy – has halved my productivity! OSX is the primary driver for getting the new computer.

photo.jpg

It feels really sturdy. Typing on the keyboard is as sturdy as the flat aluminum keyboard that Apple produces and the trackpad is incredibly usable!

photo-1.jpg

I called the Boston-area Apple Stores at 10:30 and nobody said they had them. Varying stories were told, like they weren’t sure if they’d have them or that they would have them tomorrow. Then, on the second round at 11:45, Cambridgeside Galleria confirmed they had a few. I jumped in the car with some co-workers and hauled ass through the back roads to get there. None were on display and they had to go into the back to grab the item for me. Checkout was as easy as always. Now I have the computer… Unix power + hardware support + really usable + solid feeling laptop at good weight and size.

Aug 3
Staples Print Shop Online
icon1 James Sullivan | icon2 Uncategorized | icon4 08 3rd, 2008| icon3No Comments »

It’s amazing that so many people in this day and age (of rising mac popularity, iPhones, Firefox usage) would choose to limit their web site and require only Internet Explorer.  For instance, with the virtually unlimited number of online print shops, Staples requires a Windows computer running Internet Explorer.Here is the error page:  

picture-1.png

Interestingly enough, I would expect the message to say something like “Sorry, we still have our web development team from 1990 who is really good at Visual Basic.”  Instead, they’re taking the “act natural” approach, as if this is something you should expect from using the internet.VistaPrint seems to be at least mostly in touch with this whole “internet thing”.  They require at least Firefox:

picture-2.png 

Does anyone know of good print shops online that let you use Safari? 

Jun 13

This stunning visualization of of code contribution to an open source project (Python) is not only a stunning display of colors and motion.  The video starts with one contributor for the longest time.  The code is completely circling him and there is no other input.  There is so much effort put into the project over such a long period of time before any other contributors were introduced. Once other contributors come about, their additions are few and far between.  The little contributions slowly start to build up and accelerate until they become a full stream and eventually eclipse the original person who started the project.

The fact that one person took so long to build it is a testament that open source projects are in fact very similar to our businesses.  Someone out there is putting in a lot of effort, working toward a vision, and is dedicated to the goal.  Businesses aren’t an over-night success with a grand opening event, they are a consistent challenge to the owner to acquire customers and keep the bottom line low.

   code_swarm – Python from Michael Ogawa on Vimeo.

May 17
Beauty In Advertising
icon1 James Sullivan | icon2 Uncategorized | icon4 05 17th, 2008| icon3No Comments »

Creating beauty in advertising makes people appreciate your brand.  Jet Blue’s new advertising campaign thanking you for not flying, as they do the flying for you, and numerous silly images make it a pleasant experience to see run into their brand.  It is a risk, as not all of these endeavors turn out well, but when it’s slightly quirky and improves your day – you do crazy things like spending a dozen more dollars on a short-haul flight because you want to try out Jet Blue, those guys that made you smile a few times last week.

If you’re looking for advertising inspiration you should check out SkaryIdeas.com:

ScaryIdeas.com

May 14

AJAX web applications typically use a processing or loading indicator when pulling data back from the server. We use them in S-Controls for Salesforce.com integrations and for our other web projects. Recently when performing a web search for a generic animated loading indicator (this search) I was amazed and surprised at a great tool that someone created:

ajaxload.info

The site gives you a lot of different styles of moving gifs and then lets you assign colors (or transparency) to the indicator and then you can download it for use in your site. Awesome little tool site!

Feb 28
Marketing Dashboard
icon1 James Sullivan | icon2 Uncategorized | icon4 02 28th, 2007| icon3No Comments »

Measuring marketing is a popular topic right now. The tenure of CMO and marketing VPs is much shorter than your typical VP. Why is that? In my experience, it comes down to how they communicate with the other VPs and their board. Board members are ready with tough questions, trying to stump the marketing staff even before they enter the room. Most marketing organizations are viewed as wishy-washy, creative, and not connected to the bottom-line of the company. It’s really unfortunate when this organization is actually responsible for filling your sales pipeline and doing enough advertising and PR that people know what you do and how you’re better at doing it than your competitors.

If engineering delivers a really crappy product, someone will most likely get fired. If a sales staff misses their sales budget, someone will very likely get fired. If a finance department can’t keep a budget, someone will very likely get fired. If a support staff leaves customers consistently angry with service, someone will very likely get fired. If a marketing staff delivers really bad leads to sales so sales must do their own prospecting to fill their pipeline, nothing will happen to the marketing person.

If this organization is so critical in an organization than why is it so difficult to get reliable measurements? My personal experience is where the key players in marketing come from. They have a degree in English, or if you’re lucky, Communications. The marketing executives who have been around long enough to have solid experience come from a time where marketing wasn’t measurable. Now, with CRM and the electronic advertising mediums, a marketing organization is more measurable than ever. Even with that being the case there is still little being measured.

To quote Einstein: Everything that can be counted does not necessarily count; everything that counts cannot necessarily be counted.

The typical marketing staff probably talks to the board about lead counts. “We collected 12,345 this quarter. It was an increase by 12% over the previous quarter.” Now, the board of directors thinks: “… and?”.

Not only is the board waiting for more detail, looking for diagnostic feedback from the marketing organization, but the VP of sales is looking around the room with a funny face trying to convey to the board that “the lead counts are inflated! Don’t listen to the lead counts! My guys aren’t getting any real leads!”

How to avoid this problem?

  1. Define a common terminology: Have your marketing and sales people spend time together, not skipping from one topic to another, briefly touching on topics and not delving deeply enough into any to actually fix anything. Have an agenda (maybe this one) about what needs to be defined.
  2. Build a process: If you have leads that sit assigned to a salesperson as “Open” just because the salesperson thinks that eventually everyone will buy – get rid of that shit! If a sales department would actually close leads (even if only “Closed, Junk”) than the marketing department will be able understand the sales guy when he says that nobody wants to buy. You’re much better-off letting the data speak for itself than wasting your breath trying to convince someone they’re not doing a good job.
  3. Define what sales wants. Sales is not allowed to say “people ready to buy” because last time I checked, nobody actually asked someone registering for a whitepaper “would you like to buy our product now?”. By sales struggling to define what a good lead actually is, you’ve given the sales staff some understanding of how difficult the marketing role actually is.
  4. Have marketing and sales come up with a measure on how marketing can successfully meet the needs of sales: Just created a metric, a graph, or a table that represented the core deliverable of a marketing department (from the sales perspective).
Dec 12
Time Sheets In Salesforce.com
icon1 James Sullivan | icon2 Uncategorized | icon4 12 12th, 2006| icon31 Comment »

The professional services department wants to track time sheets in a central location. We use Salesforce.com for everything else, why not time sheets?

The only way to do it out-of-the-box requires the users to open a new record and perform the data entry on a single page for each time allocation. This means a lot of clicking. A lot.

I got around this by creating an AJAX S-Control that retrieves the time-sheet records (a custom object) and populates them in a grid along with a few blank rows at the bottom for ample area to account for today’s new time records.

The projects list is a list of Opportunities that they can attribute their work to.

Take a look, what do you think?

my-time-sheets.jpg