An interesting video on cloud computing 101...

Every had a client have their eye's glaze over when you mention the words "Cloud Computing" or all your data is in the "Cloud"? I stumbled upon this video today at CNN.com which does a good (and humorous)job of answering the question..."What is Cloud Computing?"

height="374">

This summer Salesforce.com threw down the gauntlet again and put on their second Cloud Developer Challenge. After our success with the last challenge we thought we would throw our hat in the ring and see what we could come up with. Our goal this time around was to use the Force.com platform (Sites, Visualforce, Apex, and Salesforce.com) to create an online application that displays the richness of the Force.com platform while looking nothing like a standard Salesforce.com app.

After some power brainstorming we decided that we would combine our love for Salesforce.com and endurance sports to create an online portal for users to set goals and track their workouts online. Our concept grew into an online tool that a person could use to set a goal, plan/enter their workouts, blog/twitter about their workouts and get real-time analytics of their progress towards that goal.

The result

The result of our effort was enduranceAthlete...an online application that is built on the Force.com platform and leverages some of the latest Cloud and Web 2.0 best practices. You can log in to our application to demo it:

http://workout-developer-edition.na7.force.com/SiteLogin

Below are some of the highlights of enduranceAthlete...

Data model and User Interface are built all on the Force.com platform:



Calendar that leverages jQuery to display workouts:




Integration with Active.com API to pull in information on local races:




Integration with major social networks Twitter and Blogger:





Integration with Google Analytics:





Salesforce.com honors us with a win!

We are very pleased to announce that Salesforce.com selected us as one of the three winners for the Summer Developer Challenge of which there were over 1,000 applications. Full article…

Conclusion

It is clear that with the addition of Sites that Salesforce has taken the Force.com platform to the next level. enduranceAthlete is a great example of how you can really create any online application using their platform…the sky is now the limit. I feel like we can finally say to our clients that “We can do anything on Salesforce.com”.

Well it was good enough...

The announced the winners for the second Salesforce.com developer challenge and it turns out my entry was good enough to be in the top three...so I finally get an Apple product.

To be honest I am very honored...there were a ton of very cool apps built that I saw (I thought both the gaming sites were particularly well done). Here is a link to the announcement and the other sites that were mentioned:

Salesforce.com Announcements

Thanks again to Salesforce for the fun challenge!

Developer Challenge Entry Done!

So after hours of late nights (thanks to my wife taking the kids) I have completed my submission for the Developer Challenge this summer.

Endurance Athlete: A cloud based application to help you train for your next big race.




Here is a link to the site:

https://workout-developer-edition.na7.force.com/

Flex plus Salesforce.com APEX Webservice

Flex plus Salesforce.com APEX Webservice:


The following post will lay out a basic “Hello World” example of how to create a Flex application using a webservice call to a Force.com APEX webservice method. This example will show you how to create a Force.com Apex webservice and cal l it from Flex. While this is just a simple hello world example you should quickly be able to see how you could leverage the power of both Flex and the Force.com platform to create rich client applications.


In this post I will be building on the Salesforce.com tutorial on how to connect Flex and Salesforce.com. Here is a link to that post: Salesforce/Flex Tutorial


Step 1 Salesforce: Create the APEX class


The first step will be for us to create the logic that will run our application. We will do this by creating an Apex class in our Salesforce.com org using Eclipse. This class is what will be called by the Flex end of application. Creating this class is like creating any other class except we will define the class as “global” and define all the methods within it as “webService”.



You will see that our class is named “helloWorldWebService” and it contains one function “helloWorldCall” which accepts one parameter “world” and returns the parameter “world” with ‘Hello’ on the front of it when called.


Step 2 Flex: Create the Flex End of the Application

Next we will need to create a Flex application to consume this webservice we created. As mentioned earlier we will assume that you already have downloaded the Salesforce library and have included it in your Flex library (Here is a link to a simple tutorial: Salesforce/Flex Tutorial).


The first part of the Flex application will be writing the user interface side of the code. In our example we will have a simple text field for input and a button that will fire the function that will log us into Salesforce.com, call the webservice, and return the results to the screen.


In the few lines of code above we create a panel to hold our fields and then add the input field, button and output field. Below is what our UI will look like.


The text field will allow us to enter a string which once we press the “Go” button will be displayed on the screen with “Hello” concatenated on the front of it by our Salesforce webservice.


Next we will move on to the meat of the application. Above we see that when the button is clicked it calls the “login()” function. This function is a simple login function that accepts a username and password and logs into Salesforce.com with those credentials. Below is the code for the login() function:


Once this function successfully logs into salesforce.com it will call our “callHelloWorld” function. This is the function that will pass our variable to our webservice and return the results to our screen.

<


Our function has three major sections to it. The first lines 40-41 are defining the parameters that we will pass to our webservice. In our example we are just passing one string. We get this by grabbing whatever the user entered into the “helloInput” text box.

Next on lines 42-49 we define the function that will be called once the webservice is run and returns data. In our example we take the result of the call and stick it into our webserviceOutput field.

Lastly on lines 51-57 we call the webservice. This call accepts four parameters webservice name (line53), method being called (line 54), parameters passed (line 55) and function to call on complete (line 54).


The result:


Below is a screenshot of the finished state of our hello world application.

Salesforce.com developer challenge

Back in December, Salesforce.com issued a challenge to its developer community: Build a site or application on the newly released Sites platform. Sites was announced at Dreamforce 08 and is currently in development release only.

At Demand Chain Systems (a CRM consulting and implementation firm in Minneapolis), we decided to take up this challenge, viewing it as a great opportunity to learn the Sites technology -- and hopefully to win one of the Ipod Touches Salesforce.com was offering. Our goal was to see how easy it would be to move our corporate website to the new technology and create a first-generation content management system (CMS) that we could use to update it from Salesforce.

Salesforce recently announced the winners, and we were thrilled to learn we were an honorable mention. We would like to share our experience creating our application and some thoughts along the way. We have also included a short video of the application in action.

Lessons learned

The first thing we learned was that using the Sites technology is fairly straightforward. We were able to move our corporate site from a standard HTML/CSS/PHP platform to the Sites platform in a couple of hours. It took a little digging to understand how to host the images and set up the Visualforce templates; but once we got the first couple pages up, the rest were pretty simple. It took us ~5 hours to migrate our basic site to the platform and meet the first half of our goal.

The second half our goal was to create a first-generation CMS for our site. Using a combination of Force.com technology (Visualforce, APEX, Custom Objects), we were able to architect a system in ~10-15 hours that functioned as a CMS. We added an “Edit” button to the live site so people could see it in action, knowing that if we ever moved it to production, we would have to add some additional security around that end of the CMS.

Here is a brief video of the end product we submitted for the challenge:



Here is a link to the working prototype (As you can see the Salesforce.com community has updated some of the content themselves):

http://demandchainsystems-developer-edition.na6.force.com/subPage?page=index


We at Demand Chain Systems are always excited to get our hands dirty with new Salesforce.com technology, and the Salesforce.com Sites Developer Challenge was a great opportunity to do just that. Please feel free to contact me with any additional questions/comments regarding our entry. I would love to hear feedback and enhancement ideas!

Tim Inman – tim.inman@demandchainsystems.com
top