"I call this mama the upwardly mobile."
(PG-13)
Friday, August 29, 2008
Wallstrip's salesforce.com / Glengarry Glen Ross Spoof
Labels: offtopic
Wednesday, August 20, 2008
PaaS Platforms Use Proven Architectures
"These companies [Amazon, Google, salesforce.com] have designed, implemented, and most importantly, run their critical business operations on these platforms. That in and of itself is more important than all the vaporware and marketing hype any other vendor comes up with. Rather than having to get customers to believe that a solution works via marketing and then force it down their IT staff's throats, Google and Amazon are basically saying 'Hey why not use stuff that we use and have proven can scale up to handle huge loads and huge amounts of data?'
...
I can base my decision to use a Google or Amazon service based on their actual track record in delivering these services and eating their own dog food, since they are trying to monetize their existing investment in proven highly distributed and scalable infrastructures."
http://www.sleberknight.com/blog/sleberkn/entry/cloud_oriented_architecture_coa
Tuesday, August 19, 2008
Salesforce.com Acquires InStranet
I've had a couple of customers that implemented the salesforce.com Customer Service & Support application, but couldn't be convinced to decommission their old support system because they wanted to keep using their existing Knowledge Base. Salesforce.com's acquisition of InStranet is great news and should resolve this objection. The InStranet Knowledge Base has an outstanding reputation and I'm thrilled that the salesforce.com Customer Service & Support story continues to improve.
Labels: salesforce.com
Friday, August 15, 2008
"Apex Code Is Not a Niche Tool"
"[Apex Code] is not a niche tool for a proprietary platform -- rather, it's a Java-like language with an Eclipse-based tool ecosystem and excellent facilities for unleashing immense gains in developer productivity and enterprise project success."
http://blog.sforce.com/sforce/2008/05/proprietary-mis.html
Labels: Apex, development, saas
Wednesday, August 13, 2008
"Mere Marketing"
"For those who pooh-pooh Microsoft's success as "mere marketing" I have a suggestion: You need to get into this "mere marketing" business. It has a way of driving adoption. It matters."
http://techdirt.com/articles/20080811/1932021951.shtml
Labels: technology evangelism
Tuesday, August 12, 2008
"Lots of People Have Opinions About Platforms"
"Lots and lots of people have opinions about platforms, but the people whose opinions matter are programmers, and people who can make decisions about what programmers program."
Labels: PaaS, technology evangelism
Friday, August 01, 2008
Tuesday, July 22, 2008
Wishing Analytic Snapshots Supported Summary Reports
If Analytic Snapshots supported Summary Reports, I could avoid exporting to Excel, replacing a bunch of text and pasting in a bunch of formulas in order to perform the calculations that I need.
I'm not the only one either - vote up the idea: Summary Fields in Analytic Snapshots.
Labels: salesforce.com
Thursday, July 10, 2008
Visualforce Helps Developers Build Interesting Applications Faster
I've written before about how programming in Apex allows developers to be much more productive. Visualforce similarly helps developers avoid writing a lot of boring code.
If Visualforce and Apex were a typical development platform, the canonical way of populating a data bound picklist would be something like this:
Visualforce markup:
<apex:pageBlockSectionItem> | ||
<apex:outputLabel value="Category" for="expenseCategory"/> | ||
<apex:selectList multiselect="false" id="expenseCategory" required="true" size="1" value="{!expense.Category__c}"> | ||
<apex:selectOptions value="{!ExpenseCategories}"/> | ||
</apex:selectList> | ||
</apex:pageBlockSectionItem> | ||
With the following controller code:
public List getExpenseCategories() | ||
{ | ||
Map allObjectTypesMap = Schema.getGlobalDescribe(); | ||
Schema.DescribeFieldResult f = Schema.sObjectType.Expense__c.fields.Category__c; | ||
List options = new List(); | ||
options.add(new SelectOption('--None--', '--None--')); | ||
for(Schema.PicklistEntry ple : f.getPicklistValues()) | ||
{ | ||
options.add(new SelectOption(ple.getValue(), ple.getLabel())); | ||
} | ||
| ||
} | ||
One of the benefits of developing on the Force.com platform is that it is very data-driven and has native access to your application's metadata. As a result, the code below is equivalent to the code written above and is much less verbose:
<apex:inputField id="expenseCategory" required="true" value="{!expense.Category__c}"/>As a result, developers can spend their time building really interesting applications and let the Force.com platform worry about the plumbing.
Labels: development, salesforce.com, Visualforce
Monday, July 07, 2008
Don't worry about losing your laptop.
I've received two letters in the past year from former employers alerting me that they had lost a computer that contained some of my confidential information. Apparently, I'm not alone - according to a Dell survey, 12,000 laptops are lost at airports alone every week. Over 50% of those laptops are purported to have sensitive corporate data on them. The vast majority of these lost laptops are never reunited with their owners.
I'm surprised that so many corporate Information Security teams place so much faith in the ability of their users to safeguard important corporate information. Individual employees shouldn't be solely responsible for guarding important information. The bulk of that burden should be left to security professionals.
Corporate InfoSec teams should be using SaaS applications to house a lot more of their sensitive data than they are currently. The InfoSec professionals employed by SaaS vendors are much more skilled at protecting data than the average employee is and by using SaaS applications, confidential data isn't stored on individual employee computers and therefore can't be lost. Don't worry about losing your laptop - use SaaS applications instead.