Wednesday, November 9, 2016

Background Audio in Android With MediaSessionCompat

20 Excellent Podcasts for Any Marketer

re-marketing-podcasts-600

Do you want to accelerate your marketing know-how? Looking for free advice to grow your business? Podcasts are the highest-leverage, lowest-cost educational medium available today. Top experts share their wisdom week after week. In this article, you’ll discover 20 must-listen podcasts for busy marketers and business owners. #1: StartUp Podcast The StartUp Podcast explores what [...]

This post 20 Excellent Podcasts for Any Marketer first appeared on .
- Your Guide to the Social Media Jungle


by Ray Edwards via

ToyFight

ToyFight is an award winning creative agency specialising in design.
by via Awwwards - Sites of the day

Versioning Show, Episode 15, with Christian Heilmann

In this episode, Tim and David are joined by Christian Heilmann, well-known developer, speaker, author and Developer Evangelist at Microsoft. They discuss the pressure to know everything in tech, dealing with impostor syndrome, encouraging human growth in tech jobs, new perspectives on progressive enhancement, and avoiding the "happy path" in web development.

Continue reading %Versioning Show, Episode 15, with Christian Heilmann%


by M. David Green via SitePoint

Under the influence: Dark patterns and the power of persuasive design

As designers, we know that our decisions have a real impact on how people use products. On the downside, poor design decisions have the potential to cause annoyance, cost users a bit of cash, or at worst, have more catastrophic results. Figuring out the intent behind designs, however, can be more tricky.

We came across this recently at work, when our general manager Damian unboxed a new 12” Macbook. We quickly noticed a problem: the new Macbook only had one port, with no adapter in sight. How was he going to charge his phone, or charge his new Magic Mouse, or connect his keyboard or monitor?

He was faced with a choice to either buy the $129 Apple adapter to use his screen and keyboard, or change the way he works. Resigned, Damian ordered the adapter.

This is just one example of the far-reaching impact that small design decisions can have on a user, whether intended or not.

I’m not sure about the intent behind the decision for just one port. Was it made with good intent – perhaps to progress an ‘all wireless’ ecosystem that Apple is planning?

Or was it made with consciously bad intent – to push for an upswing in accessory sales?

Without inside knowledge, we can’t know if this particular example from Apple example is intentional trickery. But there are plenty of examples where designs have indeed been created intentionally to deceive, known as dark patterns.

In this article, I’ll explain dark patterns, the psychology behind them, and how you can use smart (but not deceptive) techniques instead.

What are dark patterns?

In the online world, designs that are intentionally created to trick and deceive users are called dark patterns. Designers have crafted these ingenious, yet ethically questionable patterns to trick users into doing something they don’t want to do.

To create dark patterns, designers rely heavily on a good understanding of cognitive science and human behaviours. These are used to benefit the company behind them, to achieve goals like increasing sales and improving numbers of sign-ups.

It’s worth mentioning that I’m not talking about Anti-patterns here. They are just design mistakes that might have a negative impact on the user experience, or break conventions. Here’s an example.

I’ve become interested in dark patterns of late, and more specifically, the convergence of human psychology and cognitive science.

At a high-level, you can think of dark patterns akin to the tricks of a dodgy car salesman. These tricks are even easier to pull off in the digital space – you can’t look under a website to see a tell-tale puddle of oil on the ground to identify a dark pattern.

Dark patterns in action

All across the web, you’ll find dark patterns being used through practices like friend spamming, disguised ads, hidden costs, and more. Luckily, the UX industry is fighting back against dodgy practices through websites like darkpatterns.org, which is dedicated to educating designers and calling out questionable digital practices. It currently lists 14 ‘types’ of dark pattern to watch for.

Here are a couple of examples to be wary of.

Trick questions

Here’s a recent example that was featured in The Age a couple of months ago.

screen-shot-2016-07-01-at-11-28-02-am-370

The article refers to “Simon”, who is extremely careful with his personal information, and is happy with his one bank. Simon was surprised when a rival bank, ANZ, sent a personalised letter to his home, inviting him to become a “platinum member”.

After digging and hassling on the phone, an ANZ representative finally revealed that they had received his details from Veda, who are Australia’s largest credit reporting agency.

It turns out that a few weeks earlier, Simon had been to the Veda website to fill out a form to obtain a personal credit report.

Veda form

At the end of the form, Veda provides a pre-ticked checkbox that gives consent to Veda and its “corporate partners” to use his personal data for marketing purposes.

It’s a cheap trick, but it’s not an accident. The designers are playing to the fact that people tend to scan pages and don’t really read things properly. Especially when it comes to terms and conditions at the end of a long form.

The inclusion of a big, red button helps to distract the user away from the offending text even more.

Bait and switch

Candy Crush fans have probably fallen victim to the bait and switch, another common dark pattern.

candy crush 1

As you start playing, the game conditions you to hit the big button in the centre of the screen for all key actions. You hit play to start a game, and play – in the same position – to start a new level. You hit the retry button – still in the same position – to start a level again if you lose.

candy crush 2

And if you’re out of moves and not looking closely, you could easily hit this button.

The difference is, it now has a different function. The UI baits you into thinking you know what the action will be, then sneakily switches this in to make you spend virtual currency, taking you one step closer to an in-app purchase.

The designer has taken advantage of human neuroscience here. By conditioning users to continually hit the call-to-action in the centre of the screen, the user’s mind recognises the pattern and over time diverts conscious attention away from reading the label.

Turning to persuasion over dark patterns

Why do people resort to dark patterns and underhanded trickery? It’s often when business needs are placed too far above user needs and design expertise. Perhaps when people are asked to do something unethical to please their boss, or to meet a particular KPI. It can be difficult for designers to push back on these priorities, forcing a moral and ethical dilemma.

This got me thinking. Is there another, more ethical way to achieve the same kinds of results? How can we, as designers persuade people to do stuff without trickery?

It turns out that we can use the same principles of psychology that dark patterns employ to persuade users instead, and to invoke positive behaviour changes.

It’s important to note that we’re talking about ethical use of persuasive techniques here – and not leveraging cognitive science against users to achieve business goals. Persuasive design, when used responsibly, can leverage a good understanding of cognitive science to add value to a user’s experience, and increase user engagement.

Above all else, it is our responsibility to ensure users retain their right of choice.

Fogg model

The Fogg Behaviour Model by Stanford University’s BJ Fogg, says that for a behaviour to occur, there needs to be a sufficient level of both motivation and ability.

So if you want to persuade someone to do something with your product, you need to first make them want to do it, then second, make it easy for them. Let’s take a look at how we can use motivation and ability in design.

Ability

As a designer, it’s typical for us to focus on ability first. That’s the part we usually have more control of. There are 6 basic elements of ability:

  • Time
  • Money
  • Effort
  • Cognitive load
  • Social acceptance
  • Routine

If you can influence these aspects, your user is far more likely to do the intended behaviour.

This might sound complex, but it isn’t always hard to make something easier, and it doesn’t even have to be a huge change to achieve a significant result. In fact, you’re probably already doing these sorts of things as a matter of best practice in making designs usable.

300 million dollar button

A great example is the $300 Million button story. In this well-known case study told by Jared Spool, he explains how simply changing the label on a single button increased an online retailer’s profit by $300 million in a single year.

There’s a little more to this story. The change removed the barrier of having to create an account before making a purchase. It’s a great example of how making a simple change to improve a user’s ability can have an enormous positive impact.

Persuasive techniques can be used for bad, too. Cash back on purchases are one way the ethical line gets blurred. When you have to jump through hoops to get your refund (filling in a long form, photocopying the receipt and mailing it), then the ‘ability’ to complete the cash-back is low. In this case, it’s likely that some buyers won’t bother to complete the action – which is exactly what the retailer wants. It hardly seems worth it for a $200 refund for a $1700 purchase, for example.

This isn’t a mistake – it’s designed to maximise purchases and minimise rebates through cognitive science.

Motivation

In the cash back example, you start to see how motivation part comes into play. It might be easier for a designer to control the ‘ability’, but we can also influence motivation with a good understanding of human psychology.

People’s key motivators include:

  • Desire for completion and order
  • Delight and emotional connection
  • Variable rewards

Understanding what motivates people is the powerful bit, and if you think back to those dark pattern examples now, you’ll realise that although they’re outrageously dodgy practices, it’s not just about the interfaces, but the way those interfaces are put together in response to a good understanding of human behaviour.

Fitbit, for example, is very effective in tapping into people’s desire for completion and order. Staying focussed on being active and keeping fit is a hard behaviour to crack. It’s very easy to put off heading out for a run and just sit on the couch instead.

fitbit

Fitbit knows this. By adding little achievements that need to be completed, like measuring 10,000 steps, they appeal to our natural tendency as humans to want to ‘complete’ the step goal.

These are powerful techniques. And the great thing about persuasive design is that its influence has the potential to do more than simply help us get people to use our product.

Design is more than aesthetics and usability

Us designers wield enormous power, but it’s easy to forget that when we’re deep at the coal face, buried in research findings and wireframes. Take a moment now and again to remember that it’s not just about aesthetics and usability. We help shape the lives of people everywhere, and our decisions can have significant impacts on the way we as a society behave.

Design is an evolutionary discipline. We don’t invent, we learn from the past. Designers practising the craft now are setting the example for the future generations.

Don’t always take the cheap, easy, dark patterns option. Understand that we do have great power and can use cognitive science to influence and persuade, but respect that power and use it for good, not evil. Think responsibly.

And as for Damian, he bought the expensive adapter for his new laptop. And it doesn’t even accommodate all the cables he needs!

Got a question about using persuasive design in your work? Join Ben Tollady in our next Ask the UXperts session on Dark Patterns and Persuasive Design.

3 pm Wednesday 9th November PDT or 10 am Thursday 10th November AEST (or find out what time that is for you)

This article is based on a presentation delivered at UX New Zealand 2016.

The post Under the influence: Dark patterns and the power of persuasive design appeared first on UX Mastery.


by Benjamin Tollady via UX Mastery

Tuesday, November 8, 2016

How to Establish Genuine Relationships with Powerful Influencers (infographic)

How to Establish Genuine Relationships with Powerful Influencers - infographic

No matter your business or area of work, it is helpful to have a supportive group of people willing to share and promote your brand. Whether you know it or not there are already people in your industry who have a strong audience with followers who love to hear what they say. These people are “influencers” and can be used as an effective marketing tool.

Influencer marketing offers great return on investment, but results won't happen overnight or even in a week — you must cultivate real relationships first.

Here are some tips and strategies that will help put you on your way to a successful influencer campaign.

by Guest Author via Digital Information World

Data Serialization Comparison: JSON, YAML, BSON, MessagePack

Data Serialization Comparison

JSON is the de facto standard for data exchange on the web, but it has its drawbacks, and there are other formats that may be more suitable for certain scenarios. I’ll compare the pros and cons of the alternatives, including ease of use and performance.

Note: I won't cover implementation details here, but if you're a Ruby programmer, check out this article, where Dhaivat writes about implementing some serialization formats in Ruby.

What Is Data Serialization

According to Wikipedia, serialization is:

the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment.

Let's say you want to collect certain data about a group of people --- name, last name, nickname, date of birth, instruments they play. You could easily set a spreadsheet, define some columns, and make every row an entry. You could go just a little further, define that the date of birth column must be a number, and that the instruments columns could be a list of options. It'd look like this:

name last name dob nickname instruments
William Bailey 1962 Axl Rose vocals, piano
Saul Hudson 1965 Slash guitar

More or less, what you did there was define a data structure; and you'll do just fine if you only need this on a spreadsheet format. The problem is that, if you ever want to exchange this information with a database or a website, the mechanics by which these data structures are implemented on these other platforms --- even if the underlying semantics are overall the same --- will be dramatically different. You can't just plug-n-play a spreadsheet into a web application, unless the application has been specifically designed for it. And you can't transfer that info from the website to the database unless you have some sort of export tool or gateway for it.

Let's assume that our website already has these data structures implemented in its internal logic, and that it just cannot deal with a spreadsheet format. In order to solve these problems, you can translate these data structures into a format that can be easily shared across different applications, architectures, or what have you: you serialize them. And by doing so, you ensure not only that you can transfer this data across platforms, but that they can be reconstructed in the reverse process called deserialization. Furthermore, if exchanged back from the website to the spreadsheet, you'll get a semantically identical clone of the original object --- that is, a row that looks exactly the same as the one you originally sent.

In short: serializing data is finding some sort of universal format that can be easily shared across different applications.

The Formats

JSON

JSON logo

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It's easy for humans to read and write; it's easy for machines to parse and generate.

JSON is the most widespread format for data serialization, and it has the following features:

  • (Mostly) human readable code: even if the code has been obscured or minified, you can always indent with tools such as JSONLint and make it readable again.
  • Very simple and straightforward specification: a summary of the whole spec fits on a single page (as displayed on the JSON site).
  • Widespread support: not only does every programming language or IDE come with JSON support, but also many web services APIs offer JSON as a means of data interchange.
  • As a subset of JavaScript, it supports the following JavaScript data types:
    • string
    • number
    • object
    • array
    • true and false
    • null

This is how our previous spreadsheet would look, after being serialized in JSON:

[
  {
    "name": "William",
    "last name": "Bailey",
    "dob": 1962,
    "nickname": "Axl Rose",
    "instruments": [
      "vocals",
      "piano"
    ]
  },
  {
    "name": "Saul",
    "last name": "Hudson",
    "dob": 1965,
    "nickname": "Slash",
    "instruments": [
      "guitar"
    ]
  }
]

BSON

BSON logo

BSON, short for Bin­ary JSON, is a bin­ary-en­coded seri­al­iz­a­tion of JSON-like doc­u­ments. … It also con­tains ex­ten­sions that al­low rep­res­ent­a­tion of data types that are not part of the JSON spec.

JSON is a plain text format, and while binary data can be encoded in text, this has certain limitations and can make JSON files very big. BSON comes in to deal with these problems.

It has the following features:

  • convenient storage of binary information: better suitable for exchanging images and attachments
  • designed for fast in-memory manipulation
  • simple specification: like JSON, BSON has a very short and simple spec
  • primary data rep­res­ent­a­tion for Mon­goDB: BSON is de­signed to be tra­versed eas­ily
  • extra data types:
    • double (64-bit IEEE 754 floating point number)
    • date (integer number of milliseconds since the Unix epoch)
    • byte array (binary data)
    • BSON object and BSON array
    • JavaScript code
    • MD5 binary data
    • regular expressions

Continue reading %Data Serialization Comparison: JSON, YAML, BSON, MessagePack%


by Lucero del Alba via SitePoint