‘ictionary
Cross Platform Strategies for Mobile

Google research recently found that 29% of smartphone users will immediately switch to another site or app if it doesn’t satisfy their needs – that is, they can’t find information or it’s too slow1. Apps need to load faster, respond quicker, and have more robust error handling. Currently the best way to achieve this is with native development. That said, our clients are always looking for strategic ways to add value to their digital products. A couple great ways to do that are by making updates to an app easier, and by building it with cross platform code that can be used for both iOS and Android platforms.

Making updates to an app easier

The traditional way to update an app is to go through the app store. But there are also ways to update the app remotely. Advantages:

  • Changes happen immediately, mitigating the need to go through the sometimes-unpredictable App Store approval process
  • You avoid ‘blowing out’ good reviews; updating an app on the iOS app store moves reviews from ‘current version’ to ‘all versions’ and reduces their profile
  • Updates will happen to both iOS and Android versions, saving development time and cost

How does this magic happen?

We do this by using web views, which are essentially web browsers within the app. Like any web browser, they can render HTML/CSS and process javascript, and get files from a server or from local storage.

Ok, so why do we need native development at all? Why not just build everything in a web view?

It’s all about compromises. Users of a non-native app will immediately perceive the app is of lower quality: the UI won’t respond as quickly or smoothly; common gestures and functions won’t work as expected; there will be delays and stuttering. Ultimately, the app won’t feel native, and your users will know it.

So how does MJD leverage the advantages of web views, without compromising performance?

We utilize the best technology for the job.

Native controls provide elegant, buttery-smooth interactions. HTML/CSS is best at laying out text and images. By strategically marrying the two, your app looks and feels like the user expects, and offers a great experience.

 

Here is an example from the SAG-AFTRA app that MJD developed. The slide control at the top and the button at the bottom are native. The slide control will smoothly animate over, and the button will respond like normal native buttons do. The central part—with the nice stylized text—is perfect for HTML/CSS.

The best part: when SAG-AFTRA needed to change copy, all we had to do was update the HTML on the server, and it was instantly updated on both iOS and Android. No App Store/Google Play re-submission necessary.

 

 

 

 

 

Can we take this too far?

Yes! In a previous life, I worked for a company that would build up an entire app from a single JSON file. Everything was completely dynamic. Sounds great, right? No! It was un-maintainable. No one knew how to interpret it or change things. We spent months undoing that and writing the code natively.

Here are some questions we use as guide when deciding what to make cross platform:

  • What is the likelihood this text/content will change?
  • How long will it take to develop on separate platforms vs writing in HTML/CSS/Javascript?
  • Will this compromise the user experience?

It’s a balance, and that’s where MJD’s expertise comes in. We know the pitfalls and we do our best to align the client’s goals with the best possible user experience.

Works Cited:

  1.  “Speed Is Key: Optimize Your Mobile Experience.” Think with Google. Web. 13 Feb. 2017.
MJD Partners with NRF to Sponsor and Showcase Retail Innovation

 

The Evolution of a Digital Agency. A Story Mom & Dad Would Understand.

A couple of weeks ago I was hanging out with some friends from work and we were asked what we do by some folks at the local watering hole. We went on and on about how we work at a digital innovation agency called MJD, how we build cool digital products and experiences, that we do UX, design, and software engineering, etc. Our very polite new friends nodded as their eyes glazed over, not really understanding what we were talking about. Realizing this, I got to thinking: Why not write a post that explains how we have evolved into the digital agency we are today in terms anyone can understand? My mom and dad could read it and know that their hard earned money that put me through college actually did some good!

First Things First

Just like there are lots of different kinds of doctors (“ear nose and throat”, “family practitioner”, “cardiologist”), there are lots of different kinds of digital agencies. You’ll hear terms like “full service”, “digital marketing”, “paid media”, “SEO”, “social networking”, and many others. I’ll only explain the kind of digital agency that MJD has become over the past ten years: digital innovation through products and experiences. So this post is not going to cover a good half of what a digital agency could do, or even why we need to have the word digital in it, but it will help my parents understand what I do, help explain more why we call ourselves a digital innovation agency and what MJD specializes in.

CliffsNotes

In short, MJD is a new type of digital agency that makes the digital products and experiences that people use and interact with every day. There’s no shortage of digital things that could be made, but what resonates with us are those that enhance the human experience. A delightful interaction at a theme park that fills a child with wonder? An immersive adventure in a retail space that spurs the imagination? That’s us. A sterile workflow tool for tracking cog production in some soul-stealing enterprise hell? Not so much.

Life’s too short to churn out another banner marketing campaign that interrupts people in their daily routines; we’ll leave that to the folks that enjoy that sort of thing. What we do is unleash our technical and creative expertise on problems where digital can make a difference in people’s lives. Sure, the solutions we come up with may include mobile (iOS/Android) applications, custom software, or augmented reality—just as a soufflé includes flour, eggs, and butter. Ultimately, we seek to create something greater than the mere ingredients.

We’re a new type of digital agency that helps clients understand how digital interacts with the physical world around us.

Industry Jargon: UX

When we build a digital product or experience, our goal is to create something that enhances the real world around us, not just interrupt us to sell something. For instance, we built a mobile application for Viper that allows people to turn on their cars with a watch. (Dad, it’s kind of like Kit from Knight Rider.) We built a mobile app and website for Disney Imagineering that made their Haunted Mansion attraction come alive online, on your phone with augmented reality, and in the park with a personalized ghost story.

Our job as a new type of digital agency is to make sure that the digital layers we are adding onto these physical environments are simple and beautiful. The experience could be many things—fun, inspirational, thought provoking, educational, functional—but it is our job to make sure it’s worthwhile and valuable for those using it. There are lots of digital experiences that suck. Banner ads come to mind. Or anything that uses Papyrus font. We strive to build the opposite of “suck”.

So, how do we arrive at this understanding of what’s valuable to the user?

First, we seek to see the world from their perspective—to empathize with the folks that we’ll be building for. Through some fancy-sounding activities (“field research”, “empathy mapping”, “contextual inquiry”) we gain a meaningful understanding of what the user thinks, feels, and wants, as well as the context in which they’re doing their thing. Really, this boils down to talking with them. Asking questions, observing, listening and deeply identifying with their views. We can then take what we’ve learned through dialogue and create a way to think about who they are (“personas”).

From here, we begin to marry what we know about the user with what our clients are looking to achieve from a business perspective. Now, you could take a concept, design it all out, build out every screen, and say “okay, here’s what we think we heard the user say”, but that’s a (very) expensive way to do things. Instead, we go light and lean and sketch out our ideas—sometimes literally on paper (“prototyping”). We take these sketches and present them to test users, get their feedback, and iterate. This screen doesn’t make sense? How do I get from here to here? Okay—let’s whip out a new sketch. In this way, fixing issues and streamlining interactions can be done in minutes instead of months, which makes everybody happy. This (“user testing”) is one of the most fun parts of what we do. We get to spring new ideas on unsuspecting folks to see what they like, what they hate, or worst of all, are just kinda “meh” about.

Our goal is to only build digital products that people will find useful. There’s simply no point in spending time and money building something people won’t use.

We’re a modern digital agency that designs digital products and experiences that are beautiful, simple, useful and innovative.

Industry Jargon: Human-Centered Design

There is so much noise around us. We aim to create peace amid the digital chaos of the modern world. We do this by designing intuitive interfaces that a person won’t have to figure out in order to use. The UX process above enables us to remove all the extraneous stuff and identify the essential. From here we innovate.

Design innovation can take two paths: evolution and revolution. Apple didn’t design the first digital phone interface, but with iOS, they evolved what already existed into the best version yet seen. On the other hand, when Chuck Hull designed the first 3D printer in 1983 it was the revolution of an entire industry. Never heard of Chuck Hull? That’s because evolutionary design (Apple) is usually easier and a lot more profitable than revolutionary design. Creating entirely new industries is really hard work.

Here are some examples: Qualcomm Ventures required a site that provided easy access to information, with a forward-thinking interface that demonstrated their position in the market. We evolved the established conventions of the modern business website to create a progressive experience that highlights their investments and expertise.

For Stride Rite, we built a revolutionary shoe sizing iPad app for kids and parents. Kids no longer have to endure the cold metal of the Brannock sizing device on bare piggies. Instead, parents can just take out their tablet, aim it at their feet, and BAM! you have a foot size. This had never been done in the industry, and it created a disruption.

We’re a new breed of digital agency that builds products rather than doing marketing or advertising.

Industry Jargon: Engineering and Development

This one might not be as obvious as it sounds. It is easy to talk about building products, but rather difficult to actually do. Turns out, there’s actual science in Computer Science. Thankfully, a whole lot of smart people have developed ways to not only build great things but build them efficiently and reliably. We can quickly get in the weeds talking about how things are built (“test-driven development”, “pair programming”, “decoupled architecture”, “software development life cycle”), or what’s used to build them (“message broker”, “data store”, “Xcode”, “Kotlin”, “noSQL”), but nevermind all that. The important takeaway is that we are grateful to be able to stand on the shoulders of technology giants and produce things that are—essentially—magic.

And just like the construction and manufacturing industries that fueled economic growth when mom and dad were growing up, it’s digital products that fuel today’s growth. Instead of steel, heavy machinery, concrete, and glass, our version of the Industrial Revolution involves software, mobile apps, websites, virtual and augmented reality and data. Unlike past economies, our products have the opportunity to benefit humanity faster, and at a larger scale than ever possible. Digital products can open borders, spread ideas, enable economic prosperity, entertain, and profoundly impact our daily lives.

While that’s a few too many words for mom and dad on a phone call, it boils down to this: Through hard work, we figure out people’s needs and our client’s goals, bring them alive with crazy and fun ideation, and get our digital products and experiences in people’s hands. And that is a pretty fun thing to tell the parents.

Prototyping: Why, When, How

Why prototype?

People working in the UX, Design, and Engineering fields are very familiar with the benefits of prototyping, but let’s look at it from the client’s perspective. What are the main reasons that a client should want to prototype digital products and experiences before committing to a full on build?

There are a couple of main reasons: First, when you prototype, you get a first glance into what features your audience will actually use. The “If you build it, they will come” mantra does not work in the digital product development world. For this reason, testing prototypes to ensure that what you’re building connects with and will be used by your audience is always recommended.

Second, it saves money. Plain and simple. If you prototype, test, and iterate on a product early on – you will save a ton of cash before hardcore (and expensive) engineering even begins.

When should you prototype?

Prototypes play a huge role in bringing ideas to life efficiently because they provide a vivid portrayal of our creative plans and allow for quicker internal user and client feedback. Prototyping is a journey that extends from initial project ideation to user experience and design, and through final engineering.

Prototyping is particularly useful when used alongside the Design Thinking model of product creation. Our entire process is propelled by Design Thinking. For us, it is the mechanism through which innovation and creativity can be unleashed. The three stages of Design Thinking include Inspiration, Ideation, and Implementation. Prototyping is useful in each stage.

During the inspiration phase, we conduct field research to gather insight from the world around us. This includes doing a comparative analysis of competitive products and observing elements within our environments that contribute to our vision for a product. Creating low fidelity prototypes at this stage often adds fire to our inspiration. Perhaps something we saw during field research resonated with us. Something as simple as a napkin sketch passed around for feedback can generate new ideas. That, my friends, is lo-fi prototyping.

In Ideation, we go to the next level. In this phase, we still do lots of sketching, but we also start enhancing our prototypes by building them in Adobe XD, Sketch and Photoshop. We begin testing these prototypes in InVision, which allows us to start clicking around from screen to screen while animating things. This is when initial user testing can begin. We like to get our ideas in front of our audience as soon as possible before a lot of budget gets spent.

Finally, we keep prototyping and testing through Implementation. In our experience, almost every significant project ‘pivots’ at least a little when you receive feedback on a prototype. Your first idea is rarely the best, and prototyping gives you that information. The prototypes used during Implementation get successively higher fidelity until you end up testing something that is nearly identical to the final product. That typically takes some iterations, but each iteration is well worth the time.

How do you prototype?

Prototypes aren’t a one-size-fits-all solution. Every project is different, and each stage during a project needs various levels of prototyping. We mentioned napkin sketches, Photoshop and InVision above, and those are great examples of both low-fidelity and medium-fidelity prototypes.

Before jumping into higher fidelity models, I think it’s important to reiterate how important the lowest fidelity prototypes are to product design. There is a concept in the UX world called Lean UX. The staples of that concept are that low-fidelity sketches, whiteboard sessions and lightly documented ideation are all more efficient than jumping into (or even doing) high-fidelity wireframes and information architectures. Those high-fidelity documents usually incur a lot of time to produce and become out of date almost immediately after creating them. This is the nugget of gold in this article: People can provide just as rich and insightful feedback on a crappy napkin sketch or a 30-minute whiteboard session as they can for an entirely functional, beautifully designed, finished product. Save yourself the money and show somebody a sketch.

But, I digress. There is also value in high-fidelity prototyping. Once we’ve begun testing with Invision, we can start establishing an understanding of what our audience likes about the product we’re building. We can confidently start engineering some features that have the potential of making it into the final product. In addition to initial engineering, we also use tools like Principle, Framer and After Effects to start adding sophistication, movement, and interactivity to our prototypes. These tools allow us to move things around on the screen, press buttons, hear sounds and watch video so that we can start playing with things. An extra bonus to using these tools is that they all spit out code that can be utilized once engineering starts. By continuing to test these hi-fidelity prototypes, we get closer and closer to eventually landing on things that we’re pretty darn sure we’re going to build. But it doesn’t stop there.

We continue to “prototype” products as we jump into final engineering. At this point, it’s not technically a prototype anymore. It is real, working software that will eventually ship. However, as the build progresses, we continue testing with users so that we can watch them break what we’re building, fix what’s broken, and do it all over again until the final product is ready. It’s important to note that ‘final’ does not mean ‘perfect’. If you wait for perfect, you run the risk of getting beat to market by a slightly less than perfect competitor, and you will lose your edge. Moral of the story? Prototype, prototype, prototype, then SHIP.

Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Are you looking to create or redesign a digital product? Fill out the form below and we’ll be in touch.


 

The Evolution of Retail, Pt. 4: Customer Expectations

There is a great research study on customer expectations in retail that was conducted by PWC in 2016. We have used some of their findings as we’ve gathered our own conclusions around the digital implementations of the data.

Price

Today’s consumers have more pricing information at their fingertips than ever before. The ability to check competing prices online, on phones, and in the store establishes firm expectations for retailers to be able to price match, and beat, the costs that are found on these different platforms. A good way to mitigate the constant demands to match and lower prices is to offer a level of service that customers can’t get elsewhere. This can include supplying exclusive goods, extraordinary satisfaction guarantees, and friction-free return policies. If price matching is still the only option, it is important to balance these losses with products that generate enough profit to cover them.

Stock

Customers expect items to be well stocked in the store. Largely, modern inventory systems and streamlined logistics are able to control and fix stock issues when they arise. If you’re a retailer with legacy systems that don’t fix supply issues, you need to replace them because you’re at a serious competitive disadvantage. However, if you have modern systems, and outliers occur that cause stock to run out, customers’ frustrations can be calmed if they are offered the option of ordering out-of-stock items via their phone or other in-store digital methods. When these alternative options are coupled with the guarantee of fast shipping, the customer’s goodwill towards the retailer can be maintained and the problem of these outliers is greatly diminished.

Omni-Channel

We’ve covered the immense benefits of omni-channel in previous articles, but it is worth mentioning again in this context. Consistency between channels is the key to the customer journey. Single-Sign-On is paramount to this effort – customers do not want to have to keep track of different logins for different platforms within the same store (website, app, loyalty programs etc.). The single-sign-on model can be elevated in the in-store implementation. Technology allows for cross-pollination between customers online actions and their brick and mortar experiences. If physical stores are aware of the statuses of their customers’ online shopping carts, they have the ability to physically guide customers to their unpurchased items in the store using their phones. Tying these experiences together seamlessly defies customers base expectations while vastly increasing sales across multiple platforms.

Mobile Commerce

The online shopping tool of choice is rapidly transitioning from desktop to mobile devices. According to Business Insider, mobile commerce will reach $284 billion, or 45% of the total U.S. e-commerce market, by 2020. Savvy retailers are creating mobile optimized shopping experiences that are able to deliver on their brand’s promises. Customers expect the same high-quality service that they get on a website, or in the store, on their mobile devices. For the digital landscape, this means that things must load quickly, have an easy-to-use interface, and evoke an emotional bond to the brand.

Community

Customers are looking for social connections while they are shopping. From peer reviews to chatting with friends on the latest styles and trends, today’s shoppers are tapping into their friends and virtual communities for help in navigating product offerings.

PricewaterhouseCoopers (PWC) polled 22,618 digital buyers ages 18 and older. Respondents had shopped online at least once in the past year. Nearly half (45%) of digital buyers worldwide said that reading reviews, comments and feedback on social media influenced their digital shopping behavior. Some 44% of respondents also said that receiving promotional offerings also influenced their shopping behavior.

At MJD, we’re exploring innovative community technologies that can enhance these experiences. This can include things like building in-store digital experiences that connect to Facebook or a chat client to allow shoppers to get opinions from their friends and family before making purchases. These sorts of technologies are showing great promise.

Experiences, not “Things”

People, especially Millennials, want to buy experiences, not “things.” They want their money to be spent on a life well-lived, and digital has a big place in their lives. Digital experiences add new layers to the ways these millennials experience the retail world. Even the smallest of experiences can connect to customers on an emotional level to tell a powerful story.

Speed

Lastly, we want to touch on a very significant undercurrent of customer expectation in retail: speed. By and large, people want things NOW. Deloitte’s 2016 Holiday Survey says that customers in 2015 viewed “fast shipping” as anything within 3-4 days. In a single year, that figure dropped to within 2 days. This is how Amazon Prime is succeeding and, in turn, affecting all retailers. How do retailers compete? One suggestion is to use store design and logistics tools to turn community stores into miniature distribution centers. Combining this with courier services like Uber allows companies to compete, and beat, Amazon’s regional distribution center model.

Conclusion

Through our research, we’ve found that these are a few of the standout customer expectations in today’s retail marketplace. Some are more challenging than others, but using the right mix of digital innovation and store design to create ideal customer journeys is the way to compete in today’s retail marketplace.

 

Check out the entire Evolution of Retail series:

Click here for more information on MJD’s Digital Retail Offering.



Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

A Better Way To Deliver Digital Projects

What is Agile?

There are many flavors of Agile, but Scrum is the most popular, so that’s our focus for this article.

Agile/Scrum (or Scrum, for short), is a liberating management style for teams that has revolutionized how we create digital projects. Initially, a methodology employed for software engineering, the Agile method can be used for many projects due to its simplicity.

Though this is not a complete definition of Scrum, at its core, a Scrum Team has no manager, and no one is assigned work. Instead, in a Scrum Team (which usually consists of 4-7 people), members look at a prioritized backlog and collaboratively pick the work they know they can deliver in a calendar period called a Sprint, which is usually two weeks.

The Backlog is the responsibility of the Product Owner, who also sets the priorities for the tasks in the backlog. Officially, the backlog defines the requirements for the project but is generally not all encompassing. Think of the backlog as “what” is being built in the short term, but most definitely not the “how” it is built, nor is it everything that will be built. The backlog generally has enough work to keep the team busy for several sprints, but one of the key concepts of Scrum is that the team does not wait for a full backlog before they can begin to work.

The Scrum Team also has a Scrum Master, who is the person responsible for ensuring the smooth operation of the team. Notice how the Scrum Master is not a team leader nor a manager of the team’s work. The Scrum Master is a facilitator of the process because the team members and the product owner collaboratively decide how and when the team tackles product features. Yes, the team follows the prioritized backlog, but any team member can bring up anything at any time for discussion. It is not uncommon in projects for the backlog to contain many items that the team members themselves bring up, and that the product owner accepts and prioritizes into the mix.

 

 

 

Contrast this with the classic Waterfall Model of project management, where teams of experts might spend months carefully defining what a project’s requirements might be. They might spend so much time in this endeavor that by the time there is a finished specification, some of the requirements might not even be valid due to changing business, environment and competitive forces. Even worse, if some of the later requirements depend on early decisions, the entire requirements document might be obsolete or based on incorrect assumptions. For this reason, we could think of the Waterfall Model as the House-of-Cards model. A card at the bottom of the structure (a changing requirement) might topple the entire structure.

Finally, in the classic Waterfall Model, there is no product to see for a long time. It might be months or more before a product owner gets to see a hint of the product being built. By the time the business starts to see the product, it is often too late to make any meaningful changes, again contributing to the high failure rate of classic projects.

 

 

 

In an Agile project, the product owner (and the business) generally start to see results even after the first or second Sprint (in weeks, not months). Furthermore, the entire team (and the business) can see early on how features might really work and can quickly adjust. More importantly, we are accountable as a team.

Note, Agile teams are not “the wild west,” and they do indeed follow established patterns and practices in an organization. Just because the team is empowered to make decisions for the implementation of a project does not mean they act in a vacuum. It is very common for organizations that have central architecture groups to provide at least one member of an agile team.

Does Agile Really Work?

Many read this and immediately think “there’s no way this works.” We can attest to the fact that it does indeed work, and very well. Furthermore, it works not just for the team members, but also for product owners, stakeholders and the people using the digital product or experience.

Imagine “seeing” progress every two weeks? What is more tangible than seeing results, regularly and consistently? Imagine delivering new features to your customers regularly (maybe once a month or more)? Then contrast that with a project where a year goes by before a new version is ready for customers – and when it is, has a much larger potential to cause disruption and anxiety (because generally, the product changed so much since the last product iteration.)

By the way, we are not alone! See the ‘State of Scrum Report 2015’ where nearly 5,000 respondents, on average, felt that Scrum is successful 62% of the time! And if a Project Management Organization (PMO) was involved, success rates jumped to over 90%. Wow!

Plus, thousands of companies create and maintain projects this way. You generally can tell who they are because they are always updating their software or product (imagine that!)

Have you noticed that your Facebook app updates, more or less every two weeks? Now you know why.

Interestingly enough, Agile is not a new concept and has been written about extensively. See ‘Agile: The World’s Most Popular Innovation Engine’ and countless other articles that have been published in the last few years.

There are detractors

As with any concept, there are those that don’t agree with the praises of Agile.

I’ve heard folks say that Agile is an excuse for teams to avoid deadlines or engage in proper planning. These could not be farther from the truth, of course. Once you understand what Agile is, you know that Agile does indeed provide for planning (lots of it and regularly actually) as well as deadlines (every two weeks). Sure, you might not spend months in planning at the beginning of a project, but we’ve presented how that’s actually a good thing because you are planning all the time in Agile and can, therefore, learn from early small mistakes and make your digital product better. And sure, you might not deliver every single product iteration to end-customers, but you bet you’ll be delivering many more when you are incrementally producing an iteration every Sprint.

I’m not saying Agile is perfect. There are plenty of ways to screw up any project (Agile or not). What I am saying, though, is that in our practice and in what we’ve seen with others, Agile projects have a higher likelihood of producing solid results, cost-effectively and with less risk than the classic waterfall model.

The Personal Impact of Agile (your people will be happier!)

To me, Scrum is second nature. To me, Agile is how you build projects. To me, Agile/Scrum is liberating and empowering, and I am apprehensive to participate in projects using a non-agile process. Honestly, working with an organization now that does not follow an Agile practice makes me question the organization and whether or not I want to be involved with them. (I wonder how successful they are. Judgmental? Absolutely! When you’ve “seen” better, it’s hard not to be judgmental.)

 

 

 

However, I can personally attest to the fact that Agile/Scrum has brought back joy and self-fulfillment to my projects. I’ve seen this in myself as well as my teammates who feel that they are now part of something, not just an extra hand on a project.

I can also attest to many happy clients that also feel like they participate in projects and are in full control of the process at every step. Contrast with the classic model where you give someone your requirements, they go away for three months, then come back with something that is nowhere near what you thought it would be.

Overcoming the Fear

If you are a leader, non-technical manager, product owner, marketing manager, C-level executive, etc., I recommend you start with The Scrum Guide.’ It’s a short read, so don’t delay. Then, share this with your technical team. Getting this knowledge will allow you to support them and encourage them to move in this direction. Make it clear this is the direction you want to go in (because some Engineering teams can be stubborn about ‘a new thing.’) Also, review ‘Introducing An Agile Process to an Organization’ and follow some of the ideas.

What’s in it for you? How about seeing “your product” improve every two weeks? No, you might not ship it to clients every two weeks, but YOU (and your stakeholders) will see progress, quickly, regularly. How’s that for accountability and measuring ROI?

If you are a Software Engineer, Developer, Project Team Member (or an Engineering Manager, Team Manager) you must immediately become familiar with Scrum. It will change your life (and your teammate’s lives) – believe me! Start with The Scrum Guide. It’s not very long and it’s easy to understand. Then, perhaps try How To Implement Scrum in 10 Easy Steps.’

Then, JUST DO IT. Sure, you might need some buy-in from the business, but I’ve seen where Engineering teams can start moving in the direction of Scrum on their own initiative. The point is: saying “we’ll do this one day” won’t change anything. You have to start one-day, so “one-day” might as well be today!

If you hire outside resources or outsource your project development, start with The Scrum Guide but then ask your partner company about their Agile process and what role you will be playing. You should likely be the Product Owner, but if you are also contributing team members, they too need to participate in the Agile ceremonies and processes. In some cases, you also might want to provide the Scrum Master as well (even better if that person is in your PMO.)

One important consideration is that as Product Owner, you retain a critical role but it is one that comes with great responsibility considering your ongoing attention will be needed. Whereas in a waterfall project, you might work hard initially to create requirements then hand them off to a team, in an Agile project, you’ll be participating on an ongoing basis. The work might even be a little more considering you are factoring in changes and unknown factors, but it is spread throughout the life of the project as opposed to front-loaded. However, the potential for success is also much higher (and easily makes up for the extra work) since you will be able to make adjustments very quickly when compared to a classic project.

 The Promise

With technology moving as fast as it does these days, every organization engaged in digital projects, that wants to stay competitive and relevant, has to take a serious look at Agile. The consideration is no longer if to adopt Agile, but rather why are you not already using this method of project management.

Consider this: if internal motivation is not enough, it is very likely that your competition is already using an Agile methodology and also likely that they are outperforming you – every two weeks!

Further Reading

This article is by no means a full and complete definition of Agile/Scrum. For the full definition, please visit Scrum.org, ScrumAlliance.org or Google “Agile Scrum Methodology.”

The Secret to a Great Digital Product

It’s a little sobering when you think about how much time, money and energy is being wasted building features that the market doesn’t want or need. – Christian Bonilla, Mind the Product

The best way, really the only way, to find out what features people want is to get out into the world with them. Observe and talk to them where they live, where they work, where they go about their lives. Through understanding the lives, emotions, and needs of the human beings that will hopefully experience your digital product on a daily basis, you can make sure that what you’re building has the features that they will love. However, most organizations skip this crucial step and make products that are based on their own internal stakeholder’s gut feelings. The truth is that your goals might not align with what people really need. Figuring that out happens by researching your chosen audience out in the field.

Steve Jobs famously said, “people don’t know what they want until you show it to them.” Henry Ford stated that “If I had asked people what they wanted, they would have said faster horses.” These are the types of sentiments that often justify creating digital products in-house without any field research. However, Apple, and Ford both did, and do, tremendous research on their customers so that they can see the problems that people have and create appropriate solutions.

How do you do that? MJD has built the concept of field research into our process to create some of the world’s best digital products. Here’s how we do it:

Start with Empathy

We need to be able to understand what other people are experiencing. To do this, we need to walk around a bit in their shoes. The only way we can experience the world in the unique way that they do is to live in it with them for awhile. We need to open our hearts and minds to the problems they face, the joy they feel, the things that confuse or challenge them, the things that inspire them.

It’s important to observe them both scientifically, usually with quantitative data, as well as emotionally, with qualitative data. Understanding and empathizing with the emotional response to a situation is key to building engaging features in a digital product.

Digital Product Field Research

 Into the Field We Go!

49% of product managers said that their foremost challenge is being able to conduct proper market research to validate whether the market truly needs what they’re building. When we look at only the responses from enterprise software PMs, this figure jumps up to 62%. – 2016 Mind the Product Survey

After establishing an empathetic frame of mind, we must get out into the lives of the people that will eventually use our digital product. We do this by observing them where they live, where they work, and where they hang out. We collect information on their habits, their likes, and dislikes, and we look at challenges they have that the product we are building will eventually solve. Some observation is from afar and requires no interaction. Some observation is structured and takes place during interviews and shadowing. This deep level of immersion gives us what we like to call “nuggets of gold” – moments of inspiration and insight that are invaluable to our final products.

There is an art and a science to this field work. We find it essential to have two to three people from different disciplines (UX, design, engineering) out in the field observing and collecting data. This gives us insight into problems from multiple lenses, which helps bring clarity later. By layering science onto the art of observation, we can garner confidence that we’re on the right path through statistically significant results from observations, interviews and data collection.

Digital Product Ideation

 What Next?

After observing users in the field, we have access to a lot of data. We will have taken photos, videos, recorded and written down interviews, made notes of everything we’re thinking and collected valuable numerical data to measure behavioral patterns. The last step is to analyze all of the information we have gathered and summarize into an actionable document. The “actionable” part is key here – as there is often more information than we know what to do with initially. For starters, it is essential that we put the information back into the context of your digital product. We must ask ourselves what ‘nuggets of gold’ were mined from our observations that can directly affect the product we are seeking to build. Once we have identified those nuggets, we can start to build something that will resonate with our audiences. This investment in field research is the secret step that positions us above the competition and gives our products meaning, utility, and innovation.

About MJD

The MJD process is propelled by design thinking.

Design thinking is the mechanism through which innovation and creativity can be unleashed. Combining inspiration, ideation and implementation we create human-centered experiences that create major impact. This includes robust field research, the secret sauce to any great digital product.

Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Are you looking to create or redesign a digital product? Fill out the form below and we’ll be in touch.


The Evolution of Retail, Pt. 3: Enhancing the Customer Journey

“Macy’s and Sears Holdings to close a combined 226 stores”

“Is There Any Saving Macy’s?”

“On the heels of Macy’s and Sears, another major department store announces it will close locations in 2017”

The headlines are dire. Retailers are worried. But the future of retail is bright for forward-thinking brands that are willing to embrace new ways of doing business. In our last post, we talked about omni-channel strategy and digital tactics in the ‘Store of the Future’. That’s the first place to look when a retail ecosystem needs fixing. In this article we will explore how customer journeys can be enhanced with new ideas and technology to increase sales and profit and, in turn, begin to fix the cracks in the retail world as we know it.

Interested in the whole “Evolution of Retail” series? Sign up and we’ll let you know when each article is published. We’ll also send you a PDF of the entire series at its conclusion.

When marketers realized that the final transaction wasn’t the only key metric in the purchasing funnel, the idea of curating customers’ journeys was born. By measuring every touchpoint along the funnel and giving proper attribution to each and every experience a customer had with a brand, marketers were able to see which ones resulted in sales. This very visibility into attribution, and uncovering the sales and ROI it converts, led to the realization that consumers hold the ultimate power during the customer journey. In an instant, a consumer can be very close to buying, and then disappear. E-Commerce pushed this visibility even further and allowed marketers to price check everything. The result was what retailers dreaded most: a downward race to the lowest possible price. To win this race, retailers are required to produce a high volume of sales while reducing the number of high cost of physical locations they are supporting. In essence, this is the Amazon model.This model is contributing to the woes of traditional retailers, and that is leading to a seismic shift in their operations.

Retailers like American Girl, Nordstrom, and others are starting to lead with innovation within the customer journey in order to re-set the race to lowest price. They are creating value through digital software platforms, automation, and IT efficiencies to reduce overall costs. In doing so, they are crafting extraordinary, personalized brand stories that resonate with customers and inadvertently lead to increased purchasing.

 

Digital Retail Platform Design and Customer Journey

Platform Design

One of the primary tactics we’ve used to create substantial retail business efficiencies is through something we call Platform Design. Platform Design lowers overall costs while making interactions with customers much more personal and enjoyable.

Most recently, we helped build customer journeys through platform design by combining a mobile application experience with dynamic inventory tracking, product suggestions, and consumer guides. The mobile app allowed users to customize a product, and buy appropriate accessories for their custom product. From there, we connected to a centralized inventory system that checks to see if all the components in the custom order are available and determines whether or not there was an excess of stock warehoused for any particular accessory. By using technology to detect inventory, dynamic pricing was used to discount the accessory for the client where necessary. Fulfillment was then able to electronically receive the order, build it automatically, and ship it to the client. At the tail end of the journey, the customer was able to further their interaction with the brand by being able to log into the brand’s website to obtain help in configuring the customized product. Through single sign-on, the system was capable of knowing exactly what was purchased and was able to serve up help videos to guide them through configuration. At the end of the journey, customers feel the thrill of a seamless and unique product experience. These emotions are what platform design zeroes in on and uses to tie consumers to brands.

To build on that, we’ve found that the journeys we are building aren’t limited to the online ecosystem. Using innovation to guide customers through physical stores is just as important. For the in-store customer we’ve taken this realization and built a mobile app that is capable of reading in-store beacons and triggering a CRM to obtain recent purchases from the customer. In addition to knowing past purchases, the app can entice in-store customers to make purchases outside of their typical buying patterns. If, for instance, the app is able to notify the customer that certain accessories purchased in the past are items that typically run out, we are able to provide an in-store map guiding them to the product where the customer will not only be tempted purchase the product, but purchase multiple products so that they do not run out. The effortlessness of the in-store  journey cultivates repeat customers using brand loyalty, just like it does for the online customer.

 

Action Sports Customer Journey

Automation

Automation is the process of replacing formerly manual activities with digital magic. It is another one of the key factors that makes enhancing customer journeys possible. A great example of this can be seen through our work with GoPro. A typical GoPro customer would go out surfing and capture some amazing video. They would get back to the parking lot, jump into their car and want to immediately share a 15 second clip of their surfing session on Instagram. In order to do that, they would have to manually plug the camera into their computer, download the files, edit them, and finally post them. This was a major pain point for customers. To alleviate this, we automated the process by using wifi to transfer the files to customers’ phones with no manual process necessary. Customers are now able to shred waves, get in their car, have the mobile app see their camera, magically downloads the files, edit and post to friends and family in seconds.

This is just one example of the plethora of ways that digital is automating the customer journey, but automation itself can be tricky. From a customer’s standpoint, automation either needs to be invisible or interesting. Technically, making automation invisible is difficult. You have to think through user experiences to make the technology disappear. That’s hard. But if you pull it off, the rewards are substantial. Automation that interests and delights is less technically demanding, but requires a strong experience on the part of the user. One of the best ways to create that sort of an experience is through personalization.

 

Retail Customer Journey

Personalization

The days of broadcasting a marketing message to one monolithic group of customers have passed. Technology has allowed marketers to craft messages on a one-to-one basis between their brand and a single shopper. Personalization takes these messages a step further. In our work for retail clients, every part of the customer journey is personalized. Once a customer has created an account, the websites, mobile apps and physical stores they interact with all change for that particular person. When a customer walks into a store, they can be digitally welcomed by name. Or, a notification can be sent to a store associate who can give them a warm, human welcome and assist them. This allows for storytelling on a very intimate, human level. By bringing elements of joy to customers by making them feel special, we are providing increased lifetime value to brands through personalization.

According to a study by MyBuys and the e-tailing group, 40% of survey respondents said they buy more from retailers that personalize their shopping experience across channels. Based on sales data from MyBuys’ database of over 250 million shoppers, customer-centric marketing delivers a 25% increase in total online sales and a 300% improvement in customer lifetime value. (Datamentors, 2015)

Creating a personalized story for a customer’s journey requires context. This leads us to the final part of our customer journey: contextual interactivity.

 

Digital Products and the Customer Journey

Contextual Interactivity

Knowing where in the customer journey your customers actually are allows you to interact appropriately with them at a given time, in a given place. The “platform” mentioned above is the tool that allows that to happen. If, for example, a customer is on your website looking at a product for the third time, analytics and CRM can identify this and dynamically serve the right message to that person to get them past the tipping point of buying. On the other hand, if a customer is walking into a store for the first time, their context is vastly different that that of a loyal customer who visits the store regularly. Each customer is different, and should be offered contextual interactions that are personalized to their particular situation. The first time shopper could be welcomed via a digital display that shows them wayfinding through the store. The loyal shopper could get a text notification on their phone letting them know how many loyalty points they have, and that they’ve earned a free ‘favorite’ beverage (identified through POS analytics) at the store’s cafe. Context and personalization together form a powerful tool to build strong customer affinity for brands and round out the enhanced customer journey consumers are seeking.

Conclusion

Navigating the complexity of a retail world that is neither bound by brick and mortar or the world wide web is difficult. Consumers are seduced by quick, easy, and cheap solutions that are often detrimental to profit margins and growth. Meeting customers where there are in today’s landscape and watching their exploration within a brand is the key to getting out ahead of broken retail stores and/or clunky digital solutions. Using automation, personalization, and contextual interactivity to enhance a customer’s journey forms a bond with consumers that allows for innovation that will both surprise and delight them.

At the end of the day, it is innovation that we’re after. Innovation that is not only digital, functional, or creative – but, a combination of all three that bonds us together and allows us to grow.

 

Check out the entire Evolution of Retail series:

Click here for more information on MJD’s Digital Retail Offering.



Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

What Was Big at the NRF Big Show

The MJD team attended the NRF Big Show last week and came away both inspired and a bit overwhelmed. We were inspired by the digital innovation happening in retail, with big and small players alike pushing the boundaries of technology. It felt a bit more like CES than the NRF shows of the past with virtual and augmented reality, cognitive computing, RFID, chatbots and plenty of cutting edge software options being sold as the savior to all retailers.

We were overwhelmed by the sheer number of options retailers have to choose from. This brings up important questions: What exactly does the software do; would this technology provide value to my organization; and what would it actually take to implement any of these options? How does someone weed through everything to find something that works? Well, we’ve taken a stab at that. The following technologies and services cut through the noise for us as viable options for retailers to utilize in process of modernizing their operations.

IBM “Cognitive Food Advisor” – How many people worked on that name at IBM?

The bigger platform players like SAP, IBM, Microsoft, Intel, Toshiba came to NRF this year with the clear goal of being able to do everything asked of them by modern retailers. But it was hard to hear through the buzzwords to figure out what they really do best. They do a great job selling that they do everything from inventory and logistics, store management and commerce, as well as engaging digital experiences for both consumers and store associates. But it’s hard to be the best at everything, and it was difficult to identify the best in class at any single task.

IBM Watson was very impressive and exemplified the “we can do everything for you” approach. We walked away wondering how a retail store manager would understand the huge breadth of the technology they were selling under the “cognitive computing” umbrella of Watson. There is no doubt that a system like this offers tremendous value to a retailer, and can make the difference between success and failure, but it comes with a high price in time and cost to implement. For retailers looking to completely overhaul existing systems, this investment makes complete sense. If someone is looking to enhance existing systems, a better strategy is to tie together innovations that do certain things extremely well.

IBM’s “Booth of Everything”

For us, the real inspiration came from the smaller companies that are pushing the envelope of innovation. They are laser focused on changing the future of retail. Virtual reality seemed to have the biggest crowds. You could see the potential in the space as companies demoed virtual store concepts with virtual shelving, shopping, eye tracking to see what entices customers, and some cutting edge analytics.

Virtual and Augmented Reality were a big focus of the show.

Three companies stood out on the trade show floor in the VR space: Marxent LabsInVRsion, and In Context Solutions. All three had promising VR solutions tailored for retailers, with great potential for some creative applications and interface add-ons by agency partners like MJD.

Another technology that got a lot of attention from retailers was augmented reality, and yes, this included a few “magic mirror” options. These have grown up and are looking better since their early adoption days, most of which were poorly executed.

The magic mirrors seem to be targeted to specific industries, mainly beauty and fashion. This technology becomes powerful when it enables virtual trials of products such as clothing options or makeup. A good user interface applied to this hardware can reduce the difficulty of finding products that appeal to an individual, while opening up essentially unlimited options to them. We see this driving spontaneous purchases that will increase revenues. We left thinking that the user experience and interface hadn’t really been nailed yet, and this is going to be a key area of focus for MJD this year.

HP’s Magic/Mobile Experience at NRF 2017

Other interesting technologies that we feel could be worth exploring included the chatbot company Kore, RFID/NFC tools for consumer experiences by BlueBite, Augmented Reality Commerce company Augment and mobile commerce platform NewStore.

Overall the Big Show reinforced that there is no shortage of technologies and platforms at retailers disposal. The most thought provoking aspect of this is figuring out how it all connects and relates to one another in order to enhance the overall customer journey. What digital product or experience is most effective in engaging users in a meaningful way? Tackling those hard questions and building the resulting incredible products is what gets us excited at MJD. Thanks to NRF for putting on another successful Big Show and for all the inspiration it gave us.

MJD works with retailers and retail design firms to help decipher the legions of technology options available. For more MJD retail thought leadership please follow our retail innovation series: The Evolution of Retail.

 

Virtual Reality How-to: Sharing Tilt Brush Creations

Step 1: Create

The first step is obvious – we need some artwork. Tilt Brush’s interface is extremely intuitive once you figure out a few of the nuances. With little to no VR experience, many of us were able to start creating the artwork that we had imagined. Here is an example of a Tiltbrush SketchFab export. painted as a concept for one of our most innovative clients, American Girl.

 

Virtual Reality - Exporting Tiltbrush

Step 2: Export

Since the 7.0 release, exporting from Tilt Brush to useful file formats is very easy – just a couple of clicks. (It should be noted – in prior versions, performing a conversion step with a Python script was required. It now ships with Tilt Brush and happens automatically).

From within Tilt Brush, first orient to the Tools panel. Once you’ve found that, select the ••• More button. Finally, select Export. That’s it.

To find the exported files, navigate to Documents/Tilt Brush/Exports. In there you will find your exported scenes, grouped in folders prefixed with “Untitled”. Find the appropriate folder – either by looking for the highest incremented name (eg, Untitled_20), or by creation date if you’re navigating in a list view. You’re looking for an FBX file.

 

Virtual Reality - Exporting Tiltbrush

Step 3: Viewing

Sketchfab

Uploading to Sketchfab is foolproof. Once you’ve created an account, click the Upload button, then Choose File. Select your exported FBX file and upload it. You’ll be given a chance to add a title, description, and some other metadata. After the system takes a few moments to process the model you’ll see it displayed in the interactive view. From there you can change the 3D settings if you wish – post processing filters, background, Google Cardboard settings, to name a few.

Once you’re finished, publish and share. You have a fully interactive 3D viewer in the web browser to explore your scene. Furthermore, Sketchfab offers the ability to view models on a mobile device using Google Cardboard (or similar) and VR headsets via a PC and WebVR-compatible browser.

A note about FBX files… While Sketchfab does a pretty good job of rendering your scenes, it’s not a perfect representation of what you see inside Tilt Brush. Certain effects and textures will not transfer to the Sketchfab models.

 

Virtual Reality - Exporting Tiltbrush

Other Platforms

While Sketchfab is great, it’s still another social sharing platform and maybe not suited to your needs or limitations. With some additional work you can self-host models and scenes from Tilt Brush on your own website or mobile app. There are myriad choices, but that will have to wait for another day.

Exporting Tilt scenes used to be complicated, but with recent updates it can’t get much easier. Partnership with Sketchfab makes it not only easy to view interactive scenes outside the Tilt Brush environment, it makes sharing very easy. It won’t be long before we have a variety of creation tools and services catered to VR experiences in the mainstream. The momentum is here, now. Google Tilt Brush, Cardboard, and Sketchfab are first steps in the right direction, but by no means the final answer.


Evolution of Retail, Pt. 2: Omni-Channel Strategy & Digital Tactics in the ‘Store of the Future’

What is strategy?

I think Roger Martin, author of “Playing to Win”, has a great definition (Martin, 2014):

“Strategy is choice. Strategy is not a long planning document; it is a set of interrelated and powerful choices that positions the organization to win. There are five key choices in the Strategy Choice Cascade:

What is our winning aspiration?
Where will we play?
How will we win where we have chosen to play?
What capabilities must be in place to win?
What management systems are required to ensure the capabilities are in place?

These are all great questions to ask when creating a strategy, but for the purposes of this article, I’ll focus on the one that is a powerful differentiator in retail: Our winning aspiration. Strategy’s winning aspiration is to drive sales by building lasting, positive emotional engagements with customers – to tell them a consistent story  through every interaction.

We are using this aspiration as we help our client American Girl create their new ‘Store of the Future’ in New York. Even though the brand has long been prescient about making shopping experiential, they are looking for a deeper bond with their consumers. “As we look at girls today and millennial moms, they’re seeking brands that deliver positive, meaningful experiences, not just products,” says Wade Opland, American Girl’s Senior Vice President of Global Retail. As he puts it, they’re asking themselves, “How does it tie back to me?” (Rubin 2016) Creating positive, meaningful experiences is part of American Girl’s strategy, and the tactics are the methods that make it a success.

American Girl's Omni-Channel Store of the Future in NYC.
One of the planned Rockefeller Center store’s two main entrances. Image: FRCH Design Worldwide

Prioritizing tactics over strategy is not at all unusual. It is completely understandable for a retailer to experiment with tactics to try to find out what works. Most of our clients have built a mobile app. Many have attempted single-sign-on systems. Some have played with cutting edge technology like augmented reality. Those experiments don’t always fit into a more focused strategy, but that isn’t always a bad thing. There is a lot of value in occasionally building out a tactic to see how the market reacts. It gives valuable insight into what your customers really expect and want. The problem arises when you stop looking at these tactical projects as experiments and start treating them as a strategy of their own. This can cause very valuable digital and physical assets to unravel. When a retailer starts to pile experimental tactics on top of an existing IT, design and architectural platform, things get messy – and expensive. You end up with multiple pieces of software that could all do the same thing. Data gets spread so far between one-off projects that it not only becomes inaccessible to other systems and people in the organization, it becomes invisible because no one knows about it. The store POS can’t talk to the e-Commerce software. Digital displays in the store can’t make their assets available anywhere else. This can cause questions as to how effective these tactics really are, which leads to calls to return to core competencies. This can lead to a lack of innovation, muddying of the organization’s strategy, and, at worst, a complete detour from it.

There are two specific tactics that I see regularly that aren’t typically an effective part of a winning retail strategy, and I feel they deserve some special attention. They are: 1. Discounting and 2. The idea that people should be driven to online stores.

Discounting is typically done with coupons or promotions. While these are effective means to get people to purchase products, they can be devastating to profits. Retailers generally want a better tactic than giving a large percentage of their revenue away via a coupon. This is especially true on the digital side. I’ve heard the following dozens of times: “How can I get my customers to use our mobile app more than once? How can I get them to interact with the digital experiences in the store? And please don’t tell me that the answer is to offer them coupons or promotions.” The answer to this is to go back to strategy. The mobile app, the digital experiences, and all of your tactics should be telling the same, emotionally connecting story. If the  story is resonating, you won’t have to rely on promotions to get engagement – it will happen naturally.

The second failed tactic that I commonly see is shifting resources from physical to online stores. Typically, clients argue that online stores have far less overhead and thus are cheaper to run. There is some excellent research being done on this topic, as well as on coupons/promotions. Let’s take a look.

Harvard Business Review recently published an article that included research by a team led by Xueming Luo, a marketing professor at Temple University. It finds that driving customers online instead of to the store can be detrimental to profits.

“Among customers who lived close to a store, no type of coupon made a significant difference to shopping or profits. For those customers, the researchers concluded, the costs of getting to a store were low, so no added motivation was needed to prompt a trip. Among customers who lived farther away and had previously shopped only online, the online coupon generated twice as much profit as among the control group, and the flexible (use online or in-store) coupon increased profits by 800%. But when distant shoppers who’d previously bought only in stores were given online-only coupons, profits from them fell by 51%. In other words, encouraging online customers to visit a store increased profits, but incentivizing in-store customers to shop online decreased them.” (Nyquist, 2016)

Another interesting piece of advice from the researchers:

“If customers come to your physical stores regularly, you should not encourage them to shop online,” Luo advises. The more profitable play is to coax online shoppers to come into your stores, where the environment can induce them to spend more. “That’s the winning omni-channel strategy,” Luo says.

The research shows us that getting shoppers into your physical stores will actually increase profits. Additional research published by Harvard Business Review has shown that by creating emotional ties to your brand, you can lift lifetime value of a customer by nearly double. (Magids, Zorfas & Leemon, 2015)

Omni-Channel Physical Stores by Amazon
Physical stores matter: Amazon’s new brick-and-mortar concept bookstore in Seattle, WA. Image: University Village

“Lifetime value well exceeds that of the immediate physical purchase,” notes Caitlin Neyer, Associate Director of Strategy and Insights at FRCH Design Worldwide. According to Neyer, FRCH believes that keeping the guest at the center of the omni-channel experience is the crucial foundation for creating emotional ties and in turn, sustainable value. Neyer says “An emotional tie is established when a community is built around a passion. The physical store serves as a breeding ground for this passion by enabling guests to share experiences, gain knowledge and meet up with friends – old and new. In order to create a space that facilitates this type of next-level engagement, both the strategy and the store must be designed with the customer as the focus.”

Customers expect seamless, enjoyable experiences with a brand. They want a brick-and-mortar store to be engaging and to give them a sense of community. They want store staff that can enhance the in-store and digital experience with their vast product knowledge and people skills. They certainly expect to only have one login and password across every digital platform. Past orders, wish lists and loyalty points should be accessible everywhere within the store ecosystem. This renewed focus on the customer will very quickly identify the tactics that should be part of the overall strategy because customers will demand them.

When it comes down to it, simply employing tactics without an omni-channel strategy introduces the risk of creating an untended and unruly garden of digital things, data points, disconnected platforms, and very unsatisfied customers. Taking a step back with your architecture firm, design team, digital team, and operations team is imperative to figuring out which tactics can be utilized successfully in a broader overall strategy. Creating that winning strategy will differentiate you amongst the competition and will positively affect the bottom line.

Check out the entire Evolution of Retail series:

Click here for more information on MJD’s Digital Retail Offering.

 

 



Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

The Evolution of Retail, Pt. 1

The convenience of shopping from home and getting a guaranteed lowest price are powerful incentives for consumers to skip the store visit. Very few retailers can operate more efficiently on price and convenience than Amazon. This is the macro-level challenge facing traditional retailers today. How can brick and mortar stores beat the experience of endless aisles of product options, predictable delivery, no traffic, no waiting in line, all while offering the least expensive option?

We believe that the answer lies in evolving the role of the store in the customer journey. Traditionally, stores have been points of conversion. Advertising drove traffic, specialty stores and department stores allowed for feature and price comparison, and sales folks helped in the conversion which allowed consumers to leave that very day with the item of their choice. Today, social media relationships drive the most influential product awareness, purchases convert on smartphones, and customer’s behavior online helps companies predict what a customer needs before they know they need it. The fully controlled retail funnel has sprung leaks.

That’s what retailers are up against today. The comfort zone of the store as the sole point of conversion has left most retailers exposed. And it begs the question, how has the store evolved in the eyes of the customer? And what does that mean for retailing in the future?

Before retail’s digital revolution, the physical store was where the “first moment of truth” happened. Crest over Colgate. Tide over Cheer. People were made aware of the products through marketer’s pushed communications which drove store traffic and in-store conversion. Because that linear path to purchase no longer exists, it changes how the store could be utilized as a marketing tactic. A couple examples:

Starbucks

Starbucks has turned all of its coffee shops into micro-fulfillment centers powered with their ‘Order & Pay’ app. Imagine the operational efficiency and expedited service it can now provide with a way to track and manage inbound orders. Contrast that with the stress and missed sales due to a line out the door.

American Girl

American Girl is turning their flagship store into a place where girls and their dolls can bond and create memories together. This is a store they want families to visit long after the star of the show, the doll, is purchased.

This short list demonstrates the new ways of thinking about the role of the store in the marketing mix. It meets consumers needs, conforming to their lifestyle instead of conforming to the brand’s established business operations.

MJD has explored some micro-concepts that, in aggregate, can help push back on the “Amazon Effect” and help retailers reinvent themselves.

Areas of focus include:

  • The Digital Tactics of the ‘Store of the Future’: Let’s not introduce technology for technology’s sake. We’ll examine the toolbox of tactics and the appropriate times to use them to create a useful omni-channel program.
  • Enhancing the Customer JourneyHow customer journeys can be enhanced with new ideas and technology to increase sales and profit and, in turn, begin to fix the cracks in the retail world as we know it.
  • Consumer Expectations: What digital experiences are customers looking for in retail store designs? We will be looking at these wants and needs from a digital perspective while highlighting in-store design implications.

Retail isn’t dead. People need and want products and services that make their lives better. And the purveyors of those products and services still need outlets to get those items and experiences to the public. But why, how, when, where and what is no longer dictated by the retailer. The consumer is now dictating and it’s up to the retailer and its partners to figure out this omni-channel puzzle and evolve. It’s tantamount to their survival and prolonged success.

Check out Part 2 of the Evolution of Retail series: The Digital Tactics of the ‘Store of the Future’

Click here for more information on MJD’s Digital Retail Offering.



Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Android Kotlin Tips For Beginners

Prepare to Dig Around.

The Kotlin official documentation is amazing, and there’s a great Kotlin/Android introduction on raywenderlich.com that recently came out, but there is not much out there for specific questions you may have about working with Kotlin in Android. This can be pretty frustrating when you just want to create something that you have done hundreds of times in Java, but can’t figure out how it works in Kotlin, and the few examples you come across online don’t quite apply to your situation. One example I can think of where this happened for me was in hooking up a RecyclerView to a custom adapter and item click listener.

Convert Java File to Kotlin File = Life Saver.

While trudging through a situation like the RecyclerView/custom adapter, sometimes I just bit the bullet and wrote everything in Java, then used the “Convert Java File to Kotlin File” functionality in Android Studio (under the Code menu). This is a really helpful tool to see how something could be done in Kotlin. I say could because as we’ll see, there is more than one way to write something in Kotlin.

The most time consuming part of working with Kotlin is getting used to the things that will save you time.

Kotlin is a very concise language, allowing you to achieve the same result with less code, especially boilerplate code. Because of that, I found myself writing code that seemed to be the same length as Java code, and then later slimming it down to take advantage of Kotlin’s strengths. For example, there is no more wrapping a statement in a null check:

If (someThing != null) {
someThing.doSomething();
}

Turns into:

someThing?.doSomething()

What is that question mark doing there you ask? Another cool, but initially strange thing to wrap your mind around about Kotlin is how NULL is handled. Kotlin uses “nullable” and “non-null” variable types. When a variable is created and set to null, you have to put a “?” after it, and when you access that variable later, you use the “?” after it (a “nullable” variable). The variable’s property or method won’t be called if the variable is null, which avoids a NullPointerException.

There is also a “!!” operator, which is usually referred to as the “bang bang” operator (ie someThing!!.length). It’s used when you say there’s no way the variable can be null (you guessed it, a “non-null” variable). This is one place where there can actually be a NPE in Kotlin if that variable actually is NULL. There really doesn’t seem to be much benefit in using non-null objects, at least none that I’ve come across yet. Even the Kotlin docs don’t seem to like it that much: “The third option is for NPE-lovers…Thus, if you want an NPE, you can have it, but you have to ask for it explicitly, and it does not appear out of the blue”. That’s not to say that you won’t come across them, sometimes you will have to for example if an API call returns an object marked as non-null. But if you’ve initialized an object with a value, it’s safe to use !!.

Another example of how Kotlin streamlines code, by inference:

fun sum(a: Int, b: Int): Int {
   return a + b
}

Can be rewritten as:

fun sum(a: Int, b: Int) = a + b

That three line function turned into one because the Int return type is inferred by the result of a+b.

Object expressions and declarations are something you’ll see a lot that will be good to be familiar with (https://kotlinlang.org/docs/reference/object-declarations.html). Object expressions are similar to Java’s anonymous inner classes, and object declarations are Kotlin’s singletons.

Kotlin’s Lambda expressions (https://kotlinlang.org/docs/reference/lambdas.html) are also convenient to use but can take a bit to understand. Take this example:

val sum: (Int, Int) -> Int = { x, y -> x + y }

This looks like it could get hairy, but all it’s doing is declaring a variable ‘sum’ that takes two Integers, adds them together, and returns the total as an Integer. Then you would just use sum(1, 2). Pretty cool huh? And then to slim it down even more, you could use inference to modify sum to be:

val sum = { x: Int, y: Int -> x + y }

Speaking of Lambdas, take a look at this code example of Kotlin in an Android fragment:

mViewClose.setOnClickListener { fragmentManager.popBackStack() }
mViewFacebook.setOnClickListener(settingsClickListener)
mViewTwitter.setOnClickListener(settingsClickListener)

private val settingsClickListener = { view: View ->

val settingName = (view.findViewWithTag(resources.getString(R.string.setting_name_tag)) as TextView).text

  val intent = Intent()

  intent.action = Intent.ACTION_VIEW

  when (settingName) {

      resources.getString(R.string.facebook) -> {

          intent.data = Uri.parse(resources.getString(R.string.facebook_app_link))

          openSocialLink(intent, resources.getString(R.string.facebook_site_link))

      }

      resources.getString(R.string.twitter) -> {

          intent.data = Uri.parse(resources.getString(R.string.twitter_app_link))

          openSocialLink(intent, resources.getString(R.string.twitter_site_link))

      }

      …

      else -> Toast.makeText(view.context, "clicked " + settingName, Toast.LENGTH_SHORT).show()

  }

}

You may notice that the first setOnClickListener has a statement in curly braces, while the second and third have parenthesis. The first is creating an inline function statement that acts as the OnClickListener’s action. The next two are using a reference to the val settingsClickListener. settingsClickListener is creating a Lambda expression as it’s value, but you’ll notice it’s also using a View. What’s that all about? Because we’re creating an OnClickListener which takes a View as a parameter, we declare an object named “view” of type View, which is passed into the function. We are then able to use the view object in our function.

Kotlin’s custom getters and setters are pretty slick and convenient. Let’s look at an example of a custom getter:

val hasCookies: Boolean
    get() = mCookieManager?.cookieStore.cookies.filter { it.domain == mDomain && !it.hasExpired() } .size > 0

There’s a whole lot of Kotlin going on in that statement, which at first may look confusing but is a great example of how Kotlin can condense your code (Special thanks to my teammate Brigham Toskin for providing that example!). First, we’re declaring a boolean value hasCookies. We also have a custom getter. A check is done on the cookie manager’s cookies list, and is running a filter that checks if the domain matches and the expiration date hasn’t occurred. If it finds any cookies in the list that match the criteria, then hasCookies is set to TRUE. Why is this done as a custom getter versus just a statement? As a custom getter, anytime hasCookies is accessed, the get() is called and the current state of the cookies is checked instead of just when it was declared.

So Far So Good (for the most part)

After working with Kotlin the past few weeks, I’ve definitely had my ups and downs with it. I can definitely see the potential of how it can lead to smaller code and quicker development time. Also, Kotlin is a lot more similar to Swift, so if necessary our iOS team can jump in and follow along if they need to, and eventually vice versa. The hardest part of acclimating to it is just getting used to the syntax and conventions since it’s different from Java’s syntax and conventions. Sometimes it feels like you’re trying to read hieroglyphics because there’s so much going on in not a lot of code, with unfamiliar symbols and keywords, where Java feels like things are more spelled out. But like anything, it takes time and focus to understand it.

All in all, I am glad our team here at MJD decided to try out Kotlin on a project. I think Kotlin has a great future in Android development, and now that we have this experience under our belt I’m confident our future Kotlin projects will be even more efficient.

Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Designer & Engineer: A Power Couple

As a creative, I’ve worked closely with engineers for years. Sometimes we were creating original products like some of the first iPhone Apps. Sometimes I was a hired gun designer on an engineering team. Now, I lead creative teams including internal designers, vendors, and engineers. Each of those scenarios has a method to the madness, but below are some overall tips I’ve learned to make the designer/engineer relationship as dynamic (design term) and robust (engineering term) as it can be.

Foster Education

Talented designers aren’t trying to make something look pretty, cool or custom for the sake of it. Just like good engineers aren’t saying something can’t be done because it never has been done. One does not exist to make the other’s work harder.

You can gain respect and advance collaboration by living in each others world a bit, or a lot. By treating your team member like a client you can begin to understand his/her challenges and approach. A talented designer that understands engineering principles, the way he/she might approach a problem, and the reasons why, will profoundly benefit the team. Understanding engineering resourcing issues, how long a development task should take, or what work is even possible is incredibly helpful in a creative environment. The same goes for an engineer that understands design principles.

You don’t always have control over the team that’s assembled. In some cases, you might need to educate people on why the work you do is imperative, as well as the reasons for the decisions you make. Put in the time. This should be easy. There are strong reasoning, research, and design principles that go into any good designer’s work, while strong logic, analysis, architecture, and best practices go into any good engineer’s.

Education also happens organically when someone is being challenged. The work is better when the group is smarter. It’s important to ask constructive questions, to ask “why”. Listen. Teach. Question. Share insights and processes to instill trust between each other and elevate the work.

Are you speaking the same language?

Designers and engineers think differently. It sounds obvious, but it’s important to remember this while trying to get your ideas across. How does their thinking differ?

A designer’s questions on user interactions

How do we get the user to engage and how do we tap into their emotions?

An engineer’s questions on user interactions

How does the app react to human input and how does it communicate back?

Designers and engineers each have a distinct focus. In this example, one focuses on human engagement, one focuses on functionality. Understanding where the focus lies is a helpful jumping off point. From there, talk less about deliverables and more about project goals. It’s easy to get into the weeds if you’re trying to take on someone else’s focus. A designer may not totally understand the engineer’s details of a project’s logic, and that’s okay. Because the guiding light should be the project’s goals.

There’s a tangible mindset shift when the team thinks first in goals like ‘encourage more engagement through freedom of expression’ vs. a tactic like ‘build/design a home screen’. Then individually, how can everyone deliver on that?

A Symbiotic Relationship

Designers make engineers look good. Engineers make designers look good. In our industry, substance is not more important than how something looks. Both are important and need to be treated that way. Design dictates how a user feels while using a product. This feeling, whether subconscious or not, helps a user decide whether it’s your product they use or someone else’s.

I was talking with an engineer once about his frustration with not having a designer on his team to make the super-awesome product he was working on, look indeed, super-awesome. It’s true, people are visual. In order to believe and trust in a product it has to look and feel as good as it works. Getting people to rally around a product takes powerful functionality, meaningful features, and design that speaks to them.

Take, for instance, the Apple App Store when it opened in 2008. The first apps to hit the store were built by forward thinking engineers. Because some of these engineers were independent or a small team, design was left on the curb. They ended up making fantastic apps that looked less than fantastic. People didn’t know what to expect in the beginning, but they quickly became accustomed to the superior design aesthetic that the iPhone epitomizes. This opened up the door for someone to do the exact same fantastic app, but one that was well designed and won the hearts of the competition’s users. A prime example is the array of weather and news apps that have the same essential functionality but riff over and over in design and UX.

Forget about the “hand-off”

Stop thinking in terms of a design ‘hand-off’ that happens once final design is approved and engineering starts. Design and engineering start at the same time; from strategy through the build. It’s helpful to create space for designers to think in code and engineers to think in design. Engineers can moodboard and designers can prototype. The work will be better for it.

Also forget about ‘final design’. We need overarching guidelines to hit deadlines, but we need to allow room for flexibility and change. You can’t always see the forest for the trees. Don’t allow early decisions to bind a project up. Try hard to kill the mindset that what’s being built today will never change. Real-time user testing will inform and cause needed iteration.

Arm the engineers

Style guides; interaction guides; vector assets; animation prototypes: These items take up a lot of a designers’ time to produce. But they’re worth it.  

The more designers do to inform an engineer, the better the outcome will be. Yes, the idea is to work closely during the whole process, but so much of that time is verbal communication through scrums, brainstorms, etc. When the details and design decisions are only explained verbally, it leaves room for a large gap in understanding. This could lead to let down and frustration on both sides. Reference is a powerful tool to keep the common vision clear.

 

Lay this groundwork, and with the right people, you will see the work and individuals advance. The right people is key. This kind of collaboration is not for everyone. Not everyone has the ability or desire to venture outside their cozy silo. At MJD we cultivate an environment of cross-pollination and seek out people who thrive on this kind of collaboration. These types of people tend to gravitate toward each other.


Book Release: watchOS by Tutorials

 

watchos

 

watchOS by Tutorials, available now, teaches you everything you need to know to develop your own apps for watchOS 3, including new features such as the Dock, CloudKit, Digital Crown access and more.


SEGD XLab: Tapping Emotion with Experiential Design

The aim is to add a level of detail that not only catches their attention, it infuses the experience with emotion, and thus, meaning.

While creating emotion is often worthwhile in and of itself, one can imagine the increase in brand affinity it creates. Some estimates claim that each of us is subjected to 5,000 marketing messages per day. In the midst of that, wouldn’t we all like a little jolt of something that pulls our heart strings, offers something useful to us, or makes us laugh? It’s one of those things that transforms an app, a website, a digital experience from good, but forgettable, to exceptional and memorable.

Join us in New York City on October 28 at SEGD’s annual XLab event to learn more about this topic. In this lecture MJD Co-Founder and CEO, Jeremy Duimstra, will cover:

  • Examples of elements of emotive experiential design from Disney, American Girl, Yelp, Stride-Rite, and many other sites, apps and digital experiences.
  • Incorporating emotive design from user experience documentation through design and development
  • Prototyping for emotion using tools like Invision
  • The ROI of Emotion
  • Brand affinity through emotion design
How to Create an Award Winning Culture

The ability to ‘work on really cool projects’ took some time for MJD. We started as a two-person shop that was run out of our home offices. We took just about any digital work that someone would throw at us. It never mattered to us that the clients were small, and that our moms (or friends and acquaintances) had never heard of them. Instead, we concentrated our efforts on doing incredibly high-quality work for them, regardless of who they were. This led to recognition, which snowballed into bigger name clients that wanted to do interesting things. Over the past nine years, our focus on the quality of the work has blossomed into a client portfolio that I’m extremely proud of. Mom has definitely heard of Disney, GoPro, RedBull, and American Girl. So have our friends and acquaintances.

Hiring great people is incredibly important to building an award-winning culture. I’ll be honest, we’ve made mistakes. At times we’ve hired people for a skill set instead of a personality fit. That has always backfired. We now focus on intelligence, creativity, and flexibility in our interviews. We’ve been told that when you come to our office for an interview, you can feel the family atmosphere, along with a kinetic energy of people that are excited to be at work. The trick to cultivating this feeling is keeping those people happy. That boils down to culture.

Instagram reinforces our culture.

The employee satisfaction survey that we send out is pretty revealing of our culture. We are hyper-transparent at MJD. The anonymous survey is sent out to the entire staff, and all 50 questions/answers are read aloud to everyone during our bi-annual “State of the State” meeting. We get answers about what people love:

“I love the environment, the types of projects that we work on, the freedom we have to push technology ahead with little restriction, and the perks and encouragement of responsibly managed personal flexibility. Remote work has always been important for me, as distractions of ANY kind, regardless of how small & short they may be, can completely throw me off. My work style is very much momentum-based, so I appreciate the moments when I can work remotely with significantly less distractions.”

And we get answers about what they definitely do not like:

“You can hear bathroom ‘activities’. Can we soundproof those rooms?”

Welcome to the world of MJD transparency!

We are also very open with our finances. Every employee knows our revenue, profit margin, and profit. They know how that will impact profit sharing at year-end. We are sure to let everyone know what is going well, and where we need to work on financial performance. This aligns the whole team. Being equipped with knowledge on how the agency is doing financially gets everyone excited to pitch in to achieve the same goals. On an individual level, we make sure that each staff member knows how much money the company has made as a result of their work every six months. Employees are shown how their billable utilization contributes to the bottom line. This information is directly tied to raises and profit sharing. Through total financial transparency, everyone is motivated to contribute as much as they can.

The third part of creating an award-winning culture is business innovation. We see ourselves as a pretty progressive workplace, but what I am most proud of is our constant search for new ideas on how to make this place even better. We actively research what other companies are doing to build great places to work. No idea is considered too wacky. It’s been found that unlimited vacation, along with maternity and paternity leave is shown to boost productivity? Awesome, let’s do it. Zappos has shown success in throwing out corporate hierarchy in order to create a flat, holacratic workforce? Interesting. Let’s incorporate the best parts of what they do into what we do. Let’s make it better.

Aside from actively innovating our culture, we also stay true to the foundational elements that are built into MJD’s core. These items are tried and true, and never change. They are covered during your first day as an employee via our Employee Handbook and are constantly reinforced throughout the year. These core components include many things, but to give you an idea, here are a few:

Our employee handbook oozes culture.

Design Thinking

Own it, Together

Own a project as a whole as much as your individual role. There will be a part of the process that you are most entrenched in. It’s not about passing from one step to the other. Keep engaged and active. Projects should end as strong as they start.

Everyone is a Creative

The Creative team is not the design team. It’s made up of designers, strategists, UX experts, engineering wizards and all of us in between. We are all creative thinkers. Together, good work becomes great work.

Everything has a Story

Award winning work doesn’t just look cool. It has a voice, a fresh perspective. Sometimes our digital products include an integrated campaign, sometimes a user interface. Even an interface can tell a story. Our job is to uncover it and then speak it clearly and consistently.

Users are Human

Emotions, associations, and satisfaction are just as valuable as clicks and taps.

Collaboration

It’s impossible to be accountable for a project that you didn’t have an opportunity to collaborate on at its earliest possible stages. At MJD we strive to have every department involved in the entire lifecycle of a project, from the pitch to the budget, the schedule, and the deliverables. Every project has to pass the extremely high individual and team standards that make us great. MJD work is award winning. We hit our deadlines. Our clients love working with us. We love working with each other. We’ve learned something new. If we can say those things at the end of the project, we’re accomplishing our goals.

Kindness and Respect

Be kind to each other. Be kind to our clients. Respect everyone’s opinion, while sticking up for your own. Tone matters here and nice people always finish first.

Culture included our community.

Sustainability and the Environment

“We cannot sit idly by while large special interests destroy the planet for profit without regard for our children and grandchildren.” – Rose Marcario, CEO of Patagonia

The planet faces a great crisis: climate change, extinction, the destruction of wild places. MJD acts in small and large ways to combat this crisis. In the office, and hopefully in our personal lives, we follow the Three R’s: Reduce, Reuse and Recycle. The three R’s all help to cut down on the amount of waste we throw away. They conserve natural resources, landfill space, and energy. Plus, the three R’s save land and money communities must use to dispose of waste in landfills.

We have worked with a sustainability consultant to reduce our carbon footprint, we sponsor beach cleanups, provide pro-bono work for environmental organizations that we believe in, and support political candidates who push hard for clean, renewable energy, restore clean water and air and turn away from risky, carbon-intensive fuels.

Ethics

We will never work on a project that a team member objects to ethically. We also actively support debate and conversation around ethical topics, as some projects might have gray areas that require us to dig into before making a decision on whether to work on it.

Diversity

At the heart of our business, we seek to inspire and nurture the human spirit – understanding that each person brings a distinct life experience to the table. MJD’ers are diverse not only in gender, race, ethnicity, sexual orientation, disability, religion, and age but also in cultural backgrounds, life experiences, thoughts and ideas.

Embracing diversity not only enhances our work culture, it also drives our business success. It is the inclusion of these diverse experiences and perspectives that create a culture of empowerment, one that fosters innovation, economic growth, and new ideas.

Culture makes it fun to do the impossible.

Sale to Celebration

We party like rock stars when we land a new client. We party even harder when we launch something awesome for them. An agency can feel like a constant assembly line of project after project. We do it differently here. Each project is a beautifully crafted masterpiece that is celebrated any chance we get.

In Conclusion

Overall, these are just some of the things that we’ve put in place at MJD that I feel make this place pretty darn awesome. It was such an honor to receive the “Best Places to Work” award this year. It validated a lot of what we’re doing and reinforced our belief in our core values. But there are always areas that can improve. All in all, the most important thing in all of this is that we have leadership and a staff that deeply care about protecting the good in what we do while striving to find ways to make these things even better.

We’re Hiring!

Did you like what you read? You can work here! See our open positions.

Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Joy in Retail – What and Why?

Unexpected touches

A core aspect of joyful moments are their unpredictability. For the person experiencing them they cannot feel planned or contrived. Rather they must feel like they have organically risen from the situation at hand.

This presents a challenge for an organization in need of repeatable, reliable operations (e.g. retailers with complex services and multiple storefronts). In other words: how does one plan to be spontaneous?

Our solution for this leverages technology to provide a consistent, constantly updated view of the world (e.g. shopper behavior across physical and online channels). Combined with intelligent analysis that determines the right moments for acts of joy, the end result feels natural and not random.

 

image_retail_joy

Small things, big impacts

Joy comes not from the scale of the act, but from the the overall impact it has. The details really do matter. However, the effort to do these things adds up – especially if it means adding even more tasks to a retailer’s already busy workforce.

Our approach leverages technology and experience design to do some of this heavy lifting. For instance, we have have helped retailers ensure loyal customers are given warm, personalized greetings when entering their stores. In part we did this by using sensors to detect the presence of a loyalty app – requiring no additional labor by retail staff.

In addition to allowing the store to be a more welcoming environment for some of its most valued guests, this also provides critical traffic data to help retail staff further optimize operations – again all without further effort on their part.

Intangibles

Joy does not require giving away masses of free stuff. An appropriately timed action or additional bit of effort can cause an even stronger response. Figuring out which actions and efforts to undertake can be a gamble for retailers. It’s easy to get lost in seemingly good ideas that don’t pay off. Our experience has been to think through the bigger picture of what drives particular shopper behaviors and then ensuring that all elements connect back to those deeper understandings.

For instance, we helped a footwear retailer recast the children’s shoe buying experience from a necessary chore to an exciting life event. We did that in part by creating a mobile app to help parents size kids’ feet at home – cutting out one of the more tedious aspects of in-store visits. But we also used this data and app platform to create papercraft activities for kids that turned their footprints into characters. While seemingly non-critical functionality, this feature was actually essential for transforming the experience into something kids eagerly participated in – our moment of joy.

 

image_retail_joy_2

The benefits of this perspective for retailers are intertwined: improved customer loyalty and more effective use of loyalty marketing spend/systems. Joy helps strengthen the connection between brands and their their potentially strongest advocates – moving from functional needs to emotional bond.

2016 Best Places to Work in San Diego!

This survey and awards program was designed to identify, recognize, and honor the best employers in San Diego, benefiting the county’s economy, workforce, and businesses. The list is made up of 100 companies split into four categories: 42 small-sized companies (15-49 US employees), 28 medium-sized companies (50-249 US employees), 18 large-sized companied (250-1,999 US employees), and 12 mega-sized companies (2,000 or more US employees). MJD has been named one of this year’s Best Places to Work in San Diego in the Small Business category.

MJD has experienced tremendous growth over the last few years, and continue to hire in both their San Diego and Los Angeles locations. See a list of current openings.

To be considered for participation, companies had to fulfill the following eligibility requirements:

  • Be a for-profit, not-for-profit business or government entity;
  • Be a publicly or privately held business;
  • Have a facility in San Diego County;
  • Have at least 15 employees in San Diego County;
  • Be in business a minimum of 1 year.

Companies from across the county entered the two-part survey process to determine the Best Places to Work in San Diego. The first part consisted of evaluating each nominated company’s workplace policies, practices, philosophy, systems, and demographics. The second part consisted of an employee survey to measure the employee experience. The combined scores determined the top companies and the final ranking. Best Companies Group managed the overall registration and survey process in San Diego, analyzed the data, and determined the final rankings.

The list-making companies will be honored at an awards ceremony on August 11. A special issue of the San Diego Business Journal that profiles the companies selected as the Best Places to Work in San Diego will be published on August 22.

For more information on the Best Places to Work in San Diego program, visit www.BestPlacestoWorkSD.com.


The Strategy Behind Delight

Personalization

No one wants to be a “user”. We are all unique individuals with different experiences and expectations of the technology we choose to use. One of the first attempts at personalizing our digital experiences brought the creation of user profiles. Create a profile and be greeted by name the next time you login – neat! The profiles that we’ve all created have now been augmented by big data. Every social network “like”, every purchase, and every search builds the digital information around each of us, so the experience feels like a real, even human-like interaction. While there are privacy concerns at play here, we are seeing evidence that people will give some of this information away in exchange for highly personalized, and thus useful, experiences.

Take retail subscriptions for example. Big data and artificial intelligence algorithms can determine exactly when my wife and I are two diapers away from a minor household catastrophe. When the delivery of a new case of diapers arrives at our door the very day that we’re about to run out, I am not only delighted, I have become a raving fan of that service. The e-commerce site seems to know me. That’s true personalization.

In Context

The second theme we’re seeing in the design of digital products is the delivery of content that is in context with your current environment. The sensors in our devices know a great deal about us. An alarm can go off in the morning, accompanied by music that fits the mood of our calendar that day. As we get in the car for the morning commute, our mapping app can inform us that traffic is heavy and recommend an alternate route. While driving by our favorite coffee shop, our loyalty point app can let us know that we have a free cuppa Joe beckoning. All of these prompts are done in context of the place and time in which we’re currently present.

Intuitive

Having an intuitive interface isn’t just a no-brainer; it should actually require no brain. The technology needed to build even relatively small digital products is incredible. Thankfully, we have decades of hardware and software design to build upon for each new thing that we produce. But that layering also creates exponentially complex systems. Those systems need to be hidden from the user interface. The best interfaces are the most simple and the most intuitive, while accessing the robust technology under the hood. Which leads us to our final, crucial ingredient of a pleasurable digital experience – minimalism.

Minimalism

In our view, pleasure isn’t derived from interfacing with a digital contraption of some kind but, rather, by enhancing a human experience. It’s important to strip the clutter from someone’s life, not just their user interface. The best products simply make things easier; they minimize the noise and chaos of everyday life. The hardest thing to do as digital designers is to collapse a feature set. We fall into the same trap as our clients by attempting to create a product that does all things for all people. Truly delightful products do a minimal number of things extremely well.

Ultimately, pleasure – the pleasure in experiences, things, gadgets and even people — will influence how much and even how often we choose to interact with them. This delight is the driving force that pushes us to fulfill our most basic needs. By incorporating these four essential ingredients into their digital products, companies will enhance the pleasure of their users’ experiences and meet those needs at the core level.


Picking a Continuous Integration Platform

The concept isn’t foreign to most experienced developers – once a feature is completed, the code is pushed back into the repository – either the main development branch, or a feature branch. The next step involves work that many haven’t experienced. Upon integrating/merging the code into the repository, a build server pulls the changes and builds the project, testing it for functionality, often through unit tests. Depending on the project, the process of building or compiling on the server may also identify newly introduced issues not otherwise noticed by the developer (in theory testing “works on my machine” syndrome).

This process allows teams to quickly identify problems that might otherwise go unnoticed for some amount of time. Quickly identifying issues means they can be resolved before a system of dependencies become built around them – something that becomes much more difficult to unwind as more code is added.

Because CI is often coupled with proper unit and functional testing, the build server is able to verify that the tested functionality hasn’t changed since the last successful integration. Furthermore, CI can be used to test code in numerous build and runtime environments. Some practical examples could include testing builds against various system libraries and configurations, an array of browsers and versions, or a suite of test phones and tablets spanning sizes and operating systems. Here the developer makes large efficiency gains as repetitive tasks are handled by the server.

While investigating various CI services, the mobile team here at MJD consider several factors that influenced our final decision. Among them,

Platform support

We needed a system capable of building for both iOS and Android (implicitly, Mac OS X ).

Ease of use

Is it relatively easy to configure the system and keep it running with minimal intervention?

Customization

Can we customize the build process outside of modifying the application project files?

Availability

Some services are cloud-based, while others are self-hosted (possibly only available on the local network).

Cost

Depending on the company size, number of repositories, or concurrent builds, price may become prohibitive

Based on this list we evaluated the following CI tools and services:

Jenkins

Jenkins is an open source CI server that has been one of the go-tos for a few years (more if you count its roots with Hudson). It finds favor in the development community because of its versatility and platform support (Mac, Windows, Linux, BSD). With myriad publicly-contributed plugins, Jenkins is quite customizable.

Let’s see how it stacks up against our needs:

Platforms

As mentioned above, Jenkins runs on Mac OS X, Windows, Linux, and BSD. This meets our first requirement – Mac OS X.

Ease of Use

Once installed and with jobs successfully running, Jenkins is quite maintainable. Once running, it just keeps going. Coupled with tools like Fastlane, (and soon Android) it makes the build process very easy to configure.

There’s a caveat: Getting Jenkins running in the first place can be difficult. On Macs, at least for the purpose of building iOS projects, there are a few special steps that must be taken in order to allow Xcode to operate properly. Kunstmaan Labs has a good step-by-step guide to installing Jenkins and configuring Fastlane.

Besides setup issues, one important factor is your team’s ability to maintain a server, should anything happen. Some developers may feel completely comfortable caring for a server, while others completely lost. This is an important factor to consider when deciding whether or not a self-hosted solution like Jenkins is right. Generally, our experience with Jenkins running on Macs has been positive, and we have enough expertise to handle administration should an issue arise.

Customization

Jenkins is one of the most customizable CI tools available – certainly more so than popular cloud-hosted tools. Out of the box, it provides a simple build template: Provide the repository’s URL, branch(es) to build, frequency the build should run, and a short shell script used to actually build the project. A number of plugins are available for both Xcode and Android projects to ease build configuration. Since we use Fastlane (https://fastlane.tools/), the command line is sufficient, but it doesn’t end there. If you need more functionality, Jenkins can do things like send status emails, create build reports, upload binaries for testing, perform specific unit and functional tests (including software simulators and actual hardware), post notifications, deploy to staging and production, and even turn on a Hue light.

Some of these features are bundled with hosted CI services, but that’s where the extensibility ends with them. Because we value being able to tweak our build configurations and perform extra tasks, Jenkins gets a bit of extra credit while others fail miserably.

Availability

This is rather important – are you able to access the build machine when you need to? Self-hosting a Jenkins server could mean it sits behind a firewall, blocking your access while out of the office. The typical work-around involves port forwarding to the Jenkins server, or requiring the team to VPN into the network. Another less common option is leasing a Mac server in a datacenter such as MacMiniColo.net. Because we already have a spare Mac Mini in the office, that will be our Jenkins box, so the colocation idea is out. Deciding on how to connect from the outside is yet to be determined.

Cost

Jenkins is free. When you look at the available features, you get a lot more than what many paid services offer. Don’t be fooled that the free price tag means it’s completely free. The hidden cost of maintenance, upgrades, and downtime are extremely important. Though Jenkins is easy to use once running, there are times when an engineer must spend time doing routine work, which comes at a cost of their time. Hosted services don’t incur these costs (or presumably, are baked into the monthly or per-user fees). Given a twelve-month timespan, it may be a wash.

Conclusion

As we’ve seen, Jenkins offers us many benefits and a few drawbacks. On one hand, we have a very powerful, extensible system. On the other, the burden of maintenance is on our team and potentially limited access is a concern.

CircleCI

CircleCI bills itself as an all-in-one build management, testing, and deployment solution for mobile and web. A quick overview of important points:

  • You’ll have to decide if the pricing scheme is sustainable as your project/org scales.
  • It is completely built around GitHub integration; there is no support for BitBucket, self-hosted Perforce, or anything else currently.
  • Build inference and configuration are not as smart as we had hoped.

Let’s take a look at the feature breakdown.

Platforms

Supports web, Android and iOS. That said, the support for mobile seems immature, especially for iOS as of this writing.

Ease of Use

We wanted to set it up to build a complete, extant project. In our line of business, a lot of what we do is taking over work on someone else’s codebase. We often don’t have the luxury or freedom to radically restructure an app or its build process and requirements. So to realistically test this kind of scenario, we decided to fork a project on GitHub.

The process of setting up a project on CircleCI was actually very smooth and easy. It lets you pick any repo you have access to from your GitHub account, you hit the “Build project” button, and it imports everything and tries to detect reasonable build settings.

First we tried Zebra Crossing, the famous barcode scanning software from Google. After a couple hours of fiddling, we decided to give up and try another project, so as not to waste too much time. Next we tried the DuckDuckGo search app for Android. That ended up not working out either. Finally, we tried the 2015 Google IO schedule app. This we ultimately got working, though we had to lean on a few hacks and workarounds that we wouldn’t feel comfortable leaving in production code.

First, the unit tests for the server component were failing for some reason. Most likely it’s related to the fact that they’re running on a container, or a slight difference in some library. We were mostly interested in testing its ability to build a mobile app, so we just disabled those tests. Second, CircleCI’s build settings inference didn’t set it up so that the app was actually built. We had to create a circle.yml build config file in the repo, and add a manual gradle command to actually generate the APK. Third, apparently Android builds under Gradle are a little cavalier with threads and memory, which was causing the process to be killed on the container. We found a StackOverflow answer dealing with this, and found that limiting the number of threads fixed the dying builds. Fourth, getting it to actually collect and link the build artifact was a little bit fiddly, and required us to spam a bunch of commits to our branch as we searched for the correct incantation in the circle.yml file. In the end we were unable to get it to move or rename the apk, so anyone looking to download it later would have to drill down through several layers of sub directories and manually rename the file to something other than “android-debug.apk”.

Customization

CircleCI is intimately tied to GitHub. You create an account by logging in with GitHub, and builds are all tied to your GitHub commits. If your workflow is built around GitHub, then this is all incredibly simple and convenient. It also supports an array of secondary technology and service integrations, to hook into your toolchain and workflow, including chat and email, analytics, and deployment services.

CircleCI analyzes your code and project config files, and tries to figure out how to make it all just work for you, automagically. They also offer you fairly comprehensive manual configuration options: there is a way to enter custom, private, encrypted environment variables which will be available to the build scripts; there is a simple webform where you can enter manual commands for different build steps; and there is a highly customizable YML file you can include in the root of your repo to override and specify almost any aspect of the build apparatus. Builds can be customized based on regex matching against your git tags.

If you have the requisite configuration files set up correctly in your repo, it will automatically download build dependencies for many of the most common systems package/dependency management systems:

  • CocoaPods
  • Homebrew
  • Ruby Gems
  • Maven
  • Android SDK/tools
  • …and others.

CircleCI will run any tests it detects (or that you specify) for each build. Because you are sequestered in your own lightweight container, you can install any libraries or software you need. If any test fails, it considers this a failed build, and will notify you of your stupidity. Beyond standard unit tests, CircleCI supports integration with e.g. Appium to do UI testing.

Cost

CircleCI is based on the idea of containers, which are basically lightweight Ubuntu GNU/Linux (or OSX) virtual machines. Builds can be parallelized across containers, allowing multiple simultaneous builds, or a single build conducted in parallel, or some compromise of the two. For example, with four containers, you can do four simultaneous builds, we build split across four containers, or two simultaneous builds, each split across two containers.

Each time you push code to one of the github repos you’ve added to your CircleCI account, a build is triggered. So if you or your team push multiple commits in quick succession, builds will be queued up when you run out of available containers. With the basic service, which allows you to have unlimited users and projects/repositories, you get a single container for free. Additional containers are $50 per month.

If you’re an individual or on a small team, and your builds are fairly quick, this is probably very reasonable. As your needs scale up, this could start getting expensive quickly, but this may be offset by the larger engineering and devops budgets typical of larger organizations. You’ll have to decide where that sweet spot is for you, and assess accordingly.

Conclusion

We’re sure a lot of our difficulties are due to ignorance on our part; with the knowledge we gained getting the iosched project working, we could probably go back and get zxing and dukgo working. On the other hand, we were hoping CircleCI’s build settings inference technology would have been a little smarter. CircleCI really feels like it’s got a lot of potential, but it’s maybe a bit young. Or at least that’s true of the mobile development experience. We, of course, didn’t put it through its paces, but the support for web deployment and CI seems much more mature and complete.

In the end, the fact that it’s so intimately tied to GitHub probably means we won’t go with CircleCI. Not that there’s anything wrong with GitHub (it’s our preference, in general). But even if we decided to move all our current repositories over from BitBucket, what do we do when we inherit a large code base from a customer that lives on their internal SVN servers? Migration and interop between git and SVN is not the strong suit of everyone on our team, and for a small company that doesn’t have a dedicated build engineer or devops, the overhead and headache of trying to make it work seems prohibitive right now.

Bitrise

Overview

Bitrise prides itself as a “mobile continuous integration and delivery service for your whole team, with dozens of integrations for your favorite services”. Their goal is to allow users to craft powerful workflows for every development stage including testing, deployment, signing, packaging and delivery.

Platforms

Bitrise has support for iOS, Android, and Xamarin builds. There is a web portal with a UI that allows you to manage your workflows in a visual manner. There are also command line tools that let you accomplish the same tasks. The tools for the iOS build seem to be fairly mature; however, the Android environments are in Beta release at the moment.

Ease of Use

Bitrise provides out of the box integration with Github and Bitbucket. It takes about 15 minutes to get up and running once you select the repository and branch, set up the SSH keys, and project build configuration. We were able to get the iOS project we built for the Grammys up and running fairly quickly. However, there were some build errors on the Grammys Android project that had to do with the Gradle specific permissions. We contacted their support team, but were unable to get these issues resolved so we did not get a working Android build with Bitrise.

Customization

The platform offers all sorts of different integrations which are really useful including:

  • Fastlane
  • Slack notifications
  • Deployment to iTunes and Google Play
  • Fabric/Crashlytics deployer
  • Unit Testing services
  • Scripting support

Availability

The entire service resides in the cloud and is accessible from any browser or command line.

Cost

There are three different tiers for the product:

Voyager – Free

  • 2 team members
  • 200 builds / month
  • 1 concurrent build
  • 10 min build duration

Galileo – $29 per month

  • 5 team members
  • Unlimited builds
  • 1 concurrent build
  • 30 min build duration

Atlantis – $129 per month

  • 15 team members
  • Unlimited builds
  • 2 concurrent builds
  • 45 min build duration

Conclusion

While it appears Bitrise has a promising future in the continuous integration and delivery market, the current product is lacking and therefore not a good candidate for our purposes.

Buddybuild

Buddybuild is a cloud-hosted CI for both iOS and Android platforms. Though it’s a relative newcomer to the game, Buddybuild has started off strong – offering a number of features and third party integrations developers are bound to find useful.

Platforms

Buddybuild supports only Android and iOS projects, but keep in mind this also includes React Native, PhoneGap, and Ionic development frameworks. The service also supports common dependencies such as CocoaPods, Carthage, Maven, and npm.

Ease of Use

Configuring Buddybuild is relatively straightforward – provide a git repository URL, perform a few configurations as needed, invite testers, sync provisioning profiles (iOS), and be on your way. Whenever a new commit is pushed to the repository, Buddybuild will kick off a new integration build and send the results to your testers. Of particular interest to iOS developers is Buddybuild’s ability to automatically manage devices and provisioning profiles. Their web interface is easy to understand and works well.

Customization

Buddybuild offers a significant number of configurations to support building a variety of project configurations. Out of the box, Buddybuild offers build notifications (email, Slack, and HipChat), unit testing, environment variables, and binary versioning. Among iOS project customizations, you are able to select a version of Xcode (including betas), build scheme & configuration, and signing identities.

While those features are great, they are limiting if your needs fall outside a basic build and deploy strategy. Because Buddybuild is running integrations on their servers, your access to the system is limited. You don’t have access to installing specialized software tools, building for other platforms, running custom shell scripts, or interacting with unsupported third party integrations. Depending on your project’s needs, this could be a dealbreaker.

Availability

Buddybuild is available anywhere you have an internet connection.

Cost

At the time of this writing, Buddybuild is free, but the service is expected to be paid.

Conclusion

Buddybuild makes continuous integration and deployment a breeze for iOS and Android developers. It offers enough customization to be useful where it matters – notifications, builds, testing, and binary distribution. Where it lacks is the ability to do anything outside of typical mobile build cycle. While this is to be expected with hosted solutions, it’s not the choice for every team.

And the Winner Is…

We’ve had the opportunity to take a look at a variety of CI options. While hosted CI solutions offer tremendous ease of use, yet lack customizability. On the other hand, powerful tools such as Jenkins offer immense flexibility, but aren’t always easy to use or administer. The route that is best for your team will depend on the tradeoffs you’re willing to take. If you’re looking for something that requires the least amount of configuration and administration, Buddybuild is the clear winner. If you need flexibility and advanced control such as running Fastlane or shell scripts during the build process, Jenkins is the tool for the job.

The decision wasn’t easy, but ultimately we chose Buddybuild. We appreciate how easy it is to set up new projects and invite new testers. Our CI build needs are not complex and Buddybuild gets the job done with the least amount of work and maintenance. It just works. While we strongly considered Jenkins, we decided the power it offers isn’t required, nor are we interested in administering our own build server. We’re not ruling it out entirely should our needs change.

How Can MJD Help You?

Our clients ask us to make sense of every new digital revolution, and we deliver. We only have specialties and they include guiding strategy, designing, and building digital platforms, products and experiences that move the needle. Need help? Get in touch, we’d love to chat.

Interested in more content like this? We publish everything on LinkedIn, all you have to do is follow us by clicking below!

Design Thinking

MJD Design Thinking is how we create our most thoughtful solutions. It’s a way for an entire digital team to work together – to create a major impact on users. This is what keeps us inspired and our innovation wheels spinning.
(more…)

Best Digital Experiences of 2015!

2015 was full of great digital experiences! Check out this fun infographic showcasing the top digital products MJDers used last year on their worldwide adventures.

 

mjd_yearofexperiences

Lean User Testing Methods : Test Before You Build

User testing is a vital part of UX Design, and in some cases overlooked due to the belief it’s too expensive or it will take too much time. You can sketch, conceptualize, research and design all you want but at the end of the day, the proof is in the testing. How your intended audience interacts with your product, what motivates them to return and engage and how they perceive it is the pure definition of UX. With so many affordable testing resources now available, it can be done quickly and with minimal costs. Test early, get it out there and get feedback. (more…)

MJD Wins Five Davey Awards

Following shortly on the footsteps of winning four W3 Awards earlier this month, MJD has been honored with five additional Davey Awards for the Grammys, Etnies, Stride Rite and Benefunder. (more…)

MJD Wins Four W3 Awards

Continuing MJD’s culture of creating award winning work, we are thrilled to have been honored with four W3 Awards for projects for the Grammys, Stride Rite, and Falken tire.

(more…)

Designing for Delight

There are many ways to create delight. An element of surprise is a good one; a moment of unexpected interactivity; a novel use of animation; a personalized user experience are others. The key to delighting the user is to tap into their emotion. The aim is to add a level of detail that not only catches their attention, it infuses the experience with a moment of joy,  laughter, maybe  just a momentary smile.

(more…)