Say you've invested so much time and effort to come up with this valuable content for your website. And now you don't want to be all altruistic and share it with everybody. Instead, you plan to grant access to it to logged in members (or paying subscribers) only. So, you start looking for a plugin for access control. But what is the best membership plugin for WordPress?
The most suitable one for your specific feature needs as a membership website owner...
For your own scenario, which might require that:
members be enabled to administer their profiles straight from your website's front-end page
admins be allowed to easily track down members using specific meta information (e.g. “category”)
your plugin support multilevel membership functionality (logged-in member, paying logging-in user, admin, editor etc.)
your WordPress plugin support dripping so that your content gets “served” according to a strict time schedule
you don't need to get tangled up in code writing and customization work
members be enabled to CRUD their custom post type content (galleries, events, posts, reviews)
Oh, and yes:
You might also expect this WordPress membership plugin to accommodate a decent number of members (approx. 800-100?), be easy to set up and to get updates, too.
Now, here are the 5 most powerful free WordPress membership plugins and WordPress paid membership plugins that you should weigh first:
1. MemberPress
It's the equivalent of “vanilla ice cream” among membership plugins for WordPress.
I mean, it easily checks all the checkboxes on your “must-have features” list:
easy to set up
easy to use
feature-packed
rich documentation and stellar support
And speaking of its load of features, let me outline some of the most powerful ones:
Easy setup
From setting up pricing and login to adding membership plans and putting together “Thank you” pages for your members, setting everything up gets ridiculously easy with this plugin.
Subscription management
The plugin empowers your members to create and update their own membership subscriptions.
Content dripping
It enables you to “disclose” content to your members according to your time schedule.
This feature is particularly valuable if it's learning material or online courses that you provide on your WordPress website.
Content Access Control
And restricting access to certain content on your website is the essential feature of any WordPress paid membership plugin, right? In this respect, MemberPress provides you with flexible access control:
You get to limit (or “condition”, if you prefer) access to specific tags, blog posts, files, pages, categories on your website.
Payment Gateways
The plugin comes equipped with built-in support for Stripe and Paypal payment gateways.
Need Authorize.net integration, as well? Then you'll need to first upgrade to Developer edition.
Integrations
Here are some of the third-party services that it easily connects with:
Amazon Web Services
MailChimp
Aweber
BluBurry
GetResponse
2. Restrict Content Pro
Why does this plugin stand high chances to be the best membership plugin for WordPress?
We can cut down all the reasons down to... 2 heavy-weighting ones:
it's conveniently simple: easy to set up and easy to use
it's ideally flexible: it comes with built-in interrogations, add-ons and pro add-ons; you're free to add exclusively those features that you need
And now, let's detail some of its key features:
Easy to use
I'll only say one thing:
It seamlessly integrates with WordPress UI...
Built-in integrations
Some of the most tempting ones are:
PayPal
MailChimp
Stripe
CSV export
email manager
MailPoet
… that other plugins would provide you with as paid add-ons.
Add-ons
You get to extend its functionality, free of charge, with specific extra features that you might need.
And I'm referring here to:
force strong passwords
download monitor
multiple email marketing integrations
Pro add-ons
If your feature needs are higher, you can always go for the professional or ultimate plan and “indulge” in some pro add-ons.
Here's just a sneak peek into the “pro add-ons menu”:
WooCommerce member discounts
restrict past content
drip content
restriction timeouts
Payment gateways
Is it Braintree, Stripe or maybe Paypal that you need to integrate with your website?
Stay assured: they all come as free add-ons...
Should I also add that Restrict Content Pro has won the reputation of a developer-friendly WordPress plugin for membership websites?
3. Ultimate Member, The Best Membership Plugin for WordPress Community-Like Websites
Disclosure:
Ultimate Member is the perfect fit for community-like websites, where you'd focus more on the social aspect of membership rather than on selling paid memberships.
For instance: it doesn't come with a built-in paid membership functionality that you could leverage.
It's perfectly true that you could go for an add-on to hook it up with WooCommerce (e.g. Um-Switcher). But wouldn't it be more straightforward to opt for another WordPress paid membership plugin then? One geared specifically at selling paid memberships?
So, back to the major strengths of this free WordPress membership plugin:
Is is a social community that you plan to build? One depending on multi-tiered membership functionality? Where each member would administer its own account?
Then Ultimate Member will make your perfect ally.
Here are some of the features that makes it perfectly suitable for “social community building” scenarios:
Content restriction
From:
enabling you to restrict the entire WordPress site
to limiting access to specific blog posts, pages or categories,
to controlling which menus to be served to each user roles
... this plugin “spoils” you with unmatched flexibility.
Still, do keep in mind that large scale content restriction, although powerful, is not its defining feature. Building communities is...
4. Paid Memberships Pro
Looking for the best membership plugin for WordPress focused on the subscription selling aspect?
Here's your winner!
Unlike Ultimate Member, Paid Membership Pro is designed to power subscription-based websites. It makes your conveniently powerful tool for... collecting payments from your members.
And, branching out from this particularity, the are features such as:
accommodating thousands of members
enabling you to put together a whole “ecosystem” of membership levels (weekly, monthly... payments)
granting access to discounts, e-learning materials, private communities on your websites to members only
supporting updates
Content restriction
Is it particular pages or posts that you want to limit access to? It's as easy as checking... the due checkboxes.
Is it entire content categories that you want to restrict? Paid Membership Pro has got you covered.
If, let's say, you need to restrict a certain widget or an individual video on a web page, feel free to use shortcode or PHP functions to narrow down your focus.
Payment gateways
Authorize.net, Paypal, CyberSource, Stripe, 2Checkout, CyberSource... What payment option do you need to integrate into your website?
Note: you can always process the membership checkout through WooCommerce instead.
Third-party Tools integration
From AffilliateWP to MailChimp, to Kissmetricts... you have a whole list of third-party services to choose from and integrate with your membership website.
Content dripping
Not in your interest to serve all your restricted content all at once to your subscribers?
Then... don't!
This plugin enables you to “drip” your valuable content based on a time schedule.
You could set up a “Series” gradually unlocking content depending on the number of days passed since a member registered on your website.
Paid Add-Ons
A bit more... needy when it comes to the specific functionality that you'd want to “inject” into your membership website?
Then, go for the paid version and unlock the 60+ add-ons available. Let me point out just a few of:
Zapier integration for automation
different email marketing services integrations
Slack notifications
email notifications
selling access to particular pages/posts as an add-on package
affiliate program integrations
5. WooCommerce Memberships
How many of the here-below checkboxes would you check?
you already have an e-commerce website
it's a feature-rich plugin that you're looking for
… one to reward your subscribers with various discounts
you're looking for a plugin that easily and seamlessly integrates with WooCommerce
If you've ticked them all, then you might want to weigh the standout features of this WordPress membership plugin for WooCommerce:
Unique options
Unlocking special discounts, granting content access upon a product purchase, limiting product viewing to members only... This plugin comes with quite a few “surprise” features that you won't find in any other of its “rivals” on this list here.
Different membership levels
You get “spoiled” with lots and lots of membership options that keep on... further multiplying if you decide to integrate with WooCommerce Subscriptions, too.
This way, you'd gain even more control over free trials, drip content, recurring payments, for instance.
Access Control
You're free to limit access to specific blog posts, pages and other content types on your website.
The END!
By now you must have realized that:
It's not “the best membership plugin for WordPress” that you need, but the most relevant one for your own membership website. For your specific requirements and feature needs.
Adriana Cacoveanu / Jan 08'2019
Here's a riddle for you: What has (at least) 9 lives besides cats? Well... the ever dying and always resurrecting PHP, of course! But joke aside: what about PHP in 2019?
Will it fade away? Will it still be relevant for building web apps, content-packed and dynamic websites? Or, does it risk (once again) to get retired due to other emerging, hard-to-resist-to technologies rivaling it?
Does “aged” mean "deprecated" in its case?
And if, so they say, PHP is not a “good-looking” language... why are we still using JavaScript then? JS frameworks don't necessarily excel when it comes to... elegance?
In other words:
“Why would you still be interested in using PHP (other than nostalgia or... pure habit) for building your websites and applications in 2019, as well?”
Here are some of the strongest reasons:
1. Some of the Leading CMSs Are Built on PHP
Just think WordPress, think Drupal, powering the most high-trafficked and content-packed websites out there. Think Joomla...
They're all PHP-based and they make the best guarantee that:
You get to use PHP in 2019 to build content-loaded websites that are conveniently easy to update. Website admins, even the less technical staff, will be empowered to easily make changes and manage their content.
Here, think of the overwhelming collection of PHP-based themes and plugins developed for WordPress only. Right at your disposal, to just grab and use for breathing life into your web projects...
Now, here's another example for you:
Think Magento, another widely used PHP-powered CMS. Website owners get to focus their resources on... boosting their sales, since they get a platform working right out of the box, instead of getting tangled up in code.
And that's just one of the strong reasons why you'd still want to use PHP next year, too.
2. It's Conveniently Easy to Update
And when it's a PHP website carrying thousands of pages that you're working on, instant updates become critical.
Being a server-side scripting language, PHP handles all updates from the server side (obviously!). The result: boosted security!
3. It's Quick and Simple to Deploy
With or without a framework, PHP in 2019 will still lead as the quickest server-side back-end programming language.
Moreover, it scales like no other, as well.
And to those doubting its scalability capabilities:
Think Wikipedia, think Facebook!
4. PHP Comes “Packed” With A Heavy Load of Libraries and Extensions
Lots and lots of them, so you can easily handle:
blogging pages
shopping carts
WebSocket server (Ratchet, ReactPHP, Swoole, which performs faster than rival Node.js itself)
And let me briefly highlight some of the key tasks that you'd be streamlining when leveraging some of these libraries that PHP spoils you with:
handling syntax
error display
code debugging
Not to mention that PHP provides you with a simple, easy to use API, ready-to-use functions for whatever web services you might need to use. And that it simplifies integration, too.
Note: take Composer, a reliable, reputed package manager, then choose any of the provided framework agnostic packages and simply incorporate them into your web project.
5. PHP in 2019 Goes Beyond Web App Development
Like it already has, actually.
You're free to:
“team it up” with .net languages via PeachPie
use it in GUI applications
use it to power your IoT projects with (particularly in edge/gateway)
6. PHP Documentation Simply... Stands Out
And this is no exaggeration, but a fact that even those who already buried PHP a few years ago would agree on.
PHP's documentation support still makes an excellent go-to resource for both newcomers and experienced PHP developers.
And here I cannot but mention the PHP document generator and all the richly documented elements such as:
hooks (actions and filters)
classes and their properties
inline comments
class method and functions
file headers
7. High Availability of Senior PHP Developers
I'm not talking here about so-called “experienced” developers, who've been working “intensively” with PHP for about ... about 2-3 years.
I'm referring to professionals with +10 years experience in leveraging PHP while working on various types of web development projects.
And this high availability of PHP experts can only translate into:
accessible and high-quality support and maintenance services (PHP website admins will never run out of options when it comes to calling an expert to come to their rescue whenever they're facing a technical hurdle)
low(er) development costs, with all those open source projects to use as valuable resources and the high availability of PHP professionals on the market
8. It Enables Developers to Build Dynamic Websites Easily
Data gets accessed and executed... dynamically with PHP. When it comes to building dynamic websites the easy way, there's still no other language rivaling it.
Furthermore, it's's built to run multiple threads/handle multitasking. To execute remarkably well on multi-core systems (unlike its “competitor”, the so very popular Node.js).
And I shall “abruptly” end here my list of top reasons why you would still use be interested in using PHP in 2019. Of course, I could go on outlining its versatility, it's rich syntax, the “shiny and new” PHP 7's significant improvements boosting its performance dramatically. Instead, I stop here.
How about you? What are your own main reasons for “stubbornly” sticking to PHP (if that's the case) when working on your web development projects next year?
RADU SIMILEANU / Dec 21'2018
What's the future of cloud computing? What are the enterprise cloud computing trends for 2019 to expect, prepare for and leverage to your advantage?
For, whether you:
are just planning to move your workloads from a data center to a cloud-native architecture
or you're already “reaping” the benefits of a multi-cloud architecture
… the question remains the same:
“From Kubernetes to serverless computing, to multi-cloud strategies, to containers, to... which will be the top influential cloud trends and patterns in 2019?”
To be honest with you, we, too, as a Drupal firm, have asked ourselves the same question...
Once you've got the answer, you can:
(properly) prepare for the challenges to come
turn them into... excellent new opportunities
Now, without any further ado, here are the 5 trends that will dominate the cloud computing industry in 2019:
1. Serverless Computing: More and More Companies “Flock” to Serverless
Serverless technology goes hand in hand with cloud-native architectures...
And the fact that its enterprise adoption will just... explode in 2019 is no news at all, right? Just think of the key features and benefits that serverless “lures” even companies like NetFlix, New York Times or Mapbox with:
high speed
reduced costs
the convenience to port their serverless apps between multiple cloud providers
the opportunity to run serverless apps both on public clouds and on private data centers
Not only that companies leveraging serverless get to “reap” all the benefits of enterprise cloud computing. But, since they get to run their apps on existing infrastructures, as well, they can modernize their legacy apps, too.
All that in addition to the benefit of streamlining the development cycles of their cloud-native apps.
What makes serverless computing “outshine” standard provisioning servers?
it's a technology that uses “functions” as a measuring unit (instead of “instances” or VM)
these pieces of code (“functions”) run automatically
… and they take over any data format and turn it into a target legacy system “in charge” with processing the response; they can also interpret those messages sent back to consuming apps through the API gateway
the burden of scaling and managing resources gets passed on to serverless providers (Google Cloud Functions, AWS Lambda, Microsoft Azure, Apache Whisk, OpenFaas)
To sum up: serverless is going to be one of the leading enterprise cloud computing trends for 2019.
accelerating the development process of cloud-native apps
“revamping” legacy apps
cutting down costs
the convenience of going serverless all while leveraging one's existing infrastructure
… are this technology's top “luring” features.
2. The Enterprise Adoption of Kubernetes Grows at Neck-Breaking Pace
The solid arguments behind this prediction?
Kubernetes is highly portable
it's highly available
it provides unmatched, granular scalability: the go-to choice for scaling containerized applications
it automates deployment
Whether they're planning to streamline their app development cycles or to rearchitect their existing IT infrastructures, large organizations are “flocking” to this open-source container orchestration system.
The interoperable, composable architecture that it provides, along with its “extreme” availability — it runs on laptops, public//hybrid private cloud, VM — and the increased use of containers turns Kubernets into one of the highly influential enterprise cloud computing trends for 2019.
One powering hybrid-cloud and multi-cloud deployments...
And speaking of containers, Kubernete's simply: convenience at its best (convenience at scale):
You're free to put together clusters of hosts running containers and then just use Kubernetes to easily manage them all. To easily “orchestrate” all your containers.
3. Cloud Data Management: One of the Influential Enterprise Cloud Computing Trends for 2019
With the trend of enterprise cloud computing architecture going up in 2019, it's only but predictable for cloud data management to become one of the hottest topics.
An efficient cloud environment (whether a multi-cloud or a hybrid cloud infrastructure) calls for:
serious planning
constant optimization
data aggregation
analyzing the stored data
In other words: with data being the key “nucleus” of any enterprise cloud computing architecture, properly managing and improving the quality of all those massive amounts of data becomes critical.
4. The Multi-Cloud Strategy: An Increasingly Compelling Pattern for Companies
Companies will “dread” getting themselves locked-in to a unique cloud service provider.
And so, the multi-cloud strategy is sure to rival the conventional “partnering with a single public cloud” approach.
Why? Hmmm, let's see... getting cloud locked-in means:
being constrained to integrate that specific public cloud environment's tools, services, APIs
getting its dependencies “injected” into your application code
being unable to future-proof your app, to update it to any new technologies that might emerge; you'd automatically “inherit” a technical debt when locked-in to a specific cloud service provider
Whereas having a robust multi-cloud architecture allows large enterprises to:
“juggle with” multiple dedicated clouds, each one with its specific functionalities and services
be cloud provider agnostic; and that can only mean more flexibility: companies are free to port their cloud architectures between different environments
leverage on interoperability; companies will be able to do application>APIs (or on-premise infrastructure ) decoupling
And “flexibility” is the key term here:
the one that's definitory for modern application development
the reason why multi-cloud is going to be one of the powerful enterprise cloud computing trends for 2019
The END!
Now, if we are to do a quick recap:
more and more companies will migrate their workloads to cloud environments; they will be refactoring their legacy apps
also, we'll be witnessing a massive migration to multi-cloud and hybrid cloud environments
technical skills required for cloud computing will be in even higher demand in 2019
RADU SIMILEANU / Dec 19'2018
And there are so many strong reasons why you'd want to duplicate a page in WordPress. Or one of your blog posts:
you wish to enable your client to make certain changes to the content before it goes live, all while still keeping the original version intact, just to compare the two
you need to clone the layout of a specific page and to further use it on a different page on your website; all this with no impact on the “source” page, needless to add
you want to “revamp” one of your WordPress pages, to give it a new design, while still keeping the original version “untouched” for future use
... and opting for a “copy/paste and save in a draft” option would only mean losing your SEO optimization, custom images, and page templates etc.
“How do I create a duplicate page or post in WordPress?” you then ask yourself.
Since WordPress doesn't “spoil” us with an out-of-the-box solution for this job. And writing custom WordPress code for triggering clones might not be on everyone's alley...
Luckily, WordPress gives us the convenience of dedicated plugins. Lots and lots of them. And there are quite a few ones perfect for this job: duplicating pages and posts.
Here are the 4 WordPress plugins that turn cloning content into a matter of... a few simple clicks:
But First: 3 Major Benefits to Being Able to Easily Duplicate a WordPress Page
A. Consistency
And this is definitely more than “a nice thing to have” on your WordPress website or blog.
Keeping consistency sitewide gets even more challenging when you're cloning page settings or layouts and move them around. Luckily, having a reliable plugin at hand:
streamlines
simplifies
… the whole cloning process. It enables you to keep your website's design consistent while making changes.
B. Shorten Development Cycle
“High efficiency” is just another word for modern development. And, as a web developer, being able to create similar websites quick enough gets critical.
Luckily, having a magic tool at hand to help you duplicate your page templates — those to be used as foundations for new websites — just gives your productivity a mega-boost.
Simply clone that initial page's layout and settings and... use it sitewide. Efficiency at its best!
C. Editing Pages/Posts on Live Websites
Now, you can just guess the benefits deriving from this... convenience:
you can choose a less “active” time of the day/day of the week and make all the needed changes right on the live site
you get to use your Git repository to make critical changes, then just sync them to your website
you get to duplicate a page in WordPress (or a custom blog post, let's say), edit it, then just replace the original version with this updated one
1. Use Duplicate Post Plugin to... (Bulk) Duplicate Pages or Posts
Why did this WordPress plugin make it to the top of the list here? Well... let's see:
not only that it turns cloning into “a child's play”, but it enables you to bulk duplicate posts, as well
and speaking of convenience: just select “Copy to a new draft”, an option placed underneath your “Publish” settings and... you'll have your clone
furthermore, it enables you to select the customization options that you'd like to add; you get to restrict “cloning” to a few user roles only and you can add your own prefix/suffix before/after the duplicated post's title
And now, here's how you leverage its functionality:
1. Just install and activate the WordPress plugin.
2. Go to the “Settings” page; for this, either click on the “Settings” tab in your WordPress Admin panel and select “Duplicate Post” from the drop-down menu or click on “Settings” right beneath your plugin's name (in your WordPress plugins list)
3. While there, choose the settings page that you'd like to clone (and further edit/customize). And you have 3 options here:
"What to copy", that lists all sort of web page elements that you may want to add to your cloned page or post.
Note: feel free to customize the duplicate page title so you can set it apart from the original page/post.
"Permissions", where you can grant permissions for cloning specific content types to certain user roles only
"Display", where you can choose the website section(s) where the link of your duplicate page should get displayed.
4. Next, go to Pages>All Pages (or to Posts>All Posts) and track down the page you wish to clone.
5. Once spotted, hove over; you should see 2 new options popping up (in addition to the standard ... ones: “Edit”, “Quick Edit”, “Trash”... ): “Clone” and “New Draft”
6. Choose “Clone” if you just want to create a duplicate of that page or post
Word of caution: if that original page/post is already published, the duplicate one will automatically go live, as well!
7. Or, choose “New Draft” if you want to make a copy and further edit it. Once you're done editing it, you can either publish it or save it and keep it as a draft.
Note: if you need to bulk duplicate posts in WordPress, just select the pages to be cloned, unfold the “Bulk Actions” drop-down menu above the list and select the “Clone” option
Another note: let's say that you've just finished writing a new blog post and you want to duplicate it. Yet, you dread having to navigate all the way to “Posts” and going through all the needed steps. To streamline things a bit, just click on “Copy to a new draft” right under your blog post's Publish settings.
Should I also add that, in order to create a duplicate page in WordPress using this plugin you could also just:
open a Preview of that post or page to be cloned
look for “Copy to a new draft” in your admin bar?
And that's it: two easy-peasy steps for creating a duplicate page or post.
2. Use Post Duplicator to Create a Duplicate Post/Page in WordPress
Here's another easy way to clone WordPress pages or blog posts.
This plugin would enable you to:
Create a duplicate of that given post or page; one having the same custom taxonomies and custom fields.
Here's how you use it:
You install and enable it (obviously!)
You select the “target” page and just click on “Duplicate Page” (or “Duplicate Post”) to create the duplicate
Easy!
3. Duplicate Page Plugin: One of the Easiest Ways to Clone a Page/Post
Don't let its name “trick” you: you can duplicate blog posts, as well, using this plugin!
Once installed, you'll find a new option under each post or page called “Duplicate This”. Use it confidently...
4. Use Duplicator Plugin to Duplicate an... Entire WordPress Site
What if your requirements go beyond duplicating a page or blog post? What if you need to clone... an entire website?
Let's say that you want to build a website similar to the one that you've recently delivered to one of your clients. Or to the very same client.
For this, you trigger this plugin's “superpower” and just... accelerate the development process. Since you'll already have a structure to build on.
5. Or Use the Page and Post Clone Plugin
Ready for another handy option for you to duplicate a page in WordPress?
The process is mostly the same:
once you've activated your plugin
hove over to the blog entry or page that you need to clone
choose the new “Clone” option showing up there
… and you'll have your duplicate page created as a draft.
The END!
These are the 4 easiest ways to create a duplicate page in WordPress. Have you already tried a different method/plugin? Sharing is caring...
RADU SIMILEANU / Dec 14'2018
A few more weeks and... “Chin-Chin: Happy New Year!”. Meanwhile, while you were making your final edits to your wish list for Santa and adding a few more lines to your New Year's resolutions list, we've been doing our homework, too. We've run our investigations and come up with our own list: one including the most influential mobile UI design trends in 2019.
Both those trends:
that have timidly stepped on the mobile app design scene this year and will just grow more powerful next year
and those that will emerge in 2019 and quickly take over the “scene”
So, here they are: the 4 major trends to look into and rush to capitalize on next year.
1. Buttonless Screens: From Niche to Norm
Mobile UI designs without buttons have been around for some time, but we somehow didn't consider this would become... mainstream, right?
Just think:
Instagram and its buttonless design that kind of forces you to rely on gestures for swiping through different stories on the page, for moving backward and/or forward
Apple, Samsung, and Google, that are advocating for edgeless, clean screens; they implicitly “force us”, mobile app designers, to drastically trim down our in-app button collections. To remove buttons completely...
all those e-commerce apps that have simplified their checkout processes by... removing the cart button; customers can just drag and drop items into their shopping carts.
Conveniently intuitive, right?
The “buttonless UI” will be one of most prominent mobile UX trends in 2019:
After the “power button & volume button & homepage single button" trio, we'll be witnessing the growth of the “buttonless screen” trend in 2019.
In other words: it's time to rethink your mobile UI/UX designs; to make them more gestures-focused. Which might be as simple as... adding animations to show the gestures that end users need to perform for carrying out specific tasks.
2. Visual and Voice Interfaces Will Work Together
“Will graphical user interfaces ever be taken over by voice user interfaces?” “ is a question on Quora.
On the contrary:
Not only that voice-assisted interfaces (VUI) won't “annihilate” the visual ones, but the 2 of them will... happily coexist starting next year.
Get ready to witness a seamless integration of the two types of UI in 2019's mobile apps!
Or, even better:
Instead of being one of the passive witnesses, how about leveraging this trend, one of the most influential mobile UI design trends in 2019?
How would these apps, supporting a cohabitation of voice and visual interfaces, look like from a user's perspective?
the mic button will become... optional; mobile app users can just utter their questions/commands and the apps will interpret them.
he/she (the user) will be able to speak commands like “Show me the cheapest option and book me...” or “Pick it up!” or “Narrate these 3 chapters to me!” and have the app read a book, book a flight or answer a call
3. Bottom Navigation: One of the Dominant Mobile UI Design Trends in 2019
Which side are you on?
Are you a top navigation or a bottom navigation “fan”?
Well, you can call yourself a “visionary” if the bottom navigation has been your top choice for some time now. It looks like it's going to be one of the prominent mobile app UX design trends in 2019.
Why? Because:
devices will have even larger screens
the single homepage button “rocks supreme” and app users got so used to the swiping gesture
“extreme” convenience is key: all the major buttons should be displayed within reach on the app's screen
And this type of navigation comes down to:
bottom sheets
swipe-up gestures
3.1. Bottom Sheets
Why will bottom sheets become app developers' top choice when it comes to displaying sub-flows?
Because they're highly flexible!
Users get to scroll both vertically, for unlocking more content, and horizontally (carousel), for swiping through similar content with no need to skip screens.
Pop-up dialogues, overflow drop-downs, hamburger side-drawers will start to fade compared to bottom sheets' “all within a swipe's reach” type of convenience.
3.2. Swipe Up Gestures
You'd swipe up to open an app drawer, then swipe up again to go back or to close the app... It's been a while since in-app swipe up gestures have started to “outshine” buttons/bottom tabs.
And they're perfectly fit for bottom navigation.
They enable you, the mobile app developer, to... keep everything“minimalistic” in your app:
the top area (content)
the bottom area (navigation)
Simple, intuitive, convenient. No wonder that this will be one of the most influential mobile UI design trends in 2019.
4. Mobile App Design for Larger Screens
You'll need to swiftly adapt your mobile UI designs to devices with increasingly large screens. They'll be the ones “dictating” how you'll design your mobile apps' interfaces in 2019.
And there are few challenges to expect, consider, and properly prepare yourself for before this trend becomes... a norm:
How will you seamlessly integrate in-app gestures into your mobile apps? “Fully” integrate them, I mean...
Losing buttons/bottom tabs will automatically enlarge the screens and leave you with more screen real estate; how will you fully leverage those enlarged screens?
How will you optimize your apps' UX and UI so that the user can rely on his/her thumb and thumb only to navigate through and perform actions within the app?
The END!
Let's recap, now! Here's your New Year's resolutions list:
"I'll design buttonless user interfaces in all my mobile apps in 2019"
"I'll somehow make voice and visual interfaces work together"
"I'll design “bottom navigation” and swipe-up gestures navigation in my next year's apps"
"I'll adjust and properly adapt my mobile app designs to fit devices with larger screens"
Photo by Gilles Lambert on Unsplash
Adriana Cacoveanu / Dec 13'2018
It's a fact: “the next generation” of web apps aren't just extremely fast, they're highly scalable, as well. Which brings us to the next question: “How do you scale a web application in Drupal?”
What tools, best practices, and latest techniques do you use for leveraging Drupal 8's scalability capabilities?
For ensuring that your custom web app will keep on scaling to:
handle sudden spikes in traffic
avoid downtime
withstand “surprise” content overloads
Well, here they come:
1. But Is Drupal Scalable? How Scalable?
Let's just say that:
Drupal's built with scalability in mind and that Drupal 8 is... extremely scalable.
It's powering some of the world's most trafficked and content-rich websites (Weather, Grammy, Princess Cruises...). Therefore, it's designed to cope with heavy infrastructures of thousand content contributors, Drupal users and site/app visitors...
And when gauging Drupal 8's scalability you need to go beyond Drupal's unmatched modularity: +30,000 free modules.
Instead, just think of:
Drupal turned into a central API
all the improvements brought to Drupal 8's scalability till this day
Drupal 8 enabling you, right out of the box, to integrate it with a wide range of third-party apps, software, and systems
RESTful API now in core!!!
… and how all that empowers you, the Drupal web app developer, to easily serve JSON or HTML code.
And Drupal 8's unparalleled scalability comes down to this:
Empowering developers to create content and send it to any third-party app via JSON.
Of course, its out-of-the-box scalability can get further optimized via:
an established set of best practices
additional support from various tools and technologies
2. How to Scale a Web Application in Drupal: Server Scaling Techniques
Let's say that... “it's time”:
You've applied all the optimization techniques on your web application so that it should seamlessly “accommodate” the increasing influxes of traffic and content load. And still, its server hardware has started to show its limitations.
So, it's time to scale your server hardware. And you have 2 options at hand:
2.1. You scale up your server vertically
This is the handiest method, so to say. That “emergency” technique to go for when:
you don't have time to install a caching module
there's no one in your team with the needed expertise for adding more servers
So, what do you do? You increase your existing server size.
You boost its performance by adding more resources.
This way, it could keep up with all those new traffic challenges calling for more memory, more CPU cores...
Word of caution: there' no such thing as “sky is the limit” here; you'll still reach the limit of the hardware at some point when you scale up a web app in Drupal using this method.
2.2. You scale up your server horizontally
The second best practice for scaling up your server is a bit more complex.
And it involves 2 approaches, actually:
a. You separate your database from your Drupal web app.
Basically, your database will have its own server and thus you get to split the load in 2. Then, you can vertically scale each one of the 2 servers.
b. You add multiple servers and distribute the load between them.
This is the most complex way to scale a web app in Drupal.
Just think about it:
How will the servers included in this whole “ecosystem” “know” which users to take over?
It goes without saying that you'll need a load balancer for properly “splitting up” the traffic load. And a database server, as well.
See? It already gets more complex compared to the other 2 above-mentioned server scaling techniques.
Nevertheless, this is the method which, when done properly, will reduce dramatically the load that each server must handle.
3. “Juggling with” Multiple App Servers for Drupal
Let's say that you've opted for the last method of scaling up your server, so:
Now you find yourself facing the challenge of handling multiple app servers.
How will you deploy code to each of them simultaneously? That is the biggest question when you scale a web app in Drupal.
The best practice is to keep all your servers on the same local network.
Having one single data center will speed up the data transfer compared to having it traveling through the internet.
The END! This how you can leverage Drupal 8's scalability capabilities and easily “adjust” your web app to withstand unexpected surges of traffic.
Have you tried other techniques and best practices?
RADU SIMILEANU / Dec 10'2018
“Will WebAssembly replace JavaScript by 20XX?” This is one of those “sensationalizing” news of the moment, right? But still: if we were to run a WebAssembly vs JavaScript performance comparison, which one would be the winner?
And would we have the same winner for different implementations?
We're all looking forward to the future of web development now that WebAssembly has come around to “tempt” us with near-native performance to the browser.
Yet, most of us still write code in JavaScript, despite the predictions of its “imminent extinction”. And there still are use cases where JS outperforms WASM.
So, let's find out:
exactly when JavaScript performs better that WebAssembly
how WebAssembly works and what makes it such a great fit for the web
whether WASM is, indeed, faster than JavaScript and when precisely
1. The Rise of WebAssembly: The First Alternative to JS for Web Development
Just think about it:
We've been having JavaScript as the one and only programming language to be used natively in web browsers and then... WebAssembly stepped in.
“But what is WebAssembly more precisely?” Is it a really an assembly language, like its name suggests? Well, here's a hopefully clear enough definition for you to ponder on:
WASM is a new type of code — with a small-sized fast binary format — for modern browsers. A “compile target”, if you wish.
One that you get to use for compiling any programming language (JS here included).
And NO:
It is not an assembly language, it's not built for a specific machine.
And no, you don't write code in WebAssembly: you use it to compile any given language.
What it does is compile higher level languages and then run those web apps in the browser a lot faster than JavaScript (due to its lightweight, low-level binary format, remember?)
2. WebAssembly vs JavaScript: Essential Differences
Now that we've seen what WebAssembly is and what it is not, let me briefly outline the key features that set our 2 “contestants” apart:
JavaScript:
it's dynamically typed
it's highly flexible
it's delivered in human-readable code
WebAssembly:
it's just fast(er)
it's delivered via a small-sized binary format
it's strongly typed
3. How Does WebAssembly Work? What's Behind Its “Near-Native Performance”?
“Why is WebAssembly faster? How does it work?”
Here's WASM in action:
you, the developer, write the code for your web app (in any programming language)
next, you compile it into WebAssembly bytecode
then, this code is run in the web browser, where it turns into native machine code and... executed.
And it gets loaded, parsed, and executed way faster compared to JavaScript.
Why?
Because its binaries are lighter than the textual JS files and, therefore, faster to decode...
4. 3 Performance-Intensive Use Cases for WebAssembly
Before I run an “enlightening” WebAssembly vs JavaScript performance comparison, let me highlight the use cases where WASM “shines supreme” as a web performance “booster.
First of all, when you say “common uses cases for WebAssembly”, think about all those performance-critical cases:
video editing
3D rendering
video games
music streaming
encryption
image recognition
WebAssembly's built as a target for writing in-browser software.
In short: think of all those use cases where JavaScript would usually struggle to reach the needed level of performance.
And now, let's get specific:
porting a desktop app to the web: WebAssembly supports those scenarios that go beyond GUI delivered via HTML
high-performance code already existing in a targetable language: deploy it as a WebAssembly module; here, you could keep the less performance-critical elements in JavaScript
high-performance code to be written from the ground up: where, obviously, asm.js is not a suitable choice
In short:
with WebAssembly there's only one step to complete — the compilation step — for running your app in any browser; portability is one of its main strengths
if top performance's critical for your web app, you might want to consider WebAssembly as an alternative to JavaScript
5. WebAssembly vs JavaScript: Performance Comparison
Now that we've settled that WebAssembly is usually faster than JS, let's:
find out when precisely. When does WASM outperform JS?
dig some more into the load of features that enable WebAssembly to perform better
discover all those use cases where JS can't be “dethroned”
5.1. WebAssembly's binaries are faster to download and to execute
“Why?” Because they're smaller than JS's textual files.
By comparison, JavaScript would need to:
parse
compile
optimize
… the code before executing it in the browser.
Although it's:
easy to write
doesn't need to get compiled ahead (being a dynamically typed language)
… JavaScript still needs more time to do all the needed work before executing the code.
5.2. With WebAssembly, memory gets managed manually
In other words: there's no garbage pile-up to impact performance.
5.3. WebAssembly reduces the initial load time
Any WebAssembly vs JavaScript performance analysis would point out that WASM comes with some significant time-parsing improvements.
Here's why it decodes much faster than JavaScript:
it has a binary format
it's statically typed (it doesn't need to “guess” what types should be used)
it performs its optimization work in advance while compiling the source code
By comparison, JavaScript would need to:
first turn text into a data structure (or i.e “abstract syntax tree” or AST)
then, turn that AST into binary format
Just think of the JS-heavy web apps striving to parse all that data in due time.
WebAssembly is proven to score 3 times better at load time.
5.4. JavaScript performs better on smaller array sizes
In a WebAssembly vs JavaScript “duel” WASM would always perform better on larger array sizes, powering extremely fast web applications.
5.5. WebAssmebly files load faster once in cache
The moment they get stored in the cache of the browser, WASM files are easier to load, compared to JS's source code.
5.6. JavaScript often performs better during execution
Once fully optimized, WebAssembly is slower when executing code in the browser.
And this is partly (some) browsers' “fault”:
On Microsoft edge, for instance, WebAssembly executes terribly slowly.
5.7. WebAssembly doesn't really “outshine” JS in terms of run-time performance
6. What Next? Will WebAssembly Become More Than Just a Web-Based Solution?
Well, that's the goal, at least:
To go beyond its common use in web browsers.
To upgrade it from a web-based solution to the go-to option for:
desktop apps
mobile apps
other execution environments
Moreover, one of the “forecasts” is that we'll no longer talk about a “WebAssembly vs JavaScript” rivalry in the future, but about a cohabitation of the 2:
You'll still be able to write your code in JavaScript all while leveraging the speed that WebAsssembly brings to the table: improved frameworks and libraries.
“Will WebAssembly replace JavaScript by 20XX?”
I'm certain that it won't: JS is still a convenient and fast choice for too many tasks.
Yet, we will witness a successful collaboration of the 2.
Photo by Chris Liverani on Unsplash.
Silviu Serdaru / Dec 07'2018
“AI will replace software developers by 20XX...” Does this kind of alarming forecast sound (too) familiar to you? How do you stay relevant in the workforce of the future? What are the essential skills in the age of AI to hone or to develop?
That is the question...
Now, what we do know is that:
you definitely need to (re)adapt to remain competitive in the context of automation processes, a highly automated workplace
… and software-driven machines that can now process unstructured data meaningfully
there are skills that can't be automated: soft skills become increasingly valuable
more and more businesses will be interested in bringing “fusion skills”, a mix of human and machine talents, into their workplace
In other words: as we teach machines to learn, we, too, need to start learning from them in order to remain relevant and competitive in the workforce of the future. It's definitely not a “one-way street”.
1. Understanding AI and Its Disruptive Power
What do you think of when you say “artificial intelligence”?
shopping recommendation engines?
chatbots?
voice/image recognition engines?
These are the most common applications of AI, right?
And they're all powered by... data:
There are massive amounts of raw data all around us, waiting to be processed... meaningfully. Data that's powering any organizational decision these days.
Now, here's how AI turns all this data into actionable knowledge:
first, it's the big data techniques that unlock the power of the unprocessed data
next, there are the machine learning algorithms that enable computers to assimilate all these huge volumes of data
and finally, there are the deep learning and neural network patterns that add “meaning” to the process up to the point of... predicting human behavior
“And how precisely does AI impact my job?”
The immediate impacts of Robotics Process Automation on your job as a software developer will be:
disrupting all those repetitive, mundane processes and operations (and thus enhancing your job)
providing you with more... time
“Time” that you could invest in honing all those skills that can't be automated: soft skills (or people skills), the ability to engage in creative researches etc.
2. Thriving in the Age of Automation: Upskill Yourself
There's no denying it:
In order to stay relevant and competitive in the age of AI you need to skill up. Constantly...
You need to make learning an integral part of your daily work as a software developer.
And thank God, there's a whole plethora of:
platforms for open online courses
AI incubators and university labs (Carnegie Mellon or MIT)
competency-based training tools
open educational resources (EdTech)
… for you to choose from.
Go for bite-sized upskilling sessions and turn it into a continuous process!
3. Skills in the Age of AI that Can't Be Automated
And this is your trump card in this “human meets machine” or “AI threatening to replace developers” type of debate:
Soft skills become extremely valuable in the age of automation because... they can't be automated.
What skills I'm referring to here?
creativity
critical and innovative thinking
collaborating skills
social skills
empathy
adaptability
In short: those type of skills that are outside the purview of rigid algorithms.
Hone your “people skills” to thrive in a workplace based more and more on collaboration. And on crafting authentic human experiences.
Perfect your creativity and critical thinking to generate out-of-the-box solutions to common problems.
4. Develop These 5 “Fusion” Skills
"Fusion skills” are the must-have skills in the age of AI.
I'm talking here about the kind of abilities that result from human & machine interactions turned into a continuous collaboration, such as:
4.1. Intelligent Interrogation
Develop the skill of asking machines the “right” questions.
It will become a crucial one since, as human, you can't predict interactions between complex layers of data working independently. You cannot probe overly complex systems...
4.2. Bot-Based Empowerment
Instead of constantly fearing it and fighting it back:
Embrace the power of AI bots.
Let them empower you to:
boost your career as a software developer
become more productive (they're taking the mundane operations off your back, remember)
extend your competencies
4.3. Judgment Integration
One of the truly powerful skills in the age of AI is anticipating when a machine can't make a decision. Due to lack of ethical context, let's say.
It's then that you can intervene and provide the needed input.
4.4. Reciprocal apprenticing
As already stated here:
The learning process is no longer a “one-way street”. You, too, need to learn from the AI agents integrated into your workplace, not just the other way around.
It means that you'll need to:
develop all those new skills needed for performing tasks in collaboration with machines
learn how to successfully carry out AI-enhanced processes
4.5. Relentless Re-Imagining
Keep honing — or developing it if you have none — the skills responsible for reimagining the status quo.
Dare to re-think how AI can improve business models, organizational processes and overall your entire work as a software developer.
Once you've managed that, you'll be ready to... adapt yourself to all those imminent changes. To start perfecting all those relevant skills in the age of AI.
5. Aspire to Be an Expert-Generalist Software Developer
Organizations will be “hunting” expert-generalists, so make sure you're prepared to... stand out.
Not just as a specialist, but as a well-rounded software developer:
with expertise in multiple areas
who's an excellent communicator
who's always the first to volunteer for challenging projects
who's curious, highly trainable and extremely adaptable
In other words: to stay competitive you'll need to go from having in-depth expertise in one area, to... having a broad breadth of knowledge and multiple expertise areas.
6. The Workplace of the Future: AI + HI (Human Intelligence)
In the end, perfecting/developing the crucial skills in the age of AI comes down to this common sense criterion:
Invest in honing those skills that enable you, as a software developer, to collaborate with different AI agents.
The workforce of the future will not be focused exclusively on human intelligence (not anymore) or on AI, but on... collaborative intelligence.
In other words: let AI empower you in your work, perfect those skills that machines can't automate and... learn to collaborate with AI systems.
Photo by Franck V. on Unsplash.
Adriana Cacoveanu / Dec 05'2018
Which AI software development tools, frameworks, libraries, and other technologies should you add to your toolbox?
And the number of emerging AI tech these days sure is... overwhelming!
Which one(s) the perfect fit for your own machine learning project/model/problem? Which one's equipped with precisely those features that you need for a fully functioning AI algorithm?
To lend you a hand, we've made a “drastic” sorting out and narrowed the high amount of AI software available to a shortlist of... 8.
The 8 best AI technologies to consider “turbocharging” your ML project with:
1. Infosys Nia
A knowledge-based AI platform to go with if your AI-powered project's goal is to:
gain in-depth insights into customer behavior
forecast revenues
reduce financial transaction frauds
optimize asset efficiency
streamline how your team manages customer inquiries
"And how does it work?"
"What does it do, more precisely?"
It collects organizational data on the legacy systems, the people and the processes involved and “piles it up” into a self-learning knowledge base.
One that developers and data analysts in your team can leverage to create high-performing, scalable ML models.
And all that even if they don't have data science expertise, thanks to the platform's easy-to-use ML workbench.
Key features:
extensibility: for data preparation, machine learning methods, visualizations
self-service provisioning: elastic cloud deployments
GUI-based features: enabling your AI software development team to build accurate ML models
integrated enterprise framework: for data preparation, reports, deployment, and modeling
streaming fast predictions: Infosys Nia Prediction Server
2. Deeplearning4j
The second — yet not “the second best” — AI software development tool in our list is an:
open-source
distributed
customizable at scale
… deep-learning library written for Scala and Java.
One that Clojure programmers, too, using Hadoop and other file systems can use for building their deep neural networks.
A library designed as a plug-and-play AI solution for fast prototyping.
Key features:
it can be used in business environments on distributed CPUs and GPUs
tailored to perfectly fit a micro-service architecture
GPU support for scaling on AWS
Python, Java, and ScalaAPIs
it scales on Hadoop
it can import neural net models from other frameworks — Caffe, TensorFlow, Theano — via Keras
it comes with a cross-team toolkit for DevOps, data scientists, data engineers
3. Torch
An open source machine learning library & a Lua-based script language & a scientific computing framework.
Why/how has it “earned” its place on our shortlist here?
first of all, it provides a “heavy load” of algorithms of deep machine learning
the Facebook AI Research Group, the Idiap Research Institute, IBM and Yandex are just some of the heavy-weighting names using it
it's built to “fuel” machine learning projects with both speed and flexibility, without adding an unnecessary overhead
Key features:
linear algebra routines; and it supports plenty of them: for indexing, type-casting, cloning, slicing, sharing storage etc.
N-dimensional arrays
efficient GPU support
numeric optimization routines
it's embeddable, with ports for Android and iOS backends
great interface to C (via LuaJIT)
4. Tensorflow, One of the Most Popular AI Software Development Tools
A Google-powered open-source software library for machine learning projects. One that's conveniently easy to use across a wide range of platforms.
You get to use it with:
Java
Python
Go
C++
Rust
JavaScript
As a new user, you'd be joining the high league of all those big names that are currently using this AI software development technology in their ML-enabled projects: Uber, Intel, Twitter, eBay...
“And how does it work?”
Basically, what it does is that it provides you with a library storing numerical computation that uses data flowgraphs.
In short: you'd be building your neural networks using flowgraphs:
the nodes in the graphs stand for the math operations
the graph edges represent the tensors (multidimensional arrays of data) communicating between them
It's this flowgraphs-based structure that enables developers to deploy deep learning frameworks over several central processing units (CPUs) on tablet devices, mobile, and desktop.
But probably one of TensorFlow's biggest strengths and the reason for its wide adoption is its documentation:
It provides plenty of support for newcomers (those new to Python here included: from tutorials to detailed documentation, to online resources...
Another interesting feature is given by its multiple APIs:
the lowest level API: gives your complete programming control
the higher level API: makes repetitive tasks more consistent and easier to carry out for different users
Top TensorFlow-powered Apps:
RankBrain: deployment of deep neural nets on a large-scale basis for search ranking on Google.com
Massively Multitask for Drug Discovery: a deep neural network model for detecting favorable drug candidates
On-Device Computer Vision for OCR: computer vision model that performs optical character recognition for real-time translations
5. OpeNN
The library that you should go with if your AI software development team is made of devs with rich experience in implementing neural networks.
OpenNN (Open Neural Networks Library) is a C++ programming library designed to learn from both:
mathematical models
and datasets
Note: Neural Designer, a predictive analytics software that creates visual content enhancing the interpretation of data entries — e.g. tables and graphs — is OpenNN-powered.
Key features:
it provides plenty of support — documentation, tutorials — for helping users get into neural networks, even if it's built for developers with a solid AI background
it implements data mining methods by bundling multiple functions
bundles of functions that can get embedded into other software tools via API (thus enabling and streamlining the interaction between these software tools and the predictive analytics tasks)
it's a high performant neural network library: high processing speed, great memory management (since it's built in C++) and CPU parallelization
Datasets:
time series prediction
pattern recognition
function regression
Mathematical Models:
optimal shape design
optimal control
Datasets and Mathematical Models:
inverse problems
6. Apache SystemML
An IBM-powered machine learning technology.
Or, if we are to detail this short definition a bit:
It's a scalable, flexible in-memory data processing framework providing a huge database of algotihms focused on: clustering, classification, regression, collaborative filtering.
Key Features:
automatic optimization based on both cluster and data characteristics (scalability & efficiency)
algorithm customization via Python-like and R-like languages
it can be run on top of Apache Spark, due to its great scalability capabilities
multiple execution modes: Standalone, Spark MLContext, Hadoop Batch, JMLC (Java Machine Learning Connector)
7. Caffe
A deep learning framework written in C++, with a Python interface built around 3 main features:
speed
modularity
expressiveness
Speaking of the latter, this is an AI software development tool that provides developers with an automatic inspection tool based on imaging.
If your machine learning project includes computer vision-related tasks, Caffe (Convolutional Architecture for Fast Feature Embedding) makes a great, robust choice.
Key features:
high performance
extensible code, that enables active development
expressive architecture
an active community constantly improving it
8. Apache Mahout
How important is scalability for your machine learning app project?
If “critical” is the word you'd use, then Apache Mahout is the AI software development tool for your project.
It's designed with scalability in mind and as a tool empowering data scientists, mathematicians, statisticians to implement their own algorithms quick and easy.
Key features:
provides pre-built algorithms for Apache Flink, Apache Spark, H20
support for various distributed back-ends (Apache Spark here included)
comes packed with modular native solvers for GPU, CPU, CUDA acceleration
Matrix and vector libraries
The END!
These are the top 8 AI software development tools to narrow down your options to.
To evaluate first, putting them against:
your project's goals
your team's experience with machine learning algorithms
... and to determine whether they're the perfect fit.
Adriana Cacoveanu / Nov 21'2018