Skip to main content

Patient Engagement Challenge – built using VisualForce of the things that I’ve been doing lately is participating in Hackathons and other types of coding challenges.  I find that I need a deadline to motivate myself, and with the timeline and end goal, I learn a lot faster plus I can cram in a lot of hands-on experience.  Otherwise, I tend to read a lot of abstract articles, but never put pen to paper.    Here’s my latest submissions which I hacked up over the weekend:

I completed this over 1 weekend and am generally happy with the results.  However, when I looked at the other entries, I do notice that there are a few professional teams entering a lot of these Challenge Posts now, sometimes with existing products and frameworks they are modifying for the purpose of the challenge.

This one was built using SFDC as the back-end but with a completely new mobile user interface.   In building this user interface, these are the key things I’ve learned

  • The SFDC mobile development SDK has advanced leaps and bounds.  It’s unfortunate that it is taking a back seat to the Salesforce1 platform, but from a product strategy level, I understand where SFDC is going with this too.  It’s actually a clever strategy.  Most customer will not have a dedicated team of mobile developers, so the Salesforce1 platform gets these customers 90% to what they require.  On the other hand, for customers with more sophisticated mobile needs, SFDC is providing a rock solid SDK with a boatload of enterprise features as the baseline, in order to simplify the development process, as well as guarantee a baseline level of enterprise standards such as setting up PIN’s and encrypting local storage.
  • Ultimately I did not use the SDK since I wanted an app that could run on the desktop, iPad, and smartphones.  I wanted to be platform “agnostic”, so I chose a web-app.
  • I looked at all the mobile development packs from SFDC. 
    • Backbone.js – it’s nice but it takes way too much effort to code pages.  It uses a variant of the MVC paradigm, but each new object used requires a boatload of wrapper code to be written in order to be able to access the SFDC object.  This can be made simpler with some javascript remoting advances in the latest Developer preview, but this won’t help my ChallengePost deadline
    • – is nice too.  I really like the drag and drop.  What is missing is that if there is anything custom that I want, it becomes a little bit hard to do.  Mind you, this might be due to my lack of knowledge on the platform. generates native code, such as an Xcode project to be compiled into native form, using Cordova in the background.  This leaves me wonder where I should introduce custom functionality, and if it’s based on Cordova anyways, why not just directly use Cordova.
  • So what I ultimately ended up with was using Twitter’s bootstrap framework.  This framework uses responsive design, meaning that the UI will resize/reformat to accommodate the screen size of the device.
    • Instead of adding the bootstrap libraries as static files in SFDC, I used online links hosted by CDN’s.  The advantage of this is that I bypass the pain of having to maintain these static files, in the event I want to switch out the version.   The disadvantage would be that in real-life scenarios, developers may not want critical libraries hosted external which are subject to change, unavailable, etc.
    • I also used this library Visualstrap .  It’s a clever VisualForce component library that abstracts some of the complexity of using Bootstrap.  For me, it’s all about the hackathon mentality, and being able to code up an app in the shortest period of time possible.
  • On the video side, I used  There are a few of these start-ups out there that creates these beautiful looking videos, which are powerpoint or keynote on steroids. 


Popular posts from this blog

OBIEE 11g troubleshooting AdminTool

Launching the Admin Tool in 11g is no longer the simple click and launch procedure it used to be in version 10.  It used to be that you can just double-click on a .rpd file, and via the file association in Windows, the system will know to open the repository via the AdminTool.exe.Now the documentation states that the Repository must be launched via the Start Menu shortcut.  This the target of the shortcut on my system.C:\WINDOWS\system32\cmd.exe "/cC:\obiee\instances\instance3\bifoundation\OracleBIApplication\coreapplication\setup\bi-init.cmd coreapplication_obis1 2 && C:\obiee\Oracle_BI1\bifoundation\server\bin\AdminTool.exe"As you can see, opening the admintool now is tied to the context of the Core BI application that is administered through Oracle Enterprise Manager (EM).In setting up the Sample application, I had made a mistake in one of the steps.  As a result, I was not able to start up the BI services.  I could not even open up the Repository.  The only error…

Setting up a Kindle Fire HD in the US, for bringing back to Canada

This is what I’ve learned about trying to buy a Kindle Fire in the US.  Staples claims to sell it as a brick & mortar stock.  However, when I go and try to buy it from their website, it states that it will take 3 to 5 business days to ship it to the store.   I could order it from Amazon, but I don’t want to chance the delivery being late.  While walking around tonight, I saw the Kindle Fire HD on display at OfficeMax, and surprisingly they had stock.  The only drawback is that the state tax was charged, whereas had I ordered it online, I may not have been charge a tax depending on the state that I am in.I bought a prepaid Visa card from Target.  Another option is to use an giftcard but I haven’t tried it.From online, remove all other credit cards except my new US prepaid Visa card.  Associate it to a US address.From online, go to My Account > Manage Your KindleClick on Country Settings.  Then change the country.Reboot your Kindle.On the home page, go to Apps.  Click …

Mass Delete Picklist values in Salesforce

I’m a big fan of automation.  My philosophy is that any task that is repetitive and done over and over should be automated.One of the challenges in Salesforce is that while it is possible to add and updates picklist values, it is impossible to delete them.  Contrary to a lot of advice on the web, when a picklist value is omitted from the picklist object definition in a tool such as Eclipse, deploying the metadata to an organization does not delete the absent values.  It leaves them alone… which kind of makes sense.  The absence of an XML tag shouldn’t really mean to delete that value.Anyways, the inspiration came from this post., I wasn’t sure I want to run the javascript from some other domain.  It may work now, but who knows if that javascript will change in the future.The solution already asks for a javascript bookmark to be created, so we may as well put the entire …