LATEST FROM OUR BLOG

Take your daily dose of (only) relevant news, useful tips and tricks and valuable how to's on using the latest web technologies shaping the digital landscape. We're here to do all the necessary information sifting for you, so you don't have to, to provide you with content that will help you anticipate the emerging trends about to influence the web.

How to Manage Your Drupal 8 Configuration Workflow with Git: A 4-Step Guide
  Wouldn't you agree that managing configuration is vital in the life-cycle of a multi-person project? Well, its importance used to be, until recently, proportional to its main dreaded feature, that of being a major nuisance for web development teams: highly important configuration settings were missing, leading to major inconsistencies when it came to configuration handling, commits, made by the members of the team, resulting in conflicts etc.   Have no fear, Drupal 8 Configuration Management System Is Here!   That's right, Drupal's latest version comes to relieve your team of all the stress that parallel configuring actions might lead to. Upgraded with tempting configuration management tools, it allows developers to export/import all the configuration settings they will have performed to/from code.   Moreover (and this is the very best part of Drupal 8 configuration management system), Git allows the members of your team to put configuration under version control, thus keeping track of it (the ultimate goal of any configuration management endeavor, after all!).    What does this mean?    1. that you'll have a history of all configuration changes   2. that you can compare different configuration states   Setup   Do you already have a a development version Drupal 8 installed on your system? Is Drush available there, as well?    Well, before you go any further we have a "warning”/piece of advice for you:   Make sure not to put the files/folders that came with Drupal specific setup (e.g. sites/default/settings.php, sites/default/files/, sites/default/files/css/ etc.) into your repository! How to avoid that? Just make a clone of the "example.gitignore" file (that you get with Drupal) and place it in .gitignore, then adjust it  to your website's specific needs, thus keeping the files directory and setting.php unexposed to the risk of getting versioned.   Initiate The New Repository   Once you've downloaded your Drupal 8 version, simply initialize and register a new repository along with it:   $ git init   $ git add .   $ git commit -m "Initial Commit: Drupal 8.x Code base"     Great! Now consider this: Drupal 8 configuration management system only works on distinct instances of the same website! So, what solution do you have? You simply clone it: import the database of the website to be cloned in the other environment!   Next,  add your remote repository clone URL:    $ git remote add origin REMOTE_CLONE_URL   Push the commit up to GitHub:    $ git push -u origin master     ... and voila: you have your new functional Drupal 8 website!     Now let's start “playing” with the Configuration Management System that Drupal 8's developers "spoil" us with, easing our work by giving us full control over all the changes we (along with out teammates) will apply to our site later on during its development process!   Go ahead and export your configuration   After you've set up the needed configuration, it's time to export it. How? Use the command line for exporting the site configuration to a new folder (config/site):    $ mkdir config   $ drush config-export --destination=config/site   Next, commit and push the configuration to the repository.   There, you've just created your own "safe", the one that stores priceless website information!   Practically, you now have a valuable screenshot of how your website looked like when you installed it. From now on, dare and perform any configuration you'd like, knowing that at any time you can just roll back your site to precisely this state: the one right after its installation!      Time To Import Your Configuration   For importing your configuration from the config/site, rely on this "powerful" command:   # Import the configuration from the repository   $ drush config-import --source=config/site     Why powerful? Because it instantly overwrites the current configuration!      It's after you've exported your configuration that you can merge it with those of other members of your web development team:   add and commit the configuration to Git use Git pull, then focus on fixing any commits conflicts that might arise   At this point, we have another warning/helpful piece of advice for you: don't rely exclusively on Git for the configuration's merging part. Be sure to check whether the result of the merge is correct, whether it makes sense!     If everything will have gone smoothly with your configuration's importing process, you can go ahead and push it to the remote repository.      Valuable Pieces of Advice   1. Always export configuration first and pull the configuration changes run by your collaborators secondly! Why? Because Git doesn't recognize the changes will have have applied to your database until you actually export them!   2. Always import first, push secondly! This means that it's always safe to import the configuration and only then to push it to the remote repository, avoiding the risk of breaking the site (in case you're dealing with a broken configuration)   3. Accompany each import with a database dump, thus granting your team a backup in case anything goes wrong   4. Deal with this thought: you can't rely on Git for everything! Don't loosen your vigilance, especially when you're a member of a larger team working on the same project! ... Read more
Adrian Ababei / Nov 14'2016
Get An Insight Into The Page Request Handling Mechanism in Drupal
  If you really want to evolve from a web developer skillful enough to put together a functional “puzzle” out of Drupal's core modules, to one custom-making his new modules, then you need to take a close look at the whole process behind this apparently simple sequence: “you hit an URL, then (as if by magic) the required page instantly gets loaded”.   So, ready to take a sneak peek “behind the curtains”? If yes, then allow us to be your guide!     1. Drupal Separates The Internal Path from the Domain Name   Once the server gets the message, once the URL is sent, Drupal focuses on the internal path and on it only. Therefore, it just “cuts it off” from the URL.   2. Then Drupal Calls Index.php   Take the index.php as some sort of a “control tower” (you can find it in the root directory of the Drupal install), the one that processes all the incoming requests.    Now, let's have a closer look! Index.php is made of 4 lines, each one of them performing a certain function:   define('DRUPAL_ROOT', getcwd(): the very first line that runs once Drupal gets a page request require_once DRUPAL_ROOT . '/includes/bootstrap.inc': its role is that of loading  bootstrap.inc in the includes/subdirectory.bootstrap.inc drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL): it loads pretty much everything: the modules and functions, the needed data into the memory... menu_execute_active_handler(): as the name says it, it's the one actually handling the page request, delivering the final web page to the end user    3. Now Drupal Goes Through the Bootstrap Process   This is where the “major loading” happens: it is now that Drupal loads the libraries, initializes the database, sets the right sessions...    The bootstrap process a self-start one, requiring no input, no intervention from you, the website's “creator”, and yet... you can't possibly not know what happens during this whole process running on its own!   How about going rapidly through all the 8 phases of this highly complex bootstrapping process?   1. DRUPAL_BOOTSTRAP_CONFIGURATION: Drupal calls upon it wherever it encounters php errors or exceptions. If so, then an error handling code is prepared, settings.php gets loaded, configuration gets initialized...   2. DRUPAL_BOOTSTRAP_PAGE_CACHE: it checks whether the IP is blocked or not, whether the cache is enabled or not in order to serve the page from the cache   3. DRUPAL_BOOTSTRAP_DATABASE: it loads the database and checks whether any $databases array has been defined. If no, then it redirects to install.php   4. DRUPAL_BOOTSTRAP_VARIABLES: it loads the variables from the database variables table, then it overwrites the ones defined in settings.php, while loading all the other modules needed during this process      5. DRUPAL_BOOTSTRAP_SESSION: it initializes the session handlers. There are several custom session handlers in Drupal:   _drupal_session_open() and_drupal_session_close(): to open and close a connection _drupal_session_read(): gets the session from the sessions table _drupal_session_write(): checks whether the session has been updated and writes a new one to the databse _drupal_session_destroy(): it deletes cookies and cleans up a specific session _drupal_session_garbage_collection(): it deletes the outdated sessions   6. DRUPAL_BOOTSTRAP_PAGE_HEADER: it practically sets up the HTTP header   7.  DRUPAL_BOOTSTRAP_LANGUAGE: called upon only for multilingual websites, it initializes the right language for the future web page   8. DRUPAL_BOOTSTRAP_FULL: the very final step, where all the modules are enabled and hook_init() is invoked     4. Drupal's Menu System Steps In   From all of Drupal's modules, it's the menu system that “guides” the internal path to a callback function.   PATH... MODULE... MENU SYSTEM... CALLBACK FUNCTION... LOAD CONTENT   5. Finally, It's the Theme System That Styles the Requested Page   Being more than just a theme (since it's a mix of theme functions and templates), the theme system is the one “dictating” the content/ the web page's final look.    CONTENT... THEME SYSTEM (CSS, HTML, JS etc.)... BROWSER   Of course that each process of this whole page request handling mechanism in Drupal requires a lot more in-depth knowledge, but this is pretty much the overall mental scheme that each developer should know for:   1. boosting his self-confidence with powerful knowledge   2. being able to come up with his own future custom modules       ... Read more
Adrian Ababei / Nov 11'2016
How Do You Create a Highly Persuasive Web Design? 4 User Psychology Principles to Apply
  How self-absorbed are you?    You don't need to answer that, for we all know that each web designer secretly shelters its own overdose of pride (towards his own creativity, his thirst for innovation and so on)... Still, if you're determined to make it in this user-centered digital world, you'd better lose some of that "I burst creativity and I “exhale” innovation and the user can't possibly not admire my... works of art!"   User psychology principles, combined with your own creativity, result in... powerful web design that actually influences (and which is much more than aesthetically pleasing). Curious now to discover how your site users' brains actually work?     The Human Brain Craves Order    Chaos on your website might look like some sort of a... statement to you, but beware of the temptation of getting too... innovative. You'll then risk to come up with a web design lacking:   hierarchy consistency familiar web design patterns (e.g hamburger menu, account registration, continuous stroll, FAQ, breadcrumbs etc.)   In a few words, make it easy for your user to surf through your interface with the help of a logical hierarchy.    Also, be sure to remain consistent with the theme and with the design patterns that you've settled for throughout your website.   One more thing: reward your visitor through recognition. Make him feel safe and sort of... proud of himself by placing:   your contact information where he's used to find it, based on his previous experiences the call to action button, as well, where he'd normally find it the logo on top, as he's used to seeing it an so on...     Speaking of the “recognition pattern”, what better examples could you think of other than:   Google, that guides our searches based on our browsing history and past searches  Amazon, that guides us in our future selections based on our previous purchases      Cement this pattern of recognition in your user-friendly interface!      Still, The Human Brain Can “Digest” a Certain Dose of Surprise   … but only if you're really carefully how you dosage it and how you present it to him.   What does this mean? It means that yes, of course that you're allowed to think outside the box, to get innovative, but you get to break the familiar patterns if and only if:   You've already asked yourself why you're breaking up the standard pattern   You're confident that your new one is better (and not just different)   You're sure that it's intuitive enough for your user (that it triggers surprise and not just frustration)   The safest way to... incorporate innovation into your web design is by placing the new pattern where the user doesn't expect it to be and by rewarding him, as well (most important), once he will have discovered it.    You'll thus influence him to embrace the new method of interaction!     The Human Brain Craves... Trustworthiness   User psychology-centered web design revolves around this common principle after all: first you do all the work it takes for winning your customer's trust and only then you can actually expect him to... reward you (by placing an order, by subscribing to your newsletter you name it)   So, is your website trustworthy? You know how to build appealing websites, but do you know how to upgrade them so that they convey trust as well?   Familiar design elements (e.g. menu at the top) Visible page headings and titles Detailed contact information at the bottom of the website Consistency in design (e.g using the colors in your logo throughout the entire website, even if just for links or for small icons) Placing your logo throughout your website (thus reinforcing branding and... building a sense of recall in your user's brain) “Less is more”, when it comes to content and... only easy-to-digest, perfectly structured content is king (“concise” is the golden word in the... user-centered online world)     The Human Brain Reacts to Colors   And there's a whole study pointing out each color's array of specific emotions/reactions (that they trigger in the user's brain).   Here are just some of the main color's characteristics, according to user psychology principles applied to web design:   Red: it conveys a state of emergency (e.g. Chinese restaurants using red to urge their future customers to... satisfy heir hunger) and alert (see it CNN's news alerts or where it's used to point out sales mark downs) Green: you won't find a more... easily to be processed color than green, nor one conveying the same state of optimism. In a few words: when it doubt... go for green! Being easily associated with nature, it's heavily used for beauty products websites. Blue: it makes the best choice when the main emotion you want to convey to your target audience is... trust. Rely on calm, cool shades of blue when you want to build a website on a solid foundation of trustworthiness, when you want to gain loyalty from your users (giants like Facebook and Twitter have and also lots of banks are using it on their websites). So, blue is trust and openness! Purple: go with the “royal” color if it's a message of... high-brow type of brand/services/products that you want to convey to your users. Many beauty and retail websites are “painted in purple” for this color's calming and soothing effect on the users. White: what's more inviting than white? It helps you put together a clean, pure design, one showcasing certain elements of your work and where do you add that there's much fuss about the almighty “white space”. What does it mean? It means that you should design with these necessary white spaces in mind (spaces on the website with no text or imagery), some “breaths of fresh air” for your user's eyes. Black: it's strong and powerful, but on the other hand... emotionless. Used mostly for luxury products retailers, it can help you trigger the right emotions that you want to if... used wisely (balance is key, after all, no matter what colors you choose) Grey: so modern and professional, yet lacking personality, some might say.  Pink: when you say “pink” you automatically say “feminine”, “fun” and “youthful”. So, you pretty much got the picture which should be your target market when you use lively or soft shades of pink!   How Does User Psychology Dictate Layout, Typography and Content?   Layout   We've already strengthened the importance of the “white space” concept, but we're going to... put it into the spotlight once again: use “comfort zones” in your layout (white zones), where your visitor can... rest his/her eyes and his brain if you want to guarantee him a pleasant experience on your website.   Typography   When it comes to fonts (and we do thank CSS3 for giving us access to a brand new world of... friendly fonts), they still divide into 2 major categories, each one of them addressing 2 types of users, 2 types of fields of activity:   Serif fonts: the ones conveying professionalism, traditionalism and importance (used on educational websites, newspaper websites...) San serif fonts: preferred by... modern brands, on the cutting edge side (e.g. Google and Apple) Also, balanced spacing is key (put enough space between your letters/paragraphs so that your text doesn't look too dense and so that it shouldn't convey a certain flightiness, either)   Content   Basically, it all revolves around structuring your content in order to be easy to be digested...     Now how about turning this empowering user psychology knowledge into the driving force behind your own future persuasive web designs? ... Read more
Adrian Ababei / Nov 09'2016
Not All Content Is King in Drupal 8: Mobile, Global Content Is
  Can you handle all the ... power that Drupal 8 is about to lay in your very hands, whether you're a developer, a marketer/content editor or a user/end-user? Will you take the dare to set yourself free from the desktop and from any regional or language limitations and to step into the... future?     If you answered “No”, then... good luck with implementing your digital “vision”, you'll need it!   But if you've answered “I'm not sure” or “what does this fancy utopia even mean?”, you'll definitely want to read the following true facts about Drupal 8.   Empower yourself with helpful information about what is described as “the world’s leading digital experience platform that helps you manage and deliver web content across channels and devices."     Shifting to a Mobile First Mentality   “If I were to start Drupal from scratch today, I'd build it for mobile experiences first and desktop experience second”, Dries Buytaert.   Need we add more to this suggestive quote?   We're not going to beat around the bush stating the obvious (that users have started to rely more on their mobile devices for... getting themselves informed, entertained or for buying/booking certain goods/services).   Instead, what we'd like to point out to you is precisely those upgrades that the visionary team behind Drupal 8 have upgraded it with:   its was conceived primarily for mobile devices (and only secondarily for desktops), therefore its structurally made to support responsive design it sets itself apart from the (now) rudimentary belief of  “one size fits all” it comes upgraded with responsive image support (pictures adapt automatically to any device's specific viewport size, without affecting the page's loading time) it turns managing content on mobile devices into a highly intuitive process (its admin has been significantly adapted for mobile) it empowers site builders with new responsive themes, mobile-adapted ones, thus enabling them to get... creative and craft great Drupal 8 websites that look appealing on mobile devices       Drupal 8 Encourages You to Go... Global    In other words, Drupal 8 supports your “taking over the world” vision (only as a visionary entrepreneur of the digital era, of course...).   Since, now you should start envisioning user-friendliness as “user friendliness on a global scale”, what Drupal 8 does is that it... empowers you (sorry, we couldn't find a more appropriate word to describe Drupal 8's main... “mission”) with all the cool tools you'll need for going... international:   Content Translation module: it helps you communicate in your users' own languages, therefore to easily translate your site' content Interface Translation module: it helps you, as a site developer, by giving you the chance to... build sites in your own language (you get to actually translate the blocks, the toolbars, the menus etc.) Language module: it... empowers you (there, we did it again!) to determine specific languages (that your site will support) for your target visitors     Usability+Accessibility= A New Winner in the Drupal vs Wordpress Showdown   We didn't find it necessary to add customization to the above formula, for this is already THE feature (along with the related flexibility) that Drupal has become famous for among developers belonging to both teams (the Drupal enthusiasts and the Wordpress fans for life).     Now let's sum it up:    Drupal 8 websites/apps can be accessed anywhere on the globe    Drupal 8 websites/apps can be accessed on practically any type of device      OK, so we've cleared the accessibility issue out!   But what about usability, the ultimate goal that both Drupalers and Wordpress enthusiasts are craving for while their developers are striving to reach?   Let us check this ultimate goal off the list, as well:   Content Editors/Marketers Get More Power Than Ever   That's right, Drupal 8 is not just about easing the developers' work or about putting the user and the end user into the spotlight. It's also about empowering content marketers.   In this respect, here's how Drupal 8 will “lighten” up your work life, if you're a content marketer:   the integrated WYSIWYG editor, easing content authoring the on-page editor better preview uploading images with drag and drop modules (more of them) for monitoring your SEO-oriented activity  easy to integrate YOAST and Google Analytics   But What is in it for Drupal Website Developers?    Still, if Drupal 8 is focused on the end user more than all the previous Drupal versions and if it invests content marketers with so much power, it doesn't mean that... there's nothing in it for website builders, too.    We've kept “the best” for last, so to say...   So, if you're a Drupal website developer (or willing to become one), here's how Drupal 8's own visionary developers have decided to ease your work:   Rest API's PHP7 and we all know that this is a huge step forward, turning Drupal 8 into one of the most dynamic content management platforms out there You get to use it as a data source (you get to post data from the front end and output content as XML or JSON Hypertext Application Language JavaScript Automated Testing Customization is still... king with Drupal 8, too: you get to customize your admin tools, lists, views, determine the way your data gets displayed (and all that without having to write code) More fields for you to better structure your content     Now that Drupal 8 empowers you with accessibility, usability, mobile-first mentality and global-ready vision, all you need to bring in to the table is... your own share of innovation, creativity and... boldness and you can go ahead and craft the digital experiences of the future! ... Read more
Adrian Ababei / Nov 08'2016
Turn DRUSH Into Your Efficiency-Boosting Tool
  All you command-line addicts (and skeptics, too), mouse haters and... spare time-craving developers, crafting your Drupal websites, gather around! It's time you all learned about this "Swiss army knife"-like tool which will make your work life so much simpler, far more refined and... more rewarding from now on: DRUSH!     What is DRUSH?   There are plenty of related definitions out there, but we like these 2 ones best:   "Drush is a command-line shell for Drupal, and it enables you to perform many administrative and website maintenance tasks from the command line instead of having to use the Drupal administrative interface"    "Drush is an important tool for Drupal developers looking to speed up and simplify their workflows"      We envision DRUSH as a "way too valuable" tool to be overlooked if you're aiming at upgrading the old-schoolish, time-consuming (and therefore, less productive) way of managing your work to a: quicker simpler more refined one   … as a DRUPAL web developer/administrator   Discover the most common DRUSH commands   Till you get to the point of actually setting up your own custom DRUSH commands, let us point out to you the main features that DRUSH can (easily) tempt you with:   Clear Cache (cc): it allows you to either choose a specific cache (drush cc) or to quickly clear them all (drush cc all)   Install Drupal: that's right, installing Drupal from scratch is quicker and easier (with just two basic commands) than ever.    Updatedb (updb): why should you "invest" valuable time in running updates using update.php, when you can... "claim" your spare time by simply running any available database updates using this magic formula: drush updatedb?   Feature-update (fu): do a comparison yourself and see how much time it would take you to update a feature in your Drupal website (after you've applied a certain change stored in that particular feature) the old-schoolish way (e.g. exporting the feature manually in the admin interface) compared to... typing this time-saving shortcut here: drush feature-update feature_name   Feature-revert (fr): you'll get even more eager to experiment, to... play with the features available in Drupal when you know that reverting your features to their code versions is as quick and simple as typing drush-feature-revert feature_name   Enable a module: type drush en name_of_module  -y or drush -y en name_of_module    Pm-update (up): drush pm-update allows you to update Drupal themes, modules and core while you're saving priceless free time for your other... non-website development-related activities   Database tasks (sql-dump, sql-cli): save a considerable amount of time and back up your database (while giving your... mouse a rest), by simply using this shortcut in your command-line: sql-dump, then simply restore it using this magic combo: sql-cli.     .... and the list will get longer and longer as you get more and more eager to discover and to learn other productivity-boosting and time-saving shortcuts in DRUSH.   You're more likely to become a DRUSH “groupie” if:         1. You hate... mice   Could you deny that mastering command-line skills is already a far more... elegant way of working, as a developer, compared to “exploiting” your mouse for opening and closing lots and lots pages in Drupal's administrative interface?    Just imagine this highly suggestive scenario here:    You need to install and reinstall (and eventually administer) several Drupal websites. Therefore, you'll get (mentally) ready for the tedious and boringly repetitive steps to come:   Go to drupal.org. Get Started Download Drupal Download the tar.gz.file Install your new Drupal Going back to drupal.org for installing your modules (unzip a bunch of files) etc.   A whole lot of clicking and wandering about Drupal's interface, isn't it?             Now consider work scenario no. 2:   type cd  /var/ww... run drush dl drupal-7.0... cd /var/www/drupal-7.0 and install your new Drupal website: drush site-install –db-url=mysql://root:secret@localhost/drupal... type "y" at the following prompt     … and voila: with a few clicks (relying exclusivity on your good old keyword), you've had your new Drupal site installed and you're ready to... install your second and your third one, too...        2. You work in a large environment where relying on FTP or carrying out tasks administratively is not an option        3. You want to sharpen your command-line skills         4. You're... open to new tools, constantly testing new technologies aimed at boosting  your (and your team's) productivity        5. You just hate trading priceless personal life time for... more efficiency in your professional life     Is installing DRUSH a dread?   Actually, you can benefit from its time-saving features right after you've walked through 7 easy setting up steps:   Pick the directory to place your drush in: cd /usr/local/share Get drush: [sudo] wget https://goo.gl/GwdpKe it: tar xvf drush-6.x-3.3.tar-gz Remove the package: rm drush-6.x-3.3.tar.gz  Change permissions: chmod u+x drush Create a link: In -s /usr/local/share/drush/drush /usr/local/bin/drush Run drush: [sudo]  drush     Still, probably one of the best Drush features is that... it's constantly evolving, constantly improving, so... sky is the limit when it comes to quickly installing/developing and efficiently managing all your Drupal websites (for this is, in fact, the true beauty of Drush: it allows you to manage several sites at once, helping you turn yourself into an... admin guru).      Give it a try, cure your command-line related “phobia” (if any) and unleash your full potential as a Drupal developer! ... Read more
Adrian Ababei / Nov 07'2016
Wordpress vs Drupal – Which One To Pick?
There’s an age-old battle going on between the best platforms to build your website: Wordpress vs Drupal vs Joomla. Today we’ll tackle just the first two and compare some of their features in order to help you with your decision. Remember, picking the right platform for your website is essential since you’re likely to invest a lot of time and effort into it. If you already picked a platform, you can also read more about our top 8 Drupal web development tools.   In the late 2000s Wordpress was the preferred choice for most online projects, e-commerce websites, personal blogs and the preferred platform for web development companies. Back then websites featured minimal content types and most pages featured just a content block with a few buttons. Nowadays, times have changed and web development is becoming more and more focused on user experience than simplicity – this means more content types, more features and plenty of attention to the user interface. These needs made Drupal so popular in recent years – here are a few things that need to be mentioned in the Wordpress vs Drupal battle.   Wordpress vs Drupal – Security concerns The biggest difference in the Wordpress vs Drupal analysis is security. Plenty of government websites are built in Drupal simply because it offers site scale and enterprise-level security. Even Whitehouse.gov is built with Drupal. On the other hand, Wordpress offers limited security as hackers can use vulnerabilities from plugins to crack their way through and wipe your website – most vulnerabilities take place at the server level. Drupal features a few notable hosting applications that help manage any security risks, Pantheon and Acquia.   Wordpress vs Drupal – Responsive development & design The first thing you need to figure out when it comes to responsive development and responsive design is how your images are managed – your images won’t necessarily scale perfectly when viewed on different screen sizes. Both Drupal and Wordpress offer solutions to making images responsive but the solutions are different. When working with Drupal, you can set your images sizes from the admin panel with the use of the Image Style module. The advantage here is that you don’t have to modify your PHP files to set your sizes. Both Wordpress and Drupal are designed agnostic which means you’ll pretty much build your themes however you want. You can try a starter responsive theme which can help speed up your workflow.   Wordpress vs Drupal – Mobile development and mobile themes If you plan on having a dedicated mobile theme for your website, both platform offer starter themes to help you along. There are plenty of Drupal mobile themes available on drupal.org and as for WordPress, WPTouch is the norm. Now, the biggest difference between Wordpress vs Drupal is how the content is handled on mobile devices – When using Drupal you can create other content fields for a page that will simply display when viewed from a mobile device. It’s also worth stating that you should place your Drupal mobile theme in a sub-domain such as m.drupaldomain.com - Wordpress mobile themes can run on the same subdomain. Content editing on mobile is rather easier with Wordpress, making it an excellent choice for blogs and other personal websites.   Wordpress vs Drupal – SEO concerns Neither platform has a definite advantage when the website is built following the SEO best practices. Here are a few aspects you should keep in mind with regards to SEO: Content Delivery Networks can be used for both platforms Schemas can be added to Wordpress and Drupal as well Page loading time – Drupal’s default caching feature is very powerful and it doesn’t require any additional alterations – Wordpress needs to use caching plugins.   Wordpress vs Drupal – Upgrading With WordPress, your database will require an upgrade which can be done in the background. Your code is upgradable as well. A new version of Wordpress is released every couple of months but that’s not the problem – your plugins may not be upgraded that often which in turn can lead to security risks or lack of functionality in your website. With Drupal the code is not upgradable but the database is – upgrading from Drupal 7 to Drupal 8, for example, may require a re-design. Your database content can be migrated to a newer version but the code will most likely need to be rewritten.   Conclusions In the end, the Wordpress vs Drupal argument ends with the customer’s demands – your demands. Do you need different content types and different page templates? Do you need enterprise-level security? Do you need a small website or a larger, robust site with plenty of security and different user permissions? Given these aspects, Wordpress is more suited to small websites and blogging websites while Drupal is recommended for larger projects with multiple authors and a need for tight security. ... Read more
Adrian Ababei / Oct 04'2016
Why Would Hire a Team Developing Mobile Apps for Companies? 7 Main Reasons
Mobile apps for business purposes are not just for huge companies such as Wal-Mart. Actually, more and more small and mid sized businesses are turning to mobile apps in order to grow their business and gain new clients.  Here are a few reasons why you should get in touch with a mobile app development company:   Increase your visibility through a mobile app Mobile app development can be a real advantage when considering the fact that your average US citizen spends more than two hours a day on their mobile phone. By turning to a mobile app development company, you’ll be able to tap into those long hours spent on mobile devices – this can only lead to more conversions and more sales.   A mobile app is a direct marketing channel Mobile app development can offer many benefits such as providing your customers or potential customers with prices, general information, news, messages, user accounts and search features but one of the biggest benefits of having a company mobile app is being able to create a direct marketing channel which you can use to provide your customers with special information such as promotions or special sales. Since mobile devices now play such a big role in our lives your conversion rates are sure to skyrocket each time you offer a special promotion.   Your mobile app provides value to customers Mobile app development allows your company to provide customers with valuable information and in the same time loyalty programs can be implemented with ease – think about allowing your customers to collect certain discounts or rewards through the mobile app. This is a great way to get more return customers and more downloads for your mobile app.   Mobile apps equal brand recognition Mobile apps for companies can contribute a great deal to brand awareness. You’ll have a direct way to target your customers in any way you please – you can make your app informative, functional, stylish or fun. It all depends on what your ultimate goals are but all in all you should create an app that your customers will love. Mobile app development companies usually create mock-ups and do plenty of research before delivering the finished product – this is an essential part of mobile app development. Another benefit of mobile apps you should keep in mind is the fact that if you can get your customers to interact with your app or your company, they’ll likely buy your service or product as well – this is referred to as „effective frequency”.   Mobile apps increase customer engagement No matter what product or service you’re selling, your customers need a quick and sure way to reach you in their time of need. By having a messaging system built within your app you’ll gain a new and different way to communicate with your customers. Restaurants are the best examples – instead of calling the restaurant in order to book a table, your customers can do it with just a few clicks.   A mobile app will help you stand out from competitors Although hugely popular, not all small businesses have mobile apps – this is your chance to shine. By being one of the first or even the first to get a mobile app going you’re sure to gain some attention from customers and partners alike.   Customer loyalty One of the biggest reasons why you should get a mobile app for your company is improving your customer loyalty. Mobile app development allows your company to be at your customer’s fingertips all the time which in turn can turn your brand into something your customers will respect, rely on and even love.   These are just a few ways in which a company can benefit from having their own application – improving customer loyalty, customer engagement, brand awareness and visibility. ... Read more
Adrian Ababei / Oct 03'2016
What Are the Must-Have Drupal Development Tools? Top 8
Drupal development is gaining more and more traction on the web development scene and for good reasons – Drupal is a highly robust yet flexible platform which makes it a great choice for web development projects, e commerce websites and other tech related needs. Drupal development requires lots of programming skills and attention to details so we’ve set out to find the best Drupal development tools for you to use and review. Here is our list of 8 essential Drupal development tools:   Drush for Drupal development Drush is one of the most sought after Drupal development tools – it’s considered the command line and scripting interface for Drupal. While it may take some time to get used to it, Drush is an excellent multipurpose tool used to install, maintain and develop Drupal websites. That being said, Drush is a great time saver for Drupal developers and it also helps with building custom modules and themes.   Coder for Drupal development With the Coder module Drupal developers can follow Drupal’s coding standards more closely. This module is composed of two sub-modules, Coder Review and Coder Upgrade.   Coder review allows Drupal developers to verify if a module or part of code is up to Drupal’s coding standards or not – it also allows users to know if anything needs changing. Coder upgrade helps Drupal developers upgrade modules or themes to a new version of Drupal. Coder is currently available for Drupal 6 and 7.   Backup and Migrate in Drupal Backup and Migrate makes database backups much easier to create. Just click the admin interface or run the Drush command to order a backup. This module can be configured to send your backup to Dropbox or Amazon S3.   Masquerade for Drupal development Sometimes Drupal development can be a hassle – you have to become a different user to test something in Drupal. The Masquerade module is the perfect solution for this purpose simply because it allows Drupal developers to switch between users easily. This module is perfect when a user reports a bug and another developer is supposed to replicate the same conditions and fix it.   Drupal Project Lookup Drupal Project Lookup is a Chrome extension that’s very handy for Drupal development – the extension helps users save a lot of time when looking for project pages on drupal.org. All you need to do is type pml and the project name and you’re there!   Dreditor Dreditor helps Drupal developers review patches and comment on different issues on drupal.org. Dreditor’s features include auto-completion when adding comments in drupal.org, templates for commit messages and the patch reviewer button.   Features Turn on configuration in the modules in order to source control and deploy them properly. You shouldn’t make too many changes on the live website but instead you should try to make changes on your local server. But how can you deploy modules on a live website? Simply use Features – this is an incredibly useful module which will help you along with any Drupal development project.   Diff for Drupal development Drupal developers who use Features are most likely using Diff as well. Sometimes features may get overridden and the information from the database may not match with the code – This is a perfect time to use Diff. With the Diff module Drupal developers will see any difference with ease – you’ll also be able to see changes between revisions of different nodes and modules, effectively saving you a lot of time. Considering these aspects, Diff is one of the most important Drupal development tools.   Conclusions These are some of the best Drupal development tools available today – not only do these tools speed up your workflow but you’ll be able to achieve better and greater results as well. ... Read more
Adrian Ababei / Sep 29'2016
Six Reasons Why it's Better to Work With an Agency Instead of a Freelancer
There’s an age-old question that once in a while pops in a manager’s mind: Should we hire a freelancer or go with a specialized agency? Here are six reasons why it’s better to go with an agency instead of a freelancer. Number one: you save money in the long run Freelancers are quite popular nowadays simply because they tend to charge less than a full agency but as the old saying goes, “you get what you paid for”. Unfortunately, the price factor is often decisive in the freelancer vs. agency battle, leaving some customers unsatisfied with the work they receive. This is not necessarily the fault of the freelancer or the manager; it’s a combination of factors that can lead to dissatisfaction, such as quality of work, time necessary to complete the tasks, dependability and general return of investment. One of the most important aspects to consider is the project itself: Is it a big project? Does it require multiple skills? How fast do you want it to be implemented? Pound for pound, you get a bigger ROI by working with an agency than working with a freelancer when tackling bigger projects. For example, small changes to a website can be done by a freelancer but if you want to build a website, it’s always better to go with an agency. To sum it up: Go with a freelancer if you have smaller tasks like a simple logo change, go with an agency if you need multiple specialized services   Number two: you save time   Working with an agency instead of a freelancer can save you valuable time, simply because agencies tend to have 5 or more employees working together to achieve a common goal. Most freelancers have regular 9 to 5 jobs and freelance on the side during the weekends. Agencies can ensure that different portions of your project are tackled simultaneously by different employees with appropriate skill sets. To sum it up: If you have a time-sensitive project, it’s a good idea to work with an agency. If time’s not an issue, you can hire a freelancer.   Number three: You can expect better results   All agencies, big or small have a reputation to live up to. A freelancer doesn’t need that because he can jump from one project to another without any loss of image. That being said, you can expect better results from an agency than from a freelancer. Another aspect you need to keep in mind when getting a price quote from an agency is that you’re being offered talent from multiple experts in one place. Sure, you can hire multiple freelancers as well but in 90% of the cases it’s better to work with an agency with integrated IT services and their own project management. To sum it up: If you don’t want to become a project manager for three or more freelancers, it’s better to let the agency handle the extra work in managing teams so you can simply sit back and enjoy the results.   Number four: Delays are rare when working with an agency   Most agencies have five or more employees and use clever management to ensure they respect deadlines. On the other hand, freelancers work only when they are able to – this can often lead to hiccups along the way and as we all know the speed of delivery can either make or break a project. To sum it up: Agencies always respect deadlines; freelancers are not always able to.   Number five: You get more talent for your buck   At a glance your average website will require multiple talent or multiple experts from different fields of work: you’ll need a programmer, a graphics artist, a copywriter, a content writer, a SEO expert and a marketing expert. You want to get the most out of your investment and as such you want to hire people that are talented and dedicated to their work. Of course, you can find freelancers which are talented in one or two fields but in the end this will leave wide gaps in your project – a graphics artist may not be a great SEO expert and a marketing expert may not be a very good programmer. If you’re thinking of hiring all these separate experts for a project then you’re in for a surprise: digital project management is difficult and time consuming. To sum it up: As a rule of thumb, it’s better to work with specialized individuals. If you don’t have ample time to spare on project management, it’s better to let the agency handle it for you.   Number six: You are a client, not a side job   As mentioned before, most freelancers have regular nine to five jobs and do other projects on the side or in the weekends. Sometimes they will be unavailable to answer your calls or e-mails, sometimes delays can happen due to their regular job. A freelancer will never abandon his or her regular job for your project; you won’t be a priority to them. On the other hand, for an agency you will always be a priority, from quote to completion. To sum it up: If you want priority and quick delivery, talk to an agency.   Both agencies and freelancers have their advantages and disadvantages when it comes to online projects but in the end it all depends on what your ultimate goals are and the size of the project. ... Read more
Adrian Ababei / Aug 16'2016