The Top Reasons Why Your Business Needs A Responsive Website Design

, ,

The mobile takeover of online surfing is growing rapidly each year.  Consumers now expect their online experience to be consistent no matter what device they are on.

Have you ever tried accessing a website from your mobile device only to find that it is slow to load and difficult to read? If so, this means that you have landed on the site of a business that has not yet adapted responsive website design. Responsive website design refers to a website designed to adapt to any device a visitor is using. It is a single website that intelligently adapts to the screen the visitor is on without compromising functionality or aesthetics. With the increasing amount of Internet traffic coming from mobile devices, it has become clear that responsive design is no longer a trend, but a must for any website. Businesses that have not designed their websites with mobile users in mind are set to fall behind the pack but fortunately, responsive website design is an easy solution.

Is your website responsive? If not, what is holding you back?  What are the top reasons why your business should hop on the responsive website design train? Marketpath outlines the following 8 reasons in the Infographic below:

  1. Mobile usage is on the rise.
  2. Shopping on mobile devices is steadily growing.
  3. Social media increases mobile visitors.
  4. Responsive sites improve SEO rankings.
  5. Responsive designs adapt to multiple sizes.
  6. On site is easier to manage and increase R.O.I.
  7. Responsive sites provide a better user experience.
  8. A better bathroom experience. (Say what?)

Responsive Design

Portable Services and Liferay


Applications evolve. Every developer realizes this fact after a few years of writing code. The trick is to write applications in such a way that there is always room for evolution. While the necessity for code refactor is sometimes inevitable due to several different reasons, applications that have been designed following a few well-known principles are less likely to be completely re-written due to requirement and architecture change.

Portability is the principle that motivates this text. There are definitions of software portability that can be found in different sources, but let us keep it simple and just say that an application is portable if it can be moved from one infrastructure to another with minimal change. For example, a portable rich client application can be converted to a web application by changing the user interface only. A portable web application should be moved from one web server to another with no change to code. To make it possible, the application should not be dependent on the underlying infrastructure code. If that is inevitable, the infrastructure-dependent code should not be allowed to spread across the application; it should be contained behind, say, an interface.

Applications start small, and they should if one would like to minimize risks and deliver a minimum viable product as soon as possible. When designing such applications, architects frequently refer to the the now classic three-tiered model: a front-end tier that contains the user interface code, a back-end application tier that contains the business logic, and a database tier that manages the application’s data. The back-end tier is frequently designed as a three-layered application, with a service façade to communicate with the user interface, a business service layer and a data access layer to interface with the database tier. This model works well when designed properly and, if the tiers and layers are respected, they may be ported to a richer environment as the application grows larger.

With success comes opportunity. A partnership with a third-party service provider may emerge from all the traffic drawn to our application. For instance, someone representing a large company may ask us, “how would you like to see your content on the screens of all subway stations in the city?” Wouldn’t that be sweet? However, there is catch: our partner has its own set of services that need to be integrated with our application. A precedent is set as yet another interested partner is brought in and they also have their own services. Now our well designed application has to communicate with not only its database, but also these inumerous services. What now?

Instead of reaching out to them directly, an integration tier is adopted. All partners communicate with each other through this tier and never directly. The integration tier in turn calls the services exposed by each provider. On the other hand, each service is unique across the environment and is unaware of any other service. A Service Oriented Architecture (SOA) solution is born. And how does SOA help our solution? Through scalability. But scalability is not the word of the day; portability is. So we will leave SOA alone for now.

Let us go back to the beginning and use a more concrete scenario. This time we are designing a Liferay Portal-based application where content, websites, pages and users are maintained. These features are provided out-of-the-box; however, requirements often mandate that they have extra information. On top of that, features not supported by the portal may be requested. Therefore a few extra services are added to the project.

Application developers sometimes regard Liferay as not only a portal and portlet container, but also as a platform, almost an Enterprise Application Server. That is completely understandable. After all, Liferay allows developers to use its security layer, make services join its transactional context, create configurable data sources and more. The motivation for leveraging such infrastructure has already been mentioned here: applications start small, and the facilities offered seem very attractive. The portal even provides the Control Panel as a user interface for many out-of-the-box and custom features. So why not use Liferay as a launching pad?

Liferay recommends the use of its Service Builder to write services deployed in a Liferay environment. The Service Builder is very useful, easy to use and well described in the Developer Guide, but it has a downside. Anyone who has used it probably noticed the dependencies to Liferay code, meaning that custom services are doomed to be only deployable in a Liferay environment. And that is not very portable (this is not entirely true but the code remains dependent on Liferay libraries nevertheless). Liferay-dependent services are okay in a SOA environment because what stays deployed in the portal is only portal-related code such as website and page management. Non-related services are deployed somewhere else. But in our illustrative example we are not there just yet; we are still designing a starter application and our fictitious budget does not support additional infrastructure.

Building our solution, while looking ahead at opportunities for growth beyond the Portal, requires a few techniques, which are illustrated here with an example. Regardless of building the application as a set of portlets or a Javascript front-end communicating with a JSON over REST back-end, the architect has decided to design our application as a set of services.

Services are often built to maintain an entity that is defined by the application domain. That means, if our application defines a user entity and its attributes (name, email, address, phone, roles), there should be a service responsible for maintaining these user attributes. Basic operations are often referred to as Create, Retrieve, Update and Delete (CRUD).

A typical service is designed as a three-layered module. It has a service façade layer which can be either a Struts action, a Spring controller, a JSF backing bean or a RESTful web service. The façade invokes the business service layer which contains the business rules. The service layer persists data by either invoking the data access layer, if it is stored locally, or by invoking a service provider interface to communicate with the data host. The whole service module is transactional. If the service only retrieves data and presents it to the client, then the transaction is marked as read-only. It is also secured by the architect’s framework of choice. Services are then packaged as regular Liferay plugins.

The important aspect here is to keep the service code decoupled from the underlying infrastructure. The first thing to keep in mind is to package it as libraries and configure the plugin to import them. Second, these libraries should not have any dependency on Liferay code, even if the application uses out-of-the-box features such as workflow. If that is the case, then wrap the feature invocation with a service provider interface and write the implementation in a separate, Liferay-dependent library.

Our architect came across a few concerns related to infrastructure while designing the application. Fortunately, there are a few tools available that minimize development or make it easier to do. The following aspects were considered. I will only enumerate the concepts behind them and not go into details as they are all described in the Developer Guide, unless stated otherwise:

  • Security: Register custom entities as Liferay resources by configuring resource-action files. The Control Panel offers a user interface to define permissions on these entities. Most security frameworks validated by the industry offer interfaces for permission evaluation. Provide one that invokes Liferay security services.
  • Workflow: Register custom Workflow Handlers. The Control Panel offers a user interface to configure workflow definitions to be applied on these entities. Wrap the workflow engine invocations in a service provider interface to facilitate migration.
  • Transaction: Register a transaction interceptor in an advice chain configured by a service bean auto-proxy creator, defined in the plugin’s Spring context (see kaleo-web source code as an example). Make sure that the chosen transaction attribute source, such as a Transactional annotation, is Liferay-independent. The Spring annotation is recommended.
  • Liferay out-of-the-box feature maintenance requires synchronization with custom feature: Use service wrappers.
  • Custom feature maintenance requires synchronization with Liferay feature: Use Aspect Oriented Programming (AOP) advices. Write Liferay service calls in a separate, Liferay-dependent library.
  • Custom feature is fundamentally related to the Portal and is not expected to change in the foreseeable future: Use Service Builder. Make sure services not dependent on Liferay do not reference Service Builder-generated code.
  • Custom feature extends existing out-of-the-box feature (example, new page and website attributes): Use Expando Bridge.

I will cover the topics above in more detail in the near future, always from a perspective that takes portability into account.

Applying these techniques will most certainly help scaling solutions to a larger, more diverse environment. While Liferay offers an excellent starting point for small applications, the time may come when most services need to be transferred to external application servers and inter-communication becomes handled by an integration tier such as a service bus. Keeping application and Liferay code decoupled will ease the transition and minimize development time and cost.


The Business Case for Liferay

How Advisors Can Market To The Millennial Generation: Part 1

, , ,

A Millennial weighing in on how to market to Millennials.

What, exactly, is the Millennial generation?

Millennials (also known as the Millennial Generation or Generation Y) are the demographic cohort of individuals born from the early 1980s to the early 2000s. There are more than 80 million of them in the US alone, making their generation larger than Baby Boomers and 20 percent larger than Generation X. Based on research conducted by Millennial Marketing, we know the following about this generation:

  • Millennials include some of the earliest digital natives.
  • Millennials are interested in participating in your marketing.
  • Millennials are known as content creators and users.
  • Millennials are ‘’hooked’’ on social media.
  • Millennials grew up in a socially networked world.
  • Millennials have an estimated purchasing power of between $125 billion to $890 billion

Millennials As the Young Investor

Young and potentially wealthy millennials can be an extremely profitable segment for Advisors and present an excellent opportunity for Advisors to expand their client base. Ironically, they also seem to be a large segment of the population largely overlooked by financial firms. Many Advisors are business people following the money as they seek higher fees and more commissions. However, any Advisor building a business for the long term should find solid opportunity in the millennial group. Advisors can build a relationship with them as they continue to grow and aspire to be high-net-worth retirees someday.   According to Time, millennials are saving more now than boomers did at their age. They know that they must manage their own financial future and want someone to guide them in a way that makes sense to them.

I am, in fact, a Millennial. I rely on very specific marketing avenues for information in order to make my decisions.  So, how should Advisors market to me? In part 2 of this series, I will look at the most effective ways Advisors can reach millennials in their marketing efforts. Hint: Content is King.

But first, let’s take a look at Millennial’s buying and browsing habits in this Infographic courtesy of AdWeek. One common theme is that Millennial’s expect technology to work and will go elsewhere if it doesn’t (hint: importance of mobile optimized sites, which we will cover in part 2).  So, how can you reach the Millennial generation? In one word……online. 

How to Market to Millennials


After perusing this Infographic, was there anything that was surprising to you?


How to Drive Sales Using the Customer Buyer Journey

Join Veriday at the upcoming TechLeaders Conference!

, ,

Veriday is excited to be sponsoring this year’s Financial Services Management Technology Conference in Irving, Texas. The conference will take place from March 23rd-25th at The Omni Mandalay Hotel at Las Colinas.

The TechLeaders Conference is one of the only conferences to showcase the latest and greatest financial services technology innovations. TechLeaders is focused on one deliverable—introducing financial services management to business-changing technology solutions. With no conflicting agendas addressing investment products, or compliance updates, attendees can focus on discovering new ways to help grow and streamline their businesses.

How TechLeaders is different:

  • A platform to launch the latest B/D technology, with instant, onsite reaction.
  • A forum for developing and sharing ideas and strategies with those who are in the field, every day.
  • An opportunity to speak directly with developers in open conversations about what really matters.

We invite you to connect with us and visit our Digital Agent booth to learn more about our innovative digital marketing platform developed to solve Advisor and Enterprise branding and compliance challenges.

About TechLeaders

TechLeaders, the annual broker-dealer technology conference —unlike any other event—has an agenda dedicated only to presenting the technology solutions that best serve the needs of the financial services community—Broker/Dealers, in particular. The conference is designed to give attendees and sponsors exposure to the technology vendors who are solving the problems that Broker/Dealers and their Representatives are facing every day. TechLeaders is supported by discussion groups, online user forums, and direct access to the technology vendors creating new solutions in direct response to user need.

How to Troubleshoot 3 Common Jersey Exceptions

, ,

When building a web application, web services are an intrinsic component; without web services to supply data to the browser, the application is very limited in delivering value to the user.

Web applications have come a long way from the days of writing XMLHttpRequest objects from scratch and configuring basic Servlets to respond to the requests – there are many frameworks available that can simplify the web service interaction and save precious development time.

The Digital Agent tech stack includes Backbone.js in the front-end and the Jersey module supplied by the Spring Framework in the back-end. Together these two frameworks make implementing web services a breeze, but there are a few common exceptions that can be frustrating if you’re new to the frameworks and don’t know what they mean (or how to resolve them).

When developing with and debugging Jersey, you may have come across these exceptions (these are all HTTP 500 responses). I’ll use a simple ‘User’ web service to illustrate:

Exception 1: NullPointerException

  • @Controller annotation missing

From what I understand, for Spring to allow Jersey to handle requests to a given URL and utilize service-level classes, the ‘@Controller’ annotation must be present in the list of annotations immediately before the class declaration:

public class UserWebService

If this annotation isn’t present, Spring isn’t aware of how to properly handle the request using the declared services. My first experience with this exception was writing the web service class from scratch, instead of ‘smartly reusing’ another working web service class.

Exception 2: Runtime Exception – com.sun.jersey.api.NotFoundException: null for uri: http://localhost:8080/delegate/services/user

  • @Path of web service class missing or web service class not deployed

If you’re just created a new web service and are anxious to see it interact with the front-end of the application, you may run into this exception…because you either missed the @Path annotation or didn’t deploy the most up-to-date web service classes. The class declaration now looks like this:

public class UserWebService

The end result is the same – the front-end makes a request to a URI that Jersey isn’t aware of. Check that the necessary annotation is present and deploy those JAR files!

Exception 3: Runtime Exception –

  • Terminating Rule – @Path of web service class satisfied, but @Path of method not satisfied

This exception can surface when you are adding endpoints to an existing (and working) web service and fail to supply all of the path parameters, such as the ID of a resource.

public UserDto getUserById(@PathParam("id") long id)

The root cause is the @Path annotation of a method not being satisfied, in the case of a User web service, a ‘get by ID’ endpoint would require the ID of the user in question – if it’s not supplied (either due to user input or mis-use of a framework), this exception will be thrown.

Bonus! If you see a 404 response from your web service request, the fault is not that of the back-end. Check the URL that your front-end framework is making a request to, chances are it’s incorrect – either a missing leading ‘/’, or a typo in the path parameters.

At the end of the day, despite a few cryptic exceptions, these frameworks will drastically improve development times for web application projects. If (and when) you encounter an exception, it’s a huge time saver if you or someone on your team knows what the root cause is, and can translate the stack trace to plain English for you! Hopefully I’ve provided some human-readable assistance for you and these tips help you out!

The Business Case for Liferay

6 Facts You Shouldn’t Leave Out of Your Advisor Biography


At Digital Agent, we work with hundreds of Advisors to help them establish an effective and engaging online presence. Describing yourself or your brand in a way that really sells can be a daunting task. It is your ‘’About Us’’ page that introduces yourself to your website visitors, tells them what you do and builds rapport that will hopefully turn them into a client.

You don’t just want to be a name and a job title. Use your biography page to establish your credentials, showcase your expertise, and showcase some of your personality.  You want to give prospects enough information to feel comfortable choosing you as an Advisor. When it comes to composing your Advisor biography, our team suggests including the following 6 points:

  1. Catalogue the number of years you’ve been in the business. Ex. “John Pierre has over XX years of experience in the financial services and insurance industries in the province/state of _____.”
  2. Highlight any clubs or committees you head or are a member of.
  3. List your designations and more importantly, describe what each designation covers and why your clients and prospects should value working with an Advisor that has them.
  4. Talk about any charitable organizations you work with or consult within.
  5. Describe where you grew up and what College you studied at.
  6. Lastly, tell your audience about your family and what you like to do for fun when you’re not in the office.

Your ‘’About Us’’ page makes your online business more human. When you add expertise and capabilities, enter new markets, join a new charity, club or committee; don’t forget to update your About Us page. Make sure your page always matches what you would say if a client were to ask you about your practice today. And remember, do no hesitate to be original and highlight your personality. This page helps to give a face and story to your business, and differentiates you from your competitors.



4 Keys to The Practice of Content Marketing

, , ,

In a recent webinar I delivered, I briefly touched on the 4 keys that we use at Digital Agent for content marketing that helps balance time and investments to ensure we create positive marketing results! Here they are again in case you missed our webinar:

Balance Content Creation and Curation

Did you know that original authored content statistically has a HIGHER ROI? According to the Custom Content Council, 2/3 of consumers say that information provided through custom media helps them make better decisions and more than half of consumers are willing to BUY from companies that PROVIDE custom media! Spending too much time curating content and sharing articles with your audience and not enough time generating your own content at a regular tempo is having adverse affects on your marketing. Simply being visible on social media by curating and sharing third party content can impact the results of your efforts. Why? Well, in short, you’re directing your audience’s traffic to other people’s thought leadership content. While you may be demonstrating awareness of your industry, the simple fact remains that you are losing traffic with an audience who may be very engaged with your content. Any content marketing strategy MUST first start with a content creation strategy no matter what the frequency, as long as it’s consistent. As you ramp up your content marketing efforts, consider placing a slightly higher focus on the creation of content. You might be surprised at the results of your own writing.

Created Content is Yours

Ok, I’ve made the case to balance content creation and curation but in case you’re still not convinced, here’s another point to consider. Always remember that created content is Yours and Your voice is unique. No one else has the unique life or work experience that you’ve encountered. No one has the exact same opinions, perspectives or advice as you do. Creating content will differentiate you from your peers (in addition to a good value proposition). And best of all, you can distribute it as many times as you want through as many mediums you desire with as much frequency as your audience will tolerate! Also, it’s completely FREE!

Curating Content with Prejudice and Care

Every content marketing strategy must eventually have a curation component to it. It is obviously impossible to create great content every single day of week especially if you have limited time and resources. Curating content will help support your thought leadership position and it will compliment a creation strategy. Think of it like the accessories you might add to your smartphone (like a case to protect it) or the ottoman that matches your couch. When you share content it helps to show your audience that you have awareness of your industry, as it relates to your practice and business. It also has a branding and positioning effect. Sharing content about retirement planning, savings and strategies would suggest that you have knowledge of this subject and could also suggest that your business specializes in this area. But (there’s always a ‘but’), avoid blindly sharing content. Avoid just pushing content that you haven’t read into your social media accounts and most of all, avoid just sharing a link with no opinion or commentary and be selective with the articles you curate. Sharing badly written content or content that doesn’t reflect the “tone” of your brand will have your audience disengage.

Create and Share H.U.G.G.E.R. Content!

Ok, you’re probably wondering what I mean by HUGGER. Yes, it’s an original acronym created by yours truly. It stands for:

  • H: Helpful
  • U: Useful
  • G: Genuine
  • G: Giving
  • E: Educational
  • R: Relevant

Creating and sharing HUGGER content that helps solve your audience’s greatest challenges and helps them achieve their life, career, health, financial (and the list goes on) goals has a positive effect on building credibility, trust and loyalty with clients and prospects. Credibility, trust and loyalty are the obvious essentials to building strong relationships and a growing business.

Are you using content marketing in your marketing strategy? How do you balance creation and curation?


Guide to Content Marketing

Four Common Pitfalls to Avoid in Migrating to Liferay


Moving to a new portal can be compared to moving into a new home. It takes a lot of planning, and always proves harder than anticipated. There are many things you need to figure out beforehand to ensure that migrating to Liferay is successful, and nothing is left behind (your data, for example).

Since there are a lot of moving parts and confusion around migrating to a new portal, Duke H, a Website Communicator at Liferay, has shared the top 4 pitfalls that Liferay’s customers encounter when migrating to Liferay. In the process of migrating, good planning and keeping in mind the pitfalls below, can help to ensure a seamless transfer between portals.

  1. Failing to backup migration
  2. Not identifying key stakeholders
  3. Not allowing for user acceptance testing/signing off without concrete guidelines or standards
  4. Not outlinining a strategy for content freeze during the migration execution

To read more of Duke’s article on migration pitfalls, click here.

Old SEO vs. New SEO: Why your approach may need to change


The Search Engine Optimization landscape has evolved and changed over the years. In fact, according to Moz, Google changes its search algorithm approximately 500-600 times each year. While most of these changes are very minor and most aspects have remained relatively consistent, some parts have evolved dramatically.   One of the biggest game changers in SEO over the years has been content marketing simply because content marketing works to drive stronger SEO results.  Content Marketing and SEO are so tightly integrated with 90% of digital agencies saying their SEO efforts are either somewhat or highly integrated with their content marketing.

SEO has always been a moving target that requires different analysis to hit the target consistently. It is important to keep up with the times in order to ensure your SEO strategy is evolving along with Google’s. One thing that we know for sure is that what used to work , doesn’t work anymore. Understanding how you can evolve your strategy with search engine optimization starts with recognizing how it has changed in the first place. The Infographic below, by QuickSprout, breaks down what SEO used to be versus what SEO is now.  In part 2, we will look at how the new SEO is actually all about content marketing.



Part 2:  Old SEO vs. New SEO: Content Marketing 


Infographic: How to Write a Great Value Proposition That Lands Clients


What is one of the best ways to convert your visitors into clients?  If you guessed your value proposition, then you’re right.

Solid value propositions are an essential tool to achieving goals and standing out. Are you successful at creating a distinct, recognizable brand? According to a study by Pershing, 60% of investors found it hard to distinguish among Advisors because of their value propositions.

A unique and effective value proposition is one of the best ways that you can position yourself to get new business.   Your value proposition concisely explains why a prospect needs you as their Advisor, and not your competition. By having a value proposition that helps you stand out from other Advisors, you attract prospects wanting to know more about who you are and how you can help them.

The Infographic below, by QuickSpout, offers some insight into the benefits of creating a value proposition, and the top tactics for creating one for your business.





The FInancial and Insurance Advisor's Guide to Blogging