Shared posts

10 Feb 23:00

How to choose scalable customer experience metrics

by Marek Pawlowski
TM Forum's Experience Lifecycle Model

Part of a new MEX series highlighting compelling case studies which catch our eye. Follow @mexfeed or by signing-up for the weekly email newsletter.

Our case study of the week is this long-form article from Ericsson’s research team, offering a blueprint for scaling customer experience measurement to massive networks while retaining individual-level detail.

This is a macro challenge in the world of experience design, as large companies struggle to balance the depth of insight from small scale, but time consuming qualitative approaches against impersonal trends in larger data sets.

A true understanding of customers as individuals – and the ability to respond to them as such – requires a mix both approaches, but the key is knowing which to rely on and when.  It was a theme which also emerged in episode 27 of the MEX podcast, my conversation with Alex Genov, Head of UX Research at Amazon-owned online retailer Zappos.

Jörg Niemöller, Nina Washington and George Sarmonikas of Ericsson explain the dangers of amplifying reliance on a single metric, like the popular ‘net promoter score’ (NPS), and examine how to develop a range of metrics appropriate to specific aspects of the user experience.

“…individual users are never truly objective, and a subjective individual user might not always feel satisfied – even when experiencing good service. Understanding why this is the case is essential to developing customer experience awareness and gaining the insights required to make the right decisions to actively manage the user’s perception.”

Their tools include this 6 point checklist for determining the nature of customer metrics:

  1. Scope: Does the score reflect an insight at the individual user level, for a group of users, or for an entire organisation?
  2. Outreach: How many users are included?
  3. Subjectivity: Does the insight reflect an objective fact or a subjective perception?
  4. Predictive: Is the insight directly measured or the result of a predictive model?
  5. Latency: How quickly does the score need to reflect an experience?
  6. Frequency: How often is an update of the score needed?
In addition, they offer a 22 point model for understanding a customer’s complete journey, from pre-acquisition to churn management, developed as part of a TM Forum working group:
TM Forum's Experience Lifecycle Model
I’ve selected it as our case study of the week for reasons of both process and content:
  • It draws on a collaborative, cross-industry process under the auspices of TM Forum. The balance and refinement afforded by that iteration is evident.
  • The content they share is detailed and practical, providing sufficient explanation to begin formulating a measurement strategy appropriate to your own challenges.

Part of a new MEX series highlighting compelling case studies which catch our eye. Follow @mexfeed or by signing-up for the weekly email newsletter.

For further exploration

10 Feb 22:59

Book: The Annihilation of Caste

by Thejesh GN

The Annihilation of Caste” was supposed to be delivered at a conference organized by a Hindu reformist group Jat-Pat Todak Mandal in Lahore, 1936. At last-minute the group took back the invitation saying speech was against Hinduism and its shastras. Ambedkar self published the speech as the book. At that point the content of the speech caused national debate and caused heartburn.

Even today the content is true, applicable, revolutionary and can cause “heartburning and irritation” to many Hindus. I didn’t get to read this as part of my education (I wonder why?). Here I am at last. I am totally taken over by it. Every paragraph is crystal clear and very quotable. Here are my favorite ones.

B. R. Ambedkar

As a rule, I do not like to take any part in a movement which is carried on by the Caste Hindus. Their attitude towards social reform is so different from mine that I have found it difficult to pull on with them.

The last portion which deals with the complete annihilation of Hindu religion and doubts the morality of the sacred books of the Hindus as well as a hint about your intention to leave the Hindu fold does not seem to me to be relevant.

In case, you still insist upon the printing of the address in toto, we very much regret it would not be possible—rather advisable for us to hold the Conference, and would prefer to postpone it sine die, although by doing so we shall be losing the goodwill of the people because of the repeated postponements.

I know that the Hindus are sick of me. I know that I am not a persona grata with them. Knowing all this I have deliberately kept myself away from them. I have no desire to inflict myself upon them. I have been giving expression to my views from my own platform. This has already caused a great deal of heartburning and irritation. I have no desire to ascend the platform of the Hindus to do within their sight what I have been doing within their hearing.

The point at issue was whether social reform should precede political reform.

Under the rule of the Peshwas in the Maratha country the untouchable was not allowed to use the public streets if a Hindu was coming along lest he should pollute the Hindu by his shadow. The untouchable was required to have a black thread either on his wrist or in his neck as a sign or a mark to prevent the Hindus from getting themselves polluted by his touch through mistake. In Poona, the capital of the Peshwa, the untouchable was required to carry, strung from his waist, a broom to sweep away from behind the dust he treaded on lest a Hindu walking on the same should be polluted. In Poona, the untouchable was required to carry an earthen pot, hung in his neck wherever he went, for holding his spit lest his spit falling on earth should pollute a Hindu who might unknowingly happen to tread on it. Let me take more recent facts. The tyranny practised by the Hindus upon the Balais, an untouchable community in Central India, will serve my purpose.

” Are you fit for political power even though you do not allow a large class of your own countrymen like the untouchables to use public school ? Are you fit for political power even though you do not allow them the use of public wells ? Are you fit for political power even though you do not allow them the use of public streets ? Are you fit for political power even though you do not allow them to wear what apparel or ornaments they like ? Are you fit for political power even though you do not allow them to eat any food they like ? ”

Every Congressman who repeats the dogma of Mill that one country is not fit to rule another country must admit that one class is not fit to rule another class.

That political reform cannot with impunity take precedence over social reform in the sense of reconstruction of society is a thesis which, I am sure, cannot be controverted.

They propound that man is an economic creature, that his activities and aspirations are bound by economic facts, that property is the only source of power. They, therefore, preach that political and social reforms are but gigantic illusions and that economic reform by equalization of property must have precedence over every other kind of reform.

Men will not join in a revolution for the equalization of property unless they know that after the revolution is achieved they will be treated equally and that there will be no discrimination of caste and creed.

He will be compelled to take account of caste after revolution if he does not take account of it before revolution. This is only another way of saying that, turn in any direction you like, caste is the monster that crosses your path. You cannot have political reform, you cannot have economic reform, unless you kill this monster.

Civilized society undoubtedly needs division of labour. But in no civilized society is division of labour accompanied by this unnatural division of labourers into watertight compartments. Caste System is not merely a division of labourers which is quite different from division of labour—it is an hierarchy in which the divisions of labourers are graded one above the other. In no other country is the division of labour accompanied by this gradation of labourers.

As a form of division of labour the Caste system suffers from another serious defect. The division of labour brought about by the Caste System is not a division based on choice. Individual sentiment, individual preference has no place in it. It is based on the dogma of predestination.

Men do not become a society by living in physical proximity any more than a man ceases to be a member of his society by living so many miles away from other men. Secondly similarity in habits and customs, beliefs and thoughts is not enough to constitute men into society. Things may be passed physically from one to another like bricks. In the same way habits and customs, beliefs and thoughts of one group may be taken over by another group and there may thus appear a similarity between the two.

Men constitute a society because they have things which they possess in common. To have similar thing is totally different from possessing things in common. And the only way by which men can come to possess things in common with one another is by being in communication with one another. This is merely another way of saying that Society continues to exist by communication indeed in communication. To make it concrete, it is not enough if men act in a way which agrees with the acts of others. Parallel activity, even if similar, is not sufficient to bind men into a society.

The literature of the Hindus is full of caste genealogies in which an attempt is made to give a noble origin to one caste and an ignoble origin to other castes. The Sahyadrikhand is a notorious instance of this class of literature.

That problem is where to place the convert, in what caste ? It is a problem which must baffle every Hindu wishing to make aliens converts to his religion. Unlike the club the membership of a caste is not open to all and sundry. The law of caste confines its membership to person born in the caste.

A caste is ever ready to take advantage of the helplessness of a man and insist upon complete conformity to its code in letter and in spirit. A caste can easily organize itself into a conspiracy to make the life of a reformer a hell and if a conspiracy is a crime I do not understand why such a nefarious act as an attempt to excommunicate a person for daring to act contrary to the rules of caste should not be made an offence punishable in law.

In an ideal society there should be many interests consciously communicated and shared. There should be varied and free points of contact with other modes of association. In other words there must be social endosmosis. This is fraternity, which is only another name for democracy. Democracy is not merely a form of Government. It is primarily a mode of associated living, of conjoint communicated experience. It is essentially an attitude of respect and reverence towards fellowmen

Equality may be a fiction but nonetheless one must accept it as the governing principle. A. man’s power is dependent upon (1) physical heredity, (2) social inheritance or endowment in the form of parental care, education, accumulation of scientific knowledge, everything which enables him to be more efficient than the savage, and finally, (3) on his own efforts. In all these three respects men are undoubtedly unequal.

But the question is, shall we treat them as unequal because they are unequal ? This is a question which the opponents of equality must answer. From the standpoint of the individualist it may be just to treat men unequally so far as their efforts are unequal. It may be desirable to give as much incentive as possible to the full development of every one’s powers. But what would happen if men were treated unequally as they are, in the first two respects ?

is obvious that those individuals also in whose favour there is birth, education, family name, business connections and inherited wealth would be selected in the race. But selection under such circumstances would not be a selection of the able. It would be the selection of the privileged. The reason therefore, which forces that in the third respect we should treat men unequally demands that in the first two respects we should treat men as equally as possible.

There is no code of laws more infamous regarding social rights than the Laws of Manu. Any instance from anywhere of social injustice must pale before it.

Why have there not been social revolutions in India is a question which has incessantly troubled me. There is only one answer, which I can give and it is that the lower classes of Hindus have been completely disabled for direct action on account of this wretched system of Chaturvarnya. They could not bear arms and without arms they could not rebel.

fear that his statement may become the basis of a vicious argument that the fact of survival is proof of fitness to survive.

I am convinced that the real remedy is inter-marriage. Fusion of blood can alone create the feeling of being kith and kin and unless this feeling of kinship, of being kindred, becomes paramount the separatist feeling—the feeling of being aliens—created by Caste will not vanish.

The real remedy for breaking Caste is inter-marriage. Nothing else will serve as the solvent of Caste.

Caste is a notion, it is a state of the mind. The destruction of Caste does not therefore mean the destruction of a physical barrier. It means a notional change.

The real remedy is to destroy the belief in the sanctity of the Shastras.

People sometimes ask the idle question, why the Pope does not introduce this or that reform? The true answer is that a revolutionist is not the kind of man who becomes a Pope and that a man who becomes a Pope has no wish to be a revolutionist.”

I think, these remarks apply equally to the Brahmins of India and one can say with equal truth that if a man who becomes a Pope has no wish to become a revolutionary, a man who is born a Brahmin has much less desire to become a revolutionary. Indeed, to expect a Brahmin to be a revolutionary in matters of social reform is as idle as to expect the British Parliament, as was said by Leslie Stephen, to pass an Act requiring all blue-eyed babies to be murdered.

Each caste takes its pride and its consolation in the fact that in the scale of castes it is above some other caste.

Is a Hindu free to follow his reason? Manu has laid down three sanctions to which every Hindu must conform in the matter of his behaviour vedah smritih sadacharah uvasy cha priyamatmanah Here there is no place for reason to play its part. A Hindu must follow either Veda, Smriti or Sadachar. He cannot follow anything else.

In the first place how are the texts of the Vedas and Smritis to be interpreted whenever any doubt arises regarding their meaning ? On this important question the view of Manu is quite definite. He says : yovamanyet te moole hetushrashraya dwizah sa sadhubhirbahishkaryo nashtiko vedandikah According to this rule, rationalism as a canon of interpreting the Vedas and Smritis, is absolutely condemned. It is regarded to be as wicked as atheism and the punishment provided for it is ex-communication.

I do not know whether you draw a distinction between principles and rules. But I do. Not only I make a distinction but I say that this distinction is real and important. Rules are practical ; they are habitual ways of doing things according to prescription. But principles are intellectual; they are useful methods of judging things. Rules seek to tell an agent just what course of action to pursue. Principles do not prescribe a specific course of action. Rules, like cooking recipes, do tell just what to do and how to do it. A prinsiple, such as that of justice, supplies a main head by reference to which he is to consider the bearings of his desires and purposes, it guides him in his thinking by suggesting to him the important consideration which he should bear in mind. This difference between rules and principles makes the acts done in pursuit of them different in quality and in content. Doing what is said to be, good by virtue of a rule and doing good in the light of a principle are two different things.

But whether the doing of the deed takes time or whether it can be done quickly, you must not forget that if you wish to bring about & breach in the system then you have got to apply the dynamite to the Vedas and the Shastras, which deny any part to reason, to Vedas and Shastras, which deny any part to morality. You must destroy the Religion of the Shrutis and the Smritis. Nothing else will avail. This is my considered view of the matter. Delete

the Hindus must consider whether the time has not come for them to recognize that there is nothing fixed, nothing eternal, nothing sanatan; that everything is changing, that change is the law of life for individuals as well as for society. In a changing society, there must be a constant revolution of old values and the Hindus must realize that if there must be standards to measure the acts of men there must also be a readiness to revise those standards.

Yours is more difficult than the other national cause, namely Swaraj. In the fight for Swaraj you fight with the whole nation on your side. In this, you have to fight against the whole nation and that too, your own. But it is more important than Swaraj. There is no use having Swaraj, if you cannot defend it. More important than the question of defending Swaraj is the question of defending the Hindus under the Swaraj. In my opinion only when the Hindu Society becomes a casteless society that it can hope to have strength enough to defend itself. Without such internal strength, Swaraj for Hindus may turn out to be only a step towards slavery. Good-bye and good wishes for your success.

Gandhi

Mahatma Gandhi wrote a series of articles in his weekly Harijan under the title “A Vindication Of Caste” as a response.

No reformer can ignore the address. The orthodox will gain by reading it. This is not to say that the address is not open to objection. It has to be read only because it is open to serious objection. Dr. Ambedkar is a challenge to Hinduism.

Caste has nothing to do with religion. It is a custom whose origin I do not know and do not need to know for the satisfaction of my spiritual hunger.

Varna and Ashrama are institutions which have nothing to do with castes .The law of Varna teaches us that we have each one of us to earn our bread by following the ancestral calling. it defines not our rights but our duties. It necessarily has reference to callings that are conducive to the welfare of humanity and to no other. It also follows that there is no calling too low and none too high. Ail are good, lawful and absolutely equal in status. The callings of a Brahmin— spiritual teacher—-and a scavenger are equal, and their due performance carries equal merit before God and at one time seems to have carried identical reward before man.

I am aware that my interpretation of Hinduism will be disputed by many besides Dr. Ambedkar. That does not affect my position. It is an interpretation by which I have lived for nearly half a century and according to which I have endeavoured to the best of my ability to regulate my life.

Doctor has over proved his case. Can a religion that was professed by Chaitanya, Jnyandeo, Tukaram, Tiruvailuvar, Rarnkrishna Paramahansa, Raja Ram Mohan Roy, Maharshi Devendranath Tagore, Vivekanand and host of others who might be easily mentioned, so utterly devoid of merit as is made out in Dr. Ambedkar’s address ? A religion has to be judged not by it’s worst specimens but by the best it might have produced. For that and that alone can be used as the standard to aspire to, if not to improve upon.

Jat-Pat Todak Mandal

Jat-Pat Todak Mandal responded to Gandhi.

The subject of the Doctor’s thesis for Doctorate being caste system, he has studied the subject thoroughly. Now the object of our conference was to persuade the Hindus to annihilate castes but the advice of a non-Hindu in social and religious matters can have no effect on them. The Doctor in the supplementary portion of his address insisted on saying that that was his last speech as a Hindu, which was irrelevant as well as pernicious to the interests of the conference. So we requested him to expunge that sentence for he could easily say the same thing on any other occasion. But he refused and we saw no utility in making merely a show of our function.

Gandhi

Gandhi again

If Caste and Varna are convertible terms and if Varna is an integral part of the Shastras which define Hinduism, I do not know how a person who rejects Caste i.e. Varna can call himself a Hindu.

Ambedkar

At last Dr. BR Ambedkar responded to Gandhi. Honest and straight forward.

From a perusal of his review of my speech it is clear that the Mahatma completely dissents from the views I have expressed on the subject of Caste. I am not in the habit of entering into controversy with my opponents unless there are special reasons which compel me to act otherwise. Had my opponent been some mean and obscure person I would not have pursued him. But my opponent being the Mahatma himself I feel I must attempt to meet the case to the contrary which he has sought to put forth.

They were concerned with the relation between man and God. They did not preach that all men were equal. They preached that all men were equal, in the eyes of God a very different and a very innocuous proposition which nobody can find difficult to preach or dangerous to believe in.

The second reason why the teachings of the saints proved ineffective was because the masses have been taught that a saint might break Caste but the common man must not. A saint therefore never became an example to follow. He always remained a pious man to be honoured. That the masses have remained staunch believers in Caste and Untouchability shows that the pious lives and noble sermons of the saints have had no effect on their life and conduct as against the teachings of the Shastras.

he must accept that the pious life led by one good Samaritan may be very elevating to himself but in India, with the attitude the common man has to saints and to Mahatmas—to honour but not to follow—one cannot make much out of it.

The third point made by the Mahatma is that a religion professed by Chaitanya, Jnyandeo, Tukaram, Tiruvalluvar, Rarnkrishna Paramahansa etc. cannot be devoid of merit as is made out by me and that a religion has to be judged not by its worst specimens but by the best it might have produced. I agree with every word of this statement. But I do not quite understand what the Mahatma wishes to prove thereby. That religion should be judged not by its worst specimens but by its best is true enough but does it dispose of the matter ? I say it does not. The question still remains—why the worst number so many and the best so few ?

Can personal character make the maker of armaments a good man, i.e. a man who will sell shells that will not burst and gas that will not poison ? If it cannot, how can you accept personal character to make a man loaded with the consciousness of Caste, a good man, i.e. a man who would treat his fellows as his friends and equals ? To be true to himself he must deal with his fellows either as a superior or inferior according as the case may be; at any rate, differently from his own caste fellows. He can never be expected to deal with his fellows as his kinsmen and equals.

This is to say that there can be a better or a worse Hindu. But a good Hindu there cannot be. This is so not because there is anything wrong with his personal character. In fact what is wrong is the entire basis of his relationship to his fellows. The best of men cannot be moral if the basis of relationship between them and their fellows is fundamentally a wrong relationship. To a slave his master may be better or worse. But there cannot be a good master. A good man cannot be a master and a master cannot be a good man. The same applies to the relationship between high caste and low caste.

I have argued in my speech that a society based on Varna or Caste is a society which is based on a wrong relationship. I had hoped that the Mahatma would attempt to demolish my argument. But instead of doing that he has merely reiterated his belief in Chaturvarnya without disclosing the ground on which it is based.

Does the Mahatma practise what he preaches ? One does not like to make personal reference in an argument which is general in its application. But when one preaches a decline and holds it as a dogma there is a curiosity to know how far he practises what he preaches. It may be that his failure to practise is due to the ideal being too high. to be attainable; it may be that his failure to practise is due to the innate hypocrisy of the man. In any case he exposes his conduct to examination and I must not be blamed if I asked how far has the Mahatma attempted to realize his ideal in his own case. The Mahatma is a Bania by birth. His ancestors had abandoned trading in favour of ministership which is a calling of the Brahmins. In his own life, before he became a Mahatma, when occasion came for him to choose his career he preferred law to scales. On abandoning law he became half saint and half politician. He has never touched trading which is his ancestral calling.

Why does the Mahatma cling to the theory of every one following his or her ancestral calling ? He gives his reasons nowhere But there must be some reason although he does not cars to avow it. Years ago writing on ” Caste versus Class ” in his Young India he argued that Caste System was better than Class System on the ground that caste was the best possible adjustment of social stability. If that be the reason why the Mahatma clings to the theory of every one following his or her ancestral calling, then he is clinging to a false view of social life.

It is good that he has repudiated this sanctimonious nonsense and admitted that caste ” is harmful both to spiritual and national growth,” and may be, his son’s marriage outside his caste has had something to do with this change of view. But has the Mahatma really progressed ? What is the nature of the Varna for which the Mahatma stands ?

What is the difference between Caste and Varna as understood by the Mahatma? I find none. As defined by the Mahatma, Varna becomes merely a different name for Caste for the simple reason that it is the same in essence—namely pursuit of ancestral calling. Far from making progress the Mahatma has suffered retrogression.

In that article he says ” How can a Muslim remain one if he rejects the Qurtan, or a Christian remain as Christian if he rejects the Bible ? If Caste and Varna are convertible terms and if Varna is an integral part of the Shastras which define Hinduism I do not know how a person who rejects Caste, i.e. Varna can call himself a Hindu ? ” Why this prevarication ? Why does the Mahatma hedge ? Whom does he want to please ? Has the saint failed to sense the truth ? Or does the politician stand in the way of the Saint ?

The first is the temperament of the Mahatma. He has almost in everything the simplicity of the child with the child’s capacity for self-deception. Like a child he can believe in anything he wants to believe. We must therefore wait till such time as it pleases the Mahatma to abandon his faith in Varna as it has pleased him to abandon his faith in Caste.

The second source of confusion is the double role which the Mahatma wants to play—of a Mahatma and a Politician. As a Mahatma he may be trying to spiritualize Politics. Whether he has succeeded in it or not Politics have certainly commercialized him. A politician must know that Society cannot bear the whole truth and that he must not speak the whole truth; if he is speaking the whole truth it is bad for his politics. The reason why the Mahatma is always supporting Caste and Varna is because he is afraid that if he opposed them he will lose his place in politics.

The Mahatma says that the standards I have applied to test Hindus and Hinduism are too severe and that judged by those standards every known living faith will probably fail. The complaint that my standards are high may be true. But the question is not whether they are high or whether they are low. The question is whether they are the right standards to apply.

If I am disgusted with Hindus and Hinduism it is because I am convinced that they cherish wrong ideals and live a wrong social life. My quarrel with Hindus and Hinduism is not over the imperfections of their social conduct. It is much more fundamental. It is over their ideals.

10 Feb 22:59

Wired Wednesday: InkHunter, Google data designs your wardrobe & Raybaby

by John

This week on News 1130 radio in Vancouver, I spoke about these tech topics for Wired Wednesday with Ben Wilson:

  • InkHunter: Preview your tattoo with augmented reality (source)
  • Google ‘awareness’ data can help design your next wardrobe (source)
  • Raybaby tracks your child’s breathing (source)

The post Wired Wednesday: InkHunter, Google data designs your wardrobe & Raybaby appeared first on johnbiehler.com.

10 Feb 22:59

Sharing innovation with your competitors

Some of the largest brands in the world are emerging as leading sponsors and contributors of Drupal. Pfizer, for example, has been using Drupal to improve its internal content workflow processes. Not only is Pfizer a major user of Drupal, they are also making their Drupal improvements available for everyone's benefit, including their competitors. This kind of innovation and collaboration model is relatively unheard of and is less likely to happen with proprietary software.

Another great example is Boston.gov. Last year the City of Boston migrated Boston.gov to Drupal. Shortly after the launch of Boston.gov, they released Boston.gov's source code to the public domain. By open-sourcing their project, the city of Boston is challenging the prevailing model. Anyone can see the code that makes Boston.gov work, point out problems, suggest improvements, or use the code for their own city, town or organization.

The City of Boston isn't the only government agency that is changing their way of innovating. In 2012, the White House released the code behind "We the People", the Drupal-based application that allows the American people to submit petitions directly to the President of the United States. By releasing the code that supports "We the People", any government in the world can take advantage of the project and implement it in their own community.

Next, the international media group Hubert Burda Media employs a team of six Drupal developers that build and maintain Thunder, a Drupal 8 distribution that can be used by any of the 164 brands that Burda supports. Last year, Burda open-sourced Thunder, allowing competitors to benefit from Burda's development, know-how and best practices. As part of their work on Thunder, Burda is an active contributor to Drupal 8's media initiative. Burda is also inviting its competitors to contribute to Thunder.

Some may wonder what is beneficial about sharing innovation with competitors. Today, technology is becoming more and more complex and the rate of change is accelerating. It is becoming increasingly difficult for any one organization to build an entire solution and do it well. By contributing back and by working together, these organizations can keep a competitive edge over those that don't use open source and collaborate. What looks strange to some, is actually perfectly logical to others. Those that contribute to open source are engaging in a virtuous cycle that benefits their own projects. It is a tide that raises all boats; a model that allows progress to accelerate due to wider exposure and public input. It's a story that is starting to play out in every industry -- from pharmaceutical companies, to media and publishing, to government.

Challenge the prevailing model

As I wrote in my 2016 Acquia retrospective, I believe that the use of open source software has finally crossed the chasm -- most organizations don't think twice about using open source software. The next step is to encourage more organizations to not just use open source, but to contribute to it. Open source offers a completely different way of working, and fosters an innovation model that is not possible with proprietary solutions. Pfizer, Boston.gov, the White House and Burda are remarkable examples of how organizations benefit from not only using but contributing to open source.

In order to help people understand the power of this model we have to change the lens through which organizations see the world. It's hard to disrupt the status quo, but fortunately we now have powerful examples that highlight how great organizations are using open source to change their operating model.

If you want to help challenge the prevailing model at your own organization, here are the basic steps that your organization can implement today:

  1. Embrace open source in your organization and make it successful.
  2. Assess whether any of your customizations are truly custom or if they can be used by others.
  3. Contribute back your customizations to the open source project, advance it in the open and encourage others to contribute.
10 Feb 22:59

Top 9 ways to keep winter blues at bay

by Thea Adler

As the winter rolls on, and the short days keep coming, it can be hard to sustain your energy and a positive attitude. Here are a few tips for adjustments and practices you can make to help yourself power through to springtime.  


Soak up some Vitamin D
Lunchtime walks and bike commuting! If you find it difficult to sneak in the vitamin D during the winter months, consider soaking up the sun by commuting by bike or taking lunchtime bike rides. It is a quick and easy fix to filling up on Vitamin D that will instantly have you bouncing back.

Get enough Sleep
Prioritize your sleep and instantly feel refreshed. Getting 6 or fewer hours of sleep a night, (just for a week) have been proven to have negative impacts on your immune system. Long-term periods of suboptimal sleep have shown a strong correlation with serious health concern such as obesity and depression. Consistently getting 8-9 hours of sleep a night is one small adjustment you can make to see a big improvement in your health. 

Reel back the coffee

Do you love your 5 cups of coffee a day but have a feeling they might not love you back? Coffee can serve a much-needed energy jolt, yet prolonged overuse can lead to undesirable effects. Adrenal Fatigue is perhaps the most relevant to the topic of low energy. As the hormone regulator of your organs, when your adrenals are drained, you feel drained. How can you tell if you are consuming too much caffeine? One simple way to find out is if you have withdrawal symptoms when you halt consumption. 

Stretch is out to avoid feeling stressed out
When practiced regularly, yoga is a potent self-care activity that can deepen your sense of well-being and soothe the mind. In a study done in Germany, yoga was proven to show improvements in depression, energy, fatigue, stress, anxiety, and general well-being. The study reported that participants experienced positive effects after just one month of two weekly classes. Not a big commitment for some wonderful effects! 

Stay in Rythm 
One of the challenges people have to adjust to the winter is adjusting to the new pattern. Instead of fighting the winter light, try to get in rhythm with it. It is natural for your body to want to go to bed with the sun and rise with the sun. Allowing yourself to go with this as well as practicing self-care rituals such as indulging in baths and taking care of your skin will have you feeling revitalized and ready to sustain yourself through the winter months. 


Stay Hydrated!
As with any health related goal: hydration is key! This one can be particularly tricky in the winter months because you don't always feel dehydrated as you would in the winter months

Get some exercise!
Getting your heart rate up at least once a day is vital for keeping depression, and diseases at bay. The link between exercise and mental/ physical health has been proven again and again. Keeping oxygen pumping to your brain, as well as helping your cells continue to generate healthy cells is all fueled by sweating it out.

Be social
Surrounding yourself with friends and loved ones is crucial to feeling connected and supported when the days grow shorter. Giving yourself time to spend with close ones is vital to maintaining a healthy state of mind. 

Roll it out 

Don't have the time for a massage? Try using a foam roller to get the same effects! Tension and stress are stored in our muscles, so it's crucial for maintaining health to exercise and properly restore our bodies.

10 Feb 22:59

The MeArm Pi

by Alex Bate

Encouraged by the continued success of the original MeArm kit, a pocket-sized robot arm that quickly became one of the most successful of its kind for budding Raspberry Pi enthusiasts, the Bens (Gray and Pirt) are back with a new Kickstarter project: the MeArm Pi.

MeArm Pi Kickstarter Video

The Kickstarter video for the MeArm Pi – check it out at http://mime.co.uk/r/mearm-pi-kickstarter

Here’s Ben Gray with more:

The original MeArm project was designed to be simple and open-source, requiring just three ingredients: servo motors, screws, and the laser-cut parts. This allowed the design to spread around the world, quickly appearing on every continent except Antarctica! It was massively successful, and is still popular. Children loved it, but we could see that many parents were scared by the complexity of the build.

MeArm Raspberry Pi

We wanted give children a MeArm that was simple enough for them to build by themselves. Twinning the new design with the Raspberry Pi gave us the hardware and processing power to make the whole experience pleasant, fun, and simple. It takes just over 30 minutes to build the MeArm, connect it to the Pi, add that to your WiFi network, and start programming in Scratch, Snap, Python or JavaScript from your browser. A great way to make learning to code a fun experience!

We’ve tried to keep the workings of the MeArm as straightforward as possible. The servos are driven directly from the GPIO pins. The joysticks use an I2C ADC to communicate directly with the Raspberry Pi. There’s an on-board RGB LED, driven directly from the GPIO pins, so that if you want to play around with it, you can. We’ve found that the standard 2A Raspberry Pi power supplies work without any issues, but if you’re plugging more things in you might consider using the 2.5A supply. The HAT has a micro USB power input, so the same power supply will power both the arm and the Raspberry Pi. The HAT follows the reference design for Raspberry Pi HATs. We’ve written a Node.js app to perform a few key tasks, including controlling the servos in the arm via the GPIO pins, and reading the state of the joysticks via the ADC. It’s all open-source. We’ll continue to develop the library, adding new features based on your feedback.

We think this is a great kit for anyone wanting to step into the world of digital making, regardless of their age or experience. We’re not alone: the Kickstarter backing target was met, and doubled, in just a few days. If you’re interested in learning more about the MeArm Pi, visit the Kickstarter page.  The campaign will run until March 8th.

Good luck, Ben and Ben!

The post The MeArm Pi appeared first on Raspberry Pi.

10 Feb 22:59

Launching an Independent OpenNews Program

by Mark Surman

At Mozilla, one of our essential roles is convener: working to identify, connect and support like-minded people who are building a healthier Internet.

An early — and strong — example of that work is the OpenNews program. Six years ago, Mozilla and Knight Foundation created an initiative to combine open-source practices with journalism. Our aim: strengthen journalism on the open web, and empower newsroom developers, designers and data reporters across the globe.

The program flourished. Since 2011, OpenNews has placed 33 fellows in 19 newsrooms, from BBC and NPR to La Nacion and the New York Times. It built a global community of more than 1,100 developers and reporters. It spawned the annual SRCCON conference, bolstered newsroom diversity and gave way to innovative newsgathering tools like Tabula. OpenNews has also played a key role in building the annual MozFest in London and Mozilla’s nascent leadership network initiative.

Mozilla is immensely proud of OpenNews — and immensely grateful to the team behind its success. And today, we’re announcing  that OpenNews is spinning out as  an independent organization. Going forward, OpenNews — with the support of nonprofit fiscal partner Community Partners — will build on the success it achieved when incubated at Mozilla. OpenNews will continue to play an active role in MozFest and Mozilla’s leadership network.

Mozilla isn’t departing the realm of journalism and media — they will remain central topics as we develop Mozilla’s Internet Health strategy over the coming years. MozFest will increasingly focus on issues like fake news, online harassment and advertising economics. This will be bolstered by Mozilla’s involvement in events like MisInfoCon in Boston later this month, where Mozilla is a sponsor and participant. On the technology front, we’ll continue to host the Coral project, which builds platforms that increase trust and engagement. We see news and media as key to our nascent Mozilla Leadership Network — and to our growing Internet health agenda.

As we chart a course forward in this work, we will be reaching out to the community to talk more specifically about where Mozilla should focus its efforts in the news and media space. If you want us to reach out to you as part of this conversation, please contact Mozilla’s Chris Lawrence at clawrence@mozillafoundation.org.

See also:

Knight Foundation: OpenNews network of journalists and technologists to launch with $1.1 million from Knight Foundation

OpenNews: OpenNews Ascent Stage Initiated

The post Launching an Independent OpenNews Program appeared first on The Mozilla Blog.

10 Feb 22:59

Data Science is Hard: Client Delays for Crash Pings

by chuttenc

Second verse, much like the first: how quickly do we get data from clients?

This time: crash pings.

Recording Delay

The recording delay of crash pings is different from main pings in that the only time information we have about when the information happens is crashDate, which only tells you the day the crash happened, not the time. This results in a weird stair-step pattern on the plot as I make a big assumption:

Assumption: If the crash ping was created on the same day that the crash happened, it took essentially 0 time to do so. (If I didn’t make this assumption, the plot would have every line at 0 for the first 24 hours and we’d not have as much information displayed before the 96-hour max)

output_19_1

The recording delay for crash pings is the time between the crash happening and the user restarting their browser. As expected, most users appear to restart their browser immediately. Even the slowest channel (release) has over 80% of its crash pings recorded within two days.

Submission Delay

The submission delay for crash pings, as with all pings, is the time between the creation of the ping and the sending of the ping. What makes the crash ping special is that it isn’t even created until the browser has restarted, so I expected these to be quite short:

output_22_1

They do not disappoint. Every branch but Nightly has 9 out of every 10 crash pings sent within minutes of it being created.

Nightly is a weird one. It starts off having the worst proportion of created pings unsent, but then becomes the best.

Really, all four of these lines should be within an error margin of just being a flat line at the top of the graph, since the code that creates the ping is pretty much the same code that sends it. How in the world are these many crash pings remaining unsent at first, but being sent eventually?

Terribly mysterious.

Combined Delay

output_26_1

The combined client delay for crash pings shows that we ought to have over 80% of all crash pings from all channels within a day or two of the crash happening. The coarseness of the crashDate measure makes it hard to say exactly how many and when, but the curve is clearly a much faster one than for the main ping delays previously examined.

Crash Rates

For crash rates that use crashes counted from crash pings and some normalization factor (like usage hours) counted from main pings, it doesn’t actually matter how fast or slow these pings come in. If only 50% of crashes and 50% of usage hours came in within a day, the crash rate would still be correct.

What does matter is when the pings arrive at different speeds:

combined_crashmain_delay

(Please forgive my awful image editing work)

Anywhere that the two same-coloured lines fail to overlap is a time when the server-recorded count of crashes from crash pings will not be from the same proportion of the population as the sever-recorded count of usage hours from main pings.

For example: On release (dark blue), if we look at the crash rate at 22 or 30-36 hours out from a given period, the crash rate is likely to approximate what a final tally will give us. But if we check early (before 22h, or between 22 and 30h), when the main pings are lagging, the crash rate will seem higher than reality. If we check later (after 36h), the crash rate will seem lower.

This is where the tyranny of having a day-resolution crashDate really comes into its own. If we could model exactly when a channels’ crash and main submission proportions are equal, we could use that to generate accurate approximations of the final crash rate. Right now, the rather-exact figures I’m giving in the previous paragraph may have no bearing on reality.

Conclusion

If we are to use crash pings and main pings together to measure “something”, we need to fully understand and measure the differences in their client-side delays. If the curves above are stable, we might be able to model their differences with some degree of accuracy. This would require a higher-resolution crash timestamp.

If we wish to use this measured “something” earlier than 24h from the event (like, say, to measure how crashy a new release is), we need to either chose a method that doesn’t rely on main pings, or speed up main ping reporting so that it has a curve closer to that of crash pings.

To do my part I will see if having a better crash timestamp (hours would do, minutes would be the most I would need) is something we might be willing to pursue, and I will lobby for the rapid completion and adoption of pingSender as a method for turning main pings’ submission delay CDF into a carbon copy of crash pings’.

Please peruse the full analysis on reports.telemetry.mozilla.org if you are interested in the details of how these graphs were generated.

:chutten


10 Feb 22:59

Diving Into Dynamic Website Content with splashr

by hrbrmstr

If you do enough web scraping, you’ll eventually hit a wall that the trusty httr verbs (that sit beneath rvest) cannot really overcome: dynamically created content (via javascript) on a site. If the site was nice enough to use XHR requests to load the dynamic content, you can generally still stick with httr verbs — if you can figure out what those requests are — and code-up the right parameters (browser “Developer Tools” menus/views and my curlconverter package are super handy for this). Unfortunately, some sites require actual in-page rendering and that’s when scraping turns into a modest chore.

For dynamic sites, the RSelenium and/or seleniumPipes packages are super-handy tools to have in the toolbox. They interface with Selenium which is a feature-rich environment/ecosystem for automating browser tasks. You can programmatically click buttons, press keys, follow links and extract page content because you’re scripting actions in an actual browser or a browser-like tool such as phantomjs. Getting the server component of Selenium running was often a source of pain for R folks, but the new docker images make it much easier to get started. For truly gnarly scraping tasks, it should be your go-to solution.

However, sometimes all you need is the rendering part and for that, there’s a new light[er]weight alternative dubbed Splash. It’s written in python and uses QT webkit for rendering. To avoid deluging your system with all of the Splash dependencies you can use the docker images. In fact, I made it dead easy to do so. Read on!

Going for a dip

The intrepid Winston Chang at RStudio started a package to wrap Docker operations and I’ve recently joind in the fun to add some tweaks & enhancements to it that are necessary to get it on CRAN. Why point this out? Since you need to have Splash running to work with it in splashr I wanted to make it as easy as possible. So, if you install Docker and then devtools::install_github("wch/harbor") you can then devtools::install_github("hrbrmstr/splashr") to get Splash up and running with:

library(splashr)

install_splash()
splash_svr <- start_splash()

The install_splash() function will pull the correct image to your local system and you’ll need that splash_svr object later on to stop the container. Now, you can have Splash running on any host, but this post assumes you’re running it locally.

We can test to see if the server is active:

splash("localhost") %>% splash_active()
## Status of splash instance on [http://localhost:8050]: ok. Max RSS: 70443008

Now, we’re ready to scrape!

We’ll use this site — http://www.techstars.com/companies/ — mentioned over at DataCamp’s tutorial since it doesn’t use XHR but does require rendering and it doesn’t prohibit scraping in the Terms of Service (don’t violate Terms of Service, it is both unethical and could get you blocked, fined or worse).

Let’s scrape the “Summary by Class” table. Here’s an excerpt along with the Developer Tools view:

You’re saying “HEY. That has <table> in the HTML so why not just use rvest? Well, you can validate the lack of <table>s in the “view source” view of the page or with:

library(rvest)

pg <- read_html("http://www.techstars.com/companies/")
html_nodes(pg, "table")
## {xml_nodeset (0)}

Now, let’s do it with splashr:

splash("localhost") %>% 
  render_html("http://www.techstars.com/companies/", wait=5) -> pg
  
html_nodes(pg, "table")
## {xml_nodeset (89)}
##  [1] <table class="table75"><tbody>\n<tr>\n<th>Status</th>\n        <th>Number of Com ...
##  [2] <table class="table75"><tbody>\n<tr>\n<th colspan="2">Impact</th>\n      </tr>\n ...
##  [3] <table class="table75"><tbody>\n<tr>\n<th>Class</th>\n        <th>#Co's</th>\n   ...
##  [4] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Anywhere 2017 Q1</th>\ ...
##  [5] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Atlanta 2016 Summer</t ...
##  [6] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Austin 2013 Fall</th>\ ...
##  [7] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Austin 2014 Summer</th ...
##  [8] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Austin 2015 Spring</th ...
##  [9] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Austin 2016 Spring</th ...
## [10] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays 2014</th>\n   ...
## [11] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays 2015 Spring</ ...
## [12] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays 2016 Winter</ ...
## [13] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays Cape Town 201 ...
## [14] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays NYC 2015 Summ ...
## [15] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays NYC 2016 Summ ...
## [16] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Barclays Tel Aviv 2016 ...
## [17] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Berlin 2015 Summer</th ...
## [18] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Berlin 2016 Summer</th ...
## [19] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Boston 2009 Spring</th ...
## [20] <table><tbody>\n<tr>\n<th class="batch_class" colspan="4">Boston 2010 Spring</th ...
## ...##

We need to set the wait parameter (5 seconds was likely overkill) to give the javascript callbacks time to run. Now you can go crazy turning that into data.

Candid Camera

You can also take snapshots (pictures) of websites with splashr, like this (apologies if you start drooling on your keyboard):

splash("localhost") %>% 
  render_png("https://www.cervelo.com/en/triathlon/p-series/p5x")

The snapshot functions return magick objects, so you can do anything you’d like with them.

HARd Work

Since Splash is rendering the entire site (it’s a real browser), it knows all the information about the various components of a page and can return that in HAR format. You can retrieve this data and use John Harrison’s spiffy HARtools package to visualize and further analyze the data. For the sake of brevity, here’s just the main print() output from a site:

splash("localhost") %>% 
  render_har("https://www.r-bloggers.com/")

## --------HAR VERSION-------- 
## HAR specification version: 1.2 
## --------HAR CREATOR-------- 
## Created by: Splash 
## version: 2.3.1 
## --------HAR BROWSER-------- 
## Browser: QWebKit 
## version: 538.1 
## --------HAR PAGES-------- 
## Page id: 1 , Page title: R-bloggers | R news and tutorials contributed by (750) R bloggers 
## --------HAR ENTRIES-------- 
## Number of entries: 130 
## REQUESTS: 
## Page: 1 
## Number of entries: 130 
##   -  https://www.r-bloggers.com/ 
##   -  https://www.r-bloggers.com/wp-content/themes/magazine-basic-child/style.css 
##   -  https://www.r-bloggers.com/wp-content/plugins/mashsharer/assets/css/mashsb.min.cs... 
##   -  https://www.r-bloggers.com/wp-content/plugins/wp-to-twitter/css/twitter-feed.css?... 
##   -  https://www.r-bloggers.com/wp-content/plugins/jetpack/css/jetpack.css?ver=4.4.2 
##      ........ 
##   -  https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/10579991_10152371745729891_26331957... 
##   -  https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/14962601_10210947974726136_38966601... 
##   -  https://scontent.xx.fbcdn.net/v/t1.0-1/c0.8.50.50/p50x50/311082_286149511398044_4... 
##   -  https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/11046696_917285094960943_6143235831... 
##   -  https://static.xx.fbcdn.net/rsrc.php/v3/y2/r/0iTJ2XCgjBy.png

FIN

You can also do some basic scripting in Splash with lua and coding up an interface with that capability is on the TODO as is adding final tests and enabling tweaking the Docker configurations to support more fun things that Splash can do.

File an issue on github if you have feature requests or problems and feel free to jump on board with a PR if you’d like to help put the finishing touches on the package or add some features.

Don’t forget to stop_splash(splash_svr) when you’re finished scraping!

10 Feb 22:59

Dear Wirecutter: Can Smart Lights Smoothly Fade In and Out From Room to Room?

by WC Staff

Q: In the movie Her, one of my favorite design concepts are the lights that gently follow the main character Theodore as he moves around his home. I’m looking to install lights to replicate the smooth fade in and out as I approach and leave each room in my own home without having to use Alexa commands or something similar. Motion sensors just flick lights on or off, but it seems like this effect might be doable with BTLE beacons. Do you know if anyone is making these lights?

10 Feb 22:59

The Enthusiast Trap

by Volker Weber

This guy can explain stuff. Today you will learn why Pebble or Cyanogen ultimately failed, or why other companies like Oppo are suddenly no longer interesting to you. It comes down to you. You are not an interesting market to cater to.

10 Feb 22:58

BSI veröffentlicht Studie zu Samsung KNOX

by Volker Weber
Um bei der Vielzahl der Konfigurationsmöglichkeiten und der Komplexität der Knox-Lösung einen roten sicherheitstechnischen Faden aufzuzeigen, beschreibt das Dokument 'Sicherheitsempfehlungen zur Konfiguration von Samsung Knox' möglich Ansätze zur Absicherung und Konfiguration von mobilen Endgeräten mittels der Knox-Funktionen. Dazu werden Basismaßnahmen und zusätzliche Maßnahmen benannt, die auf Knox-Geräte angewandt werden können. Anhand von zwei beispielhaft gewählten Mobile-Device-Management-Systemen (MDM) werden aus Sicherheitssicht empfehlenswerte Konfigurationsparameter für Knox-Geräte aufgezeigt.

Das ist ein solides Stück Arbeit. Sehr trockene Materie, nur mit einem Eimer Wasser zu verdauen.

More >

10 Feb 22:58

Sonos :: Wake up the silent home

by Volker Weber

Music: Jailbreak by Thin Lizzy

A couple of people in a room, everybody is glued to their screen. How do you solve this? Buy more Sonos, says Sonos. :-)

Maybe you want to read the study >

10 Feb 22:58

Minor Infractions

by Rachel Giese

When our son turned 12, we gave him a phone and allowed him to use social media, with a condition: He had no right to privacy. We would periodically and without warning read his texts and go through his messenger app. We would follow him on Facebook, Instagram and Twitter (though we wouldn’t comment or tag him — we’re not monsters). We wouldn’t ambush him about what we read and we wouldn’t attempt to embarrass him. Anything that wasn’t dangerous or illegal, we would ignore.

My wife and I never wanted to play big brother. Before my son entered middle school, worries about kids and the internet struck me as a little hysterical, adults’ own teenage mischief misremembered and idealized: things were so much easier/better/simpler back then. They weren’t, of course, but the wall between adolescent life and adulthood used to be sturdier and less readily breached. As much as adults think they understand children now, they misinterpret the meaning of teenage life all the time. They underplay the danger, as in the case of Rehtaeh Parsons, a Canadian high school student who was assaulted at a party in 2011 and then mercilessly harassed afterwards online. Police didn’t take her seriously and refused to prosecute the boys involved. Two years later, Rehtaeh died following a suicide attempt. Or sometimes adults overstate the threat. Child pornography laws are, in some cases, so far-reaching that they snare kids instead of adult predators. One example from 2015: A 17-year-old boy in the U.S. was charged with four felonies and faced being registered as a sex offender after consensually exchanging sexy photos with his 16-year-old girlfriend.

We were concerned about our son’s savvy. He intuitively grasped the power of online life, but not its weight and consequence

We were concerned about our son’s savvy. He intuitively grasped the power of online life, but not its weight and consequence, and was apt to do something he would later regret. The specifics of that “something” weren’t so much the issue. We anticipate teenage rebellion and exploration: Dating, sex, alcohol, lying, cutting school — my own pre-internet adolescence was messily seasoned with binge-drinking, sex and mushrooms. But we worry about that something’s indelibleness, its documentation and distribution through uncontrollable channels. We worry that an impulsive comment of his would mushroom and hurt someone else. We worry that he will be on the receiving end of an impulsive comment. We worry about other well-meaning adults just like us, spying, just like us, on their own child and finding something — rightly or wrongly — improper about our son’s conduct. It isn’t trouble that scares me so much, it’s trouble’s unpredictable half-life.


Surveilling my son seemed like a betrayal. I’m not nostalgic for my own adolescence, but I did get to experience it privately, and mostly free from scrutiny. My parents’ knowledge of my life and whereabouts was often sketchy, and a missing, unsupervised hour could be accounted for with a story about a delayed bus or an after-school meeting. I got caught, of course — once, my parents came home late and found me passed out after a party, stinking of alcohol (a stolen tumbler of crème de menthe from a friend’s parents’ liquor cabinet), my contact lens stuck in my mascara-smeared eyes. But I never had the sense of my parents crouched in an unmarked van, listening to my bugged conversations through earphones, tracking my movements with CCTV. My adolescence was the process of delineating my life from theirs, fostering my tastes and preferences separate from them, screwing up outside of their sightlines.

Very quickly after we started watching our son’s activities online, I began to feel uncomfortable. I’d look at his Twitter feed a couple times a week, which was endearing (he’s asked several NBA players to follow him; they haven’t) and monotonous (a lot of NBA videos). We rarely came across anything of consequence: school gossip, tentative flirting, complaints about teachers and parents, memes and inside jokes. But I felt like I was seeing too much. The banality of these interactions felt more intimate than coming across something genuinely scandalous. We could justify watching him if it turned up something dangerous. In the absence of trouble, I felt like a creep.

Middle schoolers are sweet and intense and sometimes cruel. Mostly they’re raw, caught between the old openness of childhood, and the new self-consciousness of puberty. It’s a delicate moment that should be beyond adult scrutiny, shielded from a potential Hawthorne effect — when you watch someone, you can’t help but shape what they do. Preteens and teenagers are, by nature, quicksilver. One day, a rejection levels them, the next, they’re on to a new friend. Trying on different ways of being is how they figure out who they are. Identities are performed and recorded in public, where they now remain long after being shed and discarded.

Despite my own well-meaning intentions to protect my son, what I’ve struggled with in surveilling him has been the impossibility of forgetting

In legal proceedings, there’s a reason why media doesn’t publish the names of underage victims and perpetrators, and why their histories are scrubbed. This official forgetting is to protect them, to offer a grace period in which what they do or what’s done to them won’t be used to define them forever. Even still, official forgetting is only an ideal. Despite my own well-meaning intentions to protect my son, to pre-empt any serious trouble, what I’ve struggled with in surveilling my son has been the impossibility of forgetting, of not seeing what should be private and his.

To watch children is to be complicit in the removal of their agency over what they wish to reveal. Children aren’t alone in this; we all face it now. But for my son and his friends, there is a certainty of being watched their entire lives. As my wife and I scroll through timelines and read texts, I wonder who else might be doing so, and to what end.


A number of other parents I know do their own version of reconnaissance: checking search histories, installing blocking software, locking away phones overnight. We stoke each other’s fears. If you have a child in middle school now, it’s almost inevitable that at some point another parent will tell you about “the blow-job picture” — an image, discovered on a child’s phone, of a girl, maybe in grade eight or nine, performing oral sex on a boy in her class. The details vary in the telling, but it’s usually told third-hand, from somebody some parent knows who heard it from someone else; I’ve been told about it a half-dozen times, including at a party just the other night. At times, it’s held up as evidence of rampant promiscuity. Or else it’s an exhibit of peer pressure, possibly coercion, or of a girl servicing a boy for his pleasure, not hers.

Without hearing from the girl and boy directly, what I do know is that it’s wrong for anyone else to have seen it. The image was stolen, exploited by other kids for their purposes (shock, shaming, status, envy) and adults for theirs (to confirm their assumption that kids are out of control). From knowledge of the picture alone, it’s impossible to interpret it correctly, to know what it meant for the girl and for the boy involved, whether it was traumatic or a joke, embarrassing or triumphant, unwanted or enjoyed, or some combination. All that can be known is that this moment is no longer theirs alone, if it ever was in the first place.

Recently, historians of East German society have looked into the systemic surveillance that was a normal part of life during the communist regime. The mass network of official Stasi informants was well known; what’s only begun to be understood now is how common it was for regular citizens to voluntarily, even eagerly, report on their neighbors and friends. Often this wasn’t out of loyalty to the state, but spite and personal jealousy. A spouse’s extramarital affairs and a colleague’s promotions were regularly registered with police. One historian credits this ambient, ever-present surveillance for East Germany’s stability and cohesion: “By sharing such information, East Germans hoped to avoid potential problems and misunderstandings in the future.” According to a story in Der Spiegel, files were kept on teenagers for infractions like, “wears Western clothes,” “exhibits affinity for punk music,” “demonstrates pacifist attitudes.” Soon the smallest act of individuality, the tiniest rebellion of personality, came to be seen as subversive.

I’ve mostly stopped checking up on my son, delegating the job to my wife. Knowing the minutiae of his life was too weird for me, too jarring to square the kid I knew with the person he was with his friends. At some point, likely next year, when he enters high school and we feel more confident of his judgment, we’ll cut him loose, let him live his own life without surveillance. Our surveillance, at least.

10 Feb 22:58

Trudeau’s Growth Council is back with more bad ideas

by Michal Rozworski

Justin Trudeau’s friends in finance, consulting and big business dominate the grandly named Advisory Council on Economic Growth. A few months after recommending a giant privatization scheme, the gang is back with more ideas, many very good for them but very bad for you and me.

The biggest news: a recommendation to increase the retirement age from 65 to 67. Trudeau has been breaking promises and sticking with Stephen Harper’s policies left, right and centre, so it’s no surprise to see his economic advisors raising another Conservative corpse from the dead—despite the fact that Trudeau actually rolled back Harper’s shift of the retirement age up to 67 in his first budget. Of course, when Harper proposed it, it was mean-spirited, when Bay St. wants it, it’s the bleeding edge of innovative growth strategy!

Beyond this one terrible idea, the Council’s report is full of warmed-over buzzwords and overblown market-speak. Recommendations will “re-imagine the role of government (specifically, as a convener/catalyst and as an investor)” and “catalyze the formation of business-led ‘innovation marketplaces.'” There’s a bit of Sheryl Sandberg feminism for the 1%: gender inequality ameliorated via “a corporate gender diversity challenge.” Yet elsewhere the ideological bent is more transparent: “much of our potential is untapped, held back due to policies (e.g., excessive regulations).” Chamber of Commerce talking points shouldn’t be a surprise in a document prepared in the C-suite, but they’re being sold as “inclusive growth.”

The retirement age proposal is one of the best example of who these recommendations are really serving. We hear a lot about how society is aging and it’s almost always presented as a problem. Trudeau’s advisors agree. They’re blunt: “Pension systems should not discourage working. Older Canadians willing to remain in the workforce beyond the traditional retirement age should not face disincentives.” But think about it for a second: we are adding functional years to life. We could treat this time as a gift of progress, as an opportunity to develop talents, further our hobbies or take on new ones, educate ourselves, create or simply enjoy life.

The dangerous question for business is, if we able to do this when retired, why can’t we have more time to do the same things in our prime? Trudeau’s Council answers the question by cutting it off: everyone will just work for longer, whether young, middle-aged or old. Extending work cuts off the question of extending opportunities for everything else, entrenching the norm of working as living.

Of course, other options exist. Unemployment in Canada is a not insignificant 7%. If the issue is getting people to do the work that needs doing, then why not start with getting a job for everyone who wants a job but doesn’t have one?

Rising productivity (we are able to produce on average nearly twice as much per hour of work than fifty years ago) and a bigger labour force (mostly from women entering it in the post-war years) should mean we all get to work less. Don’t forget that what “working age” means is up to us. How much we work is not dictated by natural law but by social convention. These are political choices.

growth

Trudeau’s business allies have made their choice clear: they want us working longer. First of all, while we get wages to survive, the profits from the work we all do funnel upwards. The more we work, the more there is for the CEO and bankers to gather up just by dint of being idle owners (even if many of the rich today also work as managers).

But there’s a second reason: while unemployment is bad for the unemployed, some unemployment is good for business. If you’re worried about losing your job, you’re bound to make less trouble at work—maybe not demand a raise, agree to unpaid overtime or ignore that vacation you should be getting. Sure, too much unemployment slows down the economy, but too little can heat up demands. Better put some retirees to work and keep everyone in their place.

Other recommendations play up a false progressivism but follow a market-friendly script that’s growing tired as the world bounces from crisis to stagnation. For example, there’s the FutureSkills Lab (see what they did there, running words together all futuristic?). It’s being set up ostensibly to help workers at risk of robots taking their jobs. But for all the fears of workers losing jobs, the proposal is focused squarely on employers.

This means that the most simple solution, already mentioned above, is ignored: if more jobs will be automated, we could all just work less. This, however, would mean sharing ownership over the robots and the profits they produce—a big no-no. Without that, fears of automation are likely over-blown. Rumors of robots taking over jobs have been swirling for the last two-hundred-plus years and capitalism keeps inventing new things for us to do.

But even then, there are more worker-friendly solutions. Tuition-free college and university is an easy one. If, as the Council admits, companies “underinvest in general skills such as problem-solving, critical thinking, and persistence”, then why not give as many people as possible these skills as a baseline? More generous unemployment benefits, especially combined with tuition-free universities, could give workers more time to retrain and prepare for new work.

Instead, the proposed FutureSkills Lab would be a government agency that further subsidizes employers who don’t put enough money into training their workers. Even as the Council notes that employers are spending 40% less on training than two decades ago, their solution is to get employers to tell them what they need and then pay universities to create courses for specific skills. So much for general skills! This is little but another public subsidy that continues the long tradition of excusing employers from investing in job-specific training.

There are a few silver linings in the reports. There is a call for more funding for First Nations education—good and long, long overdue. Sadly, this recommendation is followed up by another supporting public-private partnerships on reserves. (Then there is the fact that Trudeau’s own government has shown that even when funds are promised, it can drag its feet on delivering them.)

Another good idea that gets a quick mention is a “universal subsidized” childcare program. Advocates have been calling for national childcare for years and their work here shows. Unfortunately, Trudeau’s corporate and Bay St. friends focus on the “subsidized” over the universal. In fact, for them more “progressiveness” means more means-testing rather than universality.

But childcare should not be a gift to the poor; it should be something we can expect, a social right. While the Council pitches childcare strictly as a way to get women into the labour force, it is even more importantly, something that enhances gender equality and women’s autonomy. Even just on an instrumental level, it is much easier to build broad, lasting support around simple, universal public services. Seeing that Trudeau already expended political capital on his means-tested child benefit and with pressure from his right on rising deficits, it seems unlikely this idea will get much pickup.

Despite the buzzwords, the ideas of flowing from the executive suites of those who populate Trudeau’s Advisory Council are too-smart by half without being truly innovative. They’re largely a mix of warmed-over neoliberalism and tepid centrism—tossed and dressed in the language of a Silicon Valley prospectus. There are simple ideas that we could be trying instead, from working less to eliminating tuition. But we shouldn’t pretend we’ll be able to while Bay St. insiders are calling the economic shots.

10 Feb 22:57

How Super Mario Run Onboards New Users, Part Deux

( check out Part 1 if you haven't already! )

10 Feb 22:56

What’s Up with SUMO – 9th February 2017

by Michał

Hello, SUMO Nation!

Today’s post has a slightly different format for two reasons:

  1. We are rethinking the way these (regular) blog posts work and the way they should be shaped – but that’s going to take a while because…
  2. We have migrated to a Completely New Site™ and we need to update you on a few things regarding its current (and future) state. (hint: we’re all really busy)

There you have it. So, while we may be returning to your regularly scheduled programming at a slightly later time, now it’s time talk about…

The Completely New Site™

  1. The migration process was not easy from a technical point of view and things did go wrong in some expected (and some unexpected) ways. Moving 8 years of data from one custom platform to another is like that.
  2. The delay in switching to the new site was caused by last minute issues we managed to fix (but we needed time for that).
  3. We are live at https://support.mozilla.org/ but there are still a lot of things to work on, most of which we are trying to tackle now using Admin powers.
  4. We have a long list of outstanding issues to fight with in the first two weeks after the launch. You can add more to it, don’t worry. Please keep filing bugs. Thanks to all of you who already did so. Before you file a bug, please remember to check this list.
  5. If you are confused about the way the site works (its options, basic features, etc.), you can start fighting that confusion using the site FAQ (“How do things work?”).
  6. Our priorities for the next two weeks are:
    • Making sure site navigation and content are in correct places and work well for all launch locales.
    • Making sure that all users have the right permissions and access to the right resources based on that for all launch locales. As a refresher, take a look at the Roles & Responsibilities doc (as shared with you at the beginning of the migration process in 2016)
    • Working on fixing the bugs from the list linked above.
    • Improving the UX design of the site.
    • Improving the notifications.
    • Improving the onboarding and “ask a question/find an answer” flows.
    • Sharing documentation that explains how we can all get “back to SUMO business as usual” using the new platform (answering questions, working on the KB).
  7. The following are not a priority at the moment but will be worked on later:

So, if you are on the new site (yay!), we ask you for a little extra patience while we make it our new home. In the meantime, if you have questions about:

Now, let me tell you a bit more about…

The Next Month (or so) for the KB / L10n of SUMO…

  1. The KB content of the launch locales is mostly ready for use and consumption by the users, thanks to your help.
  2. All Editors, Reviewers, and Locale Leads should have the right permissions to work within their locale’s KB, but for now we are not localizing anything – please hold off with edits for now.
  3. Joni is coming back on Monday (13th February) and will make sure the English KB is in shape.
  4. Once the English KB is cleaned up and reorganized, we will work on copying the same structure for all launch locales.
  5. The documentation explaining how the localization process works on the new site is coming once we knock all the l10n bugs out of the way. For now, you can get a taste of it reading these two documents (one) (two).
  6. Our goal is to ensure that:
    • All KB Editors, Reviewers and Locale Leads have the right permissions for their locale’s KBs
    • The visible KB nodes are all in the right place and reflect the English version as close as possible (for now, this may be changing in the future, depending on your needs/ideas)
    • The new KB nodes are in place and localized accordingly
    • All KB templates are organized under a separate KB for each launch locale
    • All KB content that should be archived is moved to a separate Archive KB for each launch locale
    • Key UI elements are reviewed and retranslated for each launch locale
    • Locales that were not included in the launch are prepared for addition to the main site

…and how you can help with that

  1. Subscribe to the changes in your locale’s KB (and the English KB as well). You can do it following the instructions from this site.
  2. Keep filing bugs about things that don’t work for your locale (or globally). You can use Bugzilla (as usual) or this spreadsheet.
  3. Wait for further information – I am working on making the site better for localizers (and international users), but everything takes time. I really appreciate your patience and support.

We hope that the above information will help you understand where we are now with the site switch and what are our next goals and steps. If you have questions, you know where to find us. We are looking forward to seeing you around the new SUMO site. Thank you for being there for the users!

10 Feb 22:55

How to Spot Visualization Lies

by Nathan Yau

Many charts don't tell the truth. This is a simple guide to spotting them. Read More

10 Feb 22:55

One Sacred Trick for Moral Regeneration

by Guest

This is a guest post by Harry Pottash.

Post-enlightenment culture has almost completely conquered Western cities, leaving them swimming in a rich and diverse memetic soup. From within this soup a new society is emerging, its members pejoratively called “Social Justice Warriors”. To avoid falling into the trap of pre-existing connotations we can refer to this emerging society as the “Identity-affirming society.” Identity-affirming society shows a striking resemblance to more traditional religions and societies, with specific adaptations, particularly around the concept of cultural appropriation, that make it more resilient to the dissolving forces of post enlightenment culture from which it is emerging. How do unique cultures — the Amish, for instance — protect themselves from being subsumed by the surrounding culture? A clearer view of how the ideas of cultural appropriation are used can be reached by comparing it with the more rigorously mapped views regarding intellectual property, as both cover similar territory.

Societies are finite games, games that introduce goals, rules, constraints on behavior and provide a scoring system. They are among the games we engage in so completely that we forget participation is optional, and the rules arbitrary. Most fully formed societies attach their rules to six instinctively used pillars of ethical behavior, each a thematic set of constraints that participants in the society must follow (or flaunt). Durable societies use these constraints to reinforce boundaries between societal insiders and outsiders.

Vice and Virtue in the Age of Whole Foods

Post-enlightenment culture is not a durable society. It is a highly virulent pattern which swept the earth like wildfire, embracing just three of the six pillars: fairness, liberty, and compassion. Obedience, loyalty, and purity, the three pillars ignored by post-enlightenment culture, are most readily associated with boundaries and individuation of the society. That these would be re-emerging fits thematically into the zeitgeist of our era, a period dominated by a focus on boundary issues.

IMG_6415

Identity-affirming society originates from the far Left, where compassion is embraced as the primary value, and as the justification for most of its derived virtues. For identity-affirming society, compassion is always the key value. When the neglected three pillars of loyalty, purity, and obedience are redeveloped it is by stretching compassion, or less frequently, one of the other base values. For example, not wearing the clothing of another culture (purity) is justified by appealing to how it would make members of that culture feel (compassion). Once the norms attached to the other three pillars have been established, they take on a life of their own and are even able to compete with their parent norms.

Identity-affirming society is inherently non-violent by nature, having never practiced or advocated physical violence against persons, or even proxy versions of it such as imprisonment. Its core value is an attempt to relieve oppression. Identity-affirming society calls attention to very legitimate grievances of groups, particularly those who are being subtly or indirectly attacked. At its best, identity-affirming society solves collective action problems for smaller cultures facing the juggernaut of western society in much the same way as unions. This function is critical in the face of the ruthless application of neoliberalism so frequently embraced by post-enlightenment culture. Most of all, identity-affirming society is active! Its virtues are not theoretical, but engaged with on a day-to-day basis. Identity-affirming society members live their virtues in much the same way as those with religious zeal, even using the term “Woke” (compare “enlightened”).

Many members of post-enlightenment culture are, however, quite uncomfortable with the emergence of identity-affirming society. Some of this is likely due to naive pattern matching: identity-affirming society resembles older traditional societies, some of which contained intense repression, violence, and injustice. Identity-affirming society calls for greater restrictions on free speech, a pattern that always raises discomfort in post-enlightenment culture members. Some identity-affirming society members accuse post-enlightenment culture members of racism and other forms of intolerance, and particularly frustratingly, these accusations are frequently made on the basis of race, which seems hypocritical given post-enlightenment culture’s color-blind ideals. In some cases, identity-affirming society strips away familiar privileges, leaving behind equality that, for previously privileged post-enlightenment culture members, can feel like oppression. Identity-affirming society also bears some similarities to utopian movements, which despite good intentions have generated the worst atrocities of the 20th century.

For its part, post-enlightenment culture allows for, and even encourages, the ruthless exploitation of nearly everything and everyone. It produces tremendous imbalances in wealth and power and its more aggressive adherents are willing to spread it, even at gunpoint, across other cultural groups. Though post-enlightenment culture is rarely explicitly racist, it is brutally efficient at maintaining and even exaggerating the starting conditions that were produced by it’s abhorrently racist societal predecessor. Worse yet, to a member of identity-affirming society, it appears to defend emerging atavistic societies which call back to, or even exaggerate, its racist past.

Identity-affirming society uses several tricks to help distinguish boundaries within the cultural soup of post-enlightenment culture, tricks such as the use of respect, essentially a secularized version of the concept of sacredness. Respect provides a justification to prevent the mixing of external societies with random elements of culture. Many complexities in the concept of cultural appropriation, though not all of them, can be seen through this lens. Cultural appropriation can be used as way of re-establishing the “Loyalty” and “Purity” ethical pillars using respect for boundary creation.

Purity, a pillar which in almost every culture manifests through ethical rules regarding food and sex, is visibly reemergent as well. Sexual ethics remain quite culturally open, but the demonstration of ritual purity through abstaining from specific foods has re-emerged in full. Much of this started with compassion-based dietary preferences: veganism, vegetarianism, fair-trade-certified, and free range food. This trend has spread to other patterns such as refraining from GMO foods or gluten. Additionally, there are unspoken but similar patterns, such as avoiding eating at large chains such as McDonalds.

None of these purity patterns is entirely groundless. Each has an underpinning which can, at least nominally, be traced back to a post-enlightenment culture virtue. Post-enlightenment culture itself has been playing with the question “how should we eat?” for decades. What makes this different from, say, the move from butter to margarine, or other fads of the previous decades, is that these modern ones tend to be intended as absolute. Even when butter was “bad for your health” one could have a little, as opposed to avoiding gluten, which has a firm all-or-nothing boundary.

A different manifestation of the emerging drive to purity, one not attached to identity-affirming society, is the desire to avoid vaccination. Again this is portrayed as a measure of compassion (for the children whom vaccination ostensibly endangers) but also clearly touches on emotional fears about purity.

Obedience is the least tapped-into of the returning ethical pillars. In identity affirming society, no ethical imperative is given to obeying authority figures, even ones who are chosen by the group. What does exist there is a drive to obey digitally-achieved group consensus. The social networks acts as a meta-authority figure. This meta-authority is appealed to regularly in the case of what is sometimes described as victimization culture or call-out culture. Nothing makes this sort of anarchic group-conversation-as-judge better, or worse, than a centralized system, and like democracy it is subject to its own problems.

It’s also important to note identity-affirming society’s continued appreciation of the cultural values of liberty, compassion, and justice. Just as with traditional Christian society, these values are held in balance with the other three. It often feels to post-enlightenment culture members that these values are abandoned, or highly inconsistent, because the additional values that have been introduced are capable of competing with these three. When a value that post-enlightenment culture doesn’t recognize is deployed in conflict with one that it does, it seems as if the held value is being ignored arbitrarily. For instance, the Christian Right’s aggressive persecution of, say, premarital sex is to a Christian a conflict between purity and liberty, but to post-enlightenment culture members simply looks cruel or foolish. We can see an objection by identity-affirming society to non-Japanese wearing kimonos, despite there being no apparent request from Japanese community, as a conflict between purity and liberty as well.

Issues in cultural appropriation are a wonderful ground to explore examples of how the post-enlightenment culture principles have been extended and transformed into identity affirming society ones, and how they create additional individuation and more stable social structures in similar ways to a traditional culture. Thought on cultural appropriation can also be contrasted to thought on intellectual property which largely addresses the same problems. Instances where they diverge often result in outrage and eye rolling, indicating that they are likely to be interesting.

Cultural Appropriation as Intellectual Property

The term cultural appropriation has largely not been applied to the things that would be covered under the portion of intellectual property law known as patent law. This largely matches expectations, since most traditional cultures are willing to embrace borrowed technical innovation. The explicit legal reasoning for why patents are granted is to “promote the progress of useful science,” with the intent that they will be eventually shared into the larger cultural body of knowledge. In even the most sensitive identity-affirming society environments, I have largely not encountered accusations of cultural appropriation when a technique or tool is being adopted simply for its effectiveness.

For example, it appears to be quite rare for a white mixed martial artists who trains in Kung-Fu to be accused of cultural appropriation. Respect or lack thereof for Chinese culture is largely seen as irrelevant; the imitation seems to be viewed largely as a form of culture-independent technology acquisition. Similarly, I have never encountered any complaints about the adoption of kayak paddles for boating, or Japanese pull-stroke saws for carpentry, as instances of cultural appropriation.

Likewise, there is essentially complete agreement with regards to some of the founding examples of cultural appropriation. In earlier incarnations, the term referred to the literal, physical theft of cultural artifacts, such as the British carrying off Egyptian artifacts for museums in the early 1900’s. The term for this could have just as easily, and perhaps more accurately, been “cultural pillaging.” Post-enlightenment culture, identity-affirming society, and pretty much everyone else sees this as entirely unacceptable at this point, largely for violating ethical concepts of compassion and justice in obvious ways. Interestingly, this behavior is essentially no longer associated with the term “cultural appropriation,” a phrase reserved for actions where there is some contention regarding if the behavior is appropriate or not. The term “cultural appropriation” has come to be a shibboleth for the identity-affirming society: one can identify themselves as belonging to identity-affirming society by invoking it. Unfortunately, universally held views make terrible shibboleths.

A second place where post-enlightenment culture and identity-affirming society seem to agree (though where there is a dramatic difference between intellectual property law and typical views of cultural appropriation) is in the sphere of parody. Legally, parody is a very specifically protected form of imitation and copying, almost always taken as self-justifying. Conversely, parody of cultural groups is seen as one of the most obviously immoral behaviors typically labeled as cultural appropriation. Parody seems to violate ethical norms regarding both compassion (parody often is emotionally harmful to its target) and justice (in that it’s frequently seen as punching down). In the legal sphere, the assumption is that parody will be targeted at public figures, who are assumed to be relevant for discourse. Ethical considerations of liberty render the right to make fun of public figures almost sacred. A quirk of the cultural appropriation rules is that public figures who exist across a racial boundary are no longer considered viable targets for parody. For instance, a white person cannot produce parody of Barack Obama without drawing backlash. Historical and current power imbalance play a large role in this, and are a large component of the justification of cultural appropriation accusations.

Trademark law, together with its equivalent in cultural appropriation issues, are among the most unclear overlaps between post-enlightenment culture and identity affirming society. Trademarks are essentially symbolic representations of a status. They are objects or symbols that are set aside so that they can serve as identifiers. In our legal structure, trademarks are intended to represent the acknowledgment of a specific entity. This concept is intuitively familiar: the idea of a written signature is essentially one of a trademark. It is also implicitly extended to a wide array of similar things. At its outer legal boundaries, it’s referred to as “trade dress.”

Many of the most egregious cases of cultural appropriation are cases where something essentially symbolic in the same style as a trademark is used casually in stylistic ways. A familiar example is the case of the Native American war bonnet being worn as a decorative or fashion accessory. In its original context, the war bonnet is essentially a symbol of recognition and rank, not simply a fashion item. One can try to imagine switching roles by considering what it would be like to travel to China and find a non-English-speaker with a Harvard diploma in their office. On questioning them about it they say that they simply like how “western and aesthetic” it looks. Conflicts over this sort of cultural appropriation issue seem to stem from a few key zones. The first being simple lack of awareness: in many cases the appropriator is simply unaware of the status of the symbol in the culture that they are mimicking. The second case where this comes up is when the imitation is too crude, or to out of context, to possibly be taken as the genuine thing. This is frequently seen as a legal defense in trademark law where trademarks are context dependent: Apple Computer was allowed to have their trademark despite The Beatles’ Apple Music already having a trademark on the name “Apple”. Apple Computer was simply not allowed to apply that trademark in the context of music distribution. This became a significant problem when Apple Computer branched out into music with iTunes. This internal logic carries over for many post-enlightenment culture members who would not be concerned about wearing a papal mitre (pope-hat) and vestments, as they will never be mistaken for the pope. This argument largely falls back on the pillar of compassion and often uses the basic test of asking a representative member of the targeted culture if they find it offensive.

Identity-affirming society members who view most of these issues through purity and loyalty lenses do not find the professions of “no harm” to be sufficient, as the appropriator is essentially violating group boundaries, and profaning the sacred. This pattern also leads to a creeping expansion of restricted symbols, because the post-enlightenment culture members’ typical test, if discussed with someone in the identity affirming society, will always yield a response that the appropriation is harmful due to the purity norms.

Particularly likely to be called out for concerns regarding cultural appropriation are any items which are specifically used as a symbolic identifiers of group membership. This pattern very closely matches the loyalty pillar of traditional societies. For example, the old testament injunction against eating “a kid boiled in its mother’s milk,” the single most repeated commandment in the Bible, is given because boiling a kid in its mother’s milk was a central ritual in a neighboring culture. Not performing or participating in this ritual was critical to defining identity boundaries.

This leads us to the most extreme disagreement between post-enlightenment culture and identity-affirming society over what is cultural appropriation: behaviors that approximate copyright issues in intellectual property law. Legal copyright, like the patent, was established with the hope of incentivizing the creation of art, and the understanding that time would see these works transferred to the public domain. Tellingly, this has shifted to the point where copyright has essentially become permanent. It does seem that in both post-enlightenment culture and identity-affirming society there is a moral sense that that “you shouldn’t just be able to copy other people’s work” related to the ethical pillar of “justice.”

The concept of “derivative work,” something new taking large elements of a previous work but rendering them in a substantially altered way, is fair use in law, and usually seen as fair in cultural context by post-enlightenment culture observers. As with many cases where boundaries are being blurred or crossed, identity-affirming society is likely to find reason to object. The label “cultural appropriation” is readily applied (and traced back to some argument based in fairness), but frequently it seems the emotional response is based on violations of the purity ethical pillar. This has a great deal of resemblance to the injunctions in many cultures against mixing things, such as Kil’ayim in Judaism.

Not everything that parallels copyright law is a zone of disagreement. Under copyright law, facts and data are always in the zone of fair use, as with patent law, and views regarding cultural appropriation seem to agree. When the law evaluates copyright claims it takes into account financial intent and damage to the originator. When people from any group evaluate if an action is cultural appropriation, they tend to involve the same criteria, which is unsurprising given that these criteria are based on the ethical pillars of justice and compassion, two pillars which all involved groups share.

Many post-enlightenment culture members view creativity as, primarily, a remixing effect which is difficult to put boundaries on without hobbling. Some even claim that we are unable to control this remixing of ideas within our own heads, making attempts to prevent or modify it quite disruptive to the very process of thinking.

Boundaries, Borders, Castes, and Others

Societies are like every other sort of entity in this world: highly reliant on establishing and maintaining strong boundaries. In the W.E.I.R.D. context of the United States, the establishment of post-enlightenment culture caused the aggressive breakdown of most traditional boundaries through a variety of mechanisms. Tricks like post-enlightenment culture’s complete failure to enforce its own boundaries, relying exclusively on its memetic immune system, leave all of the metaphorical effort of “border enforcement” on the societies it encountered.

But perhaps the most effective trick post-enlightenment culture used to disintegrate boundaries is its universal curiosity and openness to “others” – in particular, its insistence that others not be vilified. This openness has allowed members of other societies to cross into post-enlightenment culture without having a personal identity crisis, or being made to feel unwelcome. For game theoretical reasons, this made it very difficult for post-enlightenment culture, or any group within post-enlightenment culture, to revert to a “hostile to others” opinion.

One of the critical methods for a normal society to maintain itself is to establish a bounded group of members, and for these criteria to supply a clear boundary rather than a gradual spectrum. This has been historically very hard to do within post-enlightenment culture, but several new and novel techniques have emerged. By establishing sacredness rather than disdain for the other as a way to create boundaries, and the use of the term “racist” as the primary out-group label, many of these issues were gradually circumvented.

Identity-affirming society seems to be essentially caste-based, with different ethnic groups making up the different castes. At the current stage of its development, the castes have not taken on a clear hierarchical structure, but they are jockeying for it. Cultural appropriation norms largely serve to enforce hereditary separation, while non-hereditary castes seem to be based on sexual and gender patterns.

A system of hereditary castes with a special non-hereditary one (which is one way or another connected with a restriction on childbearing) is a very familiar pattern. In medieval western culture, one could become a priest, taking a vow of celibacy and effectively transcending most informal castes. In several cultures, eunuchs were allowed great status regardless of their parentage, and even in Hindu culture there is a tradition of celibate Sadhus whose caste is essentially ignored.

There are arguments regarding control of nepotism which go a long way into explaining why having non-breeding castes in high status roles is beneficial for a culture, and castes that don’t allow for reproduction clearly need to allow some mechanism for joining (otherwise the group simply disappears). What’s remarkable is that both of these patterns were reflected in identity-affirming society immediately, without any generations going by, but also without being designed in.

Why Now?

Several trends have converged to produce an environment that is ripe for a new society to emerge within the post-enlightenment culture through the elimination of substitutes and commodification of components. Substitute methods for developing identity like subcultures, material success, traditional culture, and ritual behavior are less available than ever. At the same time communication, organization, and censure tools are abundant.

Counter-culture movements, which would have been the primary competition for identity formation within the post-enlightenment culture, have been largely absent for the last decade. The closest we have come has been has been hipsters, who seem to lack the vital core of many of the previous counter culture movements. This may be because marketing infrastructure has become so adept at commercializing even the slightest hint of emerging counterculture that virtually any youth moment of this sort becomes effectively “fake” before it can get started, with conspicuous production being a weak counter effort. Whatever the reason for the absence of modern counter-culture movements, they had previously served as a major outlet for identity formation that acted in competition with sexual, gender, and ethnically based ones.

At the same time, post-enlightenment culture’s domination of the urban environment became nearly complete, and its ethical groundings in both justice and compassion drifted further away from traditional hereditary society norms. This essentially meant that identity formation by joining any existing society (usually religiously based) became unlikely due to lack of exposure, and the danger of alienation.

Post-enlightenment culture also artistically drifted into post-irony, leaving a vacuum for clear statements regarding rules. For those who wish to obey, or to disobey, this presented a serious problem, which may have contributed to the lack of counter cultures. Post-irony severely undermined the reliability of sincerity, which hamstrung the creation of any sort of meaningful ritual, something that many people rely upon heavily.

Several of the components that are required for the formation of a society began to become dramatically more available. Social media provided a readily available way to coordinate an audience for societal formation and distinction. To a large degree societies are audiences. Until recently, the broadcast media necessary to form an audience was relatively expensive. Zines were the cheapest form until the rise of social media. Pre-social-media websites were affordable to produce, but readership was severely limited by internet penetration: less than 50% in the year 2000, and lower among minorities.

Social media has commodified a second previously expensive structure: community judgement and censure. Before the rise of social media, it was significantly more difficult for any group to judge or police the actions of its members. Using social media, identity-affirming society is able to make essentially democratic decisions about behavior, and to censure its members through public negative feedback. From the outside, this can look like “social justice eating its own,” but it can also be seen as a functional internal justice system.

Finally, the avenue of creating identity through professional success became dramatically less available during this period. The previously popular solution of buying identity began to seem less viable with the increasing commodification of goods and decreasing possibility for professional advancement. Spurred by the excesses of post-enlightenment culture’s love affair with neo-liberalism, a growing cultural disbelief in the meritocratic nature of wealth undermined any status gained through its display.

This happened simultaneously with an increase in the supply of highly educated, talented, and charismatic leadership, a critical component to the formation of any new culture. This change left many of the most talented, who previously would have sought to find recognition and power by advancing through the existing society, to turn to the formation of alternative societies.

Ultimately, in the aftermath of the societal clear-cutting that post-enlightenment culture visited on the world, we can expect a number of new societies to emerge. Some of these are likely to be quite novel, as with identity-affirming society, and others familiar and dysfunctional such as nationalist movements, personality cults, or hate groups. Game theory indicates that all of the emerging societies will probably evolve quickly, and are likely to be quite detrimental to the social environment as a whole. History has already shown us what these more traditional societies become and how they die. I have never known of a society with ideals similar to the identity-affirming society, however, and I’m quite curious to what it will grow into.

10 Feb 22:55

Workflow 1.7 Introduces Magic Variables for Easier, More Powerful Visual Automation

by Federico Viticci
Magic Variables in Workflow 1.7.

Magic Variables in Workflow 1.7.

At its core, Workflow is a visual programming app that deals with variables. Data flows through actions and is altered by the user until it has to be stored in a variable – a local reference that can be recalled in subsequent steps.

Since the app's original release, the Workflow team has done a commendable job at abstracting the complexity behind variable creation and management, but the feature itself is a vestige of traditional programming languages. The manually-saved variable is fundamentally ill-suited for Workflow's visual approach predicated on direct manipulation of actions. Workflow revolutionized several automation concepts, yet it was always anchored in the common practice of declaring variables between actions.

For the past year, I've been lamenting the sluggishness involved with setting variables and extracting additional details from them. Anyone who's ever created complex workflows has likely come across the same problem:

  • There's a "master variable" that contains rich metadata (such as an iTunes song or an App Store app);
  • You want to extract details from the master variable – e.g. an app's name, icon, or price;
  • Each of the variable's sub-items has to be extracted by repeating a combination of 'Get Variable-Get Details of Variable-Set Variable' over and over.

Not only did this limitation make workflows slower to create – it also made variables difficult to explain and workflows harder to read for people who aren't proficient in iOS automation.

As someone who writes about iOS workflows on a weekly basis, I've been thinking about this issue for a while. Every time I had to explain the inner workings and shortcomings of variables, I kept going back to the same idea: Workflow needed to get rid of its clunky variable management altogether.

Here's what I proposed when Workflow 1.5 launched in May 2016:

"Instant Variables" to get details of a macro variable without doing the Get Variable-Get Details-Set Variable dance every time. You could save a lot of time if instead of fetching details of a variable multiple times you could use a single master variable and only specify where necessary which sub-details to use;

With today's 1.7 update, the Workflow team isn't introducing Instant Variables. Instead, they've rebuilt the engine behind variables on a new system called Magic Variables, which completely reimagines how you can create workflows and connect actions for even more powerful automations.

More than a mere tweak for power users, Magic Variables are the next step in Workflow's goal to enable everyone to automate their iOS devices. By making workflows easier to create and read, Magic Variables are the app's most important transformation to date, and the result far exceeds my expectations.

Workflow Corner on Club MacStories

Starting with tomorrow’s issue of our newsletter for Club MacStories members, MacStories Weekly, we’ll begin sharing workflows built with Magic Variables. You can expect us to dive deep into Magic Variables and advanced use cases for visual automation made possible by Workflow 1.7.

You can learn more about Club MacStories and subscribe here. New members get access to the full archive of every newsletter we’ve sent since September 2015.

It's a Kind of Magic

Magic Variables mostly remove the need to manually save variables. They leverage Workflow's Content Graph engine to automatically keep track of variables in the background, allowing you to access them at any time with the ability to change their type (format). It's a novel idea, and it'll take a few minutes to fully grasp, but it's drastically superior to Workflow's old variables. Magic Variables will change how you build workflows.

Each action in Workflow accepts an input and produces an output of a certain type. By default, a 'Text' action generates a string of text, while a screenshot from the photo library generates a PNG image. With Magic Variables, you no longer need to save the output of an action into a named variable. Instead, when you need to use a variable, you can tap a new "magic wand" button above the iOS keyboard to pick the output of any previous action and use it as a variable. Even if you didn't save that action's output into a variable, Workflow now tracks it at runtime to reuse it in other actions later. So, while in the old Workflow you would have had to set and recall variables with this familiar flow...

Manually setting variables in Workflow.

Manually setting variables in Workflow.

...in Workflow 1.7, you can forget about manually setting variables and let the app take care of it:

The new Magic Variables in Workflow 1.7.

The new Magic Variables in Workflow 1.7.

The feature may seem more complex than the old system, but Workflow communicates the new functionality with an intuitive design that behaves as you'd expect it to. When you tap the Magic Variable button, the app dims actions and brings up a selection screen where you can scroll the workflow and view action outputs as blue buttons. Here, you can see and understand how action outputs work.

Picking a Magic Variable from the new full-screen editor.

Picking a Magic Variable from the new full-screen editor.

While in previous versions of Workflow the output of each action would only be passed to the next one and lost if not saved into a variable, Workflow 1.7 remembers every action and its relative output while a workflow is running. Thus, you can tap a blue Magic Variable (which wasn't saved by you) and use it in any other action.

On the surface, this change alone sounds like a sensible addition to the app that can reduce the steps required to remix data and chain actions. But the Workflow team didn't stop at an easier way to pick automatically generated variables.

The true nature of Magic Variables – what makes them somewhat magical – lies in how you can transform them without additional actions. The Workflow team has devised a way to change the format of a variable as well as extract its details directly from the variable's UI. Once you see how it works, you wouldn't be able to go back to the old Workflow.

Unlike normal variables, Magic Variables carry the icon of the action that generated them. In addition to being a visual aid, the icon indicates the default type of a Magic Variable: one containing text has a yellow text icon, while a Magic Variable resulting from a 'Search App Store' action carries the App Store's logo next to its name. Tap on a Magic Variable, and you'll open an inline menu where you can alter the type of the variable and pick which of its details to use.

Tap a Magic Variable to edit it and change its type.

Tap a Magic Variable to edit it and change its type.

If you, like me, spent hours creating workflows that iterated on variables to extract metadata from them with dozens of separate actions, you can imagine why this is a big deal. With Magic Variables, you can specify which parts of a variable you need by selecting them from a built-in menu. Have a master App Store variable but only need the price of an app? Just tell the Magic Variable that you want to extract the 'Formatted Price' sub-item. How about only passing the artist of a song instead of the full item returned from iTunes? Same story: pick the Magic Variable and filter it to only return the Artist.

Changing the type of a Magic Variable from Safari webpage to Article.

Changing the type of a Magic Variable from Safari webpage to Article.

Variable details are indicated with a darker shade of blue in the same variable token, and they can be reverted at any time to the original state of the Magic Variable.

Visually, the difference between how you used to parse variables and Workflow 1.7 is striking:

Workflow 1.7 (right) doesn't need to use multiple 'Get Details of Variable' actions.

Workflow 1.7 (right) doesn't need to use multiple 'Get Details of Variable' actions.

When I was considering the possibility of easier sub-variable creation in Workflow last year, this is exactly the kind of system I had in mind. Rather than requiring you to navigate through multiple stages of extracting variable details, Magic Variables make metadata an option that is clearly presented in the interface. Thanks to this, workflows are easier to manage; what used to be a series of 10+ actions can be summarized in a single collection of Magic Variables.

There's more, though. Magic Variables can be renamed: in the editor, tap on the 'Rename' button and you'll be able to assign the variable a unique name to be reflected throughout a workflow. Every time you open the Magic Variable editor, you'll see the custom name you assigned.

Magic Variables that have been assigned custom names.

Magic Variables that have been assigned custom names.

The combination of icons, custom names, and inline variable details goes a long way towards making workflows more readable – something that couldn't be said for the generic look of variables and the repetition of 'Get Variable-Get Details of Variable' action pairs in the old Workflow.

Once you start adapting your workflows to Magic Variables, you'll also notice that it's easy to lose track of what each action does when there's no more 'Set Variable' step to act as a descriptive label.

The Reveal button highlights the actions associated with a Magic Variable.

The Reveal button highlights the actions associated with a Magic Variable.

Fortunately, next to Rename, there's a Reveal button that scrolls to the action that generated the currently selected Magic Variable.1 This makes it easy to jump back and forth between a Magic Variable and the original action behind it, which helps when debugging long workflows.2

The other notable trait of Magic Variables is how they represent Workflow's Content Graph engine through one-tap type coercion.

Let's back up a bit first. Since Workflow 1.0, one of the app's greatest assets has been its engine – the Content Graph – that intelligently converts data between formats to avoid errors in workflows as much as possible. Normally, for instance, you would think that passing an image to a Text action would generate an error; with the Content Graph's type coercion, Workflow assumes that an image passed as text means the user wants to extract the file name of the image. It's with this system that Workflow is able to turn URLs into PDFs of a webpage, Maps links into JPEGs, or an App Store result into an app icon saved into your photo library. Workflow constantly assumes what the user's intention might be in case it hasn't been stated with specific actions.

With Magic Variables, conversion between data formats reaches its logical conclusion as a visual picker embedded within the Type menu of a variable. Upon tapping a Magic Variable, you'll see the type that Workflow loaded for it by default as a blue button under the variable's name. You can tap this button to open a list of types and dynamically change the nature of the variable without the need to execute other actions.

Converting Magic Variables between different types.

Converting Magic Variables between different types.

One-tap type conversion opens intriguing possibilities for automation. The reduction of "processor" actions to change types3 increases the flexibility of variables, which in turn should enable deeper customization of actions. By putting the spotlight on type conversion, Magic Variables highlight the foundation of Workflow's engine with unparalleled clarity.

Magic Variables have cut my most complex workflows in half. They allowed me to focus on the functionality of each action rather than remembering to save its output for later. While advanced chains of actions were possible before Workflow 1.7, Magic Variables make everything faster and easier to create, as well as nicer to look at.

Magic Variables are the best change to happen to Workflow since launch; I've prepared a few examples to explain why.

Working with Magic Variables

Alongside Magic Variables, Workflow 1.7 introduces new ways to pick variables and enter them in action fields. From a new variable bar that sits above the keyboard, you can access the Magic Variable editor, open a grid of variables, but also scroll a row of dynamic variable suggestions as well as shortcuts for "quick inputs" such as the clipboard, the current date4, and the 'Ask When Run' dialog.

The variable bar isn't just a prettier way to pick variables for actions. Workflow will also contextually suggest Magic Variables depending on which action is currently being edited. If you're entering a variable in a 'Text' action placed after a 'Choose from Menu' item, the end result of the menu will be suggested as a Magic Variable; when adding a reminder that follows a choice to pick a photo from the library, a 'Photos' Magic Variable will be displayed as a shortcut in the variable bar.

The new variable suggestion bar in Workflow 1.7.

The new variable suggestion bar in Workflow 1.7.

In my experience, Workflow 1.7 has correctly predicted which variables I wanted to use based on previous actions. It's a small tweak, but it adds to the time savings of this update. Combined with the app's existing list of suggested actions, it's never been easier to get started making workflows.

My favorite example of the power of Magic Variables is my updated workflow to turn articles from Safari into templates for linked posts in a text editor.

I use this workflow on a daily basis: whenever I find a story I want to link on MacStories, I select some text on the original webpage and run the workflow. In a couple of seconds, I end up with a post template in Ulysses containing Markdown text as well as the original's author name. There's no manual copy & paste and I never type the author's name wrong because it's automatically extracted by Workflow.

Thanks to Magic Variables, this workflow has been cut down to 6 actions. The majority of the work happens in a 'Text' action where three Magic Variables perform the following data manipulation:

  1. A URL is converted into the title of the webpage through variable detail extraction;
  2. Using type conversion, the input of the action extension5 is first converted from 'Safari webpage' to 'Article' and then the author's name (a variable detail) is extracted;
  3. The output of 'Make Markdown from Rich Text' is referenced as a Magic Variable.

The benefit of Magic Variables is apparent in this workflow. Instead of having to micro-manage outputs with a stream of 'Set Variable' and 'Get Details of Variable' actions, I can just throw in actions and recall their outputs later in an interface that also lets me change their type and fetch details I need. This workflow was possible before (I've been using it for almost a year now), but it's never been this short or readable. You can get the workflow here.

The versatility of Magic Variable details and variable suggestions is most impressive in the workflow I use to save an App Store result as a "rich app card" in Trello. This is the workflow I use whenever I find an app or iMessage sticker pack I want to link in our newsletter: with a couple of taps, I can go from an App Store product page to a card in Trello other team members can see.

From an App Store app to a rich Trello card.

From an App Store app to a rich Trello card.

This workflow, however, was quite long before Workflow 1.7 – 28 actions, mostly comprised of 'Get Variable-Get Details of App Store App' iterations used to extract the app details required to create a card in Trello.

With Magic Variables, I was able to go from 28 actions to 14 actions while retaining the same functionality and achieving a clearer presentation of the workflow. Most of the heavy-lifting is now handled by a single Magic Variable in the 'Add Trello Card' action: the same variable is repeated multiple times in the description field of the card, each time with a different variable detail. This way, what used to be 9 actions (3 for each variable detail) is now 3 Magic Variables that don't require any action at all.

Old actions (left) can now be built using Magic Variables.

Old actions (left) can now be built using Magic Variables.

Combined with the Magic Variable for the output of the If block and the lack of 'Set Variable' actions, these changes led to the removal of 14 actions, cutting the length of the workflow in half while preserving all of its functionality. You can get the workflow here.

I've observed similar savings in my workflow to save a currently playing song in a playlist and send it to my girlfriend over iMessage. This workflow used to contain 15 actions that extracted song details (name, artist, and iTunes URL) before adding the song to a playlist and preparing an iMessage.

Now, the same workflow requires 7 actions thanks to Magic Variables. Song details I want to send in an iMessage are assembled in a 'Text' action; they're the result of a 'Search iTunes Store' action that returns 10 songs, which are then passed to a 'Choose from List' step. The song picked in the list is still an iTunes-type product, which means Magic Variables can extract details about the song from it. You can get the workflow here.

I'm in the process of updating all my workflows for Magic Variables, and a trend is clear: along with fewer actions per workflow, the role of the 'Set Variable' action is changing.

Despite Magic Variables, it is still possible to set variables and use them as you've always done. However, the use cases for manually setting variables are now extremely limited. The only instance where I can imagine users might want to have a named variable is for workflows where a variable of the same name changes across non-contiguous blocks of actions.

Between Magic Variables and suggestions for outputs of Repeat and If blocks, I effectively see the 'Set Variable' action as deprecated in Workflow 1.7. It's still around and it can be used in workflows, but Magic Variables are the future.


There are some implementation details of Magic Variables I would have liked to see done differently.

Some action fields (like Trello's Attachments one) don't let you tap on a Magic Variable to extract details. I assume this is due to how certain fields in Workflow already open a popup to pick variables when tapped (it's the same deal with the Category field in the 'Search iTunes Store' action, for instance), but this shouldn't have been the case. The inability to fully use Magic Variables in some fields adds inconsistency to the app. Every field of every action should support the full range of Magic Variable editing.

While it's remarkable that Magic Variables can convert types and perform advanced operations such as extracting a specific value from a dictionary6, these built-in controls haven't been brought to other variable types that would benefit from them. You can't restrict a regular expression match to a specific capturing group from a Magic Variable, for example, and you can't fetch an indexed item from a list unless you use a separate action. In future updates to the app, I hope we'll get additional options for type conversion and detail extracting in other formats.

Finally, with an easier way to convert variables between types as well as fetch details of a variable, it's become clear that Workflow needs a 'Generate Collection' action to combine multiple variables together and pass them to another action.

There should be an easier way to do this.

There should be an easier way to do this.

Think about it: if you want to combine a string of text and an image in a single variable, how would you do that? You'd have to iterate over multiple bits of content and use the 'Add to Variable' action, which is still the only way to create collections of items with different types. A 'Generate Collection' action with an empty field would make it possible to bundle multiple Magic Variables together, enabling shorter workflows that, for example, send an email message containing text and images or tweets with messages and video attachments. This isn't a problem per se, but it's a byproduct of the new flexibility enabled by Magic Variables.

A New Workflow

I often ponder what the Workflow team should address in the app's journey towards version 2.0. Magic Variables are precisely the enhancement that Workflow needed to move past the boundaries of classic programming environments; they rejuvenate Workflow's creative side by simplifying an essential aspect of visual coding such as variable management. After trying them, it's obvious that Magic Variables make more sense than anything that came before.

Magic Variables couldn't exist in traditional scripting languages; they are only possible thanks to Workflow's unique approach to visual automation.

Looking back at the past year in Workflow's release cycle, it's impressive to witness how much this team has accomplished. With App Store automation, integration with web APIs, better community and sharing tools, and now a complete overhaul of variables, Workflow is a profoundly different app from the one that launched in December 2014. At this point, lack of folders and other organizational features is the next big thing the Workflow team should tackle.

Magic Variables make Workflow feel like a new app altogether. They're a fantastic addition to iOS automation and I look forward to updating years of workflows for Magic Variables.

Workflow 1.7 is available on the App Store.


  1. Doing so will highlight an action with a delightful drop shadow, which the Workflow team is bringing back in style throughout the app. Several UI elements of Workflow now carry borders, depth, and shadows – I like it. ↩︎
  2. To mark up other actions visually, I recommend using the 'Comment' action to add descriptions inline. You'll thank me later. ↩︎
  3. Routines that span 5+ actions can now be cut down to one Magic Variable↩︎
  4. The date variable entered from the keyboard can be adjusted like any other Magic Variable: you can tap to change the format for date and time within the variable. This removes the need to use two separate actions ('Date' and 'Format Date') to achieve the same functionality. ↩︎
  5. Another default Magic Variable in Workflow 1.7. ↩︎
  6. Which makes working with web APIs in Workflow downright amazing now. ↩︎

Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.

Join Now
10 Feb 22:55

Apple on Track to Buy 50% of Itself in Three Years

by Neil Cybart

A path has appeared where Apple management can realistically buy back 50% of AAPL's outstanding shares within three years. With a stable iPhone business, a growing Services business, and U.S. corporate tax reform, Apple will have close to $300B of cash available to spend on share buyback in the coming years. The numbers are daunting, and as Apple management has shown no sign of curtailing its buyback plans, it's time for Wall Street to take notice. 

Share Buyback 101

Share buyback is the opposite mechanism of an IPO or secondary offering. Instead of raising cash by selling shares, a company uses excess cash on its balance sheet to buy back its shares from investors. These shares are then retired, or removed from the market, resulting in a lower share count. By using cash to buy back stock, a company's assets and equity totals decline while debt remains the same, all else equal.  

There are a few reasons for a company to buy back its stock. 

  • Signaling effect. Management teams can use buyback to signal to Wall Street its confidence in future prospects. In addition, share buyback is often thought to be a sign that management views its stock as undervalued.  
  • Balance sheet optimization. There is such a thing as holding too much cash on the balance sheet, especially if investors are not properly valuing it. By issuing low-cost debt to buy back stock, some companies will be able to lower their overall cost of capital, which is a value creation activity. 

Buying back shares increases the ownership percentage for existing shareholders. If a management team buys back all of a company's shares except for one, that last remaining share would, in theory, own 100% of the company. Of course, in the real world, this example isn't likely as the last remaining shareholders would have little incentive to sell their shares to the company at a low price. 

A few other considerations regarding share buyback:

  • Share buyback is not created equally. Not every company should repurchase their shares. Industry dynamics and company-specific issues may make share repurchases an unwise use of excess cash for some companies. Share buyback has gotten a bad rap on Wall Street in recent years because of its widespread use, including that by companies not in a strong position to be buying back shares. This buyback misuse has overshadowed examples of buyback representing a good use of excess cash. 
  • Share buybacks don't create shareholder value. Contrary to popular belief, share buybacks don't create value for shareholders. While existing shareholders do get a greater share of the balance sheet via share buybacks, the act of using cash to buy back shares means they are getting a greater share of a smaller balance sheet. Meanwhile, share buyback does not have any direct impact on how a company performs when it comes to using its assets to generate cash flows. The one example in which buyback may produce a small amount of value for a company is when the overall cost of capital is reduced due to share repurchases. 
  • Apple is not using buyback to secretly go private. One myth that has been circulating for years is that Apple is secretly using share buyback to go private. Not only is this false, but it ignores one crucial aspect found with Apple's share buyback program. Management is not holding on to repurchased AAPL shares. Instead, the shares are retired and removed from circulation. Existing shareholders see their ownership stakes rise due to buyback.

For more information on share buyback, and in particular Apple's stock repurchase program, an Apple Stock Buyback Primer is available for Above Avalon members here.

Apple's Buyback History

Since kicking off its buyback program in 2012, Apple management has repurchased 20% of outstanding AAPL shares. As shown in Exhibit 1, after peaking in 4Q12 at 6.6 billion shares, Apple's share count has declined by 20% to 5.3 billion at the end of 1Q17.

Exhibit 1: Apple Shares Outstanding (1Q11 to 1Q17)

Screen Shot 2017-02-09 at 2.35.36 PM.png

Apple management has been a very reliable and consistent repurchaser of its stock. This stands at contrast with the average buyback program in which management teams are more interested in the positives associated with announcing a share buyback instead of actually parting ways with cash to repurchase stock. Share buyback authorizations often remain open as companies never finish their buyback programs. Apple has been an outlier in terms of its very aggressive pace of buyback, regardless of share price. 

The Path to 50%

With 20% of shares already repurchased, here's how Apple management can repurchase an additional 30% of shares over the next three years to reach 50% of Apple outstanding shares:

1) Continue to funnel $30B to $35B of excess cash into share buyback every year. Apple is currently relying on operating cash flow (U.S.) and debt issuance to fund its share buyback. With the iPhone business displaying a new level of consistency and with a growing Services business, Apple will likely see similar levels of cash generation in the coming years. If Apple can funnel approximately $30B to $35B of cash into share buyback in FY17, FY18, and FY19, the company will be in a position to buy an additional 16% of outstanding shares by the end of 2019. As seen in Exhibit 2, simply keeping the status quo should bring shares outstanding to 4.5B shares in three years, a 32% reduction from the 2012 peak.

Exhibit 2: Apple Shares Outstanding (1Q11 to 1Q20E)

2) Bring back most of the $230B of cash held in foreign subsidiaries. Apple currently has $230B of cash held in foreign subsidiaries. If Washington passes corporate tax reform and foreign cash is taxed at a rate of 15% or lower, Apple will bring back the vast majority, if not all, of this amount to the U.S. Apple will need this cash in the U.S. if it intends to use it for share buyback. Apple has been maintaining a deferred tax liability (now at $27B) related to foreign earnings as management has been accruing U.S. taxes related to unremitted foreign earnings. This will make it possible for Apple to pay tax on most of this foreign cash without taking a significant EPS hit.  

3) Use $150B of repatriated cash to repurchase another 23% of AAPL shares. Assuming Apple pays taxes on foreign cash at some point in FY17 or FY18, Apple will have approximately $250B of cash, cash equivalents, and marketable securities on its balance sheet. If Apple uses 60% of this total for share buyback, Apple will be able to buy back 23% of outstanding shares. Management could repurchase these shares quickly through a modified Dutch auction tender offer. Even after spending $150B on buyback, Apple would still have close to $100B of cash left over on the balance sheet. While the company's net cash balance would be at a multi-year low given Apple's increasing amount of long-term debt (quickly approaching $100B), the company would still be kicking off $50B of cash each year. As seen in Exhibit 3, using more than 60% of repatriated cash, in addition to keeping the status quo in terms of quarterly buyback, would bring shares outstanding to 3.3B shares in three years, a 50% reduction from the 2012 peak.

Exhibit 3: Apple Shares Outstanding (1Q11 to 1Q20E)

Risk Factors

There are four risk factors that may derail Apple's path to buying back 50% of outstanding shares. Deteriorating business fundamentals may jeopardize the amount of cash flow generation required to maintain a robust buyback program. If iPhone unit sales decline more than 10% year-over-year, this may have a negative impact on buyback. 

When it comes to corporate tax reform, if there are strings attached to the cash Apple brings back from foreign subsidiaries, this would have an adverse impact on Apple's plan to use the cash to buy back a significant portion of outstanding shares. If Washington simply lowers the tax rate on foreign cash instead of getting rid of the tax rate altogether, Apple may have more freedom as to how the cash is spent. Of course, there is no guarantee that Washington will be able to come to an agreement on corporate tax reform, although Tim Cook sounded confident in such reform occurring this year.

Apple's board would need to provide enough buyback authorization in order for management to use a significant portion of its cash to buy back shares. One likely scenario is that the board grants management larger share buyback authorization in FY17, FY18, and FY19, but it's spread out over a longer period. This would give management added flexibility when it comes to timing buyback. 

The last risk factor is a rising AAPL share price. As shares increase in price, it will become that much more expensive for Apple to buy back its shares. If shares rise 10% in 2017, it will be 10% more expensive for Apple to buy back shares in 2018. If Apple shares increase in price, the path to repurchasing 50% of shares becomes that much more narrow.  Of course, if AAPL shares fall in price, Apple will have a much easier time repurchasing 50% of outstanding shares, as buyback would require less cash. 

Calling a Bluff

Apple's iPhone and Services businesses are throwing off more cash flow than management needs to run the business and to invest for the future (M&A and R&D). This produces a very rare situation of a company generating hundreds of billions of dollars of excess cash. 

With shares trading in the vicinity of $130, Wall Street doesn't seem to believe Apple will actually spend $250B on buyback in the next three years. Wall Street thinks Apple is bluffing. Meanwhile, Apple has shown no indication that it will slow its share buyback pace and instead embrace a strategy of retaining excess cash for other purposes. This may set up a situation in which Wall Street calls out Apple on a bluff (i.e. the share price doesn't change much from current levels). In such a situation, Apple is given a clear path to buying back 50% of shares in three years.

The biggest takeaway from buying back 50% of outstanding shares is that Apple's shareholder base would essentially be cut in half. Shareholders as of year-end 2012 would see their ownership stake in Apple double in just seven years by simply holding on to their shares. This is quite rare on Wall Street. As Apple's path to buying back 50% of shares becomes more clear to Wall Street, Apple's share buyback program will gain more attention from investors. 

Receive my analysis and perspective on Apple throughout the week via exclusive daily emails (2-3 stories a day, 10-12 stories a week). To sign up, visit the membership page.

10 Feb 22:55

Dev Diary (December 2016 - January 2017)

(Eve is a new programming language, and this is our development blog. If you’re new to Eve, start here)

After a long journey during the year, we closed out 2016 on a high note with the release of Eve Alpha v0.2.3, and some very exciting community engagement. We’re looking to keep the momentum going in 2017, so let’s take a look at what we’ve been doing the past couple months. December was really a time of reflection, as we had to consider what to do with the feedback we received following the v0.2 release. Ultimately, it was pretty clear (particularly in this thread) that general feedback aligned along three directions:

  1. Database explorer/visualizer
  2. Extensibility
  3. Real-world examples

Ideally, we’d like to build a database explorer for Eve in Eve itself. Unfortunately, the v0.2.x version of Eve lacks some features that would make this possible (like the ability to introspect the compiler, treating code as records). This drove us to embark on an extensive refactor (happening on the refactor-runtime brach), which will accomplish a couple of goals simultaneously:

  • Making the runtime incremental. The v0.2 runtime wastes a lot of time doing unnecessary computation. An incremental Eve runtime will be smarter about how it uses resources, computing values only when they need to be updated. This kind of optimization is already showing an order-of-magnitude improvement in performance, making Eve more practical for more resource-intensive programs.

  • Making the runtime extensible, meaning new ways to interface with Eve (see the Javascript DSL below, for example), and the ability to get data into and out of Eve. The Javascript DSL in particular means that you’ll be able to integrate Eve into an existing project seamlessly. From there, you can use as little or as much Eve as you want.

  • Making the runtime more approachable. We’re going to be re-structuring the directory layout, as well as extensively documenting each component. Furthermore, we’ll be building the runtime through pull requests, so we have a complete history of its development.

DSL

As part of the refactor, we’ve built a Javascript DSL to write Eve code. The following block is Javascript, but it describes an Eve block:

let prog = new Program("test");
 prog.block("simple block", ({find, record, lib}) => {
    let a = find("person");
    let b = find("person");
    a.age > b.age;
    let result = a.age + b.age;
    return [
     record({age1: a.age, age2: b.age, result})
    ]
 });

If you’re familiar with the Eve syntax, this is equivalent to:

search
  a = [#person]
  b = [#person]
  a.age > b.age
  result = a.age + b.age

commit
 [age1: a.age, age2: b.age, result]

You can embed these blocks in any Javascript code, allowing you to seamlessly incorporate Eve into existing projects. Documentation is forthcoming, but in the meantime you can see more examples of the DSL in practice in the tests folder of the refactor branch.

Eve Examples

While the runtime is being refactored, we will be releasing some larger-scale examples of Eve programs. We’ll start with some example mini-programs, each of which illustrate a component of a larger, more complete app. These smaller examples will be hosted on the witheve/eve-examples repository.

Development of the first large-scale example is going on in the witheve/mamarob repository. This example is a food truck management app, which allows a user to manage a food truck menu, take orders, accept payments, and integrate with social media. This app should cover everything you need to know in order to build your own complete Eve application. It’s not quite finished yet, but we’ll let you know when it’s complete!

After that we have a couple more projects in mind, including a robot car and an operations management example. We’ll keep you updated as work on those commences.

Community

Eve Around the World

We are very happy to see meetups being organized by members of the Eve community. In January we saw two meetups, one in Pittsburgh, PA and another in Copenhagen, Denmark.

Pittsburgh, January 17

Ruben Niculcea organized a meetup in Pittsburgh Pennsylvania, hosted by Pittsburgh Code & Supply Co. The presentation was recorded, and you can view it below:

Or, if you prefer you can view Ruben’s slides directly here

You can read some follow-up discussion, as well as view the results of the survey mentioned in the video here.

Copenhagen, January 25

The Eve meetup group in Copenhagen, founded by Zubair Quraishi, held its second meetup in January. There was a followup discussion on the mailing list as well.

If you’d like to host an Eve meetup in your area, let us know how we can help. We’re very encouraged to see this kind of spontaneous engagement, so thanks again to Ruben and Zubair for making these meetups a success!

Eve Around the Web

Liron Shapira, finished his six-part series on Eve with a post titled “Eve will be perfect for realtime apps”.

Finally, William Taysom wrapped up his Puzzles and Paradoxes series on the mailing list. In total, there are 24 puzzles, which highlight some of the surprising or interesting corners of the Eve language.

10 Feb 22:55

Why It’s Not Too Late to Build Your Own Industrial Internet Platform

by Kathryn Garvey

industryweek_130x130Over the past three years, the emergence of the Industrial Internet of Things (IIoT) has led to an outpouring of technological cooperation, as more than 350 firms have joined various consortia to hammer out standards around open digital platforms. Yet this leaves industrial companies in an uncertain competitive position in terms of creating and capturing value for themselves. With the industrial internet accounting for nearly $800 billion in commerce last year and growing to a multi-trillion dollar opportunity over the next decade, companies don’t just need to cooperate: they need to focus on forging a digital platform strategy that generates growth.

Indeed, while these digital networks are meant to be “open,” there is also great advantage in being the provider of the platform. The Industrial Internet Consortium, for instance, counts Bosch, GE, Intel, IBM, SAP, and Schneider Electric among founding members working to assure that different equipment can share data for energy, health care, manufacturing, transportation, and smart cities applications. While the rise of Industrial Internet platforms does not mean every company must build one, every company must have a strategy for how to remain relevant to their customers.

For a prime example of a company doing both, we need to look no further than General Electric, whose turbines generate 300 data points per second (see image). If GE increases fuel efficiency 1% in its jet engines by analyzing data from embedded sensors, airline industry profits could increase by $3 billion.

At the same time it is providing those kinds of benefits for those who plug into its Predix operating system, GE’s digital industrial business generated about $7 billion in revenue last year and is on track to reach $15 billion by 2020. That is good for GE, but the question for other firms is clear: is there still an opportunity to build your own digital platform, even on a smaller scale, or is the best strategy to simply plug your equipment in and cooperate?

Read the full article at IndustryWeek

The post Why It’s Not Too Late to Build Your Own Industrial Internet Platform appeared first on Innosight.

10 Feb 22:54

Pogue's Basics: Call for help via Amazon Echo

Of all the thousands of commands the Amazon Echo (or Google Home) understands, “I’ve fallen and I can’t get up!” isn’t one of them. Neither is “Emergency! Send help!”

Which is strange! You’ve got a machine that can hear you from across the room, always listening, and plugged into the Internet. You’d feel a lot better about your elderly parent living alone if you knew there was an Echo there to send help in case of an accident.

There’s nothing built-in like that. But AskMyBuddy.net offers a free “skill” (a new bit of vocabulary for your Echo or Google Home) that, once set up, lets you say, “Ask my buddy to send help!”

Instantly, your home voice assistant sends a text and makes a phone call to anyone whose number you’ve supplied in advance. (You can also say, “Ask My Buddy to call Jordan” or “Alexa, Ask My Buddy to alert the family” or “Ask My Buddy to alert everyone.”)

The requirement to say that goofy “Ask My Buddy” thing isn’t quite intuitive, especially for an 80-year-old who’s still getting used to the concept of Alexa in the first place. So it’s probably a good idea to put the magic command on a card or a sticker—or a couple—and slap them up around the house as a constant reminder.

Adapted from “Pogue’s Basics: Tech.” David Pogue, tech columnist for Yahoo Finance, welcomes non-toxic comments in the Comments below. On the Web, he’s davidpogue.com. On Twitter, he’s @pogue. On email, he’s poguester@yahoo.com. You can read all his articles here (http://finance.yahoo.com/news/david-pogue/), or you can sign up to get his columns by email (http://j.mp/P4Qgnh). 

10 Feb 22:52

NewsBlur Blurblog: Introducing Turn Touch, a beautiful wooden remote for lights, devices, apps, and NewsBlur

sillygwailo shared this story from The NewsBlur Blog.

Turn Touch is a solid wood remote… and it’s about to change the way you use NewsBlur.

Change how?

Here’s how. Turn Touch connects to apps and devices in your home. Think Hue lights and Sonos speakers. Your Mac, your phone, etc.

It also connects to NewsBlur.

This is big. It means you can wake up in the morning, grab a cup of coffee, and cycle through news from across the room. Or, hook your Mac up to a display (maybe your living room TV) and skip through photo blogs, headlines, and the day’s best writing.

It’s kind of like getting a new set of speakers. Where before, you’d be chained to your computer with headphones; now, you can listen to music from anywhere you’d like. With Turn Touch, you can leave your computer and read the news no matter what you’re doing— laundry, the dishes, or enjoying a lazy Sunday on your couch.

Get one. Or all three.

Turn Touch is on Kickstarter. Back the project to get your very own. Or—and this is my sincere recommendation—get the complete set, save some money, and give one away to a friend.

I’ve been working on Turn Touch for years and I hope it shows.

10 Feb 21:46

A Growing (But Controversial) Idea in Open-Access Textbooks: Let Students Help Write Them

files/images/textbooks.jpg


Ellen Wexler, EdSurge, Feb 12, 2017


I've promoted the idea of having students author learning resources since forever, but not surprisingly the idea hasn't caught on. It won't catch on after this article either but each voice in support is a tiny step forward. The article describes physics teacher Delman Larsen's project called LibreText in which his students write the wiki-like textbook. Jessica Coppola, another professor doing the same thing, has a very practical reason for doing so. “ I commonly have students who are homeless, students who have to choose between feeding their child and buying a textbook,” she says. “ I had to find a way to get them a free resource.”

[Link] [Comment]
10 Feb 21:46

If content is king, why are OER still uncrowned? A developing world perspective’

files/images/oer_knowledge_cloud.PNG


Asha Kanwar, Balasubramanian Kodhandaraman, Abdurrahman Umar, Pan-Commonwealth Forum, Feb 12, 2017


This is a conference presentation from 2010 which was listed in the OER Knowledge Cloud today (10 page PDF). So it's a bit dated but it's well written and I felt it was a pretty good description of some fundamental trends and issues in open educational resources. The prize you get for reading it to the end is this redefinition of OER: "The phenomenon of OER/OLR is an empowerment process, facilitated by technology in which various types of stakeholders are able to interact, collaborate, create and use materials and processes, that are freely available, for enhancing access, reducing costs and improving the quality of education at all levels."

[Link] [Comment]
10 Feb 21:46

How will education change in the next 10 years?

files/images/online_schools_graphic.PNG


Various authors, Quora, Feb 12, 2017


This is a question thread on Quora which has just been graced by Salman Khan, founder of the Khan Academy. Khan predicts the rise of mastery-based learning, competency-based credentials, and alternative and clearer career paths. It's not wrong, per se, but it feels like a very incomplete picture to me. There's a number of other responses as well which make for interesting reading.

[Link] [Comment]
10 Feb 21:46

MOOCs and Open Educational Resources: A Handbook for Educators

files/images/anatomy_video_clip.PNG


Peter B. Kaufman, Intelligent Television, Feb 12, 2017


This is a longish guide (60 page PDF) outlining MOOCs for instructors and (mostly) developers. There are long sections devoted to video and open licensing, which I consider to be the least important aspects of a MOOC. Interesting terminology half way through - "a Massive Really Open Online Course— a MROOC" (which would distinguish it from a merely open online course, I guess). Vie OER Knowledge Cloud.

[Link] [Comment]
10 Feb 21:41

@Greg_Lindsay

@Greg_Lindsay: