Thursday, February 5, 2015

Following the Developer Trail: New Trailhead Content

Back in November, I published a guest post from Jayvin Arora on Trailhead, and at the time it was something I still hadn't had a chance to play with myself. Not long after that I signed up, and powered through everything available, not neccessarily beacause it covered content I didn't know, but mostly to see how it works as a learning resource.

Trailhead: Go get started!


Learning With Trailhead


In short, Trailhead is a great way to learn the platform. Not only is the content available presented in a logical and consistent manner, it actually tests you. Not just through questions, but through getting you to write code. It then connects to the Salesforce org you're developing in and actually runs your code to make sure you've completed the requirements. In my humble opininon this is the next best thing to having a person review your code, and obviously a lot faster meaning you don't get held up waiting before the next module. There is an aspect of gamification to the whole process too, where you earn badges and points as you progress through the content, right now I have 4000 points and 3 badges to my name, and hopefully I'll add some more of both this weekend.

Friday, January 30, 2015

The Book All Salesforce Developers Must Read

Read this, it's all but optional.
Last year I had the priviledge of being a technical reviewer for Andy Fawcett's WIP book, Force.com Enterprise Architecture, it was publised in September 2014. It's taken me a while to get around to writing about it, but if you're developing on the platform then you can't afford not to read this book.


Who The Book Is For


This book is primarily focused at developers on the Salesforce1 platform who are building ISV applications and dealing with the trials and tribulations that are managed packages. That said, it should be emphasised that a solid 90% of the content is relevant to all developers on the platform, and even curious admins should not shy away from it; there are some great hints on how to get the most out of the standard platform features which do not require code.

Friday, January 9, 2015

Add a Salesforce Console Component To Your App, Part 2

Ok, so you've read part one of this two-parter and you've got a console component that puts your Visualforce page into the Salesforce console, so what's next? Well all of the integration with the console itself is done via a Javascript API, so as always reading the documentation is a great place to start. It's broken down neatly into sections for different styles of interaction, but I want to call out some of the basics here so that you can get struck straight in (because the deep end is always fun, right?).


Are You In?


First up, it's probably a good idea to find out if our page is indeed being viewed in the console, and as you'd expect (or at least hope) it's very easy to find that out. First we have to include a script in the Visualforce page that provide access to the console API:

<script src="/support/console/32.0/integration.js" type="text/javascript"></script>

Now, in our own Javascript we can call the rather conveniently named function, isInConsole(). Care to guess how that function works? It's pretty much (I've not checked everything) the only function in this API that is synchronous, everything else uses callbacks.

<script type="text/javascript">

    if(sforce.console.isInConsole())
    {
        console.log('Hello, Console!');
    }
</script>

Friday, December 12, 2014

Add a Salesforce Console Component To Your App, Part 1

The Salesforce console (originally service, and now sales as well) is something that's always been on my radar but not something I'd ever used until last week. If that sounds like a familiar story then I really do urge you to check it out, a little customisation and there's a good chance you'll find it suits your work patterns better than the regular UI, and if it's not something you've considered for your app, you really should do.

Over the last week I've been adding console support to both CrowdGuide and Ring My Bell, and at first I found things a little confusing as it turns out there's not a heap of developer-focused information out there, so I'm writing up this short list of pointers to help others get started on the same path.

Ring My Bell in the Salesforce Console

Friday, November 21, 2014

Thimbleweed Park: Backing a Dream

TL;DR; BACK THIS NOW. In fact, do that, and THEN read this.

Update: 25/09/14

Ron and Gary hit their goal! At the time of writing they are around $15k over their target, but that doesn't mean you shouldn't back this game if you haven't done so already. Now that the main fundraising target has been hit, we're talking stretch goals, and these are more than worthy of your money, especially if English is not your first language or if you fancy playing Thimbleweed Park on your iOS or Android device using "jab & smoosh" technology. Keep up with the love people, and maybe we can all play the games we want to once again!


Original Post


While I love the never-ending evolution of computing and the systems we use, there's still a time and a place for machines, games and ideas from the past. Old does not mean defunct, even if you're not going to be using those machines to run your business. I suspect there's more than a few developers in our community, around my age, who spent the late 80s sand early 90s playing Lucasfilm (which became Lucasarts) adventure games. If you're not in that group it's never too late, but if you were I'm pretty sure you'll hold Monkey Island in the highest of regards, and you'll know it all started with the seminal Maniac Mansion.


Things Lost


This was the first screen I ever saw of Monkey Island
One thing that's always bugged me is that I'll never be able to play Monkey Island for the first time again, and if you haven't then I'm most definitely jealous of you. Extending that, for the last 15 years or so I've been gutted that I won't get to play a new Lucasfilm adventure ever again. I use the company name purely because they made, in my opinion, the greatest adventure games by far. That they did so has a whole lot to do with the fact that they had the SCUMM engine, created for Maniac Mansion by Ron Gilbert. Ron and Gary Winnick created a genre with Maniac Mansion, and then Ron went on to create Monkey Island which is game I've loved since first sight; and yes, I do remember the first time I saw it.

Friday, November 14, 2014

Get Started With KnockoutJS on the Salesforce1 Platform

Anyone who's talked with me (or heard me talk) over the last 6 months are so is likely to have heard me sing the praises of KnockoutJS, not least during the presentation I did with Chris Bland at Dreamforce this year. There is a veritable smorgasbord of Javascript libraries around these days, and there's more than a few that I like, but right now, for me, KnockoutJS is the shining star, and if you're looking to build more dynamic pages inside of Salesforce1, then I highly recommend you take a look at it.



Why Use Javascript At All?


As more and more of Salesforce development revolves around the Salesforce1 mobile application, it's becoming increasingly obvious that roundtrips to the server with Visualforce are not the way to go, sending and receiving everything that's required for your controllers is slow, and so remoting is the way to do things. If you've not tried it already then you'll be surprised at just how fast it is when compared to the more traditional Visualforce techniques.

Monday, November 3, 2014

Salesforce Trailhead: Create Your Career

In case you didn't guess, the reason for a temporary hiatus on this blog was the all-encompassing craziness that is Dreamforce; preparation took care of September and the first half of October and then the event hit and frankly I'm still not sure what time it is. I'm still playing catch-up on the news from Dreamforce, but one thing that definitely grabbed my attention was Trailhead, which if you've not seen already, is a whole new learning suite for developers coming to the Salesforce1 platform.

Helping people learn to code, (and especially on the platform) is a topic close to my heart, and I had great fun leading an Apex 4 Admins Hands-on Workshop at Dreamforce, so I'm particularly excited about this new tool. So now I'd like to introduce a guest post on the topic, from the ever-active Jayvin Arora (@JayvinArora - leader of the Philadelphia Salesforce User Group). In this post Jayvin makes a compelling argument for leveraging the benefits of Trailhead and getting a head start on the Salesforce1 platform, and I think anyone already working in this space wouldn't hesitate to recommend it.