The latent complexity of software systems means they will fail, and as the famous corollary to Murphy’s Law has it, they will fail at the worst possible time, with the largest possible consequences:
it’s been said that software is “eating the world.” More and more, critical systems that were once controlled mechanically, or by people, are coming to depend on code. This was perhaps never clearer than in the summer of 2015, when on a single day, United Airlines grounded its fleet because of a problem with its departure-management system; trading was suspended on the New York Stock Exchange after an upgrade; the front page of The Wall Street Journal’s website crashed; and Seattle’s 911 system went down again, this time because a different router failed. The simultaneous failure of so many software systems smelled at first of a coordinated cyberattack. Almost more frightening was the realization, late in the day, that it was just a coincidence.
We will soon have to hand over programming to AI, because people just aren’t very good at it, and the systems we are building are increasing in complexity on an exponential basis, and we can’t even scale linearly.
One dirty secret of hardware is that a profitable business isn’t just about design innovation, or even product cost reduction: it’s also about how efficiently one can move stuff from point A to B. This explains the insane density of hardware suppliers around Shenzhen; it explains the success of Ikea’s flat-packed furniture model; and it explains the rise of Amazon’s highly centralized, highly automated warehouses.
Unfortunately, reverse logistics – the system for handling returns & exchanges of hardware products – is not something on the forefront of a hardware startup’s agenda. In order to deal with defective products, one has to ship a product first – an all-consuming goal. However, leaving reverse logistics as a “we’ll fix it after we ship” detail could saddle the venture with significant unanticipated customer support costs, potentially putting the entire business model at risk.
This is because logistics are much more efficient in the “forward” direction: the cost of a centralized warehouse to deliver packages to an end consumer’s home address is orders of magnitude less than it is for a residential consumer to mail that same parcel back to the warehouse. This explains the miracle of Amazon Prime, when overnighting a pair of hand-knit mittens to your mother somehow costs you $20. Now repeat the hand-knit mittens thought experiment and replace it with a big-screen TV that has to find its way back to a factory in Shenzhen. Because the return shipment can no longer take advantage of bulk shipping discounts, the postage to China is likely more than the cost of the product itself!
Because of the asymmetry in forward versus reverse logistics cost, it’s generally not cost effective to send defective material directly back to the original factory for refurbishing, recycling, or repair. In many cases the cost of the return label plus the customer support agent’s time will exceed the cost of the product. This friction in repatriating defective product creates opportunities for unscrupulous middlemen to commit warranty fraud.
The basic scam works like this: a customer calls in with a defective product and gets sent a replacement. The returned product is sent to a local processing center, where it may be declared unsalvageable and slated for disposal. However, instead of a proper disposal, the defective goods “escape” the processing center and are resold as new to a different customer. The duped customer then calls in to exchange the same defective product and gets sent a replacement. Rinse lather repeat, and someone gets rich quick selling scrap at full market value.
Similarly, high-quality counterfeits can sap profits from companies. Clones of products are typically produced using cut-rate or recycled parts but sold at full price. What happens when customers then find quality issues with the clone? That’s right – they call the authentic brand vendor and ask for an exchange. In this case, the brand makes zero money on the customer but incurs the full cost of supporting a defective product. This kind of warranty fraud is pandemic in smart phones and can cost producers many millions of dollars per year in losses.
High-quality clones, like the card on the left, can cost businesses millions of dollars in warranty fraud claims.
Serial numbers help mitigate these problems, but it’s easy to guess a simple serial number. More sophisticated schemes tie serial numbers to silicon IDs, but that necessitates a system which can reliably download the serialization data from the factory. This might seem a trivial task but for a lot of reasons – from failures in storage media to human error to poor Internet connectivity in factories – it’s much harder than it seems to make this happen. And for a startup, losing an entire lot of serialization data due to a botched upload could prove fatal.
As a result, most hardware startups ship products with little to no plan for product serialization, much less a plan for reverse logistics. When the first email arrives from an unhappy customer, panic ensues, and the situation is quickly resolved, but by the time the product arrives back at the factory, the freight charges alone might be in the hundreds of dollars. Repeat this exercise a few dozen times, and any hope for a profitable run is rapidly wiped out.
I’ve wrestled with this problem on and off through several startups of my own and finally landed on a solution that looks promising: it’s reasonably robust, fraud-resistant, and dead simple to implement. The key is the bitmark – a small piece of digital data that links physical products to the blockchain.
Most people are familiar with blockchains through Bitcoin. Bitcoin uses the blockchain as a public ledger to prevent double-spending of the same virtual coin. This same public ledger can be applied to physical hardware products through a bitmark. Products that have been bitmarked can have their provenance tracked back to the factory using the public ledger, thus hampering cloning and warranty fraud – the physical equivalent of double-spending a Bitcoin.
One of my most recent hardware startups, Chibitronics has teamed up with Bitmark to develop an end-to-end solution for Chibitronics’ newest microcontroller product, the Chibi Chip.
As an open hardware business, we welcome people to make their own versions of our product, but we can’t afford to give free Chibi Chips to customers that bought cut-rate clones and then report them as defective for a free upgrade to an authentic unit. We’re also an extremely lean startup, so we can’t afford the personnel to build a full serialization and reverse logistics system from scratch. This is where Bitmark comes in.
Bitmark has developed a turn-key solution for serialization and reverse logistics triage. They issue us bitmarks as lists of unique, six-word phrases. The six-word phrases are less frustrating for users to type in than strings of random characters. We then print the phrases onto labels that are stuck onto the back of each Chibi Chip.
Bitmark claim code on the back of a Chibi Chip
We release just enough of these pre-printed labels to the factory to run our authorized production quantities. This allows us to trace a bitmark back to a given production lot. It also prevents “ghost shifting” – that is, authorized factories producing extra bootleg units on a midnight shift that are sold into the market at deep discounts. Bitmark created a website for us where customers can then claim their bitmarks, thus registering their product and making it eligible for warranty service. In the event of an exchange or return, the product’s bitmark is updated to record this event. Then if a product fails to be returned to the factory, it can’t be re-claimed as defective because the blockchain ledger would evidence that bitmark as being mapped to a previously returned product. This allows us to defer the repatriation of the product to the factory. It also enables us to use unverified third parties to handle returned goods, giving us a large range of options to reduce reverse logistics costs.
Bitmark also plans to roll out a site where users can verify the provenance of their bitmarks, so buyers can check if a product’s bitmark is authentic and if it has been previously returned for problems before they buy it. This increases the buyer’s confidence, thus potentially boosting the resale value of used Chibi Chips.
For the cost and convenience of a humble printed label, Bitmark enhances control over our factories, enables production lot traceability, deters cloning, prevents warranty fraud, enhances confidence in the secondary market, and gives us ample options to streamline our reverse logistics.
Of course, the solution isn’t perfect. A printed label can be peeled off one product and stuck on another, so people could potentially just peel labels off good products and resell the labels to users with broken clones looking to upgrade by committing warranty fraud. This scenario could be mitigated by using tamper-resistant labels. And for every label that’s copied by a cloner, there’s one victim who will have trouble getting support on an authentic unit. Also, if users are generally lax about claiming their bitmark codes, it creates an opportunity for labels to be sparsely duplicated in an effort to ghost-shift/clone without being detected; but this can be mitigated with a website update that encouraging customers to immediately register their bitmarks before using the web-based services tied to the product. We also have to exercise care in handling lists of unclaimed phrases because, until a customer registers their bitmark claim phrase in the blockchain, the phrases have value to would-be fraudsters.
But overall, for the cost and convenience, the solution outperforms all the other alternatives I’ve explored to date. And perhaps most importantly for hardware startups like mine that are short on time and long on tasks, printing bitmarks is simple enough for us to implement that it’s hard to justify doing anything else.
Disclosure: I am a technical advisor and shareholder of Bitmark.
George Mauer highlights how a hacker might access other people’s data by putting an equal sign in a CSV file, so that an import to Microsoft or Google Sheets runs a value as a formula, even if it’s quoted as a string.
The attacker starts the cell with their trusty = symbol prefix and then points IMPORTXML to a server they control, appending as a querystring of spreadsheet data. Now they can open up their server log and bam! Data that isn’t theirs. Try it yourself with a Requestb.in.
The ultra sinister thing here? No warnings, no popups, no reason to think that anything is amiss. The attacker just enters a similarly formatted time/issue/whatever entry, eventually an administrator attempts to view a CSV export and all that limited-access data is immediately, and queitly sent away.
People tend to respond to discussions to increase their status or to help others.
But helping others is most effective when we change their emotional state.
Which of these two kinds of discussions are you most likely to prioritize and respond to?
Discussion 1:“My iPhone won’t turn on. I’ve tried charging it but it’s not working. Any ideas?”
Discussion 2: “Argh, can someone help! I’ve spent the last few hours trying to charge my iPhone and it’s driving me insane. I’m scared I need to replace it and I don’t have the money”.
The payoff for answering the second question is much higher than the first. That’s because you get to improve someone’s emotional state. This is far more rewarding than just giving someone an answer.
“Sentiment analysis indicates that self-disclosing one’s emotions during support seeking serves as a significant predictor for the amount of social support the support-seeker could obtain.”
You might want to start modeling this behavior with a few community insiders, adding it to the welcome guide, and perhaps even telling members everyone wins when people share their emotive states when asking a question.
Hua Foundation is a non-profit whose mission is to empower youth from the Asian diaspora to fully participate in advancing social change through exploring our racialized identities and building resilience in our communities.
We’re a small, feisty, and dedicated team at an exciting stage of growth for the organization. We’re seeking a new volunteer member of our board of directors to join us in early 2018 to help us bring our new vision to life.
Applications are due Friday, October 27th at 11:59PM.
We are looking for individuals who meet all of these qualifications:
Professional specialty in one of the following areas: social justice, communications, strategy, community engagement, non-profit governance, finance, fundraising, working with youth.
Strong fluency with contemporary public discussions and debates about race, racism, power, and addressing inequity.
Lived experience of racialization, racial discrimination, and bi-/tri-cultural identity formation.
Experience working in or with non-profit organizations.
Bonus points would go to individuals who meet these qualifications:
Experience working with youth from the Asian diaspora.
A working knowledge of or interest in critical race scholarship (intersection of racial justice, culture, and power).
Board directors are asked to:
Participate in monthly board meetings with Hua Foundation’s executive director to monitor the performance of Hua Foundation, participate in the review of its mission and development of its strategic plan, approve the budget, and monitor related financial performance.
Participate in the evaluation of the executive director and organizational activities.
Help guide the executive director in advancing Hua Foundation’s work in the community.
This volunteer role is based in Vancouver, B.C. The board meets on a weekday evening each month.
If you have any questions about the role or the organization, you can contact Miranda at miranda [@] huafoundation.org
I wrote about ZeroNet a few years ago when it was released and it mostly was about decentralized websites. In the time between then and now it has gained a lot of features and regular use. It still does distributed websites well but it adds features suchs as support for sharing large files, merging sites and distributed pseudo-anonymous identity. This post is about an application hosted on ZeroNet called ZeroMe. It's a microblogging platform (i.e. A twitter like system) that takes advantage of ZeroNet's identity system and merging of sites.
Starting ZeroNet
To start with ZeroMe you first need to install ZeroNet. Given all the right dependancies are installed you can clone the github repository and run the Python script to get online:
$ git clone https://github.com/HelloZeroNet/ZeroNet
$ cd ZeroNet
$ ./zeronet.py
This will start the ZeroNet node and run a local webserver on port 43110 to access it. This port is available on the local machine only. It also opens a port on 15441 to communicate with other nodes. This port is open to the internet at large and will attempt to punch a hole through firewalls using UPNP.
If you have the Tor daemon running then ZeroNet will connect to it and bridge between clearnet nodes and nodes running on Tor. You can force the node to run only on Tor by providing a command line argument:
$ ./zeronet.py --tor always
In this configuration ZeroNet will not expose the port 15441 over the internet. It will spawn Tor onion services and expose the port to those for communication with other ZeroNet nodes running on onion services. Access to the local node is still done via port 43110 but you should use a browser configured to use Tor if anonymity is a concern since sites can run arbitary JavaScript. The main ZeroNet 'Hello' page warns you if you are not using Tor Browser in this configuration.
Gaining an identity
ZeroMe requires an identity to be created. Identities are created through identity ZeroNet sites. The main one, operated by the creator of ZeroNet, is ZeroId. When you first use a site that requires an identity you will be prompted to create one from any identity providers you have access to. For this example I'll use ZeroId, accessible at zeroid.bit - http://localhost:43110/zeroid.bit.
Click Get auth cert and choose a username. There are two ways to make the request for the identity. The first is a request over the internet via HTTP. If you're not running the browser over Tor this will expose your IP address to the identity service. The other is using BitMessage, which is an anonymous messaging system. ZeroId will request that you send a confirmation message to a BitMessage address.
This may seem very centralized - it requires the identity service to be running, if it goes down you can't create a new identity. There are other identity services on ZeroNet that have different requirements for creating an identity. And there's an API to create your own. Identities created using these work on any service using the ZeroNet identity API in the same was as ZeroId identities.
The ZeroId site will show your identity name once you've signed up:
From ZeroId you can search for existing users and choose to Mute or Unmute. By muting a particular identity you won't see any posts from that identity. This is useful for dealing with spam or users posting on topics you don't want to see. This will prevent you seeing their content on any ZeroNet site.
You can manage muted users from the Hello page left sidebar menu:
Joining a ZeroMe Hub
Access ZeroMe by activating the ZeroMe icon on the main user interface or going directly to Me.ZeroNetwork.bit - http://localhost:43110/Me.ZeroNetwork.bit/
A prompt on the top right asks you to accept a merger site. Merge sites are a way to split large sites into a number of smaller ones. You should approve this request.
Click on "Select user to post new content" to create a ZeroMe user. It will prompt for an identity to choose and you can select the one already created in ZeroId above.
Once an identity is chosen you'll be asked to select a 'hub'. ZeroMe works by having the user interface operate from the main ZeroMe site with data on users and posts stored in 'Hub' sites. You only see posts from users that belong to hubs that you have requested. There is a hub operated by the ZeroMe creator and it will be shown as Sun hub on this page along with any other Hub sites you may already have requested. Click Download on a hub to download existing posts and content for that hub and Join to join one.
Downloading a hub can take some time. On the Hello ZeroNet page you can see the progress of any sites currently being downloaded.
There's a useful site called 0hub.bit that lists known hubs and lets you download them all. It's at http://localhost:43110/0hub.bit/ and clicking the Click me to unlock all hub post in ZeroNet will start downloading them. This takes some time but is worth it since you can then see all posts by everyone on ZeroMe. You can delete hubs if you decide you don't want to see content from a particular hub.
Microblogging with ZeroMe
Now that you've got an identity, signed into ZeroNet and joined a hub you can starting reading content and posting. The Everyone tab in the user interface will show posts from all users, even those you haven't followed. This is useful at the beginning to find users and content.
Posts are in Markdown format and can include images. There is no limit to the size of a post and posts can have comments. You can visit profile pages of users and choose to optionally seed their images, mute users, and edit parts of your own profile page to have an avatar and description:
An example of a post with comments (selected randomly, identities blacked out):
Random stuff
The ZeroNet node running on your machine enforces size limits for sites. This prevents sites that you have accessed from consuming all your disk space. When a site starts reaching the size limit it appears in the main Hello page left sidebar in a special section:
When the site goes past the limit it will no longer download updates. Visiting the site will give a popup asking to increase the limit. Approving that popup will resume downloads for the site until it hits the next limit.
There's a sidebar on the right of pages that can be accessed by dragging the top right 0 icon to the left:
This sidebar gives statistics on the number of nodes seeding the site, the size limit, and various other things.
When you visit a ZeroNet site you starting seeding that sites content and receive automatic updates when the content changes. This can be disabled on the main Hello page on a per site basis. Sites can have "optional files" which you don't automatically seed. They are downloaded on demand and are often used for user generated content or larger files. You can choose to seed a sites optional files in the right hand sidebar for that site. There are also "Big Files" which are treated specially. These are large files like videos and are also optionally seeded. The Files tab of the Hello page lists optional and big files that you are seeding:
Sites can be set to allow cloning by end users. This creates a copy of the site with no content. An example of a site that does this is ZeroBlog which you can clone to create your own blog. This extends to ZeroMet itself. You can clone the ZeroMe user interface site and modify that to get a customized look but it still uses the data from the existing hubs.
There's a bunch of other interesting sites on ZeroNet. The ZeroTalk forums, various blogs, ZeroMail for encrypted email like service, etc. Be aware that the psuedo-anonymous use of identities can make for content you might not agree with and much spam. Use of 'Mute' is useful here.
Also be aware that it is 'psuedo-anonymous' not 'anonymous'. You create an identity and that identity is not tied to you in the real world but people can track what you do to that identity. Content is added to sites and distributed to other nodes. If you like a post or add content to some site then anyone who decides to dig into the data of that site can see that your identity liked or posted that content. It is possible to have multiple identities if you want to keep aspects of your ZeroNet usage separate but that's a topic for another post.
Overall ZeroMe is a nice microblogging system. It's user friendly, has a nice design and has tools for muting and "Non Real Name" identities. It, along with ZeroNet, is actively developed and supported by the ZeroNet developer.
Riding your bike around can inspire you to become aware and active in creating safe riding spaces for your community. Fortunately, involving yourself in Bicycle Advocacy can be as simple as donating to a national association or as consuming as volunteering for a local bicycle coalition weekly. Either way, what matters most is showing up for your local community in one way or another and helping national causes.
Know the Players
The Bicycle League - Taken from their website “The League has been protecting your rights to safe and enjoyable bicycling since 1880. What started as a movement by “Wheelmen” on high-wheel bikes to get roads paved continues today with our advocacy on the federal level. It doesn’t stop there: We provide valuable education programs, help create better biking environments, promote bicycling as the option of choice and help you create bicycle-friendly places.”
People For Bikes Coalition aims to connect the community of bicycle riders across the US in order to raise awareness about advocacy efforts. Based in San Francisco, they work hard to create local hubs across the country to encourage the growth of the Bicycle community.
Local Bicycle Coalitions Major cities and most small cities and towns have some sort of bicycle advocacy group that you can connect with. By showing up to their events and participating you are helping foster a growing community.
Know What You Can Do
Focus on Your Local Resources Many towns will have local advocacy groups for cyclists focusing on sustainable transportation and bicycling safety. Support their efforts by making donations, participating in events, and sharing their message on social media and in person.
Donate to National Causes If you don’t have time to get into action, help fund people who do. Voting with your dollar is one of the best ways that you can support the causes you feel strongly about.
Petition Congress People for bikes has made it very easy to send your congressmen or women a letter advocating for bicycle safety.
I learned about a couple of cool CLI tools from Nikita Sobolev's
Using Better CLIs.
hub and tig look like they may be worth a deeper
look. This article also reminded me of one of the examples in
the blog entry I rmed
the other day. It reflects a certain attitude about languages
and development.
One of the common complaints about OOP is that what would be a
single function in other programming styles usually ends up
distributed across multiple classes in an OO program. For example,
instead of:
void draw(Shape s) {
case s of
Circle : [code for circle]
Square : [code for square]
...
}
the code for the individual shapes ends up in the classes for
Circle, Square, and so on. If you have to change
the drawing code for all of the shapes, you have to track down all
of the classes and modify them individually.
This is true, and it is a serious issue. We can debate the relative
benefits and costs of the different designs, of course, but we might
also think about ways that our development tools can help us.
As a grad student in the early 1990s, I worked in a research group
that used VisualWorks Smalltalk to build all of its software. Even
within a single Smalltalk image, we faced this code-all-over-the-place
problem. We were adding methods to classes and modifying methods
all the time as part of our research. We spent a fair amount of time
navigating from class to class to work on the individual methods.
Eventually, one of my fellow students had an epiphany: we could
write a new code browser. We would open this browser on a
particular class, and the browser would provide a pane listing and
all of its subclasses, and all of their subclasses. When we
selected a method in the root class, the browser enabled us to
click on any of the subclasses, see the code for the subclass's
corresponding method, and edit it there. If the class didn't have
an overriding method, we could add one in the empty pane, with the
method signature supplied by the browser.
This browser didn't solve all of the problems we had learning to
manage a large code base spread out over many classes, but it was
a huge win for dealing with the specific issue of an algorithm
being distributed across several kinds of object. It also taught
me two things:
to appreciate the level of control that Smalltalk gave
developers to inspect code and shape the development
experience
to appreciate the mindset that creating new tools is the way
to mitigate many problems in software development, if not to
solve them completely
The tool-making mindset is one that I came to appreciate and
understand more and more as the years past. I'm disappointed
whenever I don't put it to good use, but oftentimes I wise up and
make the tools I need to help me do my work.
It's easy to look at Jeremy's work and be mad at how amazing it is an then say to yourself "F that guy. Jeremy is super talented/gifted and that's how he does it all". But after listening to this interview, you'll see that he attacks his work with a level of passion that nobody but him will probably ever understand.
You're still mad of course because that's what jealousy does to you. But you'll respect his work ethic and realize he one hundred percent earned his talent.
If you're the type of person who enjoyed watching Jiro Dreams of Sushi, you're going to love this interview.
I wrote this essay for the World Conference on Online Learning in Toronto next week. It's one of a series of articles commissioned for the conference. This essay is addressed to both the teachers of today and to the students of tomorrow. It is addressed to policy makers and pundits, to technology designers and developers, and to those who by virtue of office or inclination have the voice to speak to the future, to inform the weld of what we can do and what we want to do.
Intuition, hunches, and gut feels have no place in the modern product manager’s data-savvy toolbox… right?
There’s no arguing that decision makers now have more information than ever to help them make those decisions, but that’s not always a good thing. Here are the four downsides of data that you’re likely to encounter as you try and actually bring a great product or feature to market. We’ve also got some expert advice on how to deal with them.
Getting Past the Gatekeepers
These days, if someone comes to a meeting and expresses an opinion without a piece of data to back up their case, it’s hard to take their argument seriously. So the diligent product manager knows they must provide supporting evidence when fighting for resources, prioritization, or strategy shifts.
Hopefully, a well-argued case with a few data points to hammer things home is enough to get a go/no-go from the powers that be. And just like in sales, a quick no can be as good as a yes when you’re a product manager trying to keep your team on target.
Unfortunately, there’s a third response you can receive that means more work and more time spent on the issue you were all set to put to bed –“I’d like to see more data.”
This dreaded phrase means you’ve got to dig back into the issue. You can try to uncover new nuggets from your internal metrics or find new third-party sources. A worse scenario? Having to go BACK to the customers, users, and prospects you’ve already surveyed to ask them even MORE questions.
How can you avoid this fate? There’s two reliable methods for avoiding the not-enough-data indecision scenario:
Previewing—lay out the basics for the stakeholders you’ll be pitching and ask them what information they’ll need to make their eventual decision. Do this BEFORE you start doing your research and digging through the dashboard for data. If you know what metrics matter, you can avoid any stalling when you’re ready to ask for their vote.
Clarification—In those cases when you are sent back to the data mines to come up with more evidence, make sure you ask the team exactly what information they’re looking for to make the decision. This ensures you won’t waste time compiling new stats that don’t get them over the decision-making hump.
Requesting more data shouldn’t be an acceptable stalling tactic, so providing gatekeepers with exactly what they’ve asked for as quickly as possible can cut short delays and force a decision.
Vanity Metrics
While your CEO might love talking about them to investors and marketing clinks drinks over them when they reach a new peak, there are plenty of metrics that are essentially meaningless when it comes to product decision making. Vanity metrics are fine for press releases and sales pitches, but the metrics that matter actually help you do your job.
So how can you avoid letting these less important data points infiltrate your stakeholder meetings? Point out their futility when it comes to impacting the nuts and bolts of the business.
It really comes down to goals, and measuring what’s going to help you meet them. The numbers you should care about are ones that can be directly tied back to revenue or adoption.
If you’re an ad-based service, impressions might be the stat that matters, and you can try to determine if each move you might make will increase or decrease total impressions. For a freemium company focused on conversions, data showing Behavior X is more likely to lead to a subscription vs. Behavior Y is probably far more useful than how many people visited your home page.
So before you let a stakeholder—or yourself—get distracted by the shiny metrics getting the headlines, make sure you’re making decisions to move the needles that matter. If you’re not going to change your business or take action based on a metric going up or down, then that metric’s not really very important.
Data Knife Fights
Now that everyone has yesterday’s numbers at their fingertips (or via a quick trip to Google Analytics), you’re probably not the only person armed with data. That’s not necessarily a bad thing; transparency and appreciation for a business’s metrics are healthy habits of every employee. The problems start when people start picking favorites.
How can this happen? Why wouldn’t everyone in the company be aligned that Metric X is the one true North?
Well, we already know about the danger of Vanity Metrics. But beyond that there are two other types of data favoritism that can wreck a productive conversation:
Personally-relevant metrics—Even at companies where everyone’s on the same team, we still have individual goals and objectives we’re trying to reach. That’s why customer service cares about how many support tickets are being generated and closed, while operations worries about uptime, and marketing frets about conversions…and of course sales is laser-focused on hitting their quotas. The metrics tying back to these individual areas of concern will always be more important to the affected individuals than everyone else, so be respectful of their concerns while keeping the focus on the big picture numbers driving the company’s overall goals.
Argument-specific metrics—In a data-driven world, metrics are ammunition in the battles we wage internally. Everyone knows they can’t get their way without being able to throw out some numbers to make their case, which leads some stakeholders to cherry-pick the stats that support their argument. This can lead to different sides making seemingly reasonable pitches with data evidence that directly conflicts with other data.
In the latter case, it’s essential to acknowledge that the other side is presenting a valid case (since they’re using accurate data, too). Next you need to design a quick test or experiment that can prove your data-backed case is stronger. Hopefully a quick A/B test can do the trick. If not, it’s back to the cave to come up with more evidence that strengthens your case; perhaps you can add some qualitative, customer interview-driven color to the numbers.
Analysis Paralysis
Dueling data sets are one cause of analysis paralysis, but decision-making delays don’t always require an ornery adversary or even another human being at all. Sometimes, the bottleneck is simply you and those piles and piles of data points.
This is why you need to set some boundaries around your own data-driven decision making. Here are some best practices:
Set a time limit—There’s always more data to be found, more cross-sections to be scrutinized, more slicing and dicing you can do. Don’t let yourself get sucked into an endless research exercise and give yourself a predetermined number of hours or days to get it done.
Limit the scope—Don’t allow for an unlimited set of options, set up a decision between two, three or four options and prepare the data analysis accordingly. Make it a project you can wrap your arms around that can’t go down too many rabbit holes.
Decide what’s important before you begin—Having clear goals means a clear finish line for your analysis. Bound your analysis by the preset objectives and cut down on the noodling.
Weigh your sources—Not all data is created equal. The metrics that matter and reputable sources of information should be more important to some random survey you found on Google.
Just pick something already—Even if you’re not 100% confident you’ve landed on the perfect answer, sometimes you just need to move forward. If you’re still feeling unsure, include caveats when discussing your ideas with others and build lightweight MVP experiments into the process so you don’t put all your eggs in a basket you’re not so sure of.
Remember, data is your friend and a valuable resource, but it can’t do your job for you. You still need to ask the questions, create the context, define the experiments, and balance it all with what you’re seeing and hearing from actual human beings.
It’s common knowledge that “the customer is always right”, isn’t it? We all know that’s not quite true, but what happens when the customer is not only wrong, but they use their influence to push a company in a direction that’s actually a net negative, leading to worse products and less revenue?
This kind of customer is really nothing more than a bully, willing to use whatever leverage they have to get what they want — whether that’s financial power, influence with the company’s leadership team, or direct threats of retribution and negative reviews in the future. The bullying customer is a real concern for many companies, particularly smaller or growth-stage companies who have an outsized interest in maintaining one or two customer contracts simply in order to keep the company afloat. But there are steps that we can take to both insulate ourselves from the influence of a bullying customer and to deal with them when they rear their ugly heads.
What to Do Before the Bully Strikes
The first and most important thing that any company can do to avoid the influence of a bullying customer is to keep a close eye on what your customer portfolio really looks like. It may be really tempting to sign a gigantic deal, and it certainly looks good to your investors — but it also places your company at a significant risk. That customer can use such a financial position to unduly influence your product roadmap. After all, we don’t want to be a custom development shop for some particular customer — we want to create a product that solves actual, valid market problems, so we can grow and expand.
This primarily means maintaining a healthy, diverse customer portfolio — some small fish in the market who will grow with you; some medium-size growth companies who are established enough to be influencers; and a handful of large companies who can provide name-brand validation without much more effort. We need to balance all of these such that, if we were to lose a single large company contract, we would be able to rely on our smaller and medium-sized contracts to cover the loss. Now, this doesn’t mean that you need to support everything from small business to full-enterprise, but within your market segment, you need to have more than just one or two whales within your company portfolio.
Ultimately, the best defense we have against having a bullying customer waiting in our midst is to work closely with our sales and marketing teams. Make sure that they’re aware of the risk that such a customer poses to the company and the product as a whole. Incentivize your teams based not just on how big a fish they can land, but how the customers they do bring into the pipeline provide opportunities for true growth.
Recognizing the Bully
It’s almost inevitable that every company will eventually wind up facing a customer bully — it’s par for the course in more cut-throat industries. But how can we know when we’re facing a tough negotiator versus a customer who’s actually trying to bully us? There are a few telltale signs that we can keep an eye out for, most of which aren’t terribly difficult to identify.
Some common characteristics of a customer bully include:
Their contribution to a company’s revenue is outsized in comparison with other customers, and they are aware of this;
Their size, scope, and scale of product use or integration is larger than the average customer, so they push boundaries even in “normal” use;
They are well-known customers in the market, whose mere attachment to the company brings intangible goodwill and market engagement.
Of course, these characteristics alone aren’t necessary to consider a customer a “bully” — there are a great many companies out there who look like the above, but who demonstrate a reasonable understanding of the buyer/seller relationship. To really identify a bullying customer, we have to look beyond their mere characteristics and into their actual behavior:
Bully Behavior:
They demand discounts up front based solely on the goodwill that their name will bring;
The ignore discussions about how their needs may exceed the normal offerings of the company or product;
They initiate support requests directly with sales and senior executives, rather than following standard support pipelines;
They demand specific features or capabilities that suit their needs, but which may not be generally applicable to the market;
They fail to pay their bills on time, and find excuses to withhold payment until some set of demands of theirs are met;
They threaten the sales team and executives with cancelling or not renewing a contract unless they get specific deliverables outside your product roadmap.
The key to identifying a customer bully is their use of threats — either overt or intimated — that they will go somewhere else if you can’t meet their needs. This threat is, unfortunately, all too often successful; the loss of a major customer can cause severe financial and publicity consequences. But I would posit that keeping a customer bully around and kowtowing to their requests quarter after quarter results in far more severe consequences for the company and the product — the costs of diverting development efforts, dedicating support personnel, placing specific sales and marketing resources, and generally bending your company to the will of one customer.
Listen, Assess, THEN Act
However, we can’t afford to jump to the conclusion that a customer who’s a hard negotiator or who likes to throw their weight around is such a bully that we cannot afford to keep them on our books. Rather, identifying a potential or actual bully allows us the opportunity to engage in proactive management of the relationship, rather than reactive responses that weaken our company and product as a whole. This means that we have to take a structured approach to such circumstances — we must listen, then assess, and only after that, take action.
First, and most importantly, we need to actively listen to what the customer is telling us. This means collecting and analyzing all communications that we have with that client — from the executives to the frontline support teams. We need to dig into the things that they are not telling us, analyze what we’re hearing from different places in the organization, and understand from top to bottom where the issues actually lie, and where there are disconnects between what some of their contacts think and what others are experiencing.
Once we’ve collected all of this data, we need to carefully assess it. Some common questions that we should ask ourselves:
Is the threat of them leaving a real one — how much have they invested in the product and what are their switching costs?
Is the feature that they’re asking for really a one-off piece of work, or can it be generalized somehow so that it meets not only the one customer’s needs, but the market’s needs as a whole?
Are they responding to promises that were actually made to them at some level of your organization, or are they creating expectations on their own without any backing in actual discussions or commitments?
Did they start pushing the boundaries of the product from the beginning, or are their issues more recent?
Is there anything that can be done from a process or communications perspective with lower cost to the organization that can make the customer happier with the product and company?
All too often the inclination is to simply react — but instead we must think about how we want to respond to such situations, and only after considering all of our options and all of the permutations of root cause, do we make such a decision. It’s often sufficient to satisfy a bullying customer simply by changing the manner in which they engage with you, and making them feel a bigger part of the process while only slightly altering the actual delivery. And sometimes we really do need to divert resources to make someone happy — but we should only do so after assessing all of the other options, including firing the customer.
Moving Forward
So, you’ve run into a customer who’s trying to bully you, you’ve listened to what they’re telling you both directly and indirectly, and you’ve made a decision on what to do. Now you’ve got to figure out how to handle the fallout from that decision…
If the customer decides to stay with you, you should have collected sufficient information to monitor the customer. This could be anything from simply querying support tickets a couple times a month to assigning a support or service representative to work directly with the customer. Keep an eye out for warning signs of bullying behavior. If we wind up keeping a customer who has a history of bullying, we need to be careful about feeding and rewarding that behavior — the more we give in, the bigger the requests are going to be.
If a customer leaves, you’ll need to find someone in the market who can fill the gap that they left and run a post-mortem analysis on what happened and what can be done better next time. There will likely be incredibly high emotions in this situation, since the loss of such a customer almost inevitably causes a loss in revenue. But what we can do as Product Managers is to base the conversation in rational, data-driven discussions which are focused on what we can do better in the future – not what went wrong in the past.
Regardless of whether a specific customer stays or leaves, however, we need to be aware that there’s never just one bully out there and keep our radar active for any possible future bullies who might come out of the woodwork. We need to ensure that the company, the executives, and in particular the sales and marketing teams are aware of the risks that these bullies pose in the future as well as the present.
In part 1 of Win/Loss Analysis for Product Managers, we discussed what PMs should play in the win/loss process – a uniquely objective voice who can benefit greatly from hearing how the product helped sway purchasing decisions. We also laid out the overall benefits of win/loss analysis and how to go about building a representative sample of customers.
Now, we’re laying out key questions to ask:
Key Questions to Ask During a Win-Loss Interview
1. Identify the Pain: What problem or pain were you trying to solve?
What to listen for: Does the problem that the customer / prospect described match with what you hear from Sales? Is it a problem that your product or service can solve?
Follow-up: Probe further if there is a disconnect.
2. Awareness: Why did you decide to consider our product / service?
What to listen for: How did they hear about your offering? Why did they think the offering could help them? Did someone recommend the offering to them?
Follow-up: Make a note if they are coming from a new or adjacent market, one not normally part of your sales pipeline. It could be an untapped opportunity.
3. Competition: Which other firms / products / services did you consider? Did you see it as a competitive process between them?
What to listen for: This is who the prospects considers to be your competition and how they define your market. Have they defined one of the markets you are pursuing? Are there any unusual competitors?
Follow-up: Look for trends in other interviews to understand if the offering is crossing into other market segments.
4. Decision making process:Who was involved in making the decision? What were the selection criteria? Which criteria were most important to you? Least important?
What to listen for: What criteria are most important to them when making a decision, and who is driving that decision process? Is it based on how they are planning to use the product? Are the buying criteria aligned with the expected usage?
Follow-up: Sell to the buyer if that is who is leading the decision process.
5. Pitch / messaging: Did the sales pitch and proposal create a clear and compelling case for how our offering could meet your needs?
What to listen for: Did your messaging and value proposition match what the prospect was looking for? This is a great indicator of whether your messaging is a good match for a persona, and whether you correctly identified the right persona.
Follow-up: Refine product positioning or market segmentation
6. Capabilities: How well did our capabilities align with your needs and selection criteria? Where was it a fit? Where was it a miss?
What to listen for: Did they mention capabilities which your product has, thinking that the product did NOT have them? Was your product a mismatch from the start?
Follow-up: Refine product positioning or market segmentation, clearly match desired capabilities with those in the product. Identify early in the process when your product is column fodder, and do not over-invest trying to win the sale.
7. Strengths/weaknesses: How well did we compare with our competitors capabilities?
What to listen for: What are your product’s perceived strengths and weaknesses?
Follow-up: Refine product positioning or market segmentation, clearly match desired capabilities with those in the product
8. Pricing: Was the pricing a good reflection of the value of our product? Why or why not?
What to listen for: Did you do a good job of explaining why your offering is valuable, then pricing it in accordance with that value? Since the price sends a signal about the luxuriousness of an offering, setting a low price could be as damaging as over-charging. The price should also be aligned with the competition you are being compared with (within reason).
Follow-up: Understand the signal your price sets relative to its perceived value.
9. Buying decision: Why did / didn’t you decide to buy now?
What to listen for: “In B2B sales, you’re not just competing against rival companies; you’re also combating the dreaded “no decision,” writes Emma Brudner. “According to CSO Insights, approximately 22% of forecasted opportunities result in no decision. Understanding why a prospect did or didn’t buy can bring to light trigger events or deal-derailing problems that your team may not have been aware of.”
Follow-up: “Incorporate any new trigger events into your sales research process. Develop plans to proactively address and diffuse issues that could put off a decision.“
10. NPS: On a scale of 0 to 10, how likely are you to recommend this company’s product or service to a friend or a colleague?
What to listen for: It’s the one question to give you a sense of their impression of your company and offering. And yes, while it’s often used with customers, it can also be used with the ones that got away.
Follow-up: Understand why you received a particular score, and look for ways to improve it.
11. Conclusion: Would you feel comfortable participating in a case study, testimonial or other publicity?
What to listen for: Why or why not?
Follow-up: If yes, get the wheels in motion to make it happen!
12. Additional Comments: Is there a question you were expecting me to ask that I didn’t? Is there anything else I should have asked you about? Do you have any additional suggestions or comments?
What to listen for: What types of questions or suggestions do they have?
Follow-up: Amend your list of questions if there are recurring themes in these interviews.
Ultimately, you need to extract as much information – truthful information – to make the interview worthwhile. It’s particularly important that you probe for substantial answers rather than accept non- or vague ones.
As you accumulate more information and assess it, you will spot trends. And a decisive, incisive response to the trends will lead to better products and higher revenue.
In the end, win/loss analysis when done right turns every loss into a product win.
A lot of this looks familiar to me. "Becky (Willis) explains that the next generation learning platform aggregates internal, external, informal, and formal, peer to peer content. It helps to curate it with AI and uses machine languages to personalize what the employees see." The diagram of the platform is from a slide show by Josh Bersin. The article is mostly a series of audio clips. While I love audio I really think something like this needs transcripts as well. It serves mostly as advertorial content for EdCast (which explains the audio, I guess). I'm linking mostly for the Bersin diagram.
There’s been a lot of hype around virtual reality. That’s where you strap on hot, heavy, expensive goggles and look around you in any direction to see a simulated world. It’s great for games, but super isolating.
For my money, augmented reality (AR) is the bigger deal. That’s where you can still see the real world, but the computer superimposes graphics on it. As you look around, the sizes, angles, and distances of the simulated objects smoothly change in real time as though they really exist. (Pokémon Go is an AR app. So is Snapchat when it adds goofy glasses and antennae to your live image.)
Earlier this year, Apple gave AR a huge boost with its release of ARKit, a set of tools for software companies that make it easier to develop AR apps. Using these tools, it took Ikea just 10 weeks to come up with Ikea Place, an app that lets you try out Ikea furniture in your actual home and inspect it from different angles. “Apple has solved things from both a software point of view and a hardware point of view, so they have the full spectrum,” says Michael Valdsgaard, Ikea’s director of digital transformation. “Nobody else has that.”
Last month, Apple released iOS 11, required to use all of the new AR apps— and, in effect, made the iPhone the most common AR platform on Earth.
Now the apps themselves are reaching the app store. Plenty of them are games, of course, and that’s great—but I wanted to see if these apps can actually be useful. Software companies have had only 12 weeks to write these apps, so they’re mostly fairly simple. I thought I’d sample the first wave and give you a report.
Ikea Place (free)
Ikea Place presents you with a catalog of living-room furniture. “We know that people often struggle. They don’t know if they’re picking the right color, the right style,” says Valdsgaard. “It’s an investment, so most people postpone the purchasing decision because they’re not 100 percent confident. We’ve focused on the living-room setting, which is where we think people need the most help, as the earliest.”
You tap the piece of furniture you want, choose a color for it, and then tap the iPhone or iPad screen to plop it down on the floor. At that point, you can drag to move it around, or twist with two fingers to rotate it.
Ikea Place lets you choose furniture (left) to try out in your real-world rooms (right).
The realism isn’t perfect. Some of the furniture clearly looks computer generated, without enough detail to sell fabric and leather as real. (Wood and metal surfaces are more believable.) But the size, angle, and walk-around smoothness of the app are extremely authentic. Ikea Place is somewhere between “fascinating experiment” and “useful tool.”
Ikea Place lets you generate multiple pieces of virtual furniture at once.
Similar apps include Houzz Interior Designs and Overstock Shopping.
Porsche AR – Imagine (free)
As a sales tool, this app is pure genius: It lets you see exactly what a red $90,000 Porsche Boxter convertible would look like in your driveway. Or garage. Or bedroom, for that matter.
Now you can see just what a $90,000 Porsche would look like in your home!
The app prompts you to move the phone around a little bit to get its bearings and then offers you a choice of three Porsche models. You tap to drop it where you want it.
At that point, there it is before you: A cherry-red, shiny, spotless, unbelievably detailed car, full size. You can walk around it, lean over to look inside it, even stick your hand or foot underneath the body; every aspect of these interactions looks believable.
Talk about realism—you can actually stick your foot under the Porsche. It’s freaky.
Everything, that is, but the four big + buttons (below). They open a side panel with which you can change the car model, body color, interior color or hubcap style. I wished there were a mode that hides both the + buttons and the side panel for an uninterrupted full-screen view of the car—but alas.
The plus signs mar the experience of examining the Porsche in your living room.
My guess is that more people buy Ikea furniture than Porsches, and that’s not going to change with the release of this app. But this app is a fantastic AR demo that never fails to blow people’s minds.
shARk (free)
Same idea as the Porsche app, except that in shARk by Curiscope, the virtual object on your screen is a tiger shark, realistically swimming—through the air. There’s more action with this app, because you have to walk around, moving the phone, to find the shark, because it keeps swimming offscreen. You can tap the screen to drop a little floating piece of food to attract the shark. And if you get bored of the tiger shark, you can pay to install a great white instead.
It’s just a tiger shark swimming through the Yahoo office. No biggie.
So, yeah—the novelty wears off fairly fast. But it’s super fun. And don’t tell me your heart didn’t pump just a little faster as that thing came at you.
Similar apps include AR Dragon and Walking Dead AR.
Very Hungry Caterpillar ($3)
It’s the popular kids’ book character, turned into an animated caterpillar crawling through your actual world. Watch him hatch, feed him fruit, observe him getting bigger —and, yep, change into a butterfly. Little kids dig it; it’s a gentle, death-free introduction to video games.
The hungry caterpillar inches charmingly across any surface in your life, accompanied by sweet music and sound effects.
MeasureKit AR
This app gives you a virtual tape measure. Point at one corner of a table or TV, tap to anchor the “tape measure,” then point at the opposite corner, and boom: An onscreen line, drawn crisply in white, shows you that distance in feet and inches (or meters and centimeters). If you pay a couple of bucks, you can unlock additional modes, like the person-height measurer.
Sometimes, its measurements are right on the nose. Other times, it seems off by a couple of inches, and I’m not sure if it’s me doing something wrong. But in all cases, it comes close.
Similar apps: PLNR (generates floor plans of a room quickly and easily), Magicplan, Survey, aRuler, ARMeasure.
Hair Color by Modiface (free)
This one’s as simple and useful as can be: Use your phone as a magic mirror. Tap a new hair color from the scrolling palette at the bottom of the screen, and see how you’d look with that dye job.
Somehow, the app knows exactly what, on your live video image, is hair.
You get about 22 colors for free—blonde, red, brunette, and so on, as well as pinks, blues, greens and purples (You can pay a couple of bucks to unlock a lot more). You can tap the screen to grab a screenshot at any point, with which to freak out your parents. Really good app.
Now you can try on different hair colors in a live, 3D video “mirror.”
Night Sky 5 (free)
This app lets you point your phone at the sky and see the stars—labeled and, in the case of constellations, conveniently connected by line segments. It works during the day or at night. It’s a perfect use of AR, because it provides ordinarily invisible information about whatever you’re looking at.
Night Sky superimposes the night sky on your actual surroundings; in this example, it was high noon.
Try Sky Guide AR for something similar.
AR’s future
If these examples are what people can come up with in 12 weeks, imagine what we might see a year from now.
The world is full of people, places, and things with hidden stories to tell. Imagine an app that identifies the repair history of a used car you’re considering buying. Or an app that you can hold up to your airplane window (or the floor beneath your seat) that labels the cities and streets below. Or an app that shows how you’ll look after plastic surgery. Or one for house hunters that shows your furniture in an empty house you’re considering. Or a navigation app that shows you, with AR arrows floating above the real-world sidewalk, which way to walk. (No more emerging from a building or a subway, baffled at Google Maps’s instructions because you’re not sure which way you’re facing.)
The mind reels. I can’t wait until there’s more augmented reality in our reality.
POSTSCRIPT I should have noticed this publication date at the top of the article Aug 14, 2014 9:58 am
It was underbuilt, and the P3 cost more than conventional funding. Among the problems that has caused are trains and stations that are too small, too slow and too inconvenient. It has been far more successful than its initial critics claimed, and Chan does come up with some inventive ways of tackling these issues. I think he is very informative on the parochial nature of local politicians and their very limited vision, and how they managed to hobble the project from the start. Sadly too many of them are still warming seats on their respective councils and regional bodies alike.
There needs to be change. Hopefully we can make a start on some of these sooner rather than later as at least we have got a change in provincial government, and realistic probability of federal funding – which was why the name of the line was chosen in the first place!
Last month after iOS 11’s launch I pulled together a roundup of iPad apps belonging to a whole new category of apps. Dropped, Workshelf, The Shelf, and Scrawl Pouch all launched as manifestations of Federico’s dream for a drag and drop-powered temporary holding place for content on the iPad. If you’re unfamiliar with this concept, here’s how I described it in my last shelf roundup:
The need for a shelf springs from the addition of drag and drop to iOS 11. It’s not always practical to drag content directly from one app to another; sometimes you know you’ll need that content soon, but you’re not ready to drop it elsewhere yet. Additionally, in some situations you may wish to drop the same data into multiple places over a short period of time, and it can be cumbersome to re-open the data’s source app to pull it out multiple times. A shelf can solve these problems: it serves as a temporary resting place for anything you know you’ll need quick access to soon. In this way it can serve a role similar to the macOS desktop, which is commonly used as a temporary holding zone.
While all the apps I originally highlighted continue to fill this role well, several additional quality apps have launched that bring new things to the table in this young category of apps.
Yoink
Yoink has a proven reputation that long precedes its iOS debut – it’s also available on the Mac, and even received a recent review by John. While its iPad version differs in many ways due to the distinct features of the iPad platform, with both versions of the app the core concept remains the same: Yoink lets you drop content into it for quick access later.
Due to their limited utility, shelf apps don’t need to have particularly interesting or complex interfaces, as they primarily serve to simply store and access content using drag and drop. Exploring Yoink’s interface, however, reveals several noteworthy touches that demonstrate a deep level of polish and thoughtfulness. First, there’s a plus button in the upper left corner of the app to manually add content from elsewhere in the system, including options to Add from Clipboard, Browse Files, and Add from Photos. There’s also a lock button in the bottom-left corner that determines the app’s behavior when dragging items out of it: if the padlock is closed, content dragged out of Yoink will be copied elsewhere while remaining in Yoink; if the padlock is open, content dragged out will be removed from Yoink. There are also two other ways to remove items from Yoink: hitting the Edit button exposes the option to remove items individually, while the trash can button lets you perform a clean wipe of all stored content at once, or simply remove all currently selected items.
The Edit button exposes a few other features I’m particularly fond of. One is the option to rename a saved item by hitting the pencil icon. As I shared in my last roundup, I really appreciated this feature in Scrawl Pouch, so it’s great to see it here. Another feature is that you can use drag and drop to rearrange stored items while editing. The final hidden feature in the editing interface is a simple, yet powerful method of shelf organization. While in edit mode, after selecting multiple items, you can hit the button in the lower left corner of the app to combine them all into a single stack. This stack acts as a sort of folder containing the separate items. You can tap the stack to view and choose from each individual item, or you can simply pick up the stack with one lift gesture and drag all items away at once. Stacks are also automatically created when you drop multiple stacked items into Yoink at once; if this isn’t the behavior you prefer, it’s very easy to break up a stack – in editing mode, just hit the orange icon embedded in the stack with two opposite-facing arrows. Stacks are a powerful tool made simple in Yoink; my only wish for future improvement is that I could use drag and drop to combine items into a stack, the way iOS apps combine together in a folder when you hold one app icon over another.
Yoink adds to its value in several key ways. Most notably, it has an iPhone counterpart. Now obviously, due to multi-app drag and drop being limited to iPad, Yoink on iPhone can’t work in exactly the same way as its iPad version. But there are two main reasons why I’m glad Yoink is available on iPhone: the app’s action extension and keyboard extension.
While these extensions are great additions to the iPad version of Yoink, they are especially useful when working on the iPhone. Each one serves as a replacement for the drag and drop functions that aren’t available on iPhone: the action extension is used as a way to get content into Yoink, while the keyboard extension lets you then get it out. On iPad you can actually drag content directly out from the keyboard, while on iPhone tapping an item copies it to your clipboard.
The biggest drawback to Yoink on iPhone, which I strongly hope is remedied in the future, is that there’s no syncing mechanism to populate data across multiple platforms. This means the data you save in Yoink for iPad stays on iPad, and anything saved to Yoink on iPhone stays on iPhone.
One other quick note about Yoink: it has the best rich content previews I’ve seen in a shelf app. Previews are large, which may be a negative for those wanting to see more content on-screen at once, but I think they work well. Each preview also includes both the title and content type of each file. And if you have a content stack, Yoink automatically adjusts previews so you can see all stacked items at once in a single preview.
Gladys
Gladys is another excellent option in the space of shelf apps. It does much of what you would expect from a shelf app, and does it well. Some standout specialties include the ability to inspect multiple RAW components of a particular file; this is done simply by tapping a saved item to enter its detail view. You can also easily access metadata like the date and time an item was added to Gladys, and its file size. Files can be renamed, and there’s even a space for adding unique notes to each file. Like Yoink, there’s an action extension for adding content to Gladys the old fashioned way. And lastly, Gladys is a great tool for working with zip archives. You can easily export all saved Gladys contents as a new zip archive, and you can drop an archive into the app’s dedicated extraction space to have all of its contained items added to Gladys.
These are all noteworthy features, and paired with the basic drag and drop mechanics, they make Gladys well worth checking out. The reason I didn’t spend more time on each feature, though, is that there’s one distinguishing feature in Gladys that particularly excites me: its file provider extension.
Gladys integrates with Apple’s new Files app as a files provider, meaning you can access data stored in Gladys from Files. Being able to view and manage your content from the full Files app is a helpful addition, and the power of Gladys’ file provider extension is even more fully realized when you consider other applications: for example, now if you’re using Files’ standard file picker to upload content, anything stored in Gladys will be right at your fingertips too.
The main reason I’m glad to see a shelf app like Gladys serve as a file provider is that it makes it much easier to treat the shelf app like a desktop-style junk drawer for files. I don’t know if it’s just me, but often when I’m saving something into Files, I don’t know quite where I want to put it yet. Usually I just throw it into my top-level iCloud Drive folder, but that adds unnecessary clutter that makes it harder to find other files when I need them. Throwing those files into Gladys is a much better solution for me, as whenever I need them, I can grab them from the standard file picker, and then if I decide I’m going to save them somewhere more permanent, I can do that from right within the full Files app using drag and drop.
There is one oddity regarding Gladys’ file provider extension: Each file in Gladys is stored in a separate folder within the Files app. In cases where a file can be extracted using several different data types, this structure can be beneficial as each of those different types are available from within Files. But in most cases, where there’s just a single file with a single type available, the folder structure is an unnecessary barrier separating you from your content. Hopefully this oddity can be fixed in the future with a solution that creates folders only when multiple file types are available, and otherwise bypasses the need for a folder.
Copied
Copied isn’t a new app, nor is it technically a shelf app – it’s a clipboard manager that, thanks to the advent of drag and drop on iPad, now has an extended purpose. I won’t write much about the app, as we’ve done that plentyinthe past; however, it certainly belongs in this category of shelf apps, even with its limitations.
Since Copied is primarily designed for clipboard management, it won’t accept as many types of content as the other shelf apps I’ve featured – text and photos are its forte, so trying to throw anything else at it will leave you disappointed. However, its strength is that it’s a well-established, well-designed, and highly refined app that’s the recipient of regular updates and exists on both iPad and iPhone, aided by iCloud sync. What other shelf app can claim that kind of resume? Again, it may not technically be a shelf app, but most of the needed tools are already here. Depending on your needs, it might just be the shelf app you’re looking for – and a top-notch clipboard manager to boot.
It’s still early days for shelf apps, because it’s still early days for iPad productivity and drag and drop. But the creativity and usefulness seen already, just from the handful of shelf apps featured here, gives me great hope for the future of this app category and the future of iPad productivity. If you’re an iPad power user, or if you’re a casual user who’s new to the iPad and misses the old, familiar desktop, I recommend checking out one of these shelf apps.
When you do the same things over and over, work starts to become routine. You go to the same meetings, review the same numbers, and email the same people. You learn your job so well you barely have to think about it. The spark goes away, and your creative energy fizzles. The problem? You’ve lost your sense of curiosity.
Fortunately, research shows that simply being more curious can have a tremendous effect on your career—improving your performance and enhancing your workplace relationships. Here’s why experts say curiosity leads to results—and what you can do to bring curiosity back to your work.
1. Curiosity improves job performance
Intelligence and effort are both essential for success. But a 2011 psychological study found a third factor that often gets overlooked: intellectual curiosity. The researchers concluded that intelligence, effort, and curiosity could all predict better performance—and even for people without the raw smarts, curiosity and effort alone were enough to make up for it.
What makes curiosity so important for performance? One explanation is that curious workers are better at dealing with nuance and complexity. Instead of being frustrated with unclear directions—or overwhelmed by all the complicating factors—curious people are eager to dig in and discover. When the path forward isn’t clear, they see opportunity. When something doesn’t make sense, they’re excited to find the right answer. Over time, employers come to trust curious workers with higher level, more difficult projects.
Ask yourself:
How can I think about a routine project in a new way?
How can I reframe something confusing into an opportunity to learn something new?
2. Curiosity helps you connect with others
It probably comes as no surprise that curious workers connect faster and better with their co-workers. They ask more questions, spend more time with colleagues, and quickly come to understand the strengths and weaknesses of their fellow team members. As a result, curious employees know how to best collaborate on a project, delegate a task, or motivate a particular colleague.
But the benefits of curiosity go beyond collaboration. A recent study showed that curious people do a better job dealing with social rejection—particularly important in new or unpredictable work environments. While more research is needed to identify the underlying causes, it’s possible that curious people are able to focus more on discovery itself (what can I learn about this group?) and less on the immediate result (will I be rejected?).
Ask yourself:
What’s something I’ve always wondered about my co-workers, and who can I ask?
How can I focus more on social learning, and less on social validation?
3. Curiosity helps you learn more quickly
In a 2014 study on brain activity, researchers provided subjects with a series of questions and answers. The more curious a participant was about a given question, the more dopamine the person’s brain would release upon learning the answer. Later, the researchers tested participants to see how well they had retained the information. Unsurprisingly, people were much better at retaining information they were curious about. The dopamine had seemed to enhance brain connections at a cellular level.
More surprisingly, however, the researchers found that curious participants were also better at retaining boring information—so long as the boring questions were interspersed among the more interesting ones. It seemed that once a brain’s curiosity was already piqued, the same positive effects would carry on for a short time. In the workplace, this means maximizing your time spent on tasks that awaken your curiosity, and breaking up busywork with more interesting work.
Ask yourself:
Does my current work pique my curiosity?
How can I intersperse more interesting tasks throughout my day?
4. Curiosity unleashes your creative energy
Whether you’re a graphic designer or a software developer, your best work often happens after a creative breakthrough. Key moments of inspiration can help you finally crack a tough problem or see a project in a new light.
But getting to that key moment requires a deep well of curiosity. You want to find work that lets you stay in the moment, that keeps you passionate about what’s right in front of you. Sometimes, that means changing your habits to reduce mindless work. Other times, that could involve finding new projects that better pique your curiosity. Over time, doing work that makes you curious will help you sustain your creative energy, and in turn, reach your next creative breakthrough more quickly.
Ask yourself:
How can I turn off autopilot and turn on a sense of curiosity?
What kind of work makes it easiest for me to find my creative flow?
While it’s tempting to fall back to old work routines, it pays to shake things up. The more you let your curiosity take the lead, the better you’ll be able to work, learn, and grow.
Your argument has a hundred tangents, and none carried to their logical conclusion.
Yes, the USSR fell apart, and as you wrote,
Some countries like the Baltic States prospered, while others withered away into insignificance like Tajikistan or civil turmoil like the Ukraine. Is this the best future for Catalonia or Spain?
Excuse me? Is your argument that the Baltic states should not have abandoned the USSR? And elsewhere, when you discuss the collapse of Yugoslavia, are you making the same case, there? That Yogoslavia should still exist as a country, with Serbia, Montenegro, Bosnia-Herzegovina, Croatia, Slovenia, Macedonia, and now, Kosovo, bottled up as one country, despite the desire of most of those peoples for self-determination? Should we rewind to the borders of the Austro-Hungarian Empire?
While the central government of Spain may want to control the desires of the Catalans, Basques, and other peoples now incorporated in the remnants of the Spanish empire, that doesn’t mean they are morally justified in suppressing the will of the incorporated.
And, as usual, the question behind this has to be, who owns the future? Do the residents of Catalonia — and more pointedly, those whose primary identity and affiliation is with Catalan culture and history — get a say in their own future?
The judgment of whether creation of an independent Catalonia and the potential for a collapse of Spain is a good idea can’t be weighed by analogy with the breakup of Yugoslavia and the USSR. It should only be weighed by what the Catalan people want.
The UN Charter’s article 1514 says a people’s right to self-determination shall not be suppressed, despite what the UN might say today about Catalan independence.
This is an amazing long essay, well illustrated, about someone who builds an heat sensitive camera. It is peppered with poetic descriptions of what the camera sees.
the air itself glowing
And, looking outside,
the vegetation is not as reflective, so you get the "blackness of space" sky with regular-ish landscapes. It's almost like being on the airless, derelict Earth - preserved under the void after whatever disaster befell it.
an ongoing tumblr blog in which batches of images and videos that I cull from the internet are compiled into a long stream-of-consciousness. The batches move seamlessly from one subject to the next based on similarities in form, composition, color, and theme. This results visually in a colorful grid that slowly changes as the viewer scrolls through it. Images of houses being demolished transition into images of buildings on fire, to forest fires, to billowing smoke, to geysers, to bursting fire hydrants, to fire hoses, to spools of thread.
the gifs seamlessly morphing between faces and emotions, exploring parameter space
and, the best bit, the illegal faces. Search for the word illegal to see what the system does when it's asked to generate faces from inputs outside the regular range. The faces are weird patchworks, a computer-native cubism
See also:WaveNet, which makes realistic speech audio also using A.I. It's incredibly realistic, but search for babbling and listen to what the system produces in the absence of any text to process. It's a mess of clicks, hums, and wet mouth noises -- horribly human but with an absence of intelligence. Uncanny.
I have joined the amazing team at Catalytic, Inc. as Chief Customer Officer. Forgive me the brief "advertorial" -- but I hope to have a chance to work with every one in my network as we scale this product and business...
After 10 years in consulting I am returning to what I have done for most of my career joining a small innovative team building an amazing new technology that I hope will make an enormous impact for our customers, their employees, and eventually the world.
As an AI native company, everything about how the Catalytic team approaches software is infused with making machine intelligence a part of how people will become more productive, more successful, and more satisfied at doing their jobs.
As a SaaS company we have found a way to deliver this technology quickly and inexpensively so that our customers can achieve an immediate cost savings. And our ease of use -- eliminating the software developer from automation -- addresses the typical barriers that companies face: lack of internal talent, lack of understanding, no time for IT to implement, not sure where to start...
Our Intelligent Automation platform is designed to make it easy to use AI in business processes -- both providing easy access to capabilities that we have built and a marketplace of capabilities that we are packaging from hundreds of other innovative companies. The web based process builder allows business people to select from these "actions" and automate tasks to improve operations quality, data accuracy, compliance, overcome bottlenecks, and generate actionable insights.
Why do I call this the "automation solution?"
In working with clients over the past few years I have seen four big challenges to enterprise adoption of AI and automation, despite the enormous potential benefits to quality, cycle time, cost, etc.
The economics of RPA are uncertain, initial costs are high -- ROI promises are too far in the future, maintenance and management expense is uncertain, and business continuity planning can easily swamp benefit cases;
Many AI initiatives are inherently experiments since much of this work is being done for the first time ever -- tools are complex and require experts in technology who may not be experts in the business making it difficult to define path to benefit;
Supply of experienced staff for implementation is limited -- both for process analysis and especially for automation development -- making it difficult to staff and scale automation initiatives;
The approach to design and implementation is typically "top down" -- taking existing business processes and focusing solely on the release of headcount to achieve cost savings which makes employees and even managers uneasy about the technology thus delaying or even derailing initiatives.
Catalytic delivers a much-needed solution to this set of problems -- fast to implement, less expensive to maintain, and focused on enhancing how people and AI work together. We have a lot of work to do to achieve all of the promise of our new platform, but we are already at work with some amazing large companies in manufacturing, insurance, banking, real estate, and retail.
Catalytic. Work done better.
Hope to hear from you about how we can work together!
After I had recently trouble to find some time on merging the recent changes
from Hans kernel into the GPD Pocket kernel repositories, I have finally
been able to sort out the configuration issues and build a kernel that works
properly.
The old 4.13 based kernel already fixed USB-C support but at the same
time broke support on bluetooth.
The new kernel out (4.14.0-11.gpd) now fixes those bluetooth issues and
provides support for USB-C. It thus breaks support for AppArmor (the
kernel configuration does not contain AppArmor support as enabling it
destroys Wifi support).
On the other hand the Kernel now is quite functional. I will create new ISO
images based on it during the next days (when I bundle the new release).
For all of you already using a device, please just update using
sudo apt update && sudo apt upgrade
If you are coming from a version in one of the first releases, that still
uses the "-gpdpocket" prefixed kernel variant, please use
Look, I’m really not sure what type of image you’re supposed to use on an essay about being assaulted so here’s one where I look nice. Whatever.
A friend visited me in Montreal a few weeks ago, and the conversation came to my history with sex-related trauma and how it’s affected me in my day-to-day and in my career. He was surprised that some of the events occurred with men who were established, who regularly spoke about creating diverse workplace cultures, who seemed like allies. The reality is, that no matter what position of power they were in, the men who chose to assault me saw very little consequence. Personally, there’s an unfortunate lack of surprise when men in power abuse those around them.
I can’t remember the first time it happened. I’ve worked since I was 13 — my first job was at a donut shop. Men would come in and ask me to “spend time with them”. My bosses would laugh it off. I thought it was normal. I left that job at 15 to work as a tech associate selling and fixing computers. I was the only person in my department that wasn’t a cis dude. Nothing overtly memorable happened, but it was made clear that comments on my appearance, my love life, and my disposition were “normal”.
When I later started as a designer at a startup, one of the other designers became a problem. Comments on my body hair, on how I didn’t smile enough, on how I was a gossip. Questions about what I liked in bed, my sexuality, whether I was dominant or submissive. I reported it, nothing was done. He had been at the company two years longer than I had, and therefore was senior to me.
“I’m sorry, that’s just the way he is. I think it’s a cultural thing. There’s nothing I can do.”
I stayed at that job. Eventually the other designer left, and things seemed to get better for a while. I got used to my skills being minimized. I got used to the inappropriate comments made when we’d drink beer on Fridays. It seemed normal to me. I didn’t have anyone telling me it wasn’t.
The company I worked for would go golfing on the 4th of July every year. Afterwards, we’d go out for drinks or to an after party of some sorts. The second year I participated in the event, it was a particularly hot day. Beer was being served almost hourly on a golf cart full of ice buckets. I was 22 and there was free beer. I was drunk before dusk. Most of us were.
When we were done golfing, we decided to go to a country bar and dance. There were about 10 of us that went. At this point, I was well past the point where I was in full control. We kept drinking. I went to dance with my colleagues. Soon, I felt myself pulled over by the male dev that I’d been working with on a project for the past few months. I felt safe enough and kept dancing with him. Then, I felt him insert his hand through the waistband of my shorts. I didn’t know what to do. I said that I wanted to leave. My phone was dead, so I asked someone to call a cab. The male dev who had assaulted me quickly interjected and said he’d get me home safely. I didn’t know what to do. I got in the cab. He took me to his house.
I was either too drunk to remember, or I’ve blocked out what happened. But I woke up the next morning sore in ways I never knew I could be sore. There was blood on the wall. A mirror was smashed. I hurried out and my then-boyfriend picked me up.
“What happened?”
I was silent.
“Eden, what happened?”
Still silent. This went on for a few hours until finally:
“He raped me.”
I spoke to a friend that I worked with about it. He brushed it off.
“You’re already in shaky territory from reporting the designer. People see you as someone who creates drama. He’s a developer, you’re a designer. You’re disposable. Don’t report it.”
I didn’t, and I kept working with the man who raped me for a year and a half.
When I finally found a new job, I was so excited. The company was based in the states, and as a young Canadian web developer I had hoped that at some point I’d move below the border for a little while. It felt like a job that I didn’t deserve. I felt like I had jumped 30 steps in my career in one quick swoop.
My first few days were spent at a corporate retreat. I loved all the coworkers I met. I felt like I had finally found my place. I did work that I was proud of. On the second day, I had a few drinks with my supervisor while we were working out a coding issue I was having. Eventually we were just drinking. Then he kissed me.
I didn’t know what to do, again. He was being nice enough that I figured I could put up with it. I didn’t want to lose this job. He was my direct supervisor.
“You can’t tell anyone about this. I’m married. I’m established at this company. It would ruin both of our lives.”
He proceeded to want to hang out with me in my hotel room throughout the week that I was in the states. He told me he loved me. He’d make remarks at work during the day to remind me that we had slept together.
Luckily, I went back to Canada pretty quickly and thought he’d forget about me. He didn’t. My boyfriend found out about what happened because my supervisor was constantly texting me. My boyfriend and I broke up for this and other reasons.
I moved into a basement apartment. My mental health dwindled through the winter. I was alone, working remotely. I was dealing with this and other trauma silently. After a year, I attempted suicide.
A week later I returned to America for another corporate retreat. He initiated it again. I felt helpless. I didn’t know what to do again. I was no longer on his team but he was still (and is still) a well-respected employee at that company. I ran away from him and hid in a bush. He found me, soberly stated “We’re all broken” and then proceeded to kiss me again.
Later that weekend, all of my colleagues had attended a party and were headed in a convoy of Ubers to go get something to eat. I was in the back seat, in the middle. To my left was my coworker and friend. In the front, the head of my department. To my right, one of the company’s VPs.
We drove towards our destination and suddenly I felt the VP caress my hand. And then my arm. And then suddenly, in the dark corner of the car, he was kissing my neck. I grabbed his hand and held it down, worried he would try to go further with it. My coworker and my boss were unaware.
I was fired a month later due to lack of productivity. No longer fearful of losing my job, I reached out to a few of the people I had worked with. I reported what had happened with the VP. A year later, I found out that an investigation had been done. That he had multiple victims within the company. That his punishment was being told he could not drink at corporate events any longer. He had too many shares in the company. There was nothing they could do.
A few weeks later they tweeted photos of him sitting on a panel about diversity in the workplace and corporate culture.
Not once were real consequences doled out to any of the men who assaulted me. There were no consequences for the man with the same job title as me, who had happened to work that job two years longer than I had. Consequences weren’t given to the man who started two years after I had, because his job title was seen as superior to mine. Consequences weren’t given to my supervisor, because I was too afraid of being fired and didn’t feel like I was able to report him. Consequences weren’t given to the VP, because he was in too high of a position of power.
We ask ourselves how men rise to the top of the corporate ladder despite despicable behaviour like this; but it’s quite simple. More frequently than not, victims are offered a long list of potential consequences against speaking out — rather than empowerment and justice. More frequently than not, victims are ignored completely. More frequently than not, when victims do speak out and aren’t ignored there are severe repercussions. I’m still scared of the repercussions, which is why I’m not naming names right now. I’m still listing those consequences in my head. But I’m so tired of keeping quiet.
The Downtown campus of the Vancouver Community College started life as the Vancouver Vocational Institute, designed by a leading local architectural firm of the day, Sharp Thompson Berwick and Pratt. It was one of the earliest examples of the International Style in Vancouver, and the Pender Street façade is still looking much as when Bob Berwick designed it in 1948.
Here on Dunsmuir Street the façade of the building is quite different from our 1974 ‘before’ image. A 1983 expansion added a new larger structure, and reclad the street wall with reflective glazing. Today the whole building is a heritage structure, although it’s unlikely that redevelopment of this heavily altered element would raise many objections.
The Community College was built on the site of the 1892 High School, which in turn was re-purposed as the city’s Art School in the 1930s.
Image source: City of Vancouver Archives CVA 778-68.
BlackBerry QNX’s autonomous car just hit the streets in Ottawa for the first time.
The official Twitter news channel for BlackBerry QNX tweeted out a Periscope video of the event, in which a grey Lincoln MKZ can be seen driving around a corner on a road lined with spectators. As it gets nearer, the person in the driver’s holds up both hands in the air.
The car carried Ottawa Mayor Jim Watson, councillor Marianne Wilkinson and John Wall, general manager of BlackBerry QNX.
BlackBerry QNX has invested heavily in automotive technology in recent years. It revealed its embedded software system platform for autonomous and connected cars in January 2017, and launched an autonomous vehicle research hub in Ottawa in December 2016, promising to spend nearly $100 million CAD on the project.
Facebook has announced it is permanently lowering the price of its Oculus Rift virtual reality headset to $529 CAD in Canada.
Previously, it cost $820 for a bundle including both the headset and the Touch controllers — circular gamepads that allow for motion control.
For context, the Oculus Rift was originally priced at $849 when it launched in September 2016 in Canada. Additionally, the Touch controllers — which released in December — were sold separately as a pair for $279, meaning it would cost just under $1130 to get the full VR experience.
Powering up all of your devices can feel like an episode of Family Feud when you only have one charging cable at your disposal. That’s why any self-respecting techie would jump at the opportunity to add more power cords to their collection—especially when they’re going for over 80 percent off their usual price. Now, you can end your charging woes and get three 10-Ft MFi-Certified Lightning Cables for only $21 CAD [$17 USD].
Measuring in at a whopping 10-feet long, these cables deliver next-level flexibility that will come in handy whether you’re charging at your desk or on your bed across the room. Plus, with three of these monster cables, you can stow one at home, another in your car, and the last at work, so you’re always covered.
What’s more, these cables are MFi-certified, meaning they’re guaranteed to work perfectly with your Apple devices, so you won’t have to fret over damaging your device’s batteries.
Now, these charging cables were on sale for $37 CAD, but you can get them at a new price drop for $21 CAD [$17 USD], saving more than 80 percent off the normal $125 CAD retail price!
MobileSyrup utilizes affiliate partnerships and at times we include these links in our posts. These partnerships do not influence our editorial content, though MobileSyrup may earn a commission on purchases made via these links.
Samsung believes it has found the solution to the smartphone camera bump that many people hate.
The South Korean company introduced two new image sensors, the ISOCELL Fast 2L9 and the ISCOELL Slim 2X7. Both the Fast 2L9 and Slim 2X7 are high resolution image sensors in a small chip packages, which in turn, also deliver detailed pictures under low-light conditions
The Fast 2L9 focuses on ultra-fast auto-focus at a reduced pixel size from the Dual Pixel sensor’s 1.4μm to 1.28μm. This means future Samsung smartphone cameras should be able to focus quicker and their cameras should be able to more easily shoot moving objects.
As previously mentioned, The 2L9 can shoot these images in low-light environments as well. The Fast 2L9 does all of this with a camera module that’s so thin it removes the need for a camera bump.
The 24-megapixel ISOCELL Slim 2X7 features Tetracell technology, allowing the sensor to snap brighter pictures in the dark, and better pictures in well-lit environments. The sensor accomplishes this by combining four neighbouring pixels to work together, increasingly light sensitivity in the process. The Slim 2X9 also has the smallest pixel size in the mobile industry, measuring in at 0.9μm. Due to its small pixel size, the Slim 2X7 is also capable of providing better colour fidelity
“Samsung ISOCELL Fast 2L9 and ISOCELL Slim 2X7 are new image sensors that fully utilize Samsung’s advanced pixel technology, and are highly versatile as they can be placed in both front and rear of a smartphone,” said Ben K. Hur, vice president of systems LSI marketing at Samsung Electronics, in a statement.
It’s still unclear when Samsung’s smartphone will start featuring these new camera sensors, though it’s possible next year’s Galaxy smartphones will utilize the technology.