Feb 202011
 

So, like many nights after Hockey Night in Canada is done, I found myself alone in the house (with the wife sleeping, as well as the kiddies) and Saturday Night Live not doing it for me anymore. So, what do I do? Jump in front of the computer to do some work. Last night, it was trying to figure out the apex code to count the number of child opportunities (for all, won and and closed) and their values, as you cannot do rollup summary fields on standard to standard objects through administrative clicks. After an hour of searching for something I could learn from, or bastardize, my head hurt, I was tired and I gave up.

Now, like many people who have worked with salesforce.com for some time, we have had great plans to learn Apex, so that ‘simple’ triggers such as the one described above could be written with ease. S-Controls used to be available, and using an easy language such as javascript allowed us to create them with ease (if any HTML/WebDev had been done). Visualforce isn’t too bad for a quick list – it’s HTML like structure makes it simple for non-programmers. But once the Apex is required, well, one can get lost quite quickly…

Now, a year and a half I go I wrote a post (…Different Names For The Same Thing…), where I dreamt of a day where non-programmers had a one-stop shot to learn the basics of Apex programming. As a point, I went to Chapters.ca and looked at the Head Start or the Teach Yourself series. There exist for Ruby on Rails, PHP, Java, HTML5, C++, VB … the list goes on and on and on. Even the Dummies series has one of the better selling learn Java books (Beginning Java Programming for Dummies), and they all make the following assumptions:

  • You want to learn how to program in the language which the book is based around.
  • You are a novice in the field.

And with the assumptions accepted, these books do their job (as with any book, always read the user reviews…some do it better than others) in giving you a self-learning resource which is aimed at non-programmers getting the basics down, and entering the next level of neophyte junior programmer. Right now, these one-stop book does not exist for Apex development, and if it exists in multiple documents within developerforce (A great developer site!), it is not easily found, in any way.

This is a large hole for salesforce, and apex development in my eyes – in my last post, I said I dreamt of a day when this existed. But now, I do believe it is coming to a head, and is a necessity. There needs to be a ‘teach the basic constructs if object-oriented programming using Apex” book, or online class that allows the admin with dreams to evolve into the programming admin. Why?

1. Time – as much as we would love to learn java, become partially proficient and then learn apex, time is a large factor here. It is a daunting feeling knowing that there are multiple books and playtime at the computer before I could write a simple roll up summary trigger like the one on my mind now.

2. Optics – with database.com, and salesforce’s push into leading cloud development, I do believe a lack of a self-learning book is missing a marketing opportunity to non-Salesforce developers, as well as IT people who hit up bookstores with friends and family, or just to have a Starbucks break. We see the Microsoft series of learning books, as well as the teach yourself for many programming languages. A self-education book available at the local (or online) bookstore could increase the reach of our favorite application through non-standard resources learning the language.

3. Community – while we have a great community with Salesforce, where developers, admins, partners and users play very well together (I really couldn’t list out all the great people at all facets – I am blessed with friends and acquaintances from all areas that grows weekly), having a book to help people learn on apex would help tie the community together even more, just as developers have the ability to do so with multiple resources for Salesforce use and administration right now.

So, here’s to once again dreaming the dream…one day I’ll see a book – a one stop, learn the basics and have a running start in apex programming for those if us who have absolutely Bo programming experience. Until then, as the death cab song says, I’ve got to spend some time…

Oh, and my apex need at the beginning of this post? For any and all who may have a solution, feel free to share…I am sure a pint or two wi be shared in discussing your assistance next
Dreamforce!

Until next time, folks – keep safe, and enjoy the winter!

Nik

Dec 072009
 

So, for the past year, one of the items on my list has been “get an introduction to Visualforce (also shortened to VF by many) and Apex”.  As you have likely heard, these two development languages are slightly important in the cloud world known as salesforce.com – with these you can build all sorts of triggers, pages and even external websites for your clients, and your own company as a Salesforce user.  Alas, like all great plans, this hit the backburner – either due to work, family, or everything combined, there just never seemed to be enough time.

Last week, I started thinking about Apex and VF again and while at Chapters (the Barnes and Noble of Canada for those unsure) I saw the Teach Yourself series.  This got me thinking about my lack of drive to really delve in.  That’s when it hit me.  The documentation out there, right now, is all created for experienced developers.  The 101 assumes you know your class from your variable, so to speak…and of course, I am in no way, shape or form, a developer!

While chatting with others on Twitter and facebook about this, David Schach (@dschach) confirmed my belief stated above, by saying:

IMHO, Java or C++ is essential for Apex. Before, could only modify others’ code.

My concern with this, however, is how it fits into the whole mantra and philosophy of “quicker, easier, cheaper”.  Many of my clients have been absolutely blown away with the low cost of implementation and configuration using native salesforce.com – but when you think of the amount of marketing and discussion that has gone into such advances as Apex and Visualforce, or more importantly Sites, there has been little discussion to the end user about what is required.  Now, for the administrators to really become the masters of their own domain, they need to learn a language such as Java, or C++, then take the books lovingly put together by salesforce.com on Apex and Visualforce, and learn the differences.  If they do not, they are in the same boat as they were with their on-premise CRM applications of the past.  They become slaves to consultants such as myself.  And honestly, that’s not what I want!

Now, does this mean that I believe Apex and Visualforce should only be used by large enterprise clients who have development staff on hand who could learn the necessary quirks of a similar language?  Of course not.  One of the major advantages of salesforce.com’s multi-tennant architecture is the ability for small and medium businesses to have access to and the ability to use the same functionality as the big boys do, for the same price!  Where I do think that salesforce.com (or a very industrious developer and writer) could really make an earth shattering advance in salesforce.com is in the creation of a “Teach Yourself Apex and Visualforce in 21 days” type book.  In other words, write the manual that helps non developers get up to speed, without the need to learn Java or C++.  Teach us about classes, methods and all the basic needs to begin, using Apex as the language to teach.  Move into how to load Eclipse, the IDE, and how to develop, and finally finish some actual introductory programs for us to work out the basics, both with Apex and VF….even help people make their first sites page!

The Dream book!A book like this would do a couple of things, in my opinion.  First and foremost, it would give a non-developer looking to advance their ability to utilize their Salesforce.com a single book to purchase, with a single path to follow in the quest to learn how to step into the force.com development world.  In a second, and just as important to me – it allows small to medium companies who wish to move into the world of Apex and Visualforce a simple means to step up to the plate, and not become locked into a heavily configured salesforce.com without any ways or means to either take control themselves or monitor what is being done.  I have, in the past seen CRM setups turned into a glass menagerie, only touched (at a very expensive price) by the handful of people who have created it.  This is not what I ever dreamed salesforce.com to be, and don’t believe it ever should!

Is it a lofty idea?  As the non-programming salesforce.com lover in the house, I don’t think so.  But let me know what you think?  Until then, enjoy the dream cover, and take care!

Nik