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.

What Are Some of the Best Web Accessibility Testing Tools to Evaluate Your Website With? Top 5 Chrome Extensions
You've gone through the guidelines, standards, warnings, and best practices included in the W3C recommendations and... you're stuck. How do you know whether your website is 100% WCAG 2.1 compliant? What are the best web accessibility testing tools out there that you could use?  Free, easy to use accessibility evaluation tools that you could run on your website to spot the issues lurking in there.  And which could even get you some valuable recommendations on the best ways to address them.  All that before you actually have someone (or even a whole team of QA testers) review your website. Before you carry out an in-depth accessibility audit and run user-centric testing sessions with... real people involved.  You must be thinking about browser extensions...  They're so accessible: you just open the page you want to check and click a button in your toolbar. They're free and make great "starts" for identifying accessibility issues on your website. And for getting your hands on some valuable recommendations on how to fix them.  So, here are 5 automated accessibility testing tools that we recommend you try first:    0.1. But What Are Accessibility Tools More Precisely?  "Are there any recommended tools available that can help me test for accessibility issues?" Take these common accessibility issues that might still go "undetected" on your website:    there's not enough color contrast on certain pages (or no contrast at all) one or more images don't have ALT descriptions added to an editor deleted the content for one of the H2 tags but left that tag lingering in there and confusing the screen readers someone from your design team has put a placeholder text instead of a text field, which risks displaying an unlabeled field, that screen readers cannot... read there's one label missing from your newsletter sign-up form    These are all frequent issues that web accessibility evaluation tools can help you detect and address.  They fall into multiple categories:    browser extensions, that we'll be focusing on in this post command-line tools accessibility testing tools that you can integrate with your continuous integration system    Tip: Keep in mind that the following 5 best web accessibility testing tools detect about 30% of the issues. They make a great starting point for a more complex audit and comprehensive monitoring strategy that you should set in place.    1. Wave, The Venerated Web Accessibility Evaluation Tool for Chrome  A full-featured, easy to use website accessibility checker that's been in most developers' toolkits for quite a few years now.  Here's how it works:    it adds a visual overlay of error icons and indications to the web page that you're auditing icons which, once clicked, provide you with information and recommendations about the accessibility issues detected: redundant titles, structural elements, links to HTML, poor color contrast, how those issues impact different types of users, what WCAG guidelines they violate, etc. it points out to you the "troublesome" code via annotated HTML popping up in the panel at the bottom of the screen    In short, Wave is one of the robust website accessibility checkers that goes beyond streamlining your audit process. It's also geared at educating users (website owners, QA testers) about the accessibility issues to pay attention to.  "How to use Wave accessibility tool?"  Either way:   you can just enter your URL in the dedicated field on their website you can download the browser extension    Go for the extension particularly if it's dynamic, password-protected and locally stored web pages that you need to check.    2. Tenon, Accessibility as a Service  "How do I test accessibility?"  Tenon's another tool that comes both in a free and paid version.  What makes it "worthy" of this top 5 selection?   it addresses the common scenario: running accessibility tests after neglected guidelines have already turned into critical issues that affect the user experience  it's such a flexible tool for content creators, designers, developers, and testers it generates... generous reports with code snippets for each error, corresponding WCAG guidelines, and recommendations on how to fix them  In short: Tenon helps you run a preventive type of accessibility check on your website. You can detect key issues before they even get to turn into major usability problems  Furthermore, you can easily incorporate Tenon into your toolset via its API. It integrates smoothly with any CMS, IDE, deploy tool or automated build that you might be using.   3. Google Lighthouse, One of the Top Automated Accessibility Testing Tools   "How do I know if my website actually is WCAG 2.0 compliant?"  You give it a full check using a tool like Google Lighthouse here:    it's open-source it's automated it's so handy (it's Chrome built-in) it's super easy to use  Moreover, this accessibility testing tool is part of a whole suite of checks that you can run using Chrome Developer Tools:  SEO Progressive Web App Performance Best Practices  What it does it provide you with a full report of its test results:    whether all the buttons on that page have accessible names or not whether all the images have ALT attributes added to whether that page has a title or not ...    Next, you simply take it from there and improve the areas signaled in the report.  And here's how you use it:    open devtools in your Chrome Browser look for the "Audits" tab click "Perform an Audit" Tip: save the report in a JSON format for later (or to send it to someone in your team).  Another great thing about Google Lighthouse is that it's one of those web accessibility evaluation tools that don't require you to sign up. You just drag a report onto the online report viewer that it provides you with.    4. Axe Browser Extension  "How do you know if your site actually is WCAG 2.0 compliant?"  You "grab" a tool like Axe here and give your site an automated audit.  It'll just attach itself as a new tab to your Chrome's Dev Tools. Once you click that blue "analyze" button, you'll be given a whole list of "violations" detected on your page.  Why have we included it in our highly exclusive list of 5 best web accessibility testing tools?    because it's free (a self-contained open-source library) because you get to custom-tune it to your specific accessibility testing needs: add specific rules, integrate it with testing frameworks and browsers of your choice... because each signaled issue "exposes" the corresponding markup, as well   Just hit "Inspect code" and you're taken to the tab in DevTools, where the "culprit element" is outlined. Tip: another reason why this is one of the first website accessibility checkers that you should consider is that the Axe accessibility report goes beyond signaling clear violations of accessibility guidelines. It also highlights aspects that you could improve on your website's UI.   5. Siteimprove, One of the Best Web Accessibility Testing Tools We confess: Siteimprove is our favorite website accessibility checker. Here's why:    it provides us with actionable information regarding all the issues that it detects it generates clear explanations on the impact of those issues on some users it also "spoils" us with intuitive user experience: issues get highlighted to the right side of the page    Where do you add that the entire web page audit process is performed in our Chrome browsers.  Easy to use and highly efficient. What more could you wish from a free accessibility testing tool?    Final Word  Turn this type of accessibility testing — using Chrome extensions — into a part of a more comprehensive testing strategy.  You shouldn't limit your evaluation to the results that you get by using any of these 5 best web accessibility testing tools.  There's still some level of "human intervention" needed to interpret those results. To come up with the proper set of steps to take, right?  Use them if you just want to check whether:    there are any images without ALT descriptions on your website the HTML is valid your form fields have both labels and descriptions    Whereas for assessing:    whether that HTML is semantic or not whether those form field descriptions are user-friendly enough whether there's a proper heading hierarchy on a given page on your website   ... you'll need human analysis.  Automated accessibility testing will (only) point out key aspects for your QA testers to focus on.    The END!  Have you used any of these accessibility testing tools on your website?  Do you usually stop your audit there or do you use an automated & manual testing type of "combo"? Does it depend on the context actually?  Share your thoughts in the comments down below!  Photo by John Schnobrich on Unsplash  ... Read more
Adriana Cacoveanu / Feb 29'2020
Apigee Developer Portal Kickstart or Apigee’s Integrated Portal? What’s the Best Developer Portal Solution for You?
Here you are, facing an impossible dilemma: is the Apigee Developer Portal Kickstart on Drupal 8 the best solution for the developer portal that you're setting up? Or should you go with Apigee's integration portal instead? How are they different in terms of provided features? How do your own requirements and constraints influence your choice? Now, let's dive right into:   what the Apigee developer portal is when to consider Apigee's integrated portal why and when to choose Drupal 8 Apigee Kickstart what could discourage you from using the Drupal distribution   1. What Is Developer Portal Apigee? You're already building APIs that expose your services to developers from your team and to those outside your enterprise, right? But you want to go beyond merely building APIs: you want to provide the best developer experience, as well. One that would entice developers to use those APIs. And this is what the Apigee developer portal is mainly designed for: To help you "lure in" those admins and developers using APIs managed by the Apigee platform.   2. Choose Apigee Integrated Portal If... ... it's a basic marketing or developer documentation website that you're planning to put together. One that should integrate with a subset of features exposed vis Apigee's API management platform. Tip: think twice before choosing this solution if you need to integrate API revisions, load balancing, monetization or various complex documentation structures with your developer portal, etc.   You'd Want to Use the Integrated Portal Solution Because: it's an easy to build, easy to use portal, integrated with Apigee Edge, that you have in mind it's a simple developer documentation website that you're setting up it's a basic, turn-key developer portal solution that you need it provides you with hosting on Google Cloud, support and maintenance it makes documenting and managing your APIs fairly easy   Apigee's Integrated Portal Top Features: Create pages using page editor API Documentation Access control to portal content and APIs Customize design elements via SCSS style sheets Advanced customizations (customize domain, configure your email, custom registration fields, extend portal using scripts) Create pages using page editor Analytics via Google Analytics and custom analytics tracking Add menus for navigation Self-service registration for developers to build apps using your APIs Markdown and HTML to compose content   3. Choose Apigee Developer Portal Kickstart If... it's a powerful developer portal platform that you need  it's a highly flexible, fully customizable solution that you're looking for you need to get your developer portal up and running, integrated with Apigee Edge, in no time   Source: docs.apigee.com Are all these 3 requirements on your priority list? Then Apigee's distribution for Drupal 8 might just be the best way to set up a new developer portal. Or to move your current one from Drupal 7 to Drupal 8.   You'd Want to Use the Apigee Developer Portal Kickstart Because: it does most of the Drupal 8 module installing and configuration work for you it provides you with step-by-step guidance to install Drupal 8 core, integrate your portal with Apigee Edge, and customize its theme its theme's Bootstrap-based, enabling you to easily customize and brand your website it's faster and more extendable it's forward-compatible with Drupal 9 it's, overall, highly customizable: you get to create fine-tuned brand experiences it provides you with sample content, as well, so you can set up your developer platform quick and easy it operates with already familiar Drupal 8 concepts: content types (e.g. Basic pages, article, forums...) media types, etc.   In a nutshell: take the Apigee Kickstart developer portal as a convenient package with all the Drupal 8 modules and libraries that you'll need to quickly put together a developer community. One that's connected to Apigee Edge, exposes your APIs and publishes the API documentation that developers need.     Apigee Developer Portal Kickstart Top Features: API Catalog page Modules for FAQ, Blogs, and Forums 16 pages with preloaded content for demonstration API documentation content type Customizable site theme “Getting Started” page Developer Portal homepage API doc landing page with demo content and vocabulary   4. You'd Hesitate Using Drupal 8 Apigee Kickstart Because... it makes you dependent on this Drupal distribution's maintainers; on their updates and security patches releases  it "ties" your developer portal to the distribution's predefined theme, content layout, font, colors...   So, you'll first want to check that the distribution — Apigee Kickstart Drupal in this case — is regularly and properly maintained. 5. The Best Solution for Your Developer Portal Is... the one that meets your customization needs the one that complies with your time constraints the one that fits your team's level of expertise in setting up a developer portal   Source: docs.apigee.com  In short, choosing between an integrated portal and a Drupal-based one starts with setting your requirements (and your constraints) against each solution's benefits and key features. Are you time-limited, but do you also "crave" power of customization over your future developer portal? The Apigee Kickstart Drupal might be the best solution for you. Do you need a ready-hosted turn-key platform to set up your developer community on? Are you already an Apigee Edge for Public Cloud customer? Then Apigee's integrated portal might suit you best. The END! Integrated portal or Drupal-based portal: what would you choose? And why? ... Read more
Adriana Cacoveanu / Feb 13'2020
What Hybrid App Development Framework Should You Use for Your Projects in 2020? Top 3
"Seduced" by the cross-platform approach? By the chance to build a single app project and run it on mobile, web and desktop? No wonder... But which hybrid app development framework should you choose? What's the best one? The "best" one for your feature needs (and time resources) and for your development team's level of experience... Now, let me guess: it should...   be feature-rich be fast and to enable you to develop your hybrid app... fast, as well be developer-friendly provide native-like experience to your app's users provide you with plenty of UI components to just... mix and match   We've narrowed your options in terms of hybrid mobile app development tools down to... 3.  But before you rush to evaluate each one's pros and cons:   put together a personal hierarchy: must-have vs nice-to-have features get ready to set each of the following frameworks against that pyramid of needs   1. But What Is Hybrid App Development More Precisely? In plain English: The hybrid app development approach is building and running one app project across multiple platforms: Android, iOS, Windows... Now, you do the math and figure it out yourself:   how much time you'd save  how many moments of frustration you'd avoid without all the native IDEs, SDK and Apple-specific requirements to get tangled up in how much lighter the load of third party libraries would be how convenient it is to have a unique list of bugs to keep an eye on how convenient it is to adopt one dedicated technology approach instead of having to "juggle" with Java or Kotlin and with Swift or Objective-C...   One software development process (i.e a unique codebase) for all the platforms that you target...   2. Native vs Hybrid App Development Still a bit confused about the clear differences between native and hybrid apps? Let me shed some more light here: While native apps are platform-specialized — Android or iOS — hybrid apps can be deployed on multiple platforms. In this respect, a hybrid app development framework ships with both native and web-specific elements to help you quickly design and run your "one size fits all" type of app. Also, when it comes to the key differences between native and hybrid apps, keep in mind that: While native apps are faster, hybrid apps get built faster. So, it's your convenience in terms of time and budget vs... the user experience. 3. What's the Best Hybrid App Development Framework for Your Project?   3.1. Ionic- A Feature-Rich, Easy to Use Technology for Building Your Hybrid Apps "Which framework is best for hybrid app development?" 9 in 10 developers will say "Ionic".  Source: Ionicframework.com It's the most familiar one, after all, since it's been on the "hybrid app development stage" for... quite a few years now. Back then, when it was first released, it opened the door to a whole new world of possibilities:   to build and to deploy Angular-based apps that would challenge the jQuery mobile apps' "supremacy" to put together a visually-striking, progressive web app in no time   With its low learning curve, "bulk" of available plugins and all the UI components that it provides out of the box, Ionic's predicted to keep its "rockstar" aura in 2020, as well.    You'd Want to Choose Ionic Because:   it provides you with a rich collection of powerful features it's Angular-based: no need to learn a whole new language  it ships with plenty of UI components and predefined elements it has a livereload system and app enabling you to preview your hybrid app right on your target device it ships with an in-built development server it provides you with debugging tools it ships with a command-line interface (Ionic CLI) that streamlines the development cycle of your TypeScript and Node.js apps it's backed by a large dev community   You'd Hesitate to Choose Ionic Because:   it doesn't provide hot reloading it's not the best option if you're planning to build a heavy-duty app some of its features are Cordova-based and hence not all the plugins are supported you might find it too dependent on plugins   3.2. Flutter- Google's Toolkit for Creating Visually Stunning, Cross-Platform Apps Is there any surprise why this is an increasingly popular hybrid app development framework? It's Google's "prodigy" and everybody likes Google. Although a newcomer in the "arena", Flutter stands a good chance to outshine the traditional hybrid mobile app development tools in 2020. Source: flutter.dev How? It already sets itself apart as a go-to choice when you need to craft a visually attractive and interactive MVP... fast. With its flexible design components, you get to craft a stunning UI in no time. And its interactivity elements help you create the engaging experience that users expect. In a nutshell: you get a power-packed toolkit to craft and to run a cross-platform app in no time. Where do you add that it's designed to support multiple languages and to run smoothly across several platforms. And all that without the need to look for an alternative for Swift, Java or Objective C.   You'd Want to Choose Flutter Because:   it's blazing fast it ships with its own widgets: you can easily implement buttons, sliders, switches, dialog boxes, tab bars, loading spinners it's compatible with Fuchsia, Google's mobile OS it provides you with CLI and VI editors it ships with the hot reload feature it enables you to assemble (and nest) multiple widgets for crafting your app's UI    You'd Hesitate to Choose Flutter Because:   it's Dart-based, so you need to learn a whole new language it provides minimal support for some features it lacks profile data completion your Flutter app will be approx. 40% larger than a native app   3.3. React Native- Developers' Favorite One And why do they love it?   because they enjoy working in Java and Swift (and they're already fluent in React) because it provides them with native modules and components and thus enables them to "inject" top performance into their hybrid apps because it enables them to provide users a native-like experience   It's Facebook's own version of a framework for building native-like apps. Source: facebook.github.io/react-native/ If you're familiar with the React approach to software development, you'll love it.   You'd Want to Choose React Native Because:   it's high-powered: rendered with native code you cut down costs by reusing code it's backed by a huge community of developers that you can rely on it grants you a shorter app development cycle it features live reload with 2 different screens: to update your code and to preview those updates in real-time it is Node.js supported you can choose from a whole variety of social plugins: display grid picture, feed, etc.   You'd Hesitate to Choose React Native Because:   it's not the best technology for hybrid app development if it's an app with multiple UI transitions, plenty of interactions and various screens that you have in mind its  supply of custom modules is quite limited it provides you with few UI and native features, thus "forcing" you to... get your hands dirty with code (and that may take some time) it challenges you with a steep learning code it takes a team of experienced developers to build a high-powered React Native app it presents some shortcomings of navigation components   It's definitely not a framework for junior developers and startups.   4. Final Word Do you value a native-live experience for your end-users over a fast development process?  Is a big set of UI components, that you can just... assemble, more important to you than high speed? Is a rich collection of plugins more valuable to you than a low learning curve for your developers? See? Picking the right hybrid app development framework for your project means finding the (almost) perfect match between a tool's selling points and your own priorities. So, which one's your winner? Photo by Jacob Townsend on Unsplash  ... Read more
Silviu Serdaru / Feb 07'2020
IoT in Mobile App Development: 4 Key Benefits You Can Reap (and 3 Challenges to Consider)
How are you planning to get your share of the pie? Where the "pie" is made of all those opportunities that IoT in mobile app development brings. But what are those opportunities translated into benefits more precisely? Why would you want to build an application that completes a network of IoT devices? And how will IoT change the way mobile applications get developed in 2020?   Source: Gartner.com Are there any challenges and risks to implementing this technology into your mobile apps that you should... prepare for? Now, let's see:   what are the most... irresistible benefits to developing your mobile solution for the IoT what are the best IoT mobile app development tools to put on your shortlist what's a common example of an IoT-enabled mobile app what kind of risks you face when you integrate a mobile application with IoT   1. Why Would You Want to Integrate IoT into Your Mobile Apps?  Why would you be interested in making your mobile apps IoT-friendly this year? How will it benefit you?   1.1. Users Get Hooked on Your IoT App: It's "Too" Convenient And the "less human effort" factor is the main reason why you'd want to integrate mobile apps with IoT. For it all bubbles up to the user experience that you'll provide: Your mobile app will be the "brain" of the whole network of interconnected devices, fridges, air conditioners, TVs, etc. Installed on the user's smartphone or smartwatch, it'll help him/her to cut down on the effort needed to... check the security cameras, switch off the light, turn on the AC and so on.   1.2. You Boost Your Team's Productivity By bringing IoT in mobile app development, you bring more... productivity in your workplace. An IoT-enabled mobile app will:   automate your business processes and specific in-house operations streamline your software products' development lifecycles empower your team to manage multiple tasks simultaneously provide you with real-time measurement and data analysis In short: with their repetitive tasks automated, your team gets to work on more complex, innovation-focused tasks.    1.3. You Get Actionable Insights into Your Users' Engagement Behavior Just imagine: an entire network of appliances, devices, gadgets, and servers exchanging data. And your IoT mobile app collecting ALL that data. Image by Tumisu from Pixabay You'll get some valuable insights into your users' needs, don't you think? Real-time information that you can leverage to:   simplify your business process make prompt and relevant adjustments to the user experience you provide   1.4. You Engage Users with A Highly Interactive Mobile App And interactivity is the shortest path to... higher engagement. Integrating IoT into your mobile app will make it not only interactive but highly customizable, as well.    It opens up a huge "playground" for your team, where they can test and implement various features and IoT-based functionalities. Where they get as creative and daring as they want with their customization work. 2. A Common Example of an IoT Mobile App Would Be... The one installed on a guest's IoT-enabled smartphone, that enables him to open his hotel room. No key or access card needed to... enter the room he booked. And this is but one of the top IoT app development trends to look forward in 2020.  Here are some more types of IoT apps that'll steal the spotlight this year:   smart warehousing apps workforce management apps healthcare apps blockchain apps AI & Big Data apps 3. What's The Best IoT Platform for Mobile App? Let's say that you've decided to incorporate this technology into your next mobile app: What IoT mobile app development tools should you check out first? What are your best options?   Here's a top 3 for you:   Xively: it ships with a conveniently rich collection of IoT features to help you get you started Android Ubidots: connect your Android account to Ubidots and just push your mobile app to multiple devices Thingworx: it provides you with a heavy load of complex tools to market your app with 4. IoT in Mobile App Development: Challenges and Concerns "But are there any?" There are. So, make sure you ponder on them before you rush to... reap the benefits and seize the opportunities of integrating IoT in your mobile apps.   4.1. A Huge Shift in the Concept of "Data Ownership" The risks concerning data security are head of the list: How much of your/ your customers' data privacy would you trade to access the benefits of IoT?   Because: automating your team's redundant tasks granting your users the highest level of convenience .. does come with a "price tag" on. The cost is... data. Data stored in cloud and unrestricted control over consumer data...   4.2. Distributed Computing Performances ...compared to today's technology. You might want to take this aspect into consideration, as well, before you just jump on the IoT in mobile app development trend.   4.3. The Need to Restructure Your Operating Procedures from the Ground Up Also, the way information is being transferred and your existing protocols.   The END!     Now, comparing the opportunities to the challenges, would you consider integrating IoT into your mobile apps this year?  Image by Niran Kasri from Pixabay ... Read more
Adriana Cacoveanu / Jan 30'2020
The 5 Best Automation Testing Tools for Web Applications that You Could Use in 2020 (Powerful and Easy to Use)
You save time, you keep errors to a minimum, you free up mental real estate that you could then invest in other crucial tasks included in your app's development lifecycle, you... There's no point insisting on the benefits: automating your testing process is a life-changer. But how do you know what automation testing tools for web applications to evaluate first? Where to start? Which are the most effective ones?    Those that are conveniently feature-rich and easy to use, as well? That ship as bundles of powerful features and are so straightforward, helping you create test cases in no time?   Well, we've done our research and identified 5 automated software testing tools that meet most of your criteria:   to be open source to run in a variety of operating systems and browsers to be feature-rich to be easy to use    But First: Determine What Test Cases You Should Automate To put together an effective test automation strategy for web applications you need to be really strategic. Strategic about what parts of the process you should put on auto-pilot and where it would be best to test them, as well:   don't rush in to test everything in the GUI (like record and reply, for instance); GUI testing tools do come with some significant test maintenance costs, you know whenever possible, opt for unit testing instead of GUI testing load testing, repetitive tasks, tasks that run on multiple platforms and configurations, tests that need to be “fueled' with multiple data sets... these are just some of the cases that you should automate   1. Selenium, One of the Top Automation Testing Tools for Web Applications Selenium is the... “Swiss knife” type of automated web testing tool. It comes as a heavy package of libraries and tools. Moreover, you get to run it in pretty much any:   operating system browser automation testing framework programming language   In short: it's one of the most versatile automated software testing tools that you can get your hands on. The “de facto” standard in terms of open-source test automation tools, with a large community that you can rely on. Source: G2.com And with versatility comes power, since Selenium empowers you to come up with particularly complex browser-centered test scripts. You get to use them for:   regression testing exploratory testing quick reproduction of bugs   Cons of Using Selenium For there are also some drawbacks to using this automation testing tool on your web apps to keep in mind:   a certain maintenance overhead (maintaining your tests in Selenium is more expensive compared to unit testing, for instance) building libraries and frameworks to meet specific testing needs does call for above-the-average programming skills (time and effort, as well)    2. Watir A powerful tool for automating tests. A Ruby library in fact, that mimics the behavior of a user interacting with your web app. Why would you choose Watir over other free automation testing tools for web applications? Because:   it enables you to create tests that are easy to read and to maintain you can run it on your web app, irrespective of the languages that it is written on it supports data-driven testing from buttons to links, to forms and their responses, it's built to test all the elements of your web application you can leverage its powerful API handling to extend its capabilities you get to connect it to databases, turn your code into reusable libraries, read data files, export XML you get to combine manual browsing with Ruby commands  it supports cross-browser testing  it integrates with business-driven development tools: Cucumber, RSpec, Test/Unit   To sum up: Watir taps into the advantages of Ruby — reputed for its clear syntax — which makes it such a flexible testing tool to add to your... toolkit. Source: G2.com Cons of Using Watir   a relatively small community supporting it (when you compare it to Selenium) you need to pair it with other tools to use it to its full potential   3. TestComplete If a powerful, feature-rich automated web testing system is what you need, then TestComplete checks off all the “must-haves” on your list: From cross-browser to regression, to parallel testing, it provides you with all the capabilities that you expect from a robust automation system. 1500 +real test environments... That's the type of scalability that you get if you opt for this automated software testing. It's one of those automation testing tools for web applications that you get to use on your mobile and desktop apps, as well. For pretty much any type of automation task that you can think of... Source: G2.com Cons of Using TestComplete Some users have reported errors with object recognition during playback. So, you might want to keep that in mind. 4. Katalon Studio Easy to use and robust.  Source: G2.com What more could you ask from an automated UI testing tool than:   to be conveniently accessible to any type of tester, those with no programming background here included to ship with a whole set of powerful features   And speaking of those, here are just some of the capabilities that you can turbocharge your testing process with:   customizable execution workflow support for image-based testing smooth integration with a variety of tools (e.g. TeamCity and Jenkins) built-in support for generating test scripts, creating test cases, reporting results, recording actions built-in object repository, object re-identification, Xpath built-in support for Groovy/Java scripting languages visual representation of each step in the test (it's one of the most beginner tester-friendly tools out there)   Moreover, Katalon Studio is one of those automation testing tools for web applications that you can use for API and mobile testing as well. 5. Cucumber Here's another open-source automated software testing tool to consider putting on your shortlist. A collaborative tool based on behavior-driven development that you can use to:   write acceptance tests for your web apps perform those tests by running the most representative examples for your app   Now, one of the biggest strengths of this tool is the up-to-date document that it'll provide you with. One incorporating both the test documentation and the specification. Source: G2.com Anyone in your team (non-testers) can go through it since it's written in a highly accessible format (plain English). Now, if we were to sum up its “power” features:   it enables you to reuse code in your tests it supports lots of different languages Groovy, Python, Perl, PHP, .NET, Scala it grants you great support, since it's a highly popular automated app testing tool, with a large community  it enables you to use code along with Watir, Selenium, Capybara it's a cross-platform tool quick set up it enables you to generate detailed reports it integrates with GIT and Jenkins   Cons of Using Cucumber    you might find the default organization a bit... overwhelming you depend on external plugins for generating reports, so do expect some integration challenges The END! These are the top 5 automation testing tools for web applications that you should check first when getting your 2020 toolbox ready. Have you used any of them? If so, what's been your experience with it/them? And what other automated web testing tools would you have added to this selection? Let us know in the comments down below: Image by testbytes from Pixabay     ... Read more
Silviu Serdaru / Jan 21'2020
Apigee Edge Microgateway: Why Would You Want to Use It and When Should You? 10 Typical Use Cases
So you're evaluating and comparing all the available solutions for centralizing and standardizing your APIs. And you can't help wondering: "When is it recommended that I use Apigee Edge Microgateway?" Why would you use it in the first place, over other platforms for managing internal APIs? Over... the Apigee Edge gateway, for instance? What "irresistible" capabilities does it provide? And when precisely should you use it? What are its typical use cases? Let's get you some answers:   1. What Is Apigee Edge Microgateway? How Does It Work? If I was to compress its definition in a short line, it would go something like this: Apigee Edge Microgateway is a hybrid cloud solution for managing your APIs. Whereas if I was to opt for a detailed one: It's an HTTP-based message processor for APIs, built on Nodejs, that enables you to centralize and manage all your APIs in a hybrid cloud deployment setup. From traffic management to enterprise-grade security, to analytics, spike arrest, and quota (and the list goes on), it provides you with most of the standard Apigee Edge capabilities. Moreover, you get to install it either on the same machine or in the same data center. Source: docs.apigee.com "And how exactly does it work?" you'll then ask yourself. It processes the messages — requests, and responses — going to and from your backend services. Meaning that it'll asynchronously push API execution data to Apigee Edge once consumed by the Edge Analytics. "What about the Edge Microgateway deployment scenarios? What are my options?" Well, there are quite a few, since you get to deploy it:   in PaaS platforms (e.g. Cloud Foundry) Azure App Services as a service instead of sidecar integrated with Kubernetes as a Docker container in cloud-native PaaS platforms (e.g Google App Engine) in virtual machines as standalone processes 2. Why Precisely This API Management Solution? 5 Big Benefits Why would you go with Apigee Edge Microgateway over another setup for centralizing and administering your APIs? Here are some of the strongest API management capabilities that it provides you with:   enterprise-grade security: it authenticates requests based on an API key or signed access token that each client app gets via Apigee Edge analytics: it publishes all the data analytics to Apigee Edge so that everyone gets traffic stats in real-time configuration: no special coding is needed to set up Apigee Edge Microgtateway  rapid deployment: you get to deploy an instance in no time  reduced latency: it collects and sends API data to Apigee Edge asynchronously, therefore with minimal delay   3. When Would You Use It? What Are Its Typical Use Cases? When is it best to go with a hybrid deployment model for managing your APIs? Source: LinkedIn Here are some of the most common use cases of Apigee Edge Microgateway:   for an application running on a microservices architecture to keep API traffic within specific limits set for compliance and security reasons to provide Apigee API management for services running in Kubernetes for behavioral testing (of the scaling, of the infrastructure...) for disaster recovery to speed up API traffic for services running in close proximity  when legal and geographical boundaries are involved; for instance, when some of your global products need to run in regional data centers due to issues regarding personal data to keep processing messages even when there's no internet connection for cost management and market segregation   4. And What's the Difference Between Apigee Edge and Microgateway? Apigee Edge vs Microgateway... why should you consider the later? How are they different more exactly?  Especially since it gets even more confusing when considering that you even get Apigee Edge Microgateway plugins, which are so similar to Apigee Edge's policies... What capabilities, that you can benefit from using Apigee Edge, does Microgateway lack, for instance? Now, in terms of differences, here's a general "rule of thumb": Apigee Edge Microgateway does not come to replace the Edge gateway.  It has its own specific "lighter" use cases, like various mediations, key verification, quota that you can do with your backend services in close proximity, all while tapping into its robust above-mentioned capabilities. The END! Are you using Apigee Edge Microgateway? If so, what's your specific use case? And why have you decided to go with Microgateway instead of Edge Gateway? Image by Lynn Neo from Pixabay  ... Read more
Adriana Cacoveanu / Jan 17'2020
Are There Any Strong Reasons Not to Use Nuxt.js? 7 Issues that Might Discourage You from Choosing It
It helps you boost your SPAs' SEO, it enables you to generate your apps both on the server-side and statically, it "spoils" you with an opinionated structure and setup... so you cannot help wondering: "Are there any reasons at all not to use Nuxt.js?" Considering its heavy load of too tempting capabilities (and I've briefly outlined just some of them), you ask yourself:   "Why would I not (always) choose it over regular Vue.js for building my PWAs?" "Why would I ever bother with a... "Next.js or Nuxt.js" dilemma, for instance?"   In short: what are Nuxt.js's limitations (if any), those that could make you at least doubt for a minute or two before choosing it for your future SSR projects? Well, we've run our investigation and managed to identify its 7 key weaknesses (for there are, indeed, a few). Weaknesses that we're about to share with you, so you can give yourself a well-founded answer to your question: "Why should I use Nuxt.js over Vue CLI for building an SPA?"   1. But What Is Nuxt.js More Exactly? How Does It Work? Before we go ahead and expose its weaknesses, it would be only fair to define this framework properly, right? A concise, yet accurate definition would be: It's a high-level framework that helps you build SPA and universal Vue.js apps more easily. While a more detailed one would be: It's a minimalistic Vue-based framework that simplifies the whole process of creating server-side rendered apps. It'll handle all the UI rendering of your app project, abstracting away the client code distribution and complex details of the server. From routing to asynchronous data, to middleware, it'll handle all the complex pre-coding configuration, so you can focus solely and entirely on... developing a great Vue.js web app.   2. How Can Your Project Benefit from Using Nuxt.js? 5 Strong Benefits Let's highlight some of the most "irresistible" capabilities of Nuxt.js, those that might have already made you stop and wonder: "What possibly could determine me not to use Nuxt.js... in all of my future SSR projects?" it's great for SEO: it solves all the SEO issues that single-page apps are reputed for (client-rendered content, mobile web performance, URL and routing, etc.) it generates static websites via the "generate" command; moreover, it ships with powerful features, similar to other famous static site generators like... Jekyll, for instance it provides an opinionated structure and setup automatic code-splitting it streamlines the building of server-side rendered Vue apps it helps you get the most of your universal web app without a server easy setup using the command-line with the starter template   3. Why Would You... Not Use Nuxt.js? 7 Drawbacks The very question that sparked the idea of this blog post in the first place. You'll hardly find any cons to using Nux. For this, you need to dig a bit deeper and look beyond the huge pile of online content on the common topics:   Nuxt vs Next Nuxt vs Vue Nuxt Universal vs SPA N Reasons to Use Nuxt.js and so on...   So, let's dig out some... disadvantages that you might want to consider before you just jump on the Nuxt bandwagon:   3.1. Common Plugins that Don't Exist or Which Aren't that Solid There are Vue plugins designed to work on the client-side only (the server just wasn't added to the "big picture" when they were being developed). So, do keep that in mind. Also, you might discover that there are common plugins and components (e.g. Vector maps, Calendar, Google maps) that, well, don't exist. When they do exist, they might not be as solid as you expected, since they're not properly maintained.   3.2. Getting Custom Libraries to Work with Nuxt with Can Be Challenging Add this issue to your list of "the biggest disadvantages to using Nuxt.js", especially if the timeline for building your Vue.js app is a tight one. Addressing it might take you more time than planned.   3.3. High Traffic Can Be Particularly Heavy on Your Server This inevitable server strain in the case of a large, high-traffic application is another reason not to use Nuxt.js. At least if this inconvenience weights heavier on your evaluation list than the pile of benefits does.   3.4. Debugging It Can Get Painful "When things break, trying to dig down into what the hell broke can be a serious pain." (source: Reddit.com) This is one of the most frequently reported issues with using Nuxt.js. An issue that becomes exponentially frustrating as your Vue app project gets more and more complex: When trouble strikes you only get a conventional error message. No clue, whatsoever, about where you should start your "investigations"  in order to track down the "culprit".   3.5. There's a Relatively Small Comunity Behind It And that can only translate as:   the product documentation is not that extensive fewer resources for you to dig into at need   3.6. Fetching Data on the Server Takes Place At the Page-Level Only... This means that you need to load data into a Vuex store or pass it all down via props. A source of... frustration that you should be aware of before you decide whether to use or not to use Nuxt.js.   3.7. You Need to Get "Tangled Up" in More Complex Plugins or Components If you need to build a particularly flexible Vue app — say you need to render the contents of a slot in another component — you'll have to render various JSX/functions.   The END! These are the 7 main reasons to (at least) doubt whether Nuxt.js is an invariably good option for your SSR Vue project. Have you identified other drawbacks, limitations or simply small, but annoying inconveniences to using Nuxt.js? If so, feel free to share them in the comments down below, so we add them to the list! Image by Gerd Altmann from Pixabay ... Read more
Adrian Ababei / Dec 18'2019
How Creating a Mind Map Helps You Make Your Website More User-Friendly
The line between useful and... useless (or pushy or simply annoying) is thinner than you think. That's why creating a mind map that aligns your site's content structure with the user intent is... critical. "Whether you’re a product owner or designer, you don’t want your website to be a maze with nothing but frustrating blind alleys.” (source: altexsoft.com) And there's no guessing work or discouragingly complex process in identifying the current user flow on each web page on your website: Just take a look at the behavior flow report in your Google Analytics. No rocket science here... Take it from there and:   identify the roadblocks restructure content on each page so that it matches user intent and is fluid and easy to read But let us give you a hand with that. With mind mapping your current customer journey and planning its improved version: In this respect, in today's post we'll:   give you the “anatomy” of a user-friendly website: what elements make a website, well, user-friendly? define mind mapping with respect to designing the user experience on a website teach you how to create a mind map: an easy step-by-step guide show you how to use a mind map to make UX improvements on your website   1. The Anatomy of a User-Friendly Website: 4 Essential Features “A vague objective leads to poor results.” There's no point in creating a mind map that would hopefully make your website more user-friendly if... you're not quite sure what key elements make a website user-friendly. So, here's the list of must-haves for any website aspiring to deliver a great user experience:   1.1. High Speed It's no news to anyone: the page loading time has a huge impact on the user experience. Unnecessary interactive elements, that don't match users' needs and don't play any role in the conversion process either, will only get you a clunky and... well... slow website.   1.2. Useful Features And “intuitive” I must add. Again, we go back to the “elements justified by the user's needs” principle: Is that slider useful and relevant for the user behavior on your website? It it too bulky, loaded with endless options that just ... discourage the visitor? You might want to re-evaluate all the features on your website: are they relevant and intuitive enough?   1.3. A Well-Structured Information Architecture Information that's:   easy to access easy to interpret   … is key for a wannabe user-friendly website.   1.4. Content that Matches User Intent If users are looking for online cooking classes, let's say — and that's precisely what you promise to deliver them — and you're only trying to sell them kitchen gadgets on your website, the only result that you'll get is them bouncing off in seconds.   2. What Is Mind Mapping with Respect to Designing the User Experience? An overly simplified definition would be: A way to brainstorm and present the generated information in a visual way. Now, since I've promised you a definition “with respect to” creating the user experience, here's a more... context-specific definition: Mind mapping is a vesatile technique where you put together a visual hierarchy of your site's present or future content. It lists out the key pages on your website (homepage, service pages, blog page, etc.),  the various relations between different web pages, the links and CTAs on each page... Source: altexosft.com In short: mind mapping reveals how data is structured on your website. Of course, you'll then consider creating a mind map of the target version of your current website. The more user-friendly one...   3. Main Benefits of Using Mind Mapping: From Great Ideas to... Actionable Steps Finding new ideas is exciting. But jumping on every new great idea that someone in your team has, without first checking whether it aligns with the user intent, is just like... making shapes out of soap foam. Not only that they're not future-proofed, but that clutter of ideas might not work together either. By using one of the best mapping tools available online for structuring those ideas as they... pop out, you turn them into actionable steps in your strategy for improving the UX on your website. And the clear benefits to mind mapping are:   you define your ideas' roles: what role do they play in your UX strategy (if you can't assign them a role, they're just “Wow” ideas with no solid justification) you assess their value: how does implementing this new idea bubble up to the user experience? you identify the various relations between them: you might want to avoid “island-ideas”, with no connections to other ideas listed out in your mind map   4. Creating a Mind Map: 5 Simple Steps Now that you know what a mind map is and why on earth you'd bother making one, let's see how you can actually put one together:   4.1. Create a Mind-Map Template Just so you can have a basic idea of the current information architecture on your website. List out how data's being structured on your website now and how you plan to structure it for its more user-friendly future version...   4.2. Map Out Your Ideal User Flow How would you like your website visitors to engage with your content? What actions would you like them to perform? Source: mindmeister.com Once you've outlined the key pages on your website (homepage, services, features), start planning out the user flow.   4.3. Compare it to the Current Behavior Flow Available on Your Google Analytics Before you can properly map out the user flow, you need to know what's the standard customer journey on your website now. For that, just delve into your Google Analytics data and look for the user behavior report. It'll show you all you need to know about:   how users are engaging with your website's content  what paths they usually take when navigating through your current information architecture   4.4. Identify the Roadblocks The user behavior data might reveal to you some unwanted realities regarding the user experience on your website:   poorly structured content a bulky and tiresome collection of interactive elements irrelevant features (embedded videos, interactive elements, social sharing functionalities) too many tools that don't respond to users' needs   4.5. Make the Appropriate UX Decisions to Influence the User Behavior Now that you've identified the main roadblocks in delivering the best user experience, it's time to... remove them, one by one:   turn chaos into a logical content hierarchy trim irrelevant page elements, with zero value in the conversion process  adapt web pages' content structure to the needs of specific audience segments (make sure to include relevant information for those customer personas, redesign your CTAs if needed...)   5. How to Use a Mind Map to Make Powerful UX Improvements Creating a mind map is but the first step: Turning it into powerful UX decisions should be your main objective. So, the answer to the question “Are mind maps effective/useful?” is: They are if and only if you make them useful and... usable. You can turn your mind map into:   an effective sitemap a customer journey map   But let us take a real-life scenario and point out specific UX decisions that you could make with your mind map at hand. It's an example that I've run into reading Mindmaster team's great blog post: A Simple Way to Design UX, UI and CX Using Mind Maps: Say you're targeting 3 different customer personas on your website. You then need to plan 3 different user flows.  You start by grouping the web pages on your site into 3 categories, each of them corresponding to one audience segment. Then, you start doing some user behavior mapping: how do you want each customer persona to navigate to the corresponding web page so that he/she clicks the CTA placed there? Now, it's time to make some critical UX decisions:   what relations to set up between various pages on your website? You might have a user on a service page and you need him/her to visit your “get a quote” page, as well what's the best CTA design for each one of your 3 types of pages? what key information should you include on a page, depending on the customer persona accessing it? See? Not only that creating a mind map helps you put together an effective information architecture, but it's also a great technique for generating content ideas that match the user intent.   6. Final Word In the end, it all comes down to goal setting. Creating a mind map is a great way to:   understand your website goals: what type of conversion actions do you want users to perform? achieve those  website goals by delivering a user-friendly experience: content that's useful, accessible, easy to read and to interpret   The END! Do you usually create mind maps when building new websites, to ensure they'll deliver the best user experience? Or for existing ones, to improve their UX? Do you consider them critical or optional in designing the user experience? Image by Biljana Jovanovic from Pixabay   ... Read more
Adriana Cacoveanu / Dec 14'2019
Why Would You Build Your Own Cloud-Native Drupal Platform? The Main Benefits and Challenges to Consider
  Why or rather "when" should you consider building your own cloud-native Drupal platform?  Is a cloud platform the right answer to your Drupal app development challenges? Is a container-based infrastructure a viable solution for you? For your business needs and for building digital experiences that meet the needs of your audience?   How do you know if your specific use case calls for a cloud-native Drupal app development environment? And, assuming that you've run your own evaluation and that your use case does demand a switch from your current VM to a... multi-cloud Drupal hosting architecture: How do you make Drupal... cloud-native friendly?  So that you can build, deploy, scale and manage fast and resilient Drupal apps in the cloud? In this post, we commit to answering all your key cloud-native and Drupal-related questions:   "What does cloud-native mean exactly?" "What is cloud-native with respect to Drupal?" "Why do I need a cloud-native Drupal platform anyway?" "What are the biggest advantages and their... flip sides?" 1. What Does Cloud-Native Mean Exactly? What is a cloud-native application? It's a holistic approach to designing, building, and running applications that make the most of cloud-native concepts. Or, if you wish: Cloud-native application development is a methodology — covering all stages of an app's lifecycle: design, deployment... operations — for developing apps that run in the cloud.  Applications that use the cloud computing model to its full potential. DevOps, agile, microservices, and other modern software architectures all fall under the umbrella of a cloud-native methodology. Therefore, it's fast, resilient, highly scalable and easily maintainable applications that you get to run in a cloud-native infrastructure.   2. And What Is Cloud Native with Respect to Drupal?    In other words: where does Drupal fit in this revolution in how we develop and deploy our applications on a cloud platform? Overall, taking full advantage of a cloud-native Drupal app development environment means: Finding the best solution for handling decentralized storage, auto-scaling, auto-provisioning and multi-region fault tolerance. Getting the most of cloud-native and Drupal comes down to:   minimizing the use of long-running servers relying more on purpose-built services and elastic computing setting up a development environment where you can easily test your new themes and modules, fix bugs, build, and deploy resilient enterprise Drupal apps   3. Why Build Your Own Cloud Native Drupal Platform? And When? For there are cases (is this your case, too?) when such a powerful, yet... challenging architecture is not justified by the company's business needs. So, let's answer your "when" question first. You're better off with a cloud-native infrastructure, where you deploy Kubernetes and containers, if:   you're dealing with high traffic, high volume applications and polyglot architecture you already have an Ops team you've already made at least some sort of investments in the private or public cloud your current requirements in terms of costs and control justify setting up a multi-cloud architecture you're running and maintaining an entire ecosystem of Drupal sites   "OK, so it looks like I "qualify" for it. But still: what would be the biggest advantages of building my own cloud-native platform compared to opting for a cloud vendor's services?" Here are the 2 most obvious advantages:   you'd avoid getting locked in to a cloud provider you'd avoid growing dependant on your PaaS provider for hosting, scaling, and managing your own Drupal apps   4. Why Would You Want to Containerize Your Drupal Apps in the First Place? What would be your major wins if you ran Drupal in containers? Here are the 3 most significant ones:   repeatability and consistency: you get the same predictable and specific result with each container that you run less maintenance work an easier way to run PHP upgrades compared to a conventional VM stack where you depend on your host for that and where there's a whole cluster of sites that needs to get PHP upgraded simultaneously   5. 3 Pillars of a Container-Based Infrastructure: Drupal, Kubernetes, Docker What goes into a cloud-native Drupal platform? There are 3 key players involved:   5.1. Drupal The robust, open-source software and content management system which, beginning with its 8th major version, grew into a Symfony-based content management framework. Backed by a huge (100K+) and active community of contributors and a rich plugin ecosystem, Drupal powers a wide variety of web applications: media and entertainment apps, non-profit, gov, education... The Acquia Cloud Platform is the only web hosting solution designed to meet the wide range of demands of enterprise-level businesses in Drupal.    5.2. Kubernetes It's the standard container orchestration technology.  In the context of your future cloud-native infrastructure, you'll be using it to manage:   your containers' lifecycle command and control distribution scheduling   5.3. Docker It's the standard... tool that you will be using for creating your containers. 6. 4 Cloud-Native Platform Features to Put on Your Wishlist What feature requirements should you have with respect to your Drupal app development environment? Here's how a... decent wishlist should look like:   it should provide a layer of abstraction over IaaS it should handle cross-cutting concerns it should be easily scalable and secure it should provide an efficient developer experience (and agile operator experience, as well)   7. Deploying Your Drupal Apps on the Cloud: Requests & Constraints What's the proper setup for a container-based Drupal architecture? "What are the key requirements that my future cloud-native Drupal platform should meet?" you might legitimately ask yourself.   your Drupal application should be turned into a containerized stack minimal Ops (or not Ops at all) it should run properly on any cloud your public/private file should be externalized it should scale up, out, and down it should make the most of PaaS services: for gateways, databases, load balances, cache stores, queues it should tap into an operational model: new app provisioning-routing-monitoring... your development team should be able to get high fidelity local environments up and running in no time   "And what challenges should I expect?" you'll further wonder:   your developers are faced with a steep learning curve: they should have some sort of understanding of what's happening under the hood when deploying Kubernetes CI & Delivery Pipeline  logical architecture monitoring and management Dev & Build Tools  local development    The END! What do you think about Drupal Cloud? Is a cloud native Drupal development environment a viable solution for you?  Are the advantages highlighted here relevant enough for your use case and business needs? Or are the outlined challenges too discouraging for you? Feel free to share with us any thoughts and concerns that you might have regarding the idea of building your own cloud native Drupal platform and see how Drupal Cloud can help you deliver outstanding digital experiences.  Photo by C Dustin on Unsplash  ... Read more
Silviu Serdaru / Dec 12'2019