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.

15 Android App Development Tools Essential for Every Developer's Toolbox
Simplify! This is the right way to go if you're “obsessing” over your productivity as an app developer. Declutter your toolbox and keep only the truly essential Android app development tools in there!   But which are they? What are the tools for developing Android applications that shouldn't miss from any developer's personal “arsenal”?  The most effective ones when it comes to helping you:   become (even) more efficient by improving your workflow and thus speeding up your development process develop higher-quality apps And this is where this blog post here comes to “the rescue”! It's a selection of THE fundamental Android app development tools that you should keep at hand (take it as your productivity-boosting toolkit). Ranging from: IDEs to emulators to design tools to game engines … and geared at streamlining your debugging, your performance-checking, they make the best Android developer tools to rely on in 2018: 1. LeakCanary Stay vigilant and alert for detecting any memory leaks in your Android apps right on the spot! But mind this doesn't take too much of your valuable time! Instead, rely on this powerful tool in your developer's toolbox for identifying them. It will take this time-consuming “burden” off your back and alert you any time it tracks down a memory issue threatening your app.  Moreover, LeakCanary provides you with a full stack trace so you can have those memory leaks fixed right away, too. 2. AIDE You'll have a crush on this tool if: you're a beginner, struggling to get started with that innovative Android app idea of yours (and, hopefully, to turn it into the next big thing in terms of Android app development) you're planning to learn Java and Android SDK: it will practically enable you to follow your favourite tutorials with highlighted code and then to get them tested... in real-time, on the very same device! In short: the irresistible advantage of AIDE and the very reason why it's got included in this selection of essential Android app development tools is that it runs on Android! Just imagine it: You get to develop your Android app on your device, nice and easy, then you get to test it... on that very same device! This is the true “superpower” that this development tool provides you with!  Note: don't expect it to be free, for it isn't, nor to “spoil” you with a full load of features.  3. Vysor The power that you'll unlock by including this tool in your smartphone application development process? It mirrors your real device on your PC. And this does turn into a true power if you're one of those developers who hate building their apps on emulators, yet they crave the advantage of using one. There's more! Vysor will even mirror your live app demos on projectors and big TV screens. So, if you think that this functionality matches your own work style, that it streamlines your workflow and helps you create a better app with greater ease, go for it! 4. Stetho Debugging native Android apps will never be the same again! That if you use this open-source platform wearing Facebook's signature here when you go “bugs hunting”.  And not only that it makes your debugging work so much easier, but it's also geared at landing you a much needed helping hand with your: inspecting the SQLite database checking the View hierarchy monitoring network operations A debugging tool that shouldn't miss from your toolkit! 5. B4A, One of “Speed-Injecting” Android App Development Tools  For “rapid development” is what you'll achieve by leveraging this tool's features. And these are: the ability to develop Android apps using the much simpler BASIC programming language  a visual editor for manipulating your views to your liking wireless debugging In short, B4A (Basic for Android) makes such a convenient IDE and interpreter enabling you to create your app in a simpler procedural programming language. Plus, it comes packed with other advanced features to speed up your development process (as above-mentioned).   6. Android Studio The “Holy Grail” of all Android app development tools! Officially it's the IDE for Android.  But in reality, it's your own “Swiss knife” to use as an Android developer! Since it plays multiple roles crucial for your mobile app development workflow: it's a compiler that you get to leverage to create a file system for arranging your app project, to create multiple APK files it's an editor for the programming language that you'll decide to use in your app's development process (whether it's Java, Kotlin, C++...) it's an XML editor (providing you with a “design view”, as well, that will guide you in displaying your app's elements on the screen; crucial for keeping up with Google's Material design guidelines) it also includes the Android SDK itself (yet, the Java SDK needs to be downloaded separately) In terms of pros and cons, do expect a steep learning curve for developing with Android SDK and Java. But once you've got through it, do expect to gain access to unlimited support, to a whole bundle of advanced features and to unmatched integration functionality. From this standpoint, Android Studio is the “can't live without” tool-set for any developer!  7. Codota Does this scenario sound familiar to you? You hit a dead end down your app development roadmap and you need to go over to Github or StackOverflow and have a quick look at some code examples! Well, Codota enables you to do precisely that, but without having to leave your IDE. Talking about speeding up your development process, right?   8. GenyMotion Far gone are the days when GenyMotion used to be “just” the developers' top choice whenever they wanted to create their apps using an Android emulator. It has now grown into a complete platform whose powers you get to harness for: developing your app testing it deploying it Do consider it as a “candidate” to be included in your own toolbox of Android app development tools essential in your work this year. 9. Visual Studio with Xamarin These days you get Xamarin right out of the box with Visual Studio, Microsoft's IDE. One supporting a whole wide set of languages: JavaScript, C#,, and others, too, via extensions. And what's the “deal” with Xamarin? What makes it “essential” for your toolbox?  it enables you to develop cross-platform apps using C# (have you been “toying” with the thought of developing an app both for Android and iOS using the very same code?) … to test them on different devices that are connected to the cloud A word of caution: accessing and working with Java libraries isn't really “a child's play”, do be prepared for that; also, you need to accept that you'll be losing some of Google's cool integrated features and support. 10. Source Tree It makes any smartphone app developer's trump card making his work on Git as efficient as it can get! Basically, this tool's aimed at making Git cleanly organized so you can visualize all your work there — commits, changes, branches — in the form of an easy-to-navigate-through structure. And all this without the need to use the command-line! One that can only boost your productivity, as it helps you sweep through Git with great ease! 11. Fabric, One Those Powerful Android App Development Tools You Should Be Using And its power lies in all the capabilities that it's been invested with. It provides you with a whole set of features designed to help you: develop deploy extend … your Android apps' functionality fast and easily.   12. Eclipse Once developers' very first choice when they started selecting the Android app development tools to build their toolboxes with. This until it got “dethroned” by Android Studio! And yet, Eclipse should still be part of your toolkit. It's an IDE that supports a wide range of programming languages after all (Java with the Android SDK here included).   Note: still, do not expect it to get you “spoiled” with out-of-the-box support, like Android Studio does, so be ready for some setting up work! 13. InstaBug A tool that takes “bug hunting” to a new level! Practically it empowers users to share video, audio recordings, screenshots, detailed logs whenever they detect anything suspicious in your app. And these user-generated “signals” become priceless in your constant attempt to keep your app bugs-free! 14. Unreal Engine If it's a cross-platform, feature-packed game app that you're planning to build, this game engine might turn out to be your best “ally”! Here's why: it provides easy support for Android it's open source when it comes to graphics, it does have an advantage over its “rival”, Unity   15. Takt Team up with Takt in your major lags and bugs detecting “adventure”!  This library will help you check your app's FPS thoroughly and spot down bugs right in its development phase.  For you don't want them to linger on in there once your app's being used in its production phase, now do you? The END! I know what you might think right now: Each developer's toolbox depends solely on his/her preferences, goals and personal work style. It's perfectly true and I've anticipated this “objection” myself. Therefore, I've grouped here only those truly essential Android app development tools that one should “carry” in his/her toolbox. ... irrespective of his work style and goals set for his/her app. ... Read more
Silviu Serdaru / Feb 24'2018
When & Why Use RESTful Web Services Instead of The Traditional SOAP-Based Ones?
When to use REST? What are some practical use cases of REST web services? How does it work? What's the “catch”, why has this new architecture for web services had such an impact on the industry? How is it any different/better than SOAP? Why use RESTful web services after all? “Tormented” by all these questions related to the REST approach/alternative to building web services? Relax now, you'll have your answers in a minute (or a few seconds)! For here are the REST-related “enigmas” that I commit myself to solving in today's post:   What is REST and how does it work? Which are the specific use cases for building web services using the REST architecture? What's driving it? Why is this technology increasingly popular? What sets REST apart from the traditional SOAP approach to web services? When NOT to use RESTful web services?   And now... the answers that I promised you:   What Is REST and How Does It Work? Here are some valid answers to all your “What?” questions: “What is REST?”, “What are web services”, “What are RESTful web services?”   REST is the native API of web browsers REST is how one creates web services web services are... the future of everything: creating and publishing APIs that would do CRUD (create, read, update and delete) … thus making machine-to-machine communication possible, making apps' functionality accessible to multiple users and external systems RESTful web services are those resources on the web that can be tapped into for retrieving certain information   “And how does it work?” First of all, we should get one thing straight: REST is not an official standard! It's more of an architectural style, the one organizing a network of systems, where the “systems” are basically servers and clients. Here's how it works: Clients make a request to the web servers; the latter process it and, in response, return the appropriate web pages. And in this request-and-response equation, RESTful web services are the very resources on the web that servers tap into for retrieving the requested data. Does this definition shed any light on your RESTful web services-related questions?    Why Use RESTful Web Services? Here's the actual context where the RESTful web services technology emerged and “grew like a beanstalk”, with a huge impact on the industry: The web “exploded” and, starting with web 2.0, the interaction between websites and client apps, between multiple sites, multiple devices, sites and databases, became increasingly intense. And more and more “demanding”, calling for a new technology that could handle and streamline this communication taking place on the web. And here's where web services and REST, a new way of building them, emerged! The REST architecture is designed to build:   maintainable lightweight scalable    … web services, which make retrieving the data requested and “exposing” all that information far less cumbersome. As compared to the conventional SOAP/XMLRPC web page-scrapping method. Data's being passed on the web, from one website/app/device/database to another, faster than ever these days. Just think about all those websites incorporating Twitter and Facebook content! Or of websites “capturing” data coming from multiple sources: financial information, sales data, online communities... RESTful web services is the technology that streamlines all these intense data “harvesting” processes! This is the answer to your “Why use RESTful web services?” question.   When Should You Use RESTful Web Services? 5 Practical Use Cases There are specific use cases when you should go “the RESTful way”. Adopt this approach to building web services if:   1. In your distributed app it's crucial to keep the coupling between client and server components to a minimum:   you'll need to be able to update your server frequently, without having to update the client software, as well your server's going to be used by multiple clients, yet you don't want them to have control over it   Just make sure you follow all the REST constraints for achieving this kind of basic level of coupling. Maintaining a purely stateless connection will be challenging, but not impossible if you “follow the rules”.   2. It's a custom, on-demand digital product that you're developing Such as an Ubercart or Drupal online store that you're putting together on a remote cloud server:   you set it up create a suitable architecture that would scale the environment if/when this your custom product goes viral   3. You want your game's high scores and user community forums to be displayed both in-game and on the web Let's say that you're a mobile/console game developer facing the above-mentioned “challenge”.  In your practical use case you can:   have your Drupal site publish an API, using Services (thus doing “CRUD” with the data that needs to be “harvested”) leverage a RESTful type of communication with the Drupal site in order to retrieve that data and have it displayed in-game, on mobile/console, too   4. You want to create a user alert system on your e-commerce website One that would alert your customers, via your e-commerce mobile app, whenever a product that they visualized becomes available (or its price drops). Also, you want those alerts to pop up in an iPhone app and on Facebook, too. And the solution is: Your Drupal site (for yes, it's a Drupal site that you own in this scenario) will use Services & a custom module to have the API published. And it's this specific API that the iPhone app and Facebook will use for manipulating that particular content to be shown in the user “alerting” message.   5. You want to provide (paid) access to commercially-controlled data Such as movies, music, stock or trading data. Imagine that you own an event venue and you publish a ticketing API. People (such as ticket brokers) will be charged for gaining access to it. In short: RESTful web services for can be used for all kinds of commercial activities, as well. Just use them to create and to publish the API that will do CRUD with precisely that commercially-controlled data that people are willing to pay for gaining access to!   What Sets REST Apart from the Traditional SOAP Approach to Web Services? Of simply put:  Why use RESTful web services instead of the traditional SOAP-based web services? Here's a list of strong arguments:   with REST, all that intense data interaction is more lightweight; it doesn't weight so heavy on your web server like a SOAP page-scrapping method would with REST, only the specifically requested information gets retrieved, instead of having whole web pages scrapped off the “target” content (like with the SOAP approach) the architecture is way simpler than the SOAP one and it leverages the standards (and protocols) of modern web   And what does this last argument even mean? It means that heavy SOA (Service Oriented Architecture) is shifting to lightweight WOA (Web Oriented Architecture), since these days apps need to tap into a web that's “packed” with REST resources. And so, instead of leveraging a few point SOA services, data gets collected and displayed via millions of granular REST resources. Developing arbitrary apps, that interact over the network, has become conveniently easier. Complex things (systems) get simplified!   When not to Use REST Web Services? There are — as I've just pointed out — use cases when the REST approach is the perfectly suitable one: business-to-consumer apps. But there also are specific cases when RESTful web services don't work so well: B2B apps! Take this practical example here: A bookstore might find it a bit more challenging to make a volume purchase from an online vendor as compared to a regular customer.  It would need to “juggle with” several apps to track shipment, sales, determine re-orders etc. And where do you add that one app might need to be re-entered into other apps, turning the entire process into an overly complex, hard-to-manage one.   The END!  Have I managed to answer your “Why Use RESTful web services?” question or not quite? Or just partially?  Do be honest and, if it's the case, share your other REST inquiries and dilemmas with me! Or point out those use case examples or explanations presented here that you'd like me to shed some more light on. ... Read more
RADU SIMILEANU / Feb 23'2018
Magento Enterprise vs Magento Community: Which One's Best Suited to Your Needs?
So you've made up your mind: it's Magento “fuel” that will be powering your e-commerce website. And now you're facing challenge no. 2: Magento Enterprise vs Magento Community!  Which one of the 2 Magento platform's editions is right for you? What are the key differences after all? Which one's best suited to your current feature needs? And how about your daring goals and growth plans? Which one's scalable enough to accommodate your expansion plans? The quickest/easiest/surest method to “find your match”: confronting your current requirements with each one of the 2 Magento editions' sets of features and functionalities. Note: the method is the same if you're having a Magento vs Drupal Commerce "dilemma" instead, for instance. Then draw the line and just do the math! So, without further ado, let's dig up the:   Magento Enterprise features  Magento Community features  And draw the profile of the “ideal” online store for each one of the 2 Magento editions   1. Is Magento Free? Price Tag vs Value With or without a price tag on. This is the most rudimentary “Magento Enterprise vs Magento Community” comparison that one could make.The first one does come at a price, while the open source version is free to download off the internet and, implicitly, free to use. And now the question that arises is: does the price tag come with added value, as well? Without question! The Magento Commerce edition —  merging, since June 2017, the Enterprise and the Magento Cloud Edition —  comes not with 1, but with 2 price tags on. Along with a heavy load of enterprise-level features and high-end functionalities. And it's your own needs and goals that will tell you whether... it's worth it. Whether a free variant, with basic online selling capabilities or a bulky feature set, with a heftier price tag on, suits you best.   2. Top Magento Open Source Features  The open-source community edition is Magento's downloadable version. And, as you can expect, it provides much of the same functionality, same basic performance and shares the core features with its enterprise counterpart. And here are some of these core features that you can power your e-commerce business plans with and get your functional online store up and running in no time:   modern tech stack regular updates automated code merge payment integrations scalability automated testing flexibility (install the extensions of your choice to ramp up your site's functionality) responsive layout fast product import integrated video & marketing tools integration customizable & mobile-compatible admin dashboard guest checkout registered customers   A word of caution: Determine your site's specific goals and needs right from its planning phases.This because implementing specific functionalities from your “wishlist” might require you to install additional plugins and to craft some custom code.     3. Does Your e-Commerce Business Fit the CE Client Profile? It does if your answer is “Yes” to most of the following questions:   Is it a small-scale e-commerce project that you're starting? Are you planning to keep extension/plugins implementation to a minimum; can you already predict that there will be no need for custom modules in the future? … no need for 3rd party design and web development teams to handle your not so complex site project? Are you looking for an e-commerce platform that should provide you with the basic features needed for getting your store up and running? On a shoestring budget? No plans to grow from a small e-commerce site into an enterprise online store? Or to enter new markets? Is it a versatile platform that you're looking for? One leveraging open source for delivering you a significant load of basic plugins and templates to custom-tune your store with? … and to deliver rich experiences to your customers with?   In short: Magento's open source community edition (CE) is built, from the ground up, with the basic needs of small e-commerce business owners in mind. It's a turnkey solution for small sites. Note: having just a few products doesn't necessarily mean that your site's needs are basic. Therefore, this is no indicator that you should opt for Magento Open Source.   4. Magento Enterprise vs Magento Community: Do You Have Any Expansion Plans? Just think these growth plans through and the sooner the better:   Would you like to enter new markets at some point in the future? Would you like to ramp up and customize your site's current functionality at some point? How much do you want it to grow? Is scalability a critical feature for you?   Do set up your e-commerce goals at this phase of the project! For once you've got your site running on Magento Community (or Open Source), switching to Magento commerce will be more challenging than you expect:   the two editions' code bases are different you'll need to give your website a full redesign the Magento Open Source templates that you will have installed won't work in Magento Commerce   So, take some time to think about the future, your e-Commerce site's future... Since “upgrading” it, later on, to Magento Enterprise, comes with inconveniences and compromises that you'll have to make (e.g. losing some of your team's hard work).   5. Top Magento Enterprise Features  Magento Commerce — the 2-in-1 Enterprise & Cloud edition of the platform — provides you with enterprise-level features right out of the box.  Along with the price tag comes the added value transposed into a set of online selling capabilities that you don't get with its open source counterpart. So, do consider this when you're having a Magento Enterprise vs Magento Community dilemma. Capabilities geared at meeting your enterprise online store's complex demands from an e-Commerce platform. And here are the enterprise edition's top features:   PCI compliance MAP pricing cloud hosting 24/7 technical Magento support, including a dedicated account manager  RMAs visual merchandiser: drag & drop UI and sorting rules for easily organizing your product category pages by variables of your choice (best/newest products, by color etc.) segmentation & targeted promotion features: personalize your customers' shopping experiences full-page caching improved UX: features such as wish lists and gift registry advanced marketing features: it provides you with reward points that you can use for setting up your own customer loyalty programs better performance: expect better page loading times as compared to Magento Open Souce geo-targeting B2B features: create custom catalogs and multiple payment options, set up multiple buyers, create several company accounts etc. content staging enhanced security out-of-the-box: PA-DSS payment bridge, credit card tokenization... separate databases for Product data, Checkout, Order Management: a major performance boost improved tax calculation functionality   In short: Magento Commerce offers you more out-of-the-box functionality as compared to Magento Community, where you'd need to engage in custom coding and extension implementation to have these features “injected” into your site)   6. Go With Magento Commerce If... … you plan to launch a large, enterprise-sized online store or a small-scale one, but you're “nurturing” major expansion plans! In this case, the Magento Enterprise vs Magento Community “dilemma” is an easy one: Magento Commerce (now including the enterprise version, as well) is perfect for you!  For your big, “needy” website site, that you expect to:   accept non-standard forms of payments, too (e.g. check or cash in hand) enrich your customers' shopping experiences with functionalities such as gift registries, wishlists, buy gift cards provide you with advanced inventory management and detailed reporting functionalities, with no need to install any extensions (or to write custom code) for this   … definitely needs a more robust, premium-grade features-packed platform. And Magento Commerce is the one.    The END! So, how about now? Do you find it any easier to decide for one of the 2 Magento editions? Do any of the eCommerce business needs and expectations that I've outlined here match your own? If so, which of the 2 feature sets  —  Magento Enterprise's and Magento Community's — suits them best?       ... Read more
Serge Karpyuk / Feb 22'2018
Which Is The Open Source Document Management System That Best Meets Your Needs?
  The future belongs to those that not only store their heavy load of documents in a conventionally digitized form, but also “maneuver” it with utmost efficiency: have instant access to it, track it, retrieve it, organize it. How? By leveraging the perfectly suited open source document management system! Speaking of which, I'm sure you've already got your “feature wishlist” ready:   it should be easy to learn and to use  it should provide you with version control … with cloud access functionality … with document workflow … with document tagging it should come be equipped with an intuitive, user-friendly interface it should be free   But since it's open-source document management software that I'll introduce you to in this post here, feel free to take this last “wish” off your list! OK, so this is how the ideal, the one-size-fits-all-contexts DMS looks like. But which one's the best for your own business? The one that best meets your specific business needs? Your organization's unique requirements? For narrowing down your choices you should submit yourself to this quick questionnaire:   What type of documents will you be storing through your future DMS? Where will you/your team need to access them? In a single office, across an entire infrastructure of offices scattered around the globe, on mobile devices? Is it a plug & play, a full-featured custom solution that you need, or just the software to meet your needs? Which (your needs) are the “standard” ones, fitting into a particular market. What is your budget?   And while you're still pondering on some of your answers, let me narrow down your choices even more. To a list of 6 document management systems worth your attention:   1. Alfresco, On Top of The List of Any Organization Looking for The Right DMS Geared, from the ground up, to meet the particular requirements of those enterprises having critical documents to store and manage. Therefore, the best answer to your “What Is Alfresco?” question would have to be: "A robust enterprise open source document management system, fueled on open source, powerful enough to automate document-intensive processes within an organization" And here are some of its most “tempting” features:   its complex user role system ensures effective collaboration across large teams/departments robust content repository freedom of customization: feel free to tailor custom workflows and content models to perfectly suit your specific needs its collaboration web interface is geared at boosting team productivity public source code: it leverages core open standards access to a full set of add-ons and community-maintained extensions that you get to extend your DMS's functionality with it seamlessly accommodates any productivity app \that you may want to integrate later on: Google Docs, Microsoft Office etc. Alfresco mobile apps (for Android andiOS)   Should I also point out that NASA and the European Union, themselves, capitalize on Alfresco's:   open standards unparalleled robustness in handling massive amounts of content convenient extensibility unmatched freedom of customization that it “spoils” its users with?   2. LogicalDOC Takes Open Source to a New Level An open-source document management system that comes in two flavors:   Professional Community    A highly versatile one, that can be used in any web browser, perfectly “equipped” to:   handle a significant load of documents boost the team's productivity while enhancing team collaboration, as well   Some of LogicalDoc's top features are:   quick & easy installation and intuitive use  multilingual full-text indexing task manager & events log version control & document searching local file system reporting & statistics task manager & events log Web Services (SOAP & RESTful) import from ZIP archives   And the list is literally an endless one! Do consider this feature-loaded, free open-source document management software when looking for the right DMS to meet your requirements.   3. Seed DMS, A Powerful Open Source Document Management System If for you “the best document management system” means “the most powerful one”, then you might want to take the Seed DMS for a test drive. It's mature enough, so it's already built a strong reputation around it, and it's enterprise-ready. Built to store and share huge loads of documents. And now, here are its other strong points worth your full attention:   real-time collaboration version control  users & groups management HTML documents editing built-in metadata support (author, description, keywords) document review & approval workflow full-text search functionality for creating online presentations  multi-level content directory, which supports +32000 documents    Should I go on? For, the deeper I delve into the pile of Seed DMS features, the more I find. Or even better: how about you give this open-source document management system a chance and see whether these features do meet your organization's particular needs.   4. Feng Office: More Than “Just” a DMS  Why “more”? Because you get so much more than just the “standard” document management and team productivity-enhancing features.  And these additional, beyond the “conventional” functionalities are:   Task management Time tracking Workspace management Knowledge management   Its set of features also include:   automatic alerts & reminders notes calendar timesheet wiki & forum support reports & tags workflow processes task templates   5. OpenKM, A Conveniently Extensible DMS And extensibility, coming from its OpenKM plug-in architecture, is not its only “superpower”. Versatility comes right after since it practically supports:   all web browsers all major DBMS databases all common file types (OpenOffice, PDF, Office, XML, HTML, JPEG etc.)   Moreover, it empowers teams to set their own rules (logic) for automating the documentation process. For example, imagine that you'll need to set up a rule specifically for moving a particular document to a new destination. You can do that with OpenKM! And now, the (almost) full list of features that this open-source document management system has been supercharged with:   workflow OpenMeetings integration document encryption/decryption functionality automatic key extraction antivirus integration web services API OCR integration HTML editor functionality to create new documents leveraging pre-built templates and forms Dropbox integration mobile interface & Google apps synchronization metadata navigator (along with categories, thesaurus, keyword...)   6. Kimios, The Best Alternative to the Heavy Document Management Software If it's an alternative to the robust, heavy “document managing machines” that you're looking for, lightweight Kimios make the perfect fit for your needs. And it's not just its lightness that convinced us to add it to this list of document management systems, but its entirely service-oriented architecture, too (among others). This means that it follows the client-server model: Web client, Kimios for Office, Kimios Explorer, and all the other supported third-parties are connected to the main Kimios server. To its central server, “in change” with exposing the web service layer covering Kimio's features. Speaking of which (this DMS's features):   repository customization using metadata customizable search engine document-centered functionalities: create, delete, update check-in-/out feature version control  user rights management bookmarks documents (along with creating bookmarks and advanced requests functionalities)   And it goes on and on... and on. Note: Kimios does integrate with Microsoft and Windows Desktop environment, but only under commercial license! The END! These are the top 6 open source document management systems that you should consider selecting the right one for you from. And this no matter how your own list of feature needs& specific requirements might look like.  ... Read more
Serge Karpyuk / Feb 17'2018
Node.js App Development: 11 Coding Habits for Making The Most of This Framework
Last' year's “Should I learn Nodejs?” dilemma has turned into an “I'll strive to become a better Nodejs developer!” resolution this year. Nodejs is already developers' “adored” framework and building "the next big thing" in terms of Nodejs-backed apps is the new challenge in 2018! And this definitely calls for a shiny and new set of coding habits to integrate into your Nodejs app development workflow. New code practices to stick to when writing Nodejs apps, new coding standards that you should follow and techniques to master for using this framework to its full potential. To your future apps' advantage, of course. Speaking of which, here's a list of 12 Nodejs development pieces of advice for you to consider if one of your resolutions for 2018 has been: “To become a Nodejs padawan!”   1. Start to Learn The Basics of Import and Import() Think ahead of ES modules' current situation. Which is the following: ES modules have been supported since Node.8.5 it's true, though, that they're still wearing their “experimental-modules” flag yet they're already being used, intensively, with the @std/esm library (and transpilers) Do consider learning the basics and be ready to level up from there. Since it's pretty obvious that 2018 has lots in store for the ES modules. 2. Integrate Asynchronous Programming Into Your Nodejs App Development Workflow There are 2 ways of carrying out your input/output operations and setting up your Nodejs development environment: synchronously, having your resources blocked for some time  asynchronously (Node.js' innovative application of asynchronous programming): where tasks can be carried out simultaneously since the resources don't get blocked  Now just consider a scenario of multiple operations to be performed, where resources keep getting blocked... This would have a dramatic impact on your Nodejs app's performance! In other words: embrace the asynchronous code! Use async-await! Turn it into your own “trump card” for handling async events and embrace the simplified version of the once so overwhelming code bases. 3. Modularize Your Code: One of The Very Best Coding Habits to Develop  Keep it small! Get into the habit of writing “bite-sized” chunks of code replacing the tediously long blocks of code that you might be used to right now. Here's why: it will be fairly easier for you to embrace the asynchronous coding philosophy this way small-sized pieces of code will be easier to handle, adjust and closely monitor both for you and for anyone in your development team  handling a cluster of bite-sized chunks of code gets particularly convenient when it's a complex Nodejs app development project that you're dealing with 4. Master Containerization & Adopt the Microservice Architecture Since the Nodejs application architecture is a microservices-based one.  Therefore, one of the best code practices to incorporate into your workflow is using containers. Containerize your Nodejs apps and streamline your services deployment by tapping into these 2 techs this year:   Docker:   the software technology to generate your containers  … which are nothing less than all-in-one pieces of software encapsulating all the resources that they need to run: system tools, code, runtime, system libraries  containers that will increase your deployments' security level and that you even get to use for simulating production environments locally    Kubernetes:    an open-source system that you get to use for automating everything Docker containers-related: scaling, deployment, containerized apps management...   Friendly advice: before you jump straight to containerizing your services, take some time to upgrade your existing code; for this, apply the principles included in the 12-factor app methodology.   5. Nodejs Application Performance Monitoring: Make It an Ongoing Process Especially if it's a complex microservice ecosystem that you need to keep a close eye on! Monitor your system, using the ever-improving toolbox at your disposal, detect and fix errors before they even get to catch your app users' attention.  Close and on-going monitoring sure is one of the very best Nodejs app development habits that you could develop this year!   6. Mind The Bugs in the Code, That You Might Leave Behind Be alert and avoid those scenarios where you leave trouble-making bugs behind, as you “knit” your web of code.  And being alert means:   tracking your error events detecting errors in their early infancy   Note: luckily for you, incorporating this practice into your Nodejs app development process is somewhat easier when using this framework.    7. Get Acquainted With HTTP/2 Again: always be one step ahead of the game! And since we can't but anticipate that HTTP/2 will be going from experimental to stable this year in Nodejs, make sure it won't “take you by surprise”. HTTP/2 has multiplexing and server push, with a signification impact on the native module loading in browsers. So, there's no doubt about it: it's going to lose the “experimental” flag, that it has been wearing since Nodejs 8.8, and become the new standard with Nodejs this year.   8. Use Semantic Versioning: Another Nodejs App Development Habit to Form  And this practice is what sets apart a Nodejs padawan from a Node.js... enthusiast. If you've decided to learn Nodejs this year, make sure you delve deep(er) into its set of best practices (don't just scratch the surface): use semantic versioning for letting the users know that you've updated the app. To inform them about the actions that they should perform in order to update the app to its latest version. In short: by updating your packages without SemVer you risk breaking up your precious app!   9. Turn Securing Your Nodejs Application Into Your Top Priority Make sure your Nodejs app is 100% secure above all! Apps' security has been both the vulnerable aspect and the ultimate objective for app developers in 2017. And 2018 is no different from this standpoint! Run tests over tests to “challenge” your Nodejs app's security by tapping into all the apps that this framework puts at your disposal: Snyk Data Validation Node Security Platform Brute Force Protection Session Management If there's a vulnerability there, somewhere, within your app, make sure you track it down before... it gets exploited!   10. Adhere to The JavaScript Standard Style for Writing Your Code Following a set of coding standards will just guarantee you that no big issues will show up later on. In this respect, the JavaScript standard style makes the best choice for your Nodejs app development workflow. Here's why: you get to “hunt down” style issues and coding errors early in the development process it sets the single space after keywords “rule” it will automate your code's formatting by running standard-fix  it sets the “function name followed by space” standard and the “single quotes for strings” one 11. Put All Your “Require” Statements at the Top  “Pin” this app development advice right on top of your list of best practices! It will make all the difference! By grouping all your “require” statements right at the top you'll practically: steer clear of performance issues, since “Require” is synchronous and it will simply block the executions (thus avoiding ugly scenarios) Major tip: use Node's built-in module loading system; it comes with a "require" function which will automatically load the modules existing in separate files. END of the list! These are the top code practices & new “healthy” habits to get into this year for making the most of this framework. And thus turn your Nodejs app development projects into the next famous apps built with Nodejs! ... Read more
RADU SIMILEANU / Feb 15'2018
Drupal SEO Best Practices for 2018: 8 Easy Steps to Take to Boost Your Google Ranking- Part 2
I am a woman of my word and so, as promised to you in yesterday's post, I'm back now with a handful of Drupal SEO best practices to follow this year. Best practices, valuable tips & tricks and key Drupal SEO modules waiting for you to unlock their optimization power and “inject” it into your website... All which, once put together, will give you a significant boost in (Google) ranking. So, shall we?   5. Build Your Keyword List, One of the Drupal SEO Best Practices to Stick to So, you've given your links a “deep clean” (as seen in Part 1), turned on your Google Analytics “tracking” power and your Drupal SEO Checklist's engines, too. What next?  Putting together your targeted keyword list! And this is one of those Drupal SEO best practices that can either “turbocharge” or turn your entire site optimization strategy into worthless effort. That if you underestimate its “superpower”. And here are the tools to rely on when you go “keyword hunting”:   Google Keyword Planner:    it shows the no. of searches for each potential keyword that you could rank for so you'll know whether it's worth adding it to your list or not, depending on the traffic that it can generate   Google Trends:   it gives you an insight into how a specific keyword has “performed” over the years    Moz:   a whole SEO toolkit put at your disposal, including tools for keyword research, link building, site auditing, reporting, you name it...   WordTracker:    it puts a whole “ecosystem” of keyword-identifying tools at your disposal   6. From Lifeless Keywords to "Living", Keyword-Optimized Content Now it's time to sprinkle your keywords across your website. And not just anyhow, but... strategically! Your “battle plan” should include the following content optimization steps:   create (if there isn't one already) one page for each target keyword  consider removing certain keywords from your list before designing new keyword-optimized pages; some keywords may just not be suitable for your particular business write custom page descriptions, page-focused titles, add page-relevant keywords … and make sure to optimize the content on each one of these targeted pages, pulling off a proper keyword density    7. Add 2 More Essential Modules to your Drupal SEO Toolbox 2 Drupal 8 SEO modules, to be more specific: the RDF UI module and the Linkit module (available in Drupal 7, as well).   RDF (Resource Description Framework) UI:   it's built, from the ground up, with the idea of empowering you to (seamlessly) integrate with your Drupal site (whether during or after the development process) … another one of those Drupal SEO best practices with a clear impact on your Google ranking with this on-page markup “on”, it will be fairly easier for search engines to “understand” what each page on your site is about … and thus deliver richer search results   Linkit:   it “spoils” you (or I'd better say your content team), with a convenient UI for easily setting up links right in the WYSIWYG, using the autocomplete field it sees that they're properly formatted, that they use the right path and that they're up to date, as well   8. "Fast" Is Just Another Word for "Optimized" As fast as your budget allows! Fast-loading pages will:   have a huge impact on the overall user experience “please” the search engines and signal them that your site's optimized for speed and thus for enhancing UX and implicitly give you the boost in rankings (the reason why you've put together this whole Drupal SEO strategy in the first place, right?)   From the dozens of techniques, tools & modules at your disposal, that you can leverage for optimizing your website for high speed, I outline just one: the Google AMP module. Integrating it with your Drupal site you'll be killing two birds with one stone:   you'll give your site a massive performance boost you'll make it mobile-responsive    A Note of Caution as a Conclusion Focusing on your links and forgetting all about the right keyword density across your site's content. Or injecting high speed into your website and forgetting to setup Google Analytics for your website.  Or undermining the meta tags' critical role and focusing exclusively on building your target keyword list, won't give you that boost in ranking that you're aiming at. Make them ALL work together! Take these 8 Drupal SEO best practices as a clock mechanism: in vain do 7 parts get all your attention. If you neglect just the 8th component, the whole mechanism/SEO strategy won't work /won't give your site that boost in ranking that you're expecting. ... Read more
Adriana Cacoveanu / Feb 14'2018
Drupal SEO Best Practices for 2018: 8 Easy Steps to Take to Boost Your Google Ranking- Part 1
Aiming high? Do you have big plans for your Drupal site? Maybe even propel it right to the front page of Google? Well, you're already one big step closer to your goal: you've chosen Drupal, a content management system geared at granting you unparalleled functionality and flexibility to optimize its every node, snippet of code and view. But which are the essential Drupal SEO best practices to adopt in order to harness this SEO machine's full potential? Which are the right Drupal modules for SEO, the updated tips & tricks: the SEO essentials of 2018 for optimizing your Drupal website? For Drupal (and even so more Drupal 8) might be "spoiling" you, the marketer, with an ecosystem of SEO-focused tools and modules to “fuel” your optimization strategy with. Yet, you can't actually rock Drupal SEO if you don't know exactly: which of them are the truly "can't live without" ones how to put them all together and (most of all) make them all work together... to your site's advantage In short: what precisely do you need to set up and tweak on your Drupal site to give it a mega boost in rankings? And this is why we've put together this step-by-step guide on how to use Drupal's out-of-the-box potential for SEO to the fullest.  Here's your list of 8 tips, tricks, Drupal SEO best practices for 2018: 1. Start By Giving Your URLs a "Deep Clean" Enabling clean URLs on your website should be on top of your Drupal SEO best practices list! Why? first of all, because all Drupal URLs get unique IDs instead of meaningful names secondly, because readable, clean URLs wearing the pages' titles, enhance both the search engines' crawling and the overall user experience And although in Drupal 8 you get clean URLs by default, there still are 2 particular scenarios that call for special Drupal SEO modules: when you move a piece of content to another section of your site and change its URL (Drupal won't automatically remove the old path and you run the risk to end up with duplicate content on your website) when you're facing the cumbersome SEO chore of manually naming each and every URL on your website Introducing the Redirect and Pathauto Drupal modules! Redirect: it creates 301 redirects which... redirect (obviously!) from the old URLs to the new ones it guarantees you that the links on your site preserve their value even when you apply changes to your Drupal content  it pretty much takes the burden of fixing every broken link, manually, off your shoulders Pathauto: it automatically creates SEO-optimized URLs based on the content that you, yourself, define for instance, you can set the URL for your blog posts to always have the following path alias: /blog/[blog title] also (and this is a huge SEO factor) if you have ideally keyword-packed page titles, the Pathauto-generated URLs will automatically contain all those valuable keywords, as well  2. Install The Drupal SEO Checklist Module: One of The Very Best Drupal SEO Modules  And, implicitly, the very first one to install before you go ahead and add any other Drupal tool or module to your SEO essential kit. “Drupal SEO Checklist is the most powerful Drupal module that "does nothing.” Robert Shea, IBM. And this says a lot, yet... not everything. For it's true, the Drupal SEO Checklist module doesn't show you how to optimize your website, yet it delivers you a full list of Drupal SEO best practices to adopt. Or a to-do list of actions you should take, modules you should consider implementing if you prefer. One covering several key sections on your site to focus your SEO efforts on: title tags paths content and more ... 3. One of The Key Drupal SEO Best Practices: Adding Meta Tags to Every Web Page "Letting Google (and other search engines and social media sites) know what the content on your web pages is all about", this is how we could sum up the meta tags' role. They're snippets of text that not only that: let Google know what each one of your web pages is all about but also indicate how you want the content of each page on your site to be described on other websites.   Now, can you imagine the arduous task of manually adding a custom browser and page titles, descriptions and keywords to every single page on your website? No need to, for you can always install the Metatag module, one of the must-have Drupal SEO modules to add to your toolkit! Here's how it works:   it enables you to add all the needed meta tags automatically, to each page on your Drupal site it places both the meta tags and the meta title in the pages' headers, which translates into less code to write for you and faster rendering   And since we've reached the meta tags "chapter" on your Drupal SEO best practices list, let's put another key module into the spotlight: the Alternate Hreflang Module! A particularly vital module if it's a multilingual Drupal website that you're about to optimize:   it adds hreflang tags to every page on your site alternative hreflang tags that search engines can then reference in order to serve the right language/regional URLs in their SERPs   Pretty convenient, don't you think?   4. Set Up Google Analytics for Your Website & Other Must-Have Drupal Modules to Enable "Help them help you!" Ease search engines' "job" of crawling and indexing your website, by making your website... easy to crawl into and to index (obviously!).  And by tapping into all those Drupal SEO tools put at your disposal for better “communicating” with them (the search engines). … for gaining a deep understanding of where your site's standing when it comes to its relationship with search engines and social media sites. Which brings us to 3 Drupal modules/tools that can intermediate (and enhance) your site's communication with the search engines: Google Analytics, XML Sitemap and Cron. Google Analytics:   it automatically adds the more-then-valuable Google Analytics code snippet to your site ... that you can control (deciding how and when it should be used) to your liking it "injects" Google Analytics superpower into your website: priceless insights into your site visitors' behaviour on your site, what keywords they've used to land there, their demographics etc. moreover, the module fixes Google Analytics' known drawback of tracking down ALL visitors, admins here included ... and it does that by showing the code snippet only when "regular" (non-admin) users are visiting the website   XML Sitemap:   it generates an ideally formatted XML sitemap listing the content on your website, that you can submit to the search engines this way, they (search engines) get to crawl in easily and index ALL the pages on your site (all those that you want them to crawl)   Cron:   a system that keeps your Drupal site conveniently updated and "clean" it checks for updates itself, it recreates the XML sitemap if needed, keeping it up to date, it indexes the newly added content...   End of Part 1! The second half of this post on Drupal SEO best practices to adopt in 2018 will tackle aspects such as: building your keyword list and using it to "fuel" your content with a few more essential Drupal SEO modules to add to your toolbox valuable tips and tricks on how to speed up your website (since top speed and search engine optimization go hand in hand) ... and more! Stay tuned! ... Read more
Adriana Cacoveanu / Feb 13'2018
On Reflection: OPTASY’s Journey to Canada Development Leaders
Continuing coverage of our latest recognition on Clutch’s annual report of leading firms in the United Kingdom and Canada, we wanted to dive deeper into what enabled us to achieve this success. While we are proud to showcase our leadership among web, ecommerce, Drupal, Shopify, and Magento developers in Canada, it is important to reflect on the past projects and relationships that drove us to these heights. Having evaluated our team across various development sectors, Clutch has taken the time to conduct interviews with many of our clients, framing an accurate picture of what it’s like to work with us; their conversations cover an array of questions regarding the challenges, solutions, and results of our time working together. Dedicating much of our success to our clients, we wanted to look back, not only to share some of the things they’ve had to say about our work, but to share how we’ve become a Canada development leader as well: “They really know their stuff in Drupal, more so than any other development shop I’ve worked with…their team was essentially available at any time to answer our questions, solve an emergency, or fix a mistake that we made,” referenced the Director of Design & Development for a digital agency. They went on to describe the measurable impact one of our team’s suggestions had on their project’s success: “After he made the switch, the site’s response time decreased by 53%. Immediately, the site started working faster. The dependencies that the site relied on went from over 200 to under 125. Overall, his recommendation made a huge impact on our business to the point that at the end of 2014, we grew by 400%. By the end of 2015, we were doing about 12 million pages with the website he developed.” Additionally, the Technology Coordinator for a school division, remarked on our project management expertise: “From day 1, the communication has been the hallmark and has been phenomenal. There have been no issues whatsoever with project delivery as a whole. They are far quicker than other services we have been involved in.”  Another client, the Technical Product Manager of a sports company, spoke on our dedication to the project and beating expectations: “Considering what we asked of them, and knowing they didn’t receive our mockups and wireframes until 3 weeks out, it was crazy that we managed to launch. They stepped up in terms of commitment.” To learn more about our clients’ experiences and how we’ve distinguished ourselves as a Canada development leader, follow our Clutch profile here.  ... Read more
Adriana Cacoveanu / Feb 08'2018
4 Free Drupal 8 Themes for eCommerce Trending Right Now
Just imagine: all that masterfully coded back-end, all that hard work performed in the “backstage”, all those great features that you've created from scratch... turned into a worthless effort. And this because you haven't invested the same amount of time and effort in selecting your e-commerce site's theme, as well. So the question that arises now is: what are the free Drupal 8 Themes for eCommerce worth checking out? So you can pick your perfectly suitable one, that would: meet, greet and retain your online visitors and spotlight your products. Well, we've read your thoughts and done our research for you! We've dug deep into the “pile” of free Drupal 8 Themes designed specifically for online stores and put together a top 4. And now, without further ado:   1. SShop, A Bootstrap-Based, Responsive Theme Let's get straight to the features that convinced us that yes, this is a theme that deserves its place in the top 4 Drupal 8 responsive themes for e-commerce sites: it “spoils” you with out-of-the-box Drupal Commerce  it's ideally quick & easy to install  it provides you with a homepage slideshow (delivered by the Views Slideshow module, one of the many modules that the SShop theme supports) you get a multi-level responsive header menu out-of-the-box, as well it enables you to add as many fields as needed to your Default Product type  and should I also add that you get Slider content types and a Blog out-of-the-box, too? A whole “plethora” of built-in features offered to you “on a silver plate” for this theme not to get levelled up from just “another one of those free Drupal 8 eCommerce themes available on the web” to... one of those “definitely worth checking out”!   2. eStore, One of the Feature-Packed Free Drupal 8 Themes for eCommerce If it's a fully responsive, Bootstrap Drupal theme, conveniently “overloaded” with e-commerce site features, that you need, than eStore is the one! Now allow me to dig deep into this out-of-the-box “load” and take out some of the key features and cool functionalities that you'll get: a product layouts collection for you to scan through and select from the option to add your own fields to the Default Product type content types included in the configurations an out-of-the-box Blog to integrate with your e-commerce website Slider content types   And the list of features could go on. Do check it out before investing valuable time in looking through a whole load of Drupal 8 Themes based on Bootstrap available on the web!   3. Commerce Bootstrap-Based Theme: Designed to Speed Up Your Theming Process  That's right, this is one of those free Drupal 8 ecommerce themes —  a sub-theme of the Bootstrap theme — geared towards speeding up the whole theming process of your e-commerce store. And how does it do that? It just overrides the Drupal Commerce templates so that they match both Bootstrap and all the other helpers.  So, it's practically your “trump card” theme boosting the theming process by automatically handling all the matching —  Drupal Commerce vs Bootstrap —  for you. Pretty convenient and definitely worth taking it out for a “drive test”, don't you think?   4. Belgrade: Fitted With Drupal Commerce in Mind Another Drupal theme suitable for your (future) Drupal 8 e-commerce site. An out-of-the-box one, designed specifically for Drupal commerce and developed via the previously mentioned Drupal theme here: the Commerce Bootstrap base theme. Built, from the ground-up, to meet any online store's specific functionality needs. Therefore, worth taking it for a spin, don't you agree? END of the list! Can't hide that I'm more than curious how your own top free Drupal 8 ecommerce themes looks like. What other visually-appealing, feature-packed themes does it include?  ... Read more
Silviu Serdaru / Feb 08'2018