Wednesday, October 29, 2008

(Arguably) The Top 3 Reasons to Attend Dreamforce 2008

As you might be able to tell from some of my previous posts, I'm rather excited about Dreamforce 2008. What I didn't mention are my personal top 3 reasons for attending Dreamforce this year. In chronological order, they are:

Beyond S-Controls: Learn to Use Visualforce in Your Force Platform Apps
If you're familiar with S-Controls and want to know why Visualforce is so much more compelling, then this session is for you! Join Force.com Platform experts as they review the typical uses for S-Controls and explain why Visualforce is easier, faster, and more fun to use in your applications!

Monday November 3
4:45 p.m. - 5:45 p.m.

Presented By
Jesse Lorenz - salesforce.com
Jon Mountjoy - salesforce.com


Build Any UI for Any App Using Visualforce
Learn how to use the latest Force.com Platform innovation, Visualforce, to build any UI for any application. This technical introduction will include code walkthroughs and cover topics including components and common use cases.

Tuesday, November 4
2:00 p.m. - 3:00 p.m.

Presented By
Jotham Fisher-Smith - Surfwriter
Ron Hess - salesforce.com
Jesse Lorenz - salesforce.com


Elevate Your Force.com Platform Apps with the Google Visualization API
Looking to bring the power of the Google Visualization API to your Force.com apps? Attend this session to learn how to add rich charting and visualization capabilities to your Force.com apps in a session jointly presented by Google and Force.com experts.

Wednesday, November 5
11:30 a.m. - 12:30 p.m.

Presented By
Nir Bar-Lev - Google
Jesse Lorenz - salesforce.com
Itai Raz - Google

I hope to see you at Dreamforce and would love to chat after a session, or in the Force.com developer lounge!

Sunday, October 26, 2008

Tim O'Reilly on Web 2.0 and Cloud Computing

Insightful article by Tim O'Reilly. Some of my favorite quotes:

Platform as a Service: One step up from pure utility computing are platforms like Google AppEngine and Salesforce's Force.com, which hide machine instances behind higher-level APIs. Porting an application from one of these platforms to another is more like porting from Mac to Windows than from one Linux distribution to another.

The key question at this level remains: are there advantages to developers in one of these platforms from other developers being on the same platform? Force.com seems to me to have some ecosystem benefits, which means that the more developers are there, the better it is for both Salesforce and other application developers. I don't see that with AppEngine. 

...
Ideally, the user's data becomes more valuable because it is in the same space as other users' data. This is why a listing on craigslist or ebay is more powerful than a listing on an individual blog, why a listing on amazon is more powerful than a listing on Joe's bookstore. [Also why features like Salesforce to Salesforce have such potential.]
This top level of cloud computing definitely has network effects. If I had to place a bet, it would be that the application-level developer ecosystems eventually work their way back down the stack towards the infrastructure level, and the two meet in the middle. In fact, you can argue that that's what force.com has already done, and thus represents the shape of things. It's a platform I have a strong feeling I (and anyone else interested in the evolution of the cloud platform) ought to be paying more attention to.
...
What we learned from the history of the IBM personal computer -- a commodity platform built from off-the-shelf parts -- was that it drained value out of the hardware ecosystem, turning it into a low-margin business. But profits didn't go away. Instead, through something that Clayton Christensen calls "the law of conservation of attractive profits," value migrated elsewhere, from hardware to software, from IBM to Microsoft. 
...
So when Larry Ellison says that cloud computing and open source won't produce many hugely profitable companies, he's right, but only if you look at the pure software layer. This is a lot like saying that the PC wouldn't produce many hugely profitable companies, and looking only at hardware vendors! First Microsoft, and now Google give the lie to Ellison's analysis. The big winners are those who best grasp the rules of the new platform.
...
The utility layer of cloud computing will be just that, a utility, without outsized profits.
http://radar.oreilly.com/2008/10/web-20-and-cloud-computing.html

Sunday, October 19, 2008

A Lesson in Crossing the Chasm from Steve Jobs

Steve states the fundamental questions right from the start: "Who is our target customer? Why are they selecting our product over the competition's? What distribution channels are we going to use?"

- http://www.presentationzen.com/presentationzen/2008/10/steve-jobs-at-the-whiteboard-c-1991.html



Saturday, October 18, 2008

12 Reasons to Attend Dreamforce 2008

Eight great (official) reasons for developers to attend Dreamforce 2008:
  • Platform Keynote - Kick off the conference with salesforce.com Chairman & CEO Marc Benioff's ever-surprising platform address.

  • Force.com State of the Union - Get a complete overview of the latest Force.com technologies and the powerful ecosystem that goes with it.

  • In-Depth, Practical Content - Force.com experts are ready and waiting to teach you everything you need to build out-of-this-world apps.

  • Sessions Galore - We’ve got 40+ sessions on Force.com technologies, complete with hands-on demos and practical guidance.

  • The Force.com Zone - Drop in anytime to speak 1:1 with technical experts, network, or get the new high score in the Nintendo Wii Tournament.

  • Immersion Lab - Get answers to your burning questions through tutorials or 1:1 guidance from our lab staffers.

  • Monday Night Hackathon - You’ll be inspired to build great things with the exclusive cutting-edge technologies announced on Monday, so spend the evening working directly with our top Force.com experts and the rest of the developer community to make your ideas a reality! It’s a collaborative coding marathon event, only at Dreamforce.

  • Technology Preview - Be the first to get hands-on with the very latest Force.com technology, announced exclusively at Dreamforce!
If those reasons didn't convince you to sign up, Jeff Grosse over at CRM FYI put together another great list of reasons why you have to be at Dreamforce 2008. Here are four of my favorites from Jeff's list:
  • 250+ partners will be at Dreamforce.

  • Neil Young will be part of a keynote address.

  • Cloud Crawl - Based on the great success of last year’s App Crawl, the ante is upped this year with a Cloud Crawl.

  • Journey! Foo Fighters!
Stay tuned for three more reasons...

Monday, October 13, 2008

Sunday, October 12, 2008

SaaS Competitive Advantage: Capital Expenditure

"If credit remains tight, then one of the first things businesses are going to cut is capital expenditure — either because they can’t stomach the risk, or because they can’t raise the finance. The upside for SaaS vendors is that those cash-strapped businesses will find the pay-as-you-go SaaS model highly appealing — especially if it helps deliver operational cost savings at the same time. So while the credit crunch seems certain to harm the front-loaded cost model of conventional software sales, SaaS should continue to grow by picking up some of those canceled projects."

http://blogs.zdnet.com/SAAS/?p=589

Wednesday, October 08, 2008

Visualforce Tip: How to Determine a salesforce.com Hostname

It isn't entirely obvious how a developer can determine the hostname (server url) portion of the absolute path for a Visualforce page via Apex. Luckily, it is rather easy to do.

You might have already figured out that the PageReference class's getUrl() method will return the relative path for your Visualforce page:
ApexPages.currentPage().getUrl();

Once you have the relative path for the page, then there's just one remaining trick to discover - the Map returned by the PageReference class's getHeaders() method contains a 'Host' key whose associated value is the hostname for your salesforce org:
ApexPages.currentPage().getHeaders().get('Host');

The complete code for constructing the absolute path for a Visualforce page is below:

String hostname = ApexPages.currentPage().getHeaders().get('Host');
String pageUrl = ApexPages.currentPage().getUrl();
String absolutePath = 'https://' + hostname + pageUrl;
system.debug(absolutePath); //example output: 'https://na6.salesforce.com/apex/MyPage'