Adrian Ababei / Oct 26'2017
Did you see this coming? 2016 was, undoubtedly, the year when chatbots ruled over the digital landscape. When all the “players” in the arena rushed to jump on this mega-trend and to ride the tide. And then some of the voice interface's limitations have started to come out. It's in this very context that the conversational form interface (not yet a mega-) trend has started to “steal away some of the spotlights”! It's then that designers with a vision decided to dig deep into the "old trunk" with out-of-fashion web interfaces and take out the “dusty” old web form! Yet, they weren't that naive to think that users would just move away from cool chat-based interfaces to... filling out clunky, long web forms. They definitely had to give web forms a modern touch to ensure user engagement. And so, they made them... conversational! This is how this “experimental” approach, the hybrid conversational form interface, was “born”! It's designed to improve user experience where conversational interfaces start to show their “weaknesses”. And it's designed to drift away from the classy, unanimously hated web forms. Now, let us highlight for you here both: the most “irksome” limitations that voice interfaces have started to show how precisely the conversational form UI succeeds to deliver a better user experience where chatbots fail The Biggest Inconveniences of Using a Purely Conversational UI “... for both users, development teams and site/app owners.” It looks like chat-based conversational UIs have slightly loosened the “spell” that they had cast on users. Customers have gradually started to grow frustrated (and this is due mostly to their (too) high expectations in chatbots) when they realized that: they have to (there's no other way) go through each and every single sentence that the bot asks, which leads to more tapping (and friction) than they would have expected they can't just skip some of the questions in case they don't feel comfortable giving away certain sensitive information they experience the whole information-collecting process as being mandatory, as if they're being “constrained” to divulge that data On the other hand, compared to a conversational form interface, a purely conversational interface isn't any more convenient on designers'/developers' and their clients' side either: dealing with the validation of some "tricky" answers isn't precisely a breeze (like when someone enters an invalid phone number, for instance) in order to prevent all kinds of “dumb bot” experiences, the bot has to be perfectly “trained” to parse users' answers correctly (even when faced with situations where users give “I'm a butterfly collector” type of answers to a “What's your job title?” question) it's no easy task for the app's/website's owner to actually set up the chatbot; they need to carefully plan ahead how the questions will be phrased, the used tone and voice etc. How Exactly Does a Conversational Form Interface Increase User Engagement? Now that we've “exposed” to you the voice interfaces' limitations, it's only logical that we present to you a solution to these issues, right? Introducing web forms turned into conversations? Or conversational forms, if you prefer! What started as an experiment now stands all the chances to perfectly fit all those scenarios when companies can't afford to just blindly jump on the latest UI trend! And where they need to go for a hybrid type of approach instead: conversational UI & web forms. Here's what these “experiments” revealed: users feel more comfortable knowing that they DO have the option to simply ignore filling in these conversational forms if they want to since users interact with these forms only within conversations, practically these web forms aren't intrusive, like the old web forms used to be, when they would overlay on top of the open text fields; it doesn't feel like a disruption of the user's flow anymore the same users tend to provide the required information much quicker than they do when faced with a conversational UI (they're already familiarized with web forms and they do not experience that “awkward” feeling that someone's “asking” them to give away information). it calls for minimal bot interaction since users get to control, right within the form, whether they've correctly filled in the required fields or not (once they chose a wrong format, they can just correct it themselves) In short: it's not just the old “dreaded” type of web forms that users choose to fill in they're actually delivered within the conversational UI itself implicitly, it's not an exclusively voice-based conversation that we're dealing with ... but with a CI incorporating one or multiple web forms Bottom Line “If it doesn't fit, just don't jump on the latest design trend!” As simple as that. Conversational UI doesn't have to be “purely” conversational after all! It could also mean voice-based conversation AND interactive elements such as buttons, cards or forms. If you anticipate that this type of chat-based conversational UI: won't get you too far with your information-collecting will just manage to irritate your customers … you can always take a step back from what's currently “hype” and experiment another type of UI instead. Maybe this hybrid conversational form interface will best fit your needs and your customers' expectations. Maybe you'll be surprised to discover that it's those “oldies but goldies”, “dusty” designs that help: your users carry out the given tasks faster and with minimal friction you to collect that concise, basic information or data that you need for tailoring your offers/products to your questioned customers' own needs and preferences What's your opinion on this hybrid approach to UI design?
Adrian Ababei / Oct 25'2017
Each one of the two popular databases “lures” you with its own set of tempting features that the other one lacks. Yet, you need to go beyond the old “relational vs NoSQL” debate to find the answer to your “Which database should I choose for my web app?” question. Therefore, it's more than a generic MySQL vs MongoDB comparison that we'll attempt to make in this post. It's not a well-founded answer to a question like “Which is the best database to use for web applications?” that we'll try to give. Instead, we'll try helping you discover which is THE one that best fits YOUR own web app's use case. It All Comes Down to One Key Question: “What Type of Web App?” And just like a snowball rolling down a slope, once you've asked yourself this crucial question, expect it to “unleash” other key ones, as well: What type of data will you be storing in your database? Is it relational data (e.g. social network-specific data, where each user has lots of associated photos, comments, groups etc.) or is it documents or analytical information that your web app's database will be storing? Would you “trade” data protection guarantee (let's say... losing some of the stored data every dozen thousand transactions?) for really high data insert rate? Would you store it in a relational schema guaranteeing you clear relationships between entities or would you go for a more flexible data storage format instead? One enabling you to perfectly store dynamic, unique items? Do you expect your web app to grow any bigger? How big? Are we talking about a “very large” data volume? And this is probably the second most important question to ask yourself after the “Which database should I use for my web app?” How many queries do you expect it to perform (per minute, hour, day)? And which is your skills level (or your development team's skills level) in using various databases? Will your database need to be perfectly equipped to support further and further joins? What coding language/front-end framework will you be developing your web app in? And you must surely agree that this is a never-ending list. There are so many aspects relevant for your specific use case, for your specific web app that you should take the time to determine. And to focus on those which weight heavily in your database selection process. “Which Database Should I Choose for My Web App?” Go With MongoDB If... … it's a web app carrying a heavy write load that you're planning to develop. MongoDB database's biggest advantage over a MySQL one is its capability to accommodate really large data volumes. Take the comments section of high trafficked websites (The New York Times or Craigslist) for instance. Loads and loads of content is being “pumped in”, at high speed, and MongoDB's perfectly equipped to assimilate it all. Note: it might excel in terms of performance, yet it trades transaction safety to achieve that kind of performance. So, make sure you go with MongoDB only if it's not sensitive data that your web app's database will be storing. MongoDB does require a high level of risk tolerance, you know. And there are plenty of other reasons why MongoDB might be a suitable replacement for MySQL for storing data. You should back your web app with a MongoDB database if: ... it's a small, a start-up business that you own. On open source document-oriented database, which doesn't pigeonhole your data in a rigidly structured schema (it simply stores all the values that you're inserting as documents), which is flexible, easy to set up, to manage, to deploy and to scale, is perfect for your own specific web app's needs. . … you dream big. This NoSQL database is built to scale (horizontally), to auto-shard (and to replicate) your data as it gets heavier. . … your web app doesn't require a complex data model and you're good to go with a simpler one. One with no further joins requests and much easier to deploy. .... it's a prototyping scenario that you're planning to use it in. And Now: When Not to Use MongoDB? For if it's best-suited for certain scenarios involving backing web apps, it certainly is ill-suited for others. Here are some of them: if you're looking for an easy way to join tables to your database... MongoDB is not IT if you're planning to use it as the primary database system for... 1k machines, let's assume. It's not that stable. if it's security-critical information that you're planning to store in your web app's database (e.g. critical customer information). MongoDB doesn't guarantee you the same level of data protection as MySQL if it's relational data that you'll be storing (so if there are clear relationships between your entities, e.g. users and reviews) if you're counting on transaction support A MySQL Database Might Better Suit Your Web App If... … it's a commercial/end-user app that you're developing, which depends on a strict hierarchy of relationships between various entities. In this case, you can't expect a MongoDB, piling up your data in collections of separate documents, to meet your needs. It's a relational database like MySQL, which stores your data in “conventional” tables, made of rows, that you should back your app with. And if this doesn't really answer your “Which database should I choose for my web app?” question, here are a few other use cases that might get you thinking: it's not just a traditional RDBMS (relational database management system) that would meet your data storage needs, but a full-featured one. Luckily, MySQL is that “full-feathered” relational database that you need. Over the years it's been upgraded with views, cursors, clustering, triggers, query stored procedures etc. real-time analytics is crucial for you you're not willing to trade high data protection standards (let's assume, for instance, that it's a live auction app that you're developing, which will store and retrieve data of critical importance) for... high data insert rate you need transaction support, security assurance for all the transactions carried out on your app Also, to give you one more helping hand with your decision-making process, here's a short list of web apps where a MySQL database would work best as a back-end: e-auctions automated online assistants online retailers e-commerce real-time big data analytics dynamic pricing When Not to Use MySQL? Which Are Its Key Limitations? It's precisely those scenarios where MongoDB “shines” that MySQL doesn't. Therefore, here are some more clues to help you find the answer to your “Which database should I choose for my web app: MySQL or MongoDB?”: scaling is definitely not it's trump card; it can't possibly rival a MongoDB database when it comes to horizontal scaling it can't handle high transaction loads so well; from a performance point of view, MySQL isn't built to cope with really big data volumes although it's been upgraded with replication and clustering features, their implementation isn't precisely a... no brainer So, which one's going to be? Will you use MongoDB as a backing storage for your web app or MySQL instead? If you need professional support in your database development projects, get in touch with Optasy.
Adrian Ababei / Oct 19'2017
Building better websites and apps has just got easier! And by “better” we do mean user-friendly (a feature encompassing all the other aspects: UX design, various functionalities, written content, graphic content etc.). How so? Incoming Feedback by Hotjar makes it ideally easy and convenient for your users to give you specific feedback for your site/app (on its copy structure, on its design elements etc.) And right there, on-site, on-page, at precisely THAT moment in their user journeys. For your site visitors it's nothing but a two-clicks process (so much more at hand than answering questions in a poll) and for you, the site/app's owner it's: a chance to grab instant and contextual feedback from your users … and turn it into actionable insight And now, let us briefly point out to you: The context that “called for” such a tool (and what makes it more efficient than conventional polls) How it works precisely How you get to collect, monitor and use all that data to “fuel” your future design/copy/functionality improving strategies “But Why Incoming Feedback by Hotjar? I May As Well Grab User Feedback via Polls.” Let's play devil's advocate: Why bother using this tool when you could easily use polls for collecting all the specific feedback you need? Your users would simply (and kindly) answer all the questions in your poll and... voila: a fresh new “crop” of user feedback for you to leverage! But what if: you ask your questions long time after the user will have actually been on that specific page or has completed that specific action? you risk misinterpreting the collected answers, due to... LACK OF CONTEXT? And this is precisely where we wanted to get! This new tool by Hotjar, added to their whole suite of all-in-one analytics & feedback tools, brings CONTEXT to the equation. For it's right THEN, right at that specific moment in your user's journey on your website/your app that you get to... pop up your question! Not a few pages after. Not a few hours or days after. The feedback that he/she gives you precisely then is, by far, the most relevant one! Relevant due to: the context of that specific visited page/visualized designed element/tested functionality/read piece of content the impression that he/she gets about your target site element that very instant! And How Does This Tool Work Actually? Incoming Feedback by Hotjar is as easy for you to set up and to customize as it is easy for your visitors to use it. 1. You get to configure your widget's color, its position, its flow and, finally, enter your message. It will simply sit at the edge of your screen, looking like a tab. 2. The instant your users will want to give their feedback on the element of your site/app that you point out to in your widget, they instantly get a pop-up up to: evaluate your site/app on a “Love to Hate” scale enter a quick comment if they feel like putting their feedback into words even use the area selection tool to highlight specific elements on your page (and this gold!) eventually enter their email addresses allowing you to follow up And there's more: you get to create as many incoming feedback widgets as you need (since more likely than not it's multiple pages on your website/app that you'll like to get user feedback for) the Incoming Feedback by Hotjar works on all devices How Do I Centralize The Answers? How Do I Monitor Performance Over Time? “By making a great use of your Incoming Feedback dashboard.” It's a two-in-one dashboard, actually, that you get to use for: deep analyzing and drilling down the user answers that you will have collected (using various filters) monitoring your newly implemented enhancements' rates of success Here are the two separate dashboards: 1. The responses dashboard This is the repository of all the user feedback given for the suggested aspects of your site/app. Here's where you can filter them, by various criteria such as: liked/disliked or the expressed feedback type time when the feedback was given page URL … so you can turn them from “just” responses into valuable, actionable insights! 2. The results dashboard This is where you get: the full picture of the overall score resulting from your visitors' feedback a breakdown of their feedback over time It's on this dashboard that you can measure the real impact that your bug fixes, your implemented upgrades and other various improvements to your site/app have on your users. Bottom Line Building user-friendly websites & apps has, indeed, just got easier! With a tool like Incoming Feedback by Hotjar you get to: collect specific user feedback (you get to target particular aspects of your site/app) … instant, contextual type of feedback … and use it to take the needed action for improving the content (both graphic and written) that they dislike Have you tried it?
Creating web content and deploying it on a plethora of: platforms devices (both modern desktops and mobile browsers) … of different screen sizes … and running different operating systems web browsers markets … sure has “Mission: Impossible” written all over it, doesn't it? And this is precisely how your business will benefit from using HTML 5: it's been adapted specifically to help you turn all the above-mentioned challenges into... benefits. It's the formatting language that you can use to: design rich media web pages/mobile web applications to... entice your users with implement them (your websites/web-based mobile apps), seamlessly, on all platforms, notwithstanding layout, design and functionality restrictions This being said, let's get into it! Let's point out the 10 challenges which you're currently facing, as a business striving to stand still on in the “shifting sands” of the digital web of today. Challenges which HTML 5's built to turn into key advantages for you: 1. Cross-Device Mobile App Development: It Reduces Costs and Development Time In short, here's how your business will benefit from using HTML 5: your development team can write code once and use it as... many times as needed (the very same batch of code) on several markets, devices and platforms this cannot but translate into: lower lifetime cost and reduced maintenance costs, too, obviously How about investing those “spared” resources of time, money and effort... elsewhere? 2. It Turns Offline Browsing From a Challenge Into an Offline-Cache Web Experience Another great “app-like” behavior that HTML 5 adopts is that of running without internet connection. That's right, practically your HTML 5 web pages' code and content get stored via the offline application cache. This way, you can guarantee your business website's visitors a great web experience even while they're ... offline. Note: locally storing content and code (and client-side data in true SQL database) will not impact just the user experience, but your website's/app's performance, as well. Basically, offline cache makes possible for code and content to be accessed rapidly, locally, in a “no internet connection” context. 3. Better Mobile Access Translates Into Better Access to Business Intelligence Just a moment (or two) of reflection on these 2 scenarios here: you ask your team to either use the very same type of device, all of them, or to develop one business intelligence app for each and every type of device there is out there you use HTML 5 for developing one business intelligence app which will collect, collate and use data on all types of devices, by leveraging browser-based analytics tools And this is another way that your business will benefit from using HTML 5! It's nothing but pure logic after all: since all devices run an HTML 5-compatible browser, your future business intelligence app will run smoothly on... them all! 4. Video Content Is King Now: Luckily HTML 5 Comes With Native Video Support Just imagine: you get to build your video content right there, in the supporting browser! No plug-ins required! This can only translate into: faster video distribution to all targeted platforms! How about using the time you'll gain for crafting high-quality video content that will bring you both the targeted audience and SEO on your side? 5. It Makes Front-End App Development a... Breeze What is it that you're “cooking” (or planning to) in terms of front-end apps? Some drag and drop tools? Or maybe some discussion boards? Some wikis? No matter what type of front-end apps you might have in plan, with its standards and all its new features HTML 5 makes their development quicker and easier. So, how will you value the extra time that your business will benefit from using HTML 5? 6. Here's How You Will Benefit from Using HTML 5: It's Operating System-Agnostic “No strings attached”, here's another possible way of defining HTML 5. For although its runs in a web browser, it's not dependent on the underlying operating system. How does this translate into a key benefit for your own business? Practically while developing your apps you won't need to: get tangled up in complex, time-consuming development processes get dragged down by support overhead … like it's the case with native apps (iOS, Blackberry, Android) 7. It Turns The Challenge of Cleanly Structuring Your Web Page Into an SEO Advantage Clean(er), neat(er) and semantically valuable code! This is how you could best describe the “backbone” of an HTML 5 web page. And this is precisely the type of easy-to-read, logical structure that search engine robots “enjoy” crawling through. Bottom line: gaining search engine visibility is how your online business will benefit from using HTML 5! 8. Running Your Web Pages/Web Apps on ALL Browsers Is No Longer an Issue With HTML 5 It looks like “all the roads lead to” our preliminary definition of HTML 5: “Write once, run anywhere.” By implementing HTML 5 and leveraging the capabilities of CSS 3 your design team can easily create a business website/web app that will run on ALL browsers. 9. It Improves User Experience Via Multimedia and Graphical Content-Rich Web Pages And it's precisely rich-media web pages that create .. enriched web user experiences, right? Luckily HTML 5 makes adding animations, SVG content, audio content, charts, visually-arresting graphics (and the list of design and media types can go on and on) such a breeze. Providing your developers with features such as “<video”, <audio>” etc., they can easily integrate media files into your web pages. Enriched web user experiences... crafted with great ease! 10. It Turns Location-Based App Development from a Challenge into an... Advantage If it's a location-based app/services that you're planning to develop, then here's how your business will benefit from using HTML 5: since it supports geolocation, APIs will make the user's location available to any browser-based app compatible with HTML 5. As simple as that! And this is where our list of 10 benefits that you can “reap” from implementing HTML 5 when developing your business website/web-based mobile app. Would you add some more? Or maybe some limitations/downfalls?
Adrian Ababei / Oct 12'2017
Or simply put: “What can Hadoop possibly do that my data warehouse can't already?” A predictable and legitimate question following the “Why should my company use Hadoop after all?”. Our today's post is not aimed at convincing you that you should, indeed, replace your current data warehousing solution and move your data over to a Hadoop platform. That would just point out the“why it's best to go with Hadoop”. Instead, we're ready to answer your specific question: “Why should my company use Hadoop as a data storing and data processing solution?” We'll be: presenting you with specific use cases when Hadoop is, indeed, the best option outlining key advantages of using Hadoop over the traditional data warehousing When Should You Consider Replacing Your Data Warehouse With Hadoop? One of the most popular sayings here, at our Toronto web design company, is: “if it ain't broken why fix it?”. Therefore, let us point out to you just 2 specific situations where you should consider a massive data migration to Hadoop as your best option: you're dealing with a huge amount of data you need built-in capabilities for processing raw and semi-structured data... in a scalable way, of course Does any of these contexts ring a bell to you? If so, you're better off with Hadoop. "Why Should My Company Use Hadoop?" 7 Advantages Over Traditional Data Warehousing For it all comes down to the benefits that your company will gain from such a transition. In this respect, we've put together a list of 7 key reasons why Hadoop is a great asset for your company. Analyze them, weight them, compare them to the benefits that you're currently “reaping” from using your current enterprise solution and... do the math yourself: 1. It's Cost Effective: it's free actually No, no, we're not trying to brush under the carpet costs such as: staff training investments that you should consider commodity hardware costs to take into account for storing impossibly large sets of data And yet, they are insignificant compared to the costs that legacy commercial vendors products' come along with: annual support offered by the data warehouse's vendor (compared to Hadoop's open source support) perpetual licenses significant costs that each scaling process would call for (no wonder that companies used to get rid of loads of raw data since scaling their data warehouses to accommodate it all was cost prohibitive) 2. It's (so much) Easier to Use: skip formatting and “exploit” your data from day one Here's an answer, which makes a strong argument itself, to your “Why should my company use Hadoop over my current data storage solution?” Its ease of use feature will come as a major surprise to you once you've gone through a: changing formats complex preprocessing establishing data models … type of experience with your current enterprise solution. An entire “ordeal” to go through just to be able to finally leverage your own data! With Hadoop it's just a “feed the data” process! That's all! No preliminary steps to take. And where do you add that you get to use all your familiar tools, languages and even to test the newest methods for getting the most value out of our data! 3. It's Flexible: it can capture data from a plethora of data sources And this is gold when you have an entire ecosystem of data sources ready to deliver you data if you just have the right tool to... tap into! Hadoop's perfectly suited for the job: it will access and extract data and provide you with valuable insights from sources ranging from: social media email conversations … and lots of other “repositories” of both structured and unstructured data. It will go and get this heterogeneous load of data to you. Data that will then fuel your marketing campaigns, your fraud detection initiatives, your log processing actions etc. Do giants such Marks & Spencer and Yahoo and their own use cases of Hadoop make convincing enough answers to your “Why should my company use Hadoop?” question? They're using Hadoop to: play the “personalization” card right put together cross-functional teams (IT, marketing, e-commerce, finance...) thanks to Hadoop's capability to seamlessly process all types of data gain a better understanding of their customers (this is where Predictive analytics comes into play) And this is what extracting value from your own data, that's just sitting there, waiting to be leveraged, really means. 4. It's Open Source Technology: bugs and feature development handled by multiple companies Just try to compare bug fixing and new features development being handled by a single company (your commercial license vendor) to the same processes being carried out by hundreds of companies! In other words: when choosing Hadoop as your data storage platform there's an entire community of contributing companies offering you support and continuously improving the platform. 5. It's Built With High Scalability in Mind: keep on adding more and more data clusters How easily (or “costly”) is it to scale your current data warehouse to accommodate your increasing amounts of data? Hadoop scales... organically, using low-cost hardware as a unique resource! Here's how it works: as you add new and new heavy nodes (clustering thousands of terabytes of data) Hadoop manages to seamlessly accommodate it all … and to distribute it across hundreds of inexpensive servers that run in parallel Scalability is, undoubtedly, one of Hadoop's “five-star” features, the one that traditional relational database systems (RDBMS) can't possibly compete with! 6. It's Fast: data processing at high speed When you're questioning yourself “Why should my company use Hadoop instead of sticking to its current data warehousing solution?”, you might be thinking, in fact: “How much faster than my current data warehouse can Hadoop process data?” A lot faster! And this is exclusively thanks to its unique data storage method: the data mapping & the data processing happen on the same server where data is stored. This way mapping and processing massive volumes of unstructured data is no challenge for Hadoop at all: it will map it no matter where it might be located in a cluster. And so processing it (we're talking about petabytes of data here) turns into a matter of hours! 7. It's Equipped to Handle Fails Remarkably: say Hello to automatic data replication! You can run, but there's no way of hiding/completely avoiding cluster fails! But luckily Hadoop provides you with a great “safety net” type of capability: it automatically replicates data for you, sending it to other nodes. So, when faults happen (and they will), you can stay reassured: Hadoop will always have copies of your data ready to be passed on to other, non-compromised locations of your data infrastructure. Final Thoughts Or “recommendations” if you prefer: if it's small data that your company's “piled up” so far, if there are small files that you need to store and leverage, don't go for Hadoop if you don't really need to access and to process your unstructured or semi-structured data, there's no real need to use Hadoop Now getting back to the initial question, “Why should my company use Hadoop over its current data warehouse?”, our answer is: “Because Hadoop is built and being constantly enhanced with impossibly large amounts of data in mind!"
Adrian Ababei / Oct 11'2017
Adrian Ababei / Oct 09'2017
Adrian Ababei / Oct 05'2017