As Drupal developers we're always learning new tricks of the trade, be it modules, hooks, theme functions, or simply a new feature implementation. With all of the information online centered around Drupal code, there is surprisingly little to be found regarding the tools used to develop it. In this post I will break down my personal Drupal development environment, and the various tools I use in day to day development.
Drupal development workflows come in a wide range, from a solo developer working on a shared web server, to a large team committing changes via Git to a central staging environment. We land somewhere in the middle.
As a tight-knit and efficiency minded development team, we have arrived at an ideal workflow which combines aspects of on-server development with the power and reliability of separate version controlled environments. Our platform of choice is Pantheon, which makes this setup a breeze.
As a technology company we strive to stay ahead of the curve. We are always on the lookout for new ways to improve our services and optimize our business workflow. Over the last couple of years we have watched with interest as an exciting new technology called Bitcoin has emerged.
There are many Twitter modules for Drupal out there and I've gone through them all. Twitter pull does the job perfectly. It's not a surprise to anyone how huge social media is nowadays. If you have a website you should have some degree of social media integration, be it a simple link to your Twitter, Facebook or LinkedIn profiles, or a full blown embedded feed of your posts and tweets. A lot of clients these days are requesting embedded Twitter feeds, much like the one we employ in our footer.
Drupal is our favorite CMS. One of the major reasons we love Drupal so much is the huge community of developers and large number of contributed modules available. If we were in the business of building cars we probably wouldn’t go about designing new tires for it. Instead, we would rely on tire manufacturers who had already done the R&D. The same holds true for websites. When a website requires common functionality such as a blog or forums we use pre-existing modules which offer a framework for us to build from. In our day to day development we use a LOT of modules.
I am struck by the number of times the subject of how and where to spend a marketing budget comes up and the company's website doesn't even factor into the conversation. In the last ten years alone, the Yellow Pages phone and business directory has shrunk to less than half of what it was in 2002 (source: http://www.timescolonist.com/technology/Victoria+phonebook+shrinks+half+...) and Google searches have risen year after year as shown in the following data.
Google Searches over a ten year period:
1999 (September) -> 3 million a day (Google official history)
Statistics tell us that about 80% of Canadians use a mobile phone, with roughly one quarter of them being smart phones (iPhone, Android, Blackberry etc). Every day, more and more people are accessing the web on their mobile device while on the go. When you consider that mobile plans run their course on 3 year cycles, with options to renew/upgrade sooner, my prediction is that within the next three years you will see a large increase in mobile browsing rates using smart phones such as the iPhone. The question isn't to mobile or not to mobile?
In my last post I outlined some of the benefits of Safari in your day to day browsing. Today I'm going to highlight a lesser-known feature of Safari that might just be the first step in considering Safari for web development as well.
I'm not sure about the general public but for some reason after my somewhat recent upgrade to OSX Snow Leopard - Flash on Firefox just isn't working. In my usual browsing, my Firefox app hangs probably 2-3 times per day, on average. This is all due to Flash elements loading in the page. I've tirelessly searched online for answers, only to find endless threads commending Snow Leopard on being leaps and bounds ahead of its predecessors in terms of speed and reliability. Unfortunately this has not been my experience.
Luckily, I've found a solution. Maybe not one you would expect..