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.

Headless Drupal and Node.js: Easily Build JavaScript Apps on Top of Drupal!
Remember when websites used to be the only type of content distribution channels? Hardly, right? For it's been “ages” since we got to “deliver” content alongside entire “constellations” of digital channels: digital signage, kiosks, mobile... And so, this proliferation has made managing all these access channels increasingly challenging. But the Acquia team came up with a solution: they've added Node.js support to their Acquia Cloud. That's right, now Acqua Cloud, the one providing a cloud-based interface for Drupal developers to use, incorporates Application services for Node.js.  This means that:   your development team can leverage the now fully-decoupled Drupal platform using it as a robust apps repository … in order to distribute content across an entire “network” of new digital channels (without the need of a replatform, just by simply leveraging Drupal 8's in-built capabilities and API-first architecture) … by using lightning-fast Node.js for scripting, for building interactive app-like digital user experiences   Headless Drupal and Node.js: Let Their Powers Combine! … and help you build real-time, network JavaScript apps alongside your robust, scalable Drupal CMS faster than ever. They're equally popular for building enterprise-specific digital experiences, they're both open source technologies. And now each one of them is a valuable integration of the Acquia Cloud. Teamed up, they enable you to build and to run your JavaScript apps on top of Drupal.   Drupal   brings in its impressive scalability as a CMS; it turns into that robust shared repository that you'll need for all your future apps is already “turbocharged” with multiple decoupled apps: headless Lightening, Reservoir, Contenta etc. if none of the pre-built distributions suits your needs, Drupal 8's content-first architecture empowers you to build your own custom one!   Node.js   a blazing fast JavaScript framework enabling you to build scalable network JS apps supporting a wide range of front-end frameworks (Angular.js, Meteor.js, Ember.js, Backbone.js)   * “Why JavaScript?”, you might wonder. Because it's designed with usability in mind! With their powers combined, headless Drupal and Node.js:   enable your development team to easily build decoupled apps with lightweight JavaScript front-end design and to extend them across an “ecosystem” of access channels … all while leveraging Drupal's content management services (which is robust enough to support your “cluster” of real-time, responsive Node.js apps)   It's your users that will benefit from this “data and content marriage” in the end: they'll enjoy some interactive digital experiences.   Content and Data Under the Same roof: What's In It for You? For this new way of interacting with your Drupal CMS (exposed as a set of content services now), while leaving the scripting part to Node.js, does translate into key benefits for you and your team:   Toronto developers within your team get to leverage the advantage of a “single” database, a shared source of content supporting an entire “network” of apps (content and data under the same roof!)   they gain access to various parts of your CMS (content management, search, security) available to them as a set of APIs now when headless Drupal and Node.js join forces   developers no longer need to build a Drupal site first and then to separately handle a server for the Node.js app's functionality: the two different environments working in parallel, one for data and one for content, merge into one single development track    your development team(s) get to “fully exploit” this new architecture model, by easily mapping the content model to the API, and thus to speed up the whole data-driven apps development process!   Overall: you get to leverage Drupal's robustness as a CMS-repository for all your apps! It's there that all the content management and content authoring happens and it's from there that content gets distributed to your entire maze of real-time apps, to the whole network of distribution channels. The more complex your data-driven app infrastructure gets, the more powerful your repository has to be! Luckily, managing content and, moreover, scaling itself to an increasing overload of content are Drupal's “specialties”!  And this is how headless Drupal and Node.js, with their powers combined in Aqua Cloud, will help your development team create decoupled application experiences across multiple digital channels! How about putting this “happy marriage” of data and content to a test now? ... Read more
Adrian Ababei / Oct 03'2017
Alfresco Digital Business Platform: Go With the Digital Flow 
  “But am I not there yet? Haven't I already implemented digital transformation within my organization?" The Alfresco Digital Business Platform's release does make you wonder. Well, now that we've planted “the seed of doubt”, ask yourself these key questions:   Is your current business platform agile enough to quickly pivot when you need it to, to promptly meet all your changing business needs? Are the programming tools that you're currently using “tying” your business to long development cycles? How fast is your current proprietary business process/enterprise content management system capable to put together workflow applications? Are you currently using the power of task automation to the fullest? How “accessible” is data within your company? Are you leveraging your current digital technology to make information easily accessible? Are people within your company enabled to access integrated data (anywhere, anytime), use it, and share it with the utmost ease?    Just be honest with yourself! Then you'll find out whether you're right there: at the peak of your digital transformation or at the bottom of the hill, still... And this is precisely what the Alfresco Digital Business Platform helps you with: take big leaps ahead towards digital transformation!   What Is The Alfresco Digital Business Platform Exactly? Well, you could take it as a business process services and an open-source content management system “combo”, topped with a new App Development framework! Or, simply put: a digital business platform, as its name says it, enabling you, as an enterprise, to create and to deliver digital content experiences via perfectly automated workflows. In short: Alfresco, once exclusively an ECM (Enterprise Content Management), provides you with an open and agile platform perfectly equipped for enabling fast app development and reiteration!   But Which Are the Issues That This New Platform Comes to Address? Or the “customer needs”, if you prefer, that this new Alfresco release is built to meet? Here are a few challenges that they (business owners) had to cope with:   long development cycles that were no longer feasible difficulties in connecting multiple departments and in automating tasks  non-agile content/business processes management systems that wouldn't (or hardly) get “tweaked” in order to adapt to their users ever-changing business needs and goals   In short: it's precisely the lack of adaptability and time-efficiency of the “traditional” business process/content management systems that led to the Alfresco Digital Business Platform release. And it's built to give you a push “push forward” on your path towards complete digital transformation, a path paved with... digital efficiency. Here are a few goals of the “mission” that its development team invested it with:   to help you create content at high speed by leveraging the due technology to help you “tailor” automated digital business processes, automated workflows fast to help you develop governance apps at high speed, providing you with a dedicated App Development Framework   Overall, the platform's built to help you:   do things quickly around your organization by automating all the business processes, tasks, and workflows achieve that ideal “digital flow”   … where data's easily accessible to everyone involved (both workers and customers), multiple teams are interconnected and you're free to change this entire “infrastructure” of processes, people, and content to your liking whenever you need to   Alfresco Digital Business Platform: 5 Tools and Improvements Worth Your Attention 1. Alfresco App Development Framework (ADF) The new platform's ultimate goal is to help you speed up app development within your organization! In this respect, this dedicated framework's supercharged with:   reusable Angular 2 components Google Material design   … to easily “live up” to its goal: enabling your development team to quickly create workflow apps featuring responsive user interfaces adapted to all the devices used across your company!   “But I was already able to build my own apps on top of the Alfresco platform. What's changed now?”   A valid question, indeed! Apart from a faster app development process, now you get to actually put together your own engaging and nonetheless responsive UI using the web technology of your choice on top of Alfresco! Remember how you used to be “tied” to Alfresco's own UI? One that, it's true, you could adapt to your own needs, yet... you still depended on it? Well, not anymore: not only that it empowers you/your team to actually craft your own user experiences on top of the platform, but it also takes most of the heavy work off your developers' shoulders, speeding up things tremendously!  The framework provides you with a set of:   development tools testing tools   … along with other new Alfresco tools to add to your handy toolbox for speeding your apps' development! 2. New Open RESTful APIs That's right, you get a whole new set of APIs along with the Alfresco Digital Business Platform! They're built to handle:   nodes renditions versions   … and to perform search queries, as well, and all this DIRECTLY. Practically people in your organization get to easily access the services they're developing on top of the Alfresco platform. It's all about them being able to quickly access, to use (even use it to innovate) and to share the data flowing within your company, remember? The new platform just plugs in, via its open RESTful APIs, all those content and office productivity services into your internal workflows. It enables department collaborations and adapts the workflows to those specific environments that your workers prefer. And when we talk about API integrations, the list of third-party apps is a.... never-ending one:  MicrosoftOutlook, Salesforce, Google Docs, CRM, SAP etc. Moreover, it gets easier for you, the platform's user, to fully exploit all of the new open RESTful API's capabilities using the API Explorer! 3. Alfresco Search Services  Digging through the “pile” of search improvements brought to the Alfresco digital business platform we can't but mention a few “highlights:   it runs on Solr 6 it comes with a search term highlighting tool it includes category faceting, document fingerprinting, multi-select facets it enables users to index multiple versions of a document  it's got significantly improved sharding: you get to shard your index by date, DBID, ACL...   Do your users have multiple search requirements? This new Alfresco platform comes with multiple search tools so that you can comply with your customers' specific sets of requirements! Note: probably one of the biggest search services-related news is that they're no longer “piled up” in a WAR file. They make a STANDALONE SERVICE now! 4. Admin Improvements There are 2 handy new features that will streamline your Alfresco deployment's management and troubleshooting workflow:   Trashcan Cleaner, which turns the whole cleaning out of Alfresco deleted items into an automated task Support tools, ranging from profiling, sampling, gaining easy access to changing log settings and viewing logs, thread dumps, active session monitoring   5. Amazon AWS Optimized Deployment The Alfresco team has optimized the new platform so that it should run smoothly on Amazon AWS. And their efforts revolve around “valuing” your time even better, as they've included Alfresco Quick Start, turning Alfresco deployment from a matter of days into a matter of... minutes!   So, have we, at least, managed to stir your curiosity? To at least make you... question yourself whether you're currently embracing digital transformation at the right pace? To make you question yourself what you could do better in order to go from digital to digital efficiency? To shift to automated workflows? ... Read more
Adrian Ababei / Sep 29'2017
Magento vs Drupal Commerce: Which One's The Best Fit for Your Online Store?
All the worldwide-known e-commerce brands that these two e-commerce platforms power are equally impressive. They're both well-built, widely-used, ideally customizable, and scalable. In short: they're equally tempting. And this is what turns any Magento vs Drupal Commerce comparison into such a frustrating “dare”! In vain you'll let yourself seduced by one's “promise” to help you get your online store up and running in no time if it turns out that it's not built to handle your high-volume store or your entire “ecosystem” of online stores. And in vain you fall for one of the 2 e-commerce platforms' irresistible load of features and customization options if it doesn't empower everyone in your team, even the non-technie staff, to tweak various aspects of your website. See? It's nothing but a question of “which features, which functionalities” are relevant for your own e-commerce business. And which one of the 2 platforms can deliver most of them. Now let's indulge in an overview of both Magento and Drupal Commerce's feature sets, shall we?   But First: A few Words About Magento  Magento's an e-commerce software platform built as an open-source solution for eBay (who owned it until 2015), effortlessly “seducing” both developers and business owners with its: enterprise-level tools and functionalities (e.g. “sophisticated” search capabilities, such as multiple filters that users can apply to their product searches, prompts, etc.) tones of possibilities for customization unmatched scalability  capabilities for managing complex product assortments deep integration with eBay (obviously!)   And Now: A Couple of Things About Drupal Commerce That You Should Know "What is Drupal Commerce?" A two-in-one CMS and integrated e-commerce platform! Or an e-commerce platform built on Drupal CMS if you prefer, designed to help users set up versatile online stores and apps having Drupal as their foundation! And this is precisely what tempted and eventually convinced its users to run their online store on it: its incredible versatility! Practically it's a plug and play solution enabling you to set up your e-commerce website anywhere within your environment and it's easy to tweak to fit perfectly your specific way of doing business in the e-commerce arena! And there's more! The non-technical staff of your team gets to implement changes and to “experiment”, so say “Hello!” to unlimited extensibility and flexibility. Note: Drupal Commerce does require separate installation and configuration from Drupal core, do take this aspect into account! Bottom line Drupal: “plays well” with third-party systems seamlessly connects content to products and comes packed with tones of modules that you can use for adding on (even) more functionality to your online store and for making it grow along with your business needs and goals   In short: Magento vs Drupal Commerce debate the latter is an A-lister in terms of flexibility and versatility!   A Magento vs Drupal Commerce Comparison: 8 Criteria to Consider  1. Ease of Setup Drupal Commerce:  if you already have Drupal Core installed, setting up and configuring Drupal Commerce, as well, will be... nothing but a child's game: download, load, install the package if not, you'll need to go through the slightly more complex Drupal CMS installation process and then enable Drupal Commerce  and there's also a third option, where you go for an installation profile allowing you to install Drupal Commerce on its own   Overall, both Drupal Commerce and Magento empower their users to get them installed from the ground up.    2. Maintenance Costs  Both shopping cart platforms are open-source projects, therefore, they're both free to use. And yet, depending exclusively on your specific business needs, there are certain costs adding up. Drupal Commerce:  is completely free except for the hosting fees it's Commerce Guys that provides the Drupal Commerce users with various levels of support, each level having its own price points   Magento:  also free to use, apart from the hosting costs as your e-commerce business grows you get to extend your website's functionality with various Magento extensions; for a fee, of course   3. Adaptability and Customization  Customization is undoubtedly one of the key criteria in any Magento vs Drupal Commerce comparison. No business owner with a long-term vision would want to tie his company's future to a rigid e-commerce platform.  So, the more freedom granted to the end-user, the more “power under the hood”, the more “attractive” a shopping cart solution becomes, right? Drupal Commerce:  is incredibly customizable by nature (for we're talking about a modular nature) you get to tailor it to your business needs, implement new enhancements, experiment, add new features (and go beyond the “traditional” e-commerce-specific ones) thanks to Drupal CMS backing it up enables you to “tweak” its look, as well, going through the whole collection of Drupal themes and doing a little bit of design work   Magento: is entirely customizable if you do have a Magento specific expertise or you can afford a Magento development team instead comes packed with a heavy load of “tempting” features to “turbocharge” your online store with ranging from zoomable images, to “narrow down” search”, responsive design, promotional options, reviews, calls to action, etc.  the sky is the limit, along with expertise and creativity, when it comes to customizing both your Magento site's appearance and functionality   4. Third-Party System Ecosystems Drupal Commerce:  integrates with a whole variety of third-parties, yet it has a “weakness” for social networking sites (Twitter, Facebook, Pinterest)  “bids on” customer communities”, user review sharing, connecting content to products (and thus influencing purchases, reaching out to new potential customers, etc.) to the list of third-party systems that Drupal integrates with we could add: Xero, SagePay, Windows, Mac, iPhone/iPad, Android, web-based devices   Magento: it's a simple and straightforward integration, with most major players (Payone, Facebook, eBay, Mandrill, BeeTailer, Windows, Mac, Android), that you get to leverage when running your online store on this e-commerce platform  and the ecosystem of third-parties that you can easily “inject” into your Magento online store will turn out to be some great “allies” for crafting user-tailored experiences (you get to tailor your future sales and special offers according to your shoppers' profiles or “shopping histories”); Magento's built to draw huge influxes traffic, no doubt about it!   5. Target Market  Drupal Commerce:  makes an ideal “plug and play” shopping cart solution for both individuals and e-commerce businesses enables you to have your versatile online store up and running in no time   also empowers you to boost your product marketing campaigns with great content (since Drupal's been primarily designed for content management)   Magento: if Drupal's a perfect fit for small businesses, in particular, Magento, on the other hand, is built to power businesses with high-volume of sales, managing “clusters” of online stores Magento Enterprise, in particular, makes the perfect choice for enterprise-level e-commerce businesses, as it comes “loaded” with tones of enterprise-level tools and features to customize high-volume, high-trafficked online stories with   6. SEO Support  Drupal Commerce:  Drupal has the edge on SEO, undoubtedly, thanks to its entire “ecosystem” of SEO-specialised modules that you get to enable onto your website (and you sure aren't short on choice when it comes to Drupal SEO modules: Google Analytics, URL management, Robots.text generator, Site Map Generator etc.)   Magento: if in Drupal you have a whole set of modules at hand to enable and to install, in Magento you get your SEO tools right out of the box; they're pre-built into the platform  enables you to tweak your URLs,  to double-check search terms, to adjust your category and product information, etc.   Overall: although Drupal does have the edge, in the Magento vs Drupal Commerce “competition” there's no “winner”. They're both remarkably SEO-friendly.   7. Web Hosting Although they're both open-source projects, none of the 2 e-commerce platforms is self-hosted. So, make sure to “squeeze in” the hosting fees when you plan out your budget!   8.  Ease of Use  Drupal Commerce:  if you already have a website/app running on Drupal, so you're familiar with the Drupal codebase, UI and development practices, learning how to use Drupal Commerce is... piece of cake yet, if you're new to Drupal, you might find it a bit challenging at first   Magento: it does “spoil” its users with advanced tools and customization features and it does grant them total control, yet they do need to be “Magento experts” in order to handle all of Magento's “powers”, all the coding, design and development processes in short: consider leaving your Magento site's setup and configuration to some Magento professionals; it's a powerful e-commerce platform, packed with an overwhelming set of robust features, yet it does take Magento expertise to handle them right   And this is our list of the most important criteria to use when making your own Magento vs Drupal Commerce” comparison. So, which is the clincher? That criterion that makes you decide for one or the other? We sure hope this post will steer you in the right direction: choosing not THE best e-commerce platform from these 2 rivaling ones in the e-commerce arena, but THE best one for YOUR own e-commerce business' particularities and for YOUR own goals as a business owner! ... Read more
Adrian Ababei / Sep 28'2017
News Alert : Google Chrome Now Displays “Not Secure” Warnings for HTTP Pages
The harvest season, no doubt about it! Autumn (the month of October to be more precisely) is taking us... “Google Chrome novelties” picking! Starting next month Google Chrome will be displaying new “Not Secure” warnings for HTTP pages. We're talking, in fact, about two additional situations where these discouraging alerts get triggered in users' address bars:   when the user is asked to enter his/her credit card information or his password on an HTPP page (so when he's presented with an HTTP form having sensitive input fields)     when the user loads an HTTP page in Incognito mode   Note: speaking of the second scenario, the “Not Secure” warning will show up on ALL HTTP pages surfed in Incognito mode. Take it as Google Chrome's next level in its “campaign” of pushing the web on the HTTPS side. A plan structured into multiple gradual steps aimed at discouraging users from “venturing” on non-encrypted websites. And, implicitly, at “forcing” website owners to do the necessary: move to sitewide HTTPS.   HTTP vs HTTPS: Is A Migration Really Worth It? But first: which are the HTTP protocol's drawbacks? Those that Google Chrome warns users about through its new “Not Secure” warnings for HTTP pages? Basically an HTTP connection:   is a non-encrypted one gives visitors no guarantee that once they access a web page they're literally interacting with the “right” website  provides visitors with no protection, whatsoever, against man-in-the-middle attacks, eavesdropping, data modification    On the other hand an HTTPS protocol page:   is one where the user-website communication is an encrypted one, protecting the former against cyber attacks. keeps data protected from third parties   And now to answer your legitimate question, whether switching from HTTP to HTTPS is really worth the resources (of time and money), let us just imagine this scenario here: “A user walks into a/lands on your website and is ready to make a purchase. A payment form is presented to him and he is about to enter his credit card information when... he gets a warning, in his address bar, that your site is not secure...”   2 Updates to Run on Your Site to Avoid The New “Not Secure” Warnings for HTTP Pages  1. Simply Get to The Root of the Problem and... Resolve It How? Making sure that Google Chrome will label as “of secure origins” all the:   inputs marked as credit card fields  all the fill-in forms on your website incorporating <input type=password> elements   “Of secure origins” meaning that both the top-level page and the iframe (in case the user needs to enter his/her data in an iframe) need to display the HTTPS protocol. In other words: if your HTTPS login/payment form is presented to your users in an overlay on top of an HTTP page, then you'll need to either:   switch all your web pages to HTTPS redirect it to an HTTPS web page on your website containing that specific login/payment form   Taking the “shortcut”, placing an HTTPS iframe in an HTTP top-level page, is not a solution! 2. Go HTTPS! Switch to Using It Side-Wide Instead Since the new “Not Secure” warnings for HTTP pages that Google Chrome will be rolling out this October are nothing but another step in its “macro plan” to label ALL HTTP websites as not secure. So, why waiting for the inevitable to happen? Why should you “mend” when you can go for a long-term, in-depth solution? When you can make the move now and migrate your Drupal website to HTTPS?   Bottom Line  Take Google Chrome's new “Not Secure” warnings for HTTP pages as a new step in its whole master plan towards an HTTP-free web! It's a plan they first launched in November 2016 and which they're implementing gradually. So that the users grow more and more aware of the risks they expose themselves to accessing HTTP web pages, as the Google Chrome security team confirms:   “Studies show that users do not perceive the lack of a “secure” icon as a warning, but also that users become blind to warnings that occur too frequently. Our plan to label HTTP sites more clearly and accurately as non-secure will take place in gradual steps, based on increasingly stringent criteria."   There's no way of knowing, for the time being, when precisely Google Chrome will mark all HTTP sites as non-secure. When it will label them all with the red triangle currently indicating broken HTTPS pages.  What we do know is that this is the ultimate goal of their strategic plan. So, instead of waiting for the confirmation of the date in the calendar, why not gradually prepare your website for this move? ... Read more
Adrian Ababei / Sep 25'2017
Should You Be Using Node.js? How Do You Know If It’s Suitable for Your Web Project?
There's no such thing as “the best web technology” but “the best technology for particular use cases”! For your web projects' particular needs:   do you want it developed fast or do you want it to work fast? what's crucial for your specific project: that your web technology should scale great or that it should be flexible and IDE friendly? do you value a highly expressive language or one that's the same on the server and on the client's side (for back-end and front-end)?   Take some time to answer the above questions. Then see if can find your priority features and the capabilities that you're looking for in a web technology and whether your project fits any of the use cases for Node.js that we'll be pointing out here below. Keep reading...   But First: What Is Node.js? Just a few words about this web technology competing for the “chance” to power your future web project:   a JavaScript platform or “runtime environment” if you prefer  built to enable you to develop fast and highly scalable server-side apps  comes with a unique I/O model which makes it particularly lightweight and excellent for handling big flows of data (real-time situations handling a ton of requests)    Reasons Why Node.js Is Increasingly Popular  And here we're thinking about companies such as Uber, LinkedIn and... NASA that saw huge potential in Node.js! But don't take these brands/enterprise names as unique arguments for jumping on the Node.js trend! Better scan through, ponder on and put the following reasons for why you should be choosing this technology against your own project's needs and particularities:   your development team will get to use the same language, both on the client and on the server side (so both on the front-end and the back-end); this can only lead to an efficiency boost and to reduced development costs (since your front-end and back-end developers will then be cross-functional)   the same feature practically speeds up the whole development process (parts of your app can get shared and reused from the back-end to the front end and vice versa)   Node.js is a full-stack technology: you get everything you need for Node.js to work all in one package, from the HTTP server to the templating engine   it's free and open-source technology   it loads fast (and here we're comparing it against Ruby on Rails)   Use Cases Where Node.js Works Best 1. For Developing Real-Time Apps  If it's a real-time app that you're planning to build, then Node.js makes THE excellent choice. It's built to:   make sharing and reusing of library code packages a breeze   handle heavy loads of concurrent client requests depending on instant response time like no other rivaling technology out there   speed up the client-server data sync   process massive loads of data in real time    But let's talk facts! Meaning specific examples of “apps/sites where:   big flows of data need to get processed in real time   multiple connections are simultaneously active and requiring immediate response time (relying on asynchronous interactions, like Quora.com for instance)   So here it is, our list of real-time app examples, of use cases where Node.js works best:   chat apps (instant-messaging, live-chat apps) collaboration tools: drawing/editing-type apps e-commerce transaction apps video conference apps (depending on VoIP and specific hardware to work) multiplayer games/online gaming apps   In short: Node.js isn't the unique solution, in terms of web technology, to develop your real-time app with, yet the:    unmatched performance that it will turbocharge your future app with (it can handle big data flows and multiple requests and all this without compromising on page load time) ease of development that it “lures” you with   … do put it on top of your potential web technologies to power your app with! 2. For Building Single-Page Apps Heavy on Processing on The Client Side  Is it a single-page app site that you're planning to build? One of those modern web apps dealing with a lot of rendering, of processing on the client's side mostly (having a back-end playing a single role: providing a JSON API)? Then you can't choose a more appropriate web technology! Thanks to its unique I/O model, Node.js is equipped to process high volumes of I/O driven requests and data sharing tasks (e.g. the validation code shared between the client and the server) In other words: it's a powerful technology “capable” to handle great piles of instant data, of IO-bound requests, one that should scale easily and process the multitude of requests at high speed that you're building, then Node.js is the one for the job! Note: do keep in mind, though, that if it's more than shuffling data around that you need your web technology to excel at, if there's a lot of CPU processing (e.g. image processing) involved, then you might want to consider other technology for your web project! 3. For Building Streaming-Data Apps Node.js does a remarkable job, thanks to its capabilities to process massive loads of data in real-time when it comes to supercharging streaming apps. Let us give you just a few examples of data streamlining tasks where you could leverage Node.js's capabilities:   encoding files while uploading them uploading files in real-time building proxies between layers of data 4. For Building REST/JSON APIs Facing the challenge of wrapping web services or data sources (so other data sources) and displaying them via a JSON or a REST programming interface? Node.js will “save the day”, once again! Since it:   runs on Javascript  “boasts” with a one of a kind I/O model   … it makes the handiest tool/web technology for you to go for whenever it's APIs that you need to build! Does any of these 4 ideal use cases for Node.js match your own? Do this platform's features and functionalities meet your specific web project's needs? If so: entirely or just partially? ... Read more
Adrian Ababei / Sep 22'2017
Shopify Launches Shopcodes: Scannable, Trackacle Codes for You to Use
First the launching of Shopify Pay, now this! It's more than obvious: Shopify's constantly striving to enrich its merchant customers' toolset with new and new features. And this time it's all about easy-to-scan, easier to track QR codes. In other words: Shopify launches Shopcodes, a free app downloadable right from the e-commerce platform's store, an app playing the role of a QR codes “generator”. What does this launch mean for you? Well, it means that you, the Shopify store owner, get to easily create QR codes (just generate them and then download the graphic files) and then link them to any product page or shopping cart page that you want. This way you'll be:   enabling your potential shoppers to get extra info about various products while they're in your physical store (they just scan the QR codes attached to your products and voila: they'll be taken right on the products' dedicated pages in your Shopify online store)   interconnecting your customers' offline and online shopping experiences   streamlining the whole checkout process (the code can also take your customers right to the checkout page, skipping all the other time-consuming steps to take)   delivering your clients their desired products without having to keep an inventory on hand; so even if you own a popup store and you're constrained by the lack of space   … and the list of benefits can go on and on. Now let's delve even deeper into details on how to create and place these codes on your products/marketing materials, details on various use cases and on the multiple benefits:   How Do You Create These Codes and Place Them on Your Products/Marketing Materials? Generating these QR codes, then linking them to your product/checkout pages and downloading the graphics files (SVG, PNG) to be placed on your marketing materials /products is nothing but a simple 4-step process:   just get the Shopcodes app from the Shopify App Store and have it installed use the app to generate your first QR code  link the QR code to the product or the shopping cart page of your choice print the graphic file to place on your offline marketing materials!   Once your offline customer enters your physical store and uses his/her iPhone to scan the printed code added to a certain product he/she can:   learn more about it, visiting your online shop and heading straight to the product page that he's interested in get straight to the shopping cart page and complete the checkout process, purchasing that specific product!   OK, Shopify Launches Shopcodes: But How Do They Work Precisely? First of all, we need pointing out 2 particularities that set these QR codes in Shopify apart from the “traditional” ones (since QR codes have been around since the 90's):   you can generate them exclusively within your Shopify store they can be used exclusively for shopping purposes   OK, now that we've set these key details straight, here's how they work and also how you, the seller, get to harness their full spectrum of functionalities:   we've already briefly mentioned how they work from the user's perspective: he/she uses his Apple phone to scan the code and gets a screen with additional info about the given product or with a “buy” button instead if you, the seller, will have linked that code to a checkout page   you, the Shopify merchant customer, get to track down and to monitor those codes (they're not just scannable, but also unique and easily trackable), each transaction made by your customers, right from your Shopify Analytics dashboard; so you'll get a crystal clear picture of where traffic/sales on your online store are coming from    you, again, even get to harness a whole set of features aimed at enriching your toolset as a seller: to add discounts to those QR codes (thus encouraging your offline customers to purchase online), to make changes via your Shopcodes app's dashboard (e.g. to add extra information or promotions)   Convenience for your customers (and for you, too, since you have your dashboard as your control panel at hand) and a bundle of benefits for you, the Shopify customer!   Which Are the Use Cases for These QR Codes? “Practically you get to use Shopify QR codes wherever you advertise offline”:   place them on your product packaging; this way your customers can just scan them through and get more detailed information about your products by visiting your online store or go to the checkout page directly   display them in your brick and mortar shop's storefront window, alongside other products; this way, even with closed doors, after or before your shop's working hours, your customers can still engage in shopping: in online shopping on your Shopify store instead!   use them in your popup store (or at the events that your company participates to), where you face multiple constraints, such as lack of space and a limited inventory on hand; your visitors can still scan these QR codes and have their favorite products delivered to their homes instead   In short: rely on Shopify's QR codes whenever/wherever you're conducting offline marketing campaigns! Use them to stir your offline potential customers' curiosity, turning them into your future online shoppers!   Why Should You, The Shopify Store Owner, Be Excited About This App? “What's in it for you?” In what way does Shopify deliver you, through the launch of its Shopcodes app, (even more) value?  Let's sum up your benefits and outline the answer to your question:   it enables you to turn first-time customers into loyal customers thanks to a much more streamlined checkout process (they just scan the QR codes... land straight on the checkout pages... hit the “buy” button... and that's it!)   it helps you turn various limitations (of space, of inventory on hand, etc.), that you might need to deal with, into favorable contexts for directing your potential shoppers to your online store instead   from package inserts to storefront windows, to offline ads... practically any offline marketing material can serve as a QR code support, turning itself into a “tool” for your customers to gain quick and easy access to your Shopify online store    What do you think about these QR codes' comeback that Shopify orchestrates? Do you plan to incorporate them into your own future offline marketing campaigns?  ... Read more
Adrian Ababei / Sep 21'2017
Behavioral Analytics: Reading Your Users' “Digital Body Language”
It's time you went beyond data focused on events frozen in time (“a user clicked on a certain link at a certain moment during his/her customer journey on your site”) and traditional metrics (e.g. page views)! Time you dug deeper than the surface level of “which visitors clicked on which links?”! It's time you turned all that massive load of raw data that you've collected so far into customer behavior patterns! Into actionable insights! Reading and fully understanding your customers' digital behaviors will help you “influence” their next buying journeys on your website/app. This is both the beauty and the power of behavioral analytics! A power too great not to use it for turning your first-time visitors into highly engaged customers! One enabling you to make the right offers to the right segment of your audience, at precisely the right time in their shopping journey on your website! Let's detail now, shall we?   First Things First: What Is Behavioral Analytics? A straightforward answer would be: “behavioral analytics is about focusing on the “why” and “how” a user ended up taking a certain action on your website (buying a product, leaving a web page right away, clicking a link etc.).”  A more “refined” answer would have to be: “behavioral analytics is analyzing your raw data in order to “extract” actionable information about your customers' digital behavior”.  And last, a much more “sophisticated” answer: “behavioral analytics is piecing out all the apparently unrelated data points and putting together your customer's buying story! A story including all those actions (or “chapters” if you want) that he/she took for achieving his final goal (making a booking, purchasing a product, subscribing to your newsletter etc.)" Take behavioral analytics as your set of user behavior analyzing tools that help you go from generic questions such as “What action did visitor “X” take on my website?”, to questions like:   "What precisely made him/her buy that specific item or click on that particular link (so you can then anticipate and even influence his/her future shopping decisions)?" Was it the offer itself, tailor-made to his personal preferences, or the fact that it included a “tempting” number of items?   "What other items did he/she scanned through, compared to those that he actually purchased in the end?"   "How does this user behavior data differ by traffic sources?"   Analyze user behavior data. Detect patterns. Take action! Use the actionable insights you get to make the right adjustments and, obviously, to improve your conversions!   There's So Much Valuable Data Out There Still Waiting to Be Harnessed “... that goes beyond the conventional page clicks, user purchases or traffic type of data” So, why not go beyond the “obvious”? How about standing out from the crowd of e-commerce business owners who still consider that traffic and page clicks are the only actionable information they could possibly get their hands on? Behavioral analytics is made of all non-conventional data just sitting there, waiting to be “capitalized”:   social media data internal text data   You'd better start valuing this type of data, as well, if you want to remain relevant in this customer-centric “jungle”, which is the digital arena. This means getting your “hands dirty”:   putting together holistic customer profiles segmenting customer bases organizing your observations into multiple groups of customers   And it's by analyzing all this “un-exploited” data left there, “in the dark”, that you'll get to understand your visitors' behaviors. What makes them connect with your brand or, on the contrary, reject it!   Identify The Issues First and Select the Data to Be Analyzed Accordingly Rushing in and greedily collecting all the user behavior data you could possibly get, in a desperate need to read your customers' digital body languages, won't take you too far! Take your time to clearly identify the specific issues that you need to solve on your e-commerce website/web app, first and foremost. To “detect” all those particular “sore points” in your e-commerce business so you can build your behavioral analytics-based strategy accordingly!  If not, all the metrics out there, all the collected data and tests that you'll run will slowly, but surely lead you to “analysis paralysis”. In other words: what type of conversion/traffic issues do you need to address with your data?   From Stats Pointing Out The Problems to Those Identifying The Causes And this is precisely the key difference between event-based analytics and behavioral analytics:    while the first type of stats point out to you the problems only  the second gives you a deeper understanding of the causes (why was it that customer “X” clicked on that link or purchased that item over another one?)   If you want to “decipher” your users' digital behavior towards your website/web app, you'll just need to pay attention to the right kind of analytics! Moreover, it requires that you:   segment your customer base and “tailor” targeted offers for them analyze your customers' purchase history  examine your customers' profiles as online shoppers on your e-commerce store   … so you should be able to predict their future behaviors as shoppers on your website and to use these results for your next marketing campaign.   "How Does Understanding Users' Digital Behavior Impact My Business Specifically?"   it “empowers” you to turn your customer behaviors from unpredictable to predictable   it enables you to actually shape your their customer journeys, their next decisions as customers on your website   … and this is what power, from any e-commerce business owner's standpoint, is all about!  Bottom line: behavioral analytics, when harnessed right, offers you precisely those actionable insights that will empower you to actively influence each one of your customer segments' decision journeys!  ... Read more
Adrian Ababei / Sep 19'2017
Laravel PHP Framework: What Development Challenges Does It Enable You to Solve?
How many web development challenges can the Laravel PHP framework help you solve? How much easier/faster does it make it for you to tackle common developer tasks? These are the 2 main questions that we'll try to answer in this blog post here. For the faster you'll be solving inevitable problems rising during your web app's development process, the more time you'll gain for sparking your creativity working on the app-specific logic! So, speaking of the common development challenges and how they can make the best criteria for choosing your most suitable web framework, let us enlist them! Outlining, as well, how precisely Laravel can help you easily overcome them:   1. Addressing Technical Vulnerabilities   The challenge you're facing: fixing technical (and therefore “security”, as well) vulnerabilities that will inevitably “infiltrate” your web app during its development process (e.g. cross-site scripting, SQL injection etc.)   Laravel's solution: it comes equipped with a shield against all major security vulnerabilities its codebase has been constantly examined and monitored by hundreds of developer eyes it restricts unauthorized users' access to your apps' crucial data or paid resources   2. Error and Exception Handling    The challenge you're facing:  configuring your app so that it properly handles errors (data-entry forms being the most frequent “error generators”) triggering prompt notifications (error messages) to let the user know that he/she has entered incorrect data   Laravel's solution: error handling is already configured  moreover, the PHP framework already incorporates the Monolog logging library, a powerful support for a multitude of long handlers it runs regular updates in order to minimize errors on your website/app   3. Creating a Custom and Secure Authentication and Authorization System   The challenge you're facing: putting together an user authorization and authentication system so that unauthorized users shouldn't gain access to your app's paid resources/critical data   Laravel's solution:  it puts at your disposal, right out-of-the-box, everything you need for building your authentication system in addition, it makes structuring your authorization logic very simple it grants you full control to all the needed resources   4. Separating Client Side/Presentation Code from Server-Side/Business Logic Code   The challenge you're facing: helping your web designers “grow independent” from their developer co-workers by making all the needed changes to your web app's HTML layout themselves also, by drawing a clear line between presentation and logic from an early stage in the web development process you'll be enabling developers, too, to fix bugs and to add on new features a lot faster   Laravel's solution: being an MVC framework, the “presentation logic-business logic separation issue” is solved by default!   5. Configuring a Scheduler and Managing Scheduled Tasks   The challenge you're facing: putting in place some sort of task scheduling system (and by “task” we do refer to automated database table cleanups, to regular emails to be sent out automatically to subscribers from your list etc.)   Laravel's solution: its built-in command scheduler enables you to configure your schedule from within Laravel just one Crone entry on your server will be more than enough   6. Configuring Delivery Delays, Managing Queued Messages   The challenge you're facing: putting together a message queue mechanism in the early stage of development for better handling that “heavy” load of requests (per second) that your web server's challenged with a queue mechanism that should minimize risks of data loss and improve page loading time by speeding up web requests   Laravel's solution: its queue services “spoils” you with a unified API, irrespective of the queue back-end type   7. Scheduling Automated Tests With Laravel PHP Framework    The challenge you're facing: initializing automated testing sessions, which are much more time-effective and usually more accurate than the standard manual ones   Laravel's solution:  luckily for you the Laravel PHP framework comes with out-of-the-box PHPunit tests and a phpunit.xml file moreover, it's equipped with functionalities enabling expressive testing by simulating common user behaviors (link clicking, filling out forms and so on)    8. Configuring URL Routing   The challenge you're facing: defining a clean and simple URL routing so that your app should clearly understand the user's intention, specifically which page he/she'd like to navigate to   Laravel's solution: you'll find all your Laravel PHP framework's routes in its app/Http/routes.php file (don't worry, it will load by default) the basic ones accept Closure and URI, allowing you to easily configure your routes    9. Integrating Your Web App With Mail Services   The challenge you're facing: building a system sending out notifications to your subscribers following key events   Laravel's solution:  it provides a simple, yet powerful and clean API over the SwiftMailer library it also provides you with drivers for Mandrill, SparkPost, Mailgun, SMTP, Amazon SES, Sendmail, PHP's mail function; a “plug and play” solution for your app to instantly send out emails either via a local or via a cloud-based service  it also offers you support for sending out notifications (so not just emails) via multiple channels: Slack, SMS via Nexmo...   10. Integrating Backend Caches for Boosting Performance   The challenge you're facing: boosting your web app's performance by integrating it with cache back-ends   Laravel's solution: Laravel PHP framework supports robust cache backends such as Redis and Memcached it's built to use the file cache driver by default (storing the cached components in its file system) moreover, it's even configured to efficiently handle multiple cache configurations   Summing Up The Laravel PHP framework does streamline your basic development tasks (turning them from “challenges” into simple “to Do” tasks) helping you gain priceless time! Time that you can invest in “crafting code”.  Now we're more than curious to read your own thoughts about this web framework! ... Read more
Adrian Ababei / Sep 15'2017
Angular vs React: Which JS Technology to Use In Your Next Web Project?
“Teach a man to fish and you feed him”. In other words: don't expect us to reveal to you, by the end of this post, which is the ultimate winner of this Angular vs React's debate! Which is the right JavaScript technology for your next web project. For we won't! Instead:   we'll be helping you weight the 2 widely-used JS frameworks' advantages/disadvantages we'll encourage you to evaluate all their key aspects   … so you should be able to answer THE question yourself: “Should I choose Angular or React for my next web project?”   Angular vs React: Introducing The 2 Competing Technologies Before you get to run your “magnifying glass” over these two popular JavaScript frameworks' key strong points and drawbacks, while comparing them against your own web project's requirements, allow us to briefly introduce them into the “arena”: Angular: a full-stack, feature-reach JavaScript MVW framework … built so that it can provide you (or your team of developers) with all the needed tools out-of-the-box! Where do you add that:   it's search giant Google-supported tailored to fit large enterprise teams' specific workflows designed to help you build highly interactive, fast-loading websites and web apps React: so much more than “just” a JavaScript library for building great interfaces Otherwise, how could you have even considered comparing it to a full-blown framework like Angular, right? React is many developers' top choice (and it sure has its own "fan club" within our Toronto web development team here, as well) whenever they're looking for an ideally lightweight, easy to tweak and twist framework for building dynamic, high trafficked (having data that's frequently changing) web apps!  Now that we've introduced the 2 “contestants” competing for the chance to be powering your new web project, let's go on and highlight their pros and cons (tackling multiple key aspects), so you can evaluate them yourself:   Angular Vs React: Comparing 11 of Their Key Features  1. Performance  We need to admit that the 2 JS technologies are comparable from a performance perspective. Yet, we can still outline a few performance-impacting features inclining the balance to one side or another: Angular: it supports caching (along with other processes), which means that the server performs at its best yet, its large size does negatively influence load times on mobile devices    React: constant components re-rendering can lead to performance issues, especially if it's an app handling a heavy load of data that you're planning to build  2. Flexibility  Angular: doesn't allow you too much freedom for customizing your app/website so that it meets your needs in the smallest details React: highly flexible 3. Development Time Angular: your development team will need to invest a significant amount of time in understanding the code (there's a whole lot of unnecessary syntax required), in debugging it calls for Angular-specific syntax and 3rd party libraries  its layered, hierarchical structure can be quite discouraging for a developer working with Angular for the first time React:  its Flux architecture is highly convenient and competitive to MVC is quite easy for developers to understand it the longer time required to set up a React project might look like a drawback to you, yet once you've built your React-powered app adding on new cool features later on is considerably easier 4. Feature Set Angular: it does come packed with “out-of-the-box” tooling and built-in best practices  React: although not a full-stack JavaScript framework as Angular, if React will be your final choice you can stay reassured: “when in need”, there's practically a third party library for pretty much everything 5. Scalability Angular: is built to scale easily, its design, as well as its powerful CLI, being the best proofs  React: designed to be easily tested and, implicitly, scalable  6. Learning Curve Angular:  be prepared to invest significant time resources in learning this over-sized library moreover, learning “just” Angular is not merely enough: you'll then need to get yourself familiarized with MVC, with Typescript... React: on the bright side: it works with the fewest abstractions on the... less bright side: you'll still need to take your time to learn all the best practices (and there aren't precisely “a few” only) 7. 3rd Party Library Integration Angular: when it comes to the 3rd party library compatibility aspect of this Angular vs React “debate”, Angular's not doing so well: Typescript demands type definitions for every single library that you'd want to integrate  React:  it's written on pure JavaScript logic it integrates perfectly with 3rd party libraries (even with the DOM based ones!) 8. Applicability Angular: used mostly for building enterprise, traditional form apps React: it usually powers complex, high-performance sites/mobile or web apps featuring complex user interfaces, with multiple events, multiple inputs (each one “risking” to impact the other's screen) 9. Native Rendering Angular: comes packed with Ionic 2 and NativeScript React: it's significantly better “equipped” for native rendering thanks to ReactWindows, Next.js, Alibaba, React Native 10. Size Angular: it does have a substantial size, which inevitably impacts its performance on mobile React: smaller sized and, implicitly, conveniently lightweight 11. Optimization Goals Angular: it's aimed at “boosting” the productivity of development teams working within a company  React: performance, flexibility, and simplicity are this JS technology's main “objectives”   And Last: 9 Key Questions to Ask Yourself Before Making Your Choice Don't rush in to give your own verdict on this Angular vs React debate. Not just yet. Not before you've asked yourself these key last questions strategically chosen to “cement” your final decision:   Do you represent a company or are you a Drupal developer working in an enterprise-level team? Then you're definitely better off with Angular! It's designed to boost large teams of developers' productivity and to adapt to big companies' workflows (just let Angular's CLI outline and guide you along the step-by-step path to take for completing your application!).   Are you a start up digital business instead? Then React might just better meet your company's specific needs.   Do you have a “secret” weakness for templates? Then Angular is the JavaScript that you'll feel most comfortable working with on your next web project!   Do you love Typescript? “Angular” is the answer to your own “Angular vs React” dilemma   Do you love “getting your hands dirty” in customization, to be given the chance to tweak your app/website whenever and however you'd like to? React will grant you this freedom!   Is high performance a major issue for you? React!   Is productivity one of your main goals? Higher placed in your hierarchy than... flexibility, let's say? Angular!   Do you have a particular interest in open source web technologies? And does a “guarantor” like giant search engine Google weight a lot in your decision-making process? Then don't “torment” yourself any longer and choose Angular with no hesitation!   Do you fancy building an app with complex, eye-catching interfaces, yet one with a small footprint? Then it writes “React” all over your project!   We strongly hope this little “questionnaire” here, along with our comparison tackling these two JS technologies' major aspects, will help you make up your mind faster.  Help you make the right decision for your upcoming web project. Final note: there's no such thing as “THE” perfect choice for each company, development team, project environment, and use case. Not even a “one size fits all” platform for all of your future web projects. Do keep that in mind! ... Read more
Adrian Ababei / Sep 14'2017