#apologies to mobile users for the previous version
Explore tagged Tumblr posts
gootarts · 2 years ago
Text
as of 8/3, the most recently updated version of this post is here (it's a reblog of this exact post with more info added)
as a lot of you know, limbus company recently fired its CG illustrator for being a feminist, at 11 pm, via phone call, after a bunch of misogynists walked into the office earlier that day and demanded she be fired. on top of this, as per korean fans, her firing went against labor laws---in korea, you must have your dismissal in writing.
the korean fandom on twitter is, understandably, going scorched earth on project moon due to this. there's a lot currently going on to protest the decision, so i'm posting a list here of what's going on for those who want to limit their time on elon musk's $44 billion midlife crisis impulse purchase website (if you are on twitter, domuk is a good person to follow, as they translate important updates to english). a lot of the links are in korean, but generally they play nicely with machine translators. this should be current as of 8/2.
Statements condemning the decision have been issued by The Gyeonggi Youth Union and IT Union.
A press conference at the Gyeonggido Assembly will occur on 8/3, with lawmakers of the Gyeonggi province (where Project Moon is based) in attendance. This appears driven by the leader of the Gyeonggi Youth Union.
The vice chairman of the IT union--who has a good amount of experience with labor negotiations like these--has expressed strong support for the artist and is working to get media coverage due to the ongoing feminist witch hunts in the gaming industry. Project Moon isn't union to my knowledge, but he's noted that he's taken on nonunion companies such as Netmarble (largest mobile game dev in South Korea) by getting the issue in front of the National Assembly (Korea's congress).
Articles on the incident published in The Daily Labor News, Korean Daily, multiple articles on Hankyoreh (one of which made it to the print edition), and other news outlets.
Segments about the termination on the MBN 7 o' clock news and MBC's morning news
Comments by Youth Union leaders about looking into a loan made to Project Moon via Devsisters Ventures, a venture capital firm. Tax money from Gyeonggi province was invested in Devsisters in 2017, and in 2021, Devsisters gave money to Project Moon. The Gyeonggi Youth Union is asking why hard-earned tax money was indirectly given to a company who violates ESG (environmental, social and governance) principles.
Almost nonstop signage truck protests outside Project Moon's physical office during business hours until 8/22 or the company makes a statement. This occurs alongside a coordinated hashtag campaign to get the issue trending on Twitter in Korea. The signage campaign was crowd-funded in about 3 hours.
A full boycott of the Limbus Company app, on both mobile and PC (steam) platforms. Overseas fans are highly encouraged to participate, regardless if whether they're F2P or not. Not opening the app at all is arguably the biggest thing any one person can do to protest the decision, as the app logs the number of accounts that log on daily. For a new gacha such as Limbus, a high number of F2P daily active users, but a small number of paying users is often preferable to having a smaller userbase but more paying users. If the company sees the number of daily users remain stable, they will likely decide to wait out any backlash rather than apologize.
Digging up verified reviews from previous employees regarding the company's poor management practices
Due to the firing, the Leviathan artist has posted about poor working conditions when making the story. As per a bilingual speaker, they were working on a storyboard revision, and thought 'if I ran into the street right now and got hit by a car and died, I wouldn't have to keep working.' They contacted Project Moon because they didn't want their work to be like that, and proposed changes to serialization/reduction in amount of work per picture/to build up a buffer of finished images (they did not have any buffer while working on Leviathan to my knowledge). They were shut out, and had to suck it up and accept the situation.
Hamhampangpang has a 'shrine' section of the restaurant for fans to leave fan-created merch and other items. They also allow the fans to take this merch back if they can prove it's theirs. Fans are now doing just that.
To boost all of the above, a large number of Korean fanartists with thousands of followers have deleted their works and/or converted their accounts from fanart accounts to accounts supporting the protests. Many of them are bilingual, and they're where I got the majority of this information.
[note 1: there's a targeted english-language disinformation campaign by the website that started the hate mob. i have read the artist's tweets with machine translation, and they're talked about in the second hankyoreh article linked above: nowhere does she express any transphobic or similarly awful beliefs. likewise, be wary of any claims that she supported anything whose description makes you raise eyebrows--those claims are likely in reference to megalia, a korean feminist movement. for information on that, i'd recommend the NPR/BBC articles below and this google drive link of english-language scholarly papers on them. for the love of god don't get your information about a feminist movement from guys going on witch hunts for feminists.]
[note 2: i've seen a couple people argue that the firing was for the physical safety of the employees, citing the kyoani incident in japan. as per this korean fan, most fans there strongly do not believe this was the case. we have english-translated transcripts of the meeting between the mob and project moon; the threats the mob was making were to......brand project moon as a feminist company online. yes, really. male korean gamers aren't normal about feminism, and there's been an ongoing witch hunt for feminists in the industry since about 2016, something you see noted in both the labor union statements. both NPR and the BBC this phenomenon to gamergate, and i'd say it's a pretty apt comparison.]
let me know if anything needs correction or if anything should be added.
4K notes · View notes
losergames · 1 year ago
Text
Tumblr media
Chop Shop is strictly 18+ for language, themes, and potential explicit content. 
🔗 - Game Intro | Bug Report | Ko-Fi
Episode Three is now available! (+ 86,000) - PLAY HERE
Get your first taste of the underground car scene.
Meet some other players in the game.
Be made an offer.
5 achievements up for grabs!
And more!
AN: thank you so much for the patience - i've been dying to put this update out. lots of new characters and lots of variation!! there are 3 major paths to choose between in this ep, i recommend trying them all out! and thank you to my betas for keeping me sane lmao
This update comes with a patch and UI refresh (Version 1.1.2) Notes are under the cut. If preferred, you can access them in game in the start menu.
STORY
EPISODE 01:
MC should now be able to smoke! Buying cigarettes at the shop was not triggering correctly. If playing with an old save, you DO NOT have to restart as code at the beginning of EP 03 has resolved the error. Player will need to restart if they wish to read smoking related scenes in previous episodes.
Updated MC Name selection. Player can now choose from a list of names instead of having to input one to proceed.
Player can now give Taha their chocolate bar if it's in their inventory.
When asking Maz about their scars, the second choice 'You want to ask about it but you're going to keep your mouth shut.' should now take you to the correct response.
Extended and updated 'End Game' scenes.
EPISODE 02:
If MC is faint after exiting the car, but also drunk, they should now get the fainting scene, followed by Dilani helping the MC in the bathroom.
UI + TECHNICAL
SETTINGS:
Autoname Save is now defaulted to ON. This is to add ease and flow to gameplay, especially for mobile, tablet, and app users, instead of calling for an inputted saved name. If player wants to input save names, toggle Autoname Saves to OFF.
Autoname Save previously only used the forename of the MC but now includes the surname as well.
Removed the Fullscreen toggle as it is only intended for desktop use. Player can still toggle fullscreen function via the UI bar on the desktop interface.
Added a choice indicator toggle. (This probably won't come into effect until EP 04 or 05)
Changed serif font from Vollkron to EB Garamond.
OTHER:
Changing the MC's pronouns via the Dashboard has been updated. Additionally, after confirmation will take player back to the Dashboard and not close the dialog boxes entirely.
Hovering over 'Personality', 'Motives', and 'Skills' titles in the Dashboard will now display an information box with a definition. Mobile and tablet users will need to tap on the title.
'Resume Game' now only appears on the main menu when there is an autosave in the saves log.
Choices styling changes.
General UI and button style changes.
Fixed errors with the text message styling.
Added styling for reading text off of a page in game.
Darkened blue in light theme 'Skyline' to reduce eye strain.
CREATE A SAVE
Introducing Create a Save! This feature allows players to quickly manufacture a save file and start at a later point in the game.
Set your identity, appearance, history, and statistics; including personality, motives, and skills. Continue to set key decisions made in previous episodes.
Randomise options available for creating a PC and key decisions.
OTHER
Fixed gaps and spacing issues.
Minor phrasing and sentence structure changes.
Grammar and typo fixes.
whew -- that's a lot of patch notes! apologies for so much that needed to be fixed.
this update shouldn't break/ mess with saves but as a disclaimer i will say, if you spot anything funky, broken, or you don't think things are triggering correctly, try starting a new save. the new create a save feature is incredibly code heavy, and it's been tested relentlessly, but i wouldn't be surprised if something crops up.
if starting a new save doesn't resolve your issue - please submit to bug report or just send me an ask/message.
some things have been meaning to get fixed for Some Time - thank you to everyone that is using the bug report form!
apologies if there are typos and/or bugs - this was a long one to edit and my lovely betas did an OUTSTANDING job reading so much for ep 3 - thank you so much again!!! this time i am going to give it a bit more time before i put together a patch so i can grab more error responses haha.
create a save has also added a wee chunk to the word count, somewhere around 6k, but i'm not including it in the episode 03 word count as it's purely code. so, if you think the total wc is off, that's why!
if you've read this far, happy reading and thank you so much for the continued support!! :) - becky <3
680 notes · View notes
l0chn3ss · 5 years ago
Text
l0chn3ss update
I feel like the last time I ever really active on tumblr was in the year 2016, so i want to address my absence between 2017-2020. Part of it is because I feel like I owe it to my friends and mutuals who I just basically left on read and another part is because I’ve always treated this blog as a personal blog that documents my life and my growth. I put off writing this for a long time but now that I have a huge paper due, now is definitely the time.
You are welcome to skip but I will address a few hard hitting questions I feel should be answered, especially since I feel like I departed like an anti-hero of a bad tv show.
Where I am currently: I am in grad school to obtain a master’s in library and information science. I have a full time job at different middle school libraries, though I work from home now. I also tutor kids on the side to pay for my tuition because I basically make minimum wage. Quarantine messed with my head at first, but now I’m feeling much better and I’m trying to reconnect with friends and close a lot of loose ends.
TLDR: I took an extended break because tumblr mobile sucks and my laptop needed serious repairs. I made a huge migration away from social media in 2018. I prioritized my education and in-person connections, which fell to shit because of my fandom involvement in the past. I did not like the direction of the main fandom I participated in and knew that many of the people I once respected did not respect me in return/ Us versus them mentality. I recognized that I treated my life on tumblr too seriously and took petty drama personally. I am sporadically on tumblr now because I genuinely enjoy the social connection and because I still like running fandom events.
Yes, you can reblog this. I’d love for this narrative to be heard.
Long version: To preface this, this post is being written to give myself closure and because I really am procrastinating on my final big paper of this semester. I’ll be tackling on the points in the tldr in a longer narrative that will appear to be in an expository fashion, which I recognize will be a source of contention, but my intentions are to throw it onto the table so that I can be freed. I can let it go and move on. I’m no longer a 20 years old who cared too much of what other people think and will think; I think differing perspectives are important and I want to give myself a chance to say my piece. That and I recognize that I lost the audience that I once had, so I doubt this will be an issue at all. It’s been 4 or what ever years, let’s just not.
Back in 2015-2016 there was a huge back and forth between three groups of people in the SE fandom. The reason why I’m not listing out the name is because I don’t want this to show up in the tags. I’d say that the three groups could be seen as quite literally the soma shippers (mostly white, demi sexual girls), lgbt centric bloggers (very kid or star oriented, very fed up with soma), and the people who were deemed as alright to soma shippers (c r ona, ste inm arie, jac k im centric people). There was a constant (and understandable) tension between the first two groups while the third was like the weird cousin that everyone in the social circles liked because they sprinkled in soma for the masses. Don’t argue with me on this-- this was literally how the fandom was in 2015 and you know it.
The main issue was that one group felt that they were being inclusive towards identities and sexualities while the other felt that they were not. I remember that one of the arguments was that soma WAS an LGBT ship because people headcanonned the members to be demisexual. However, the other side of the argument was that it wasn’t good representation of a gay pairing. Now that we can look back at this 5 years later, I have two things to say: 1, I now very much understand why the argument broke out because of how heated the topic is, and I do believe that I lean more towards the “other side” now that I’m not wearing rose tinted glasses, but 2, I need to make it clear that demi people are lgbt, but a headcanon is not fact and ship diversity was the main question at hand, not the ship itself. This argument lasted for weeks, destroyed my friendships, and no matter what I felt I did in the moment (which was to mend the fandom), it was taken as an insult.
(Side note: Somethings that I remember was being in someone’s DM’s to encourage them to participate in the large fandom events more, but once they twisted my intentions and rallied their friends, I became their enemy. I also became the mods’ enemy but then again, when was I not? I was made fun of for saying “queergender,” a term that is now currently being widely used, quite openly by someone I wanted desperately to be friends with. I was outwardly mocked by popular users who only apologized behind closed doors but didn’t bother to clear things up with their followers. Adults who were in their 30s quite literally attacked a 19 year old. It was in that moment that I realized I would never become friends with either side, and not because I didn’t want to.)
I bring this up because as I begun to stop writing soma fics, I also begun to see and understand why people moved away from it. It wasn’t the ship itself, it was the culture surrounding it. However, on tumblr we have the ability to connect intensely with the content we produce. Therefore, the ship itself began to be connected with the shippers and their attitudes towards outside pairings-- that attitude being tied into elitism.
I say this with every ounce of love I can because I once had the exact same mannerism. When you become so tied into one pairing to the point where other ships appear to threaten the existence of it and you react negatively towards it, you become rancid. The popular tag “everything is soma” takes a very dark turn. Even if readers consume another pairing’s work, they will be obliged to say “I ship soma more BUT that was cute.” They will read an entirely different topic and wonder why soma wasn’t inserted into it in the background. They will reject pairings that separate the two as if breaking them up is sin and an insult.
The only reason why I stopped writing my soma fics in 2016 was because I saw a real need to fill in the gaps of other pairings. I took what people were saying to heart and I wanted to change my ways and my perceptions. I saw the animosity of the ship culture and rejected it. I wanted to use what little influence I had to make the fandom just a bit more accepting. In 2016, I don’t think the fandom was ready for it. In 2017, they still weren’t ready for it. In 2020, I see hope, but I wonder sometimes if it’s masqueraded pity because of previous treatment.
In the middle of it all, I went from being the soma angst master to becoming the weird person everyone once knew. I was the friend that people excluded from group chats and I just “wasn’t the same.” Cliques grew extremely large in power in 2017 and exclusion hurt like a bitch.
The straw that broke the camel’s back and completely shut me down was in 2017 when I was graduating as a bachelor. There was a fandom event that I decided to go all in to. For context, there used to be a huge debate on how many times a person should enter in an event, but in my mind, the more exposure the better. My graduation and the event took place at the exact same time, which was cool, but what hurt me was what happened after.
I was lucky enough to be accepted into field school (when you travel to do outdoor excavating) for my major. I’m an anthropologist-- it was an honor. I didn’t plan in advance for it, and if anything, I thought that I would be committed completely to the events and my 5 or what ever entries at the time. I’ve always prided myself in communicating with others, so I made sure to let my partners in the event know what was going on. I was so excited to be going on my first ever excavation and no one at the time said anything otherwise, in fact, they all seemed incredibly supportive. 
What I didn’t know was that I would be called out by name in the event feedback response by one person who felt that I didn’t take the event seriously enough and that I should’ve prioritized my time accordingly. Two of the mods let me know because it referred to me directly, though the name of the submitter was not included. It was not only a slap in the face, but a dumbfound moment that reminded me that wow, fandom content really is someone’s life out there. My enforced silence because of lack of internet in the woods actually upset someone and made them believe that I wronged them, because I put my real life ambitions first before a fandom event.
It was then when I woke up and I remember very clearly thinking to myself: I don’t want to be like them. I don’t want to treat my fandom life seriously. I want to participate in fandom for fun, not out of duty. I don’t want to prioritize this life because in the end, if I am hated for putting my work and education first, then I don’t want it.
(For context, I suspect that it was the same person who made a 200 note call out on me during the fandom tension. I respected this person immensely, but I also treated them like the flawed person I believe everyone is. I’m sure because of this, I’m pretty much trash in their eyes, which is totally fine. They have really cute cats so they can’t be all too bad. Don’t look into it too deeply.)
Once my month long field school was up, I was already used to not being on the internet or any of my social media accounts. I didn’t play my mobile games for a month. I didn’t read the news for a month. It was like going cold turkey on the internet, which reshaped my habits entirely. The only time that I had online within that time span was during the weekend, but I spent my time working on my projects and catching up with friends instead of being on apps.
I was also completely fed up with tumblr’s mobile app at the time, so one by one, I deleted my apps. Good bye to tumblr, snapchat, what little I used of instagram, twitter, everything. The only thing I kept was facebook, which was because it is the main platform that I use to message my boyfriend. That meant that any friends I retained from the fandom (who I still contact now) were also friends who had the chance to add me on facebook.
This was the cause of my 2 or 3 year hiatus on tumblr, and therefore the fandom. I occasionally checked back every 6 months to do a few fandom events, but I have several unopened messages and notifications that I haven’t been able to get to. I open my instagram for a few days once a year, and I only go onto twitter if my friends tell me (through facebook) that they dm’d me a post there.
When I left my online persona behind, I quickly strengthened my in person connections. New drama that erupted every other day became replaced with starbucks and boba runs. Reality TV shows replaced fanfiction. Text messages replaced the tumblr activity feed (which still doesn’t work on mobile BTW). I study at cafes unironically with friends instead of typing alone in my room. Overall, it opened my world considerably.
I still like making fun of myself and I try not to take myself seriously. I still make self depreciative memes to send to friends but then double up with kermit heart pics. I’m still a plot bunny, I still write my fics, I still watch my anime, I still play video games, I still sleep at 4am, I still take my depression medication, I still love potatoes, I still use my voice for people who can’t find theirs yet. But I think I’m in a much healthier mindset now, even if I still make stupid shifty posts calling out bad behavior.
Nowadays, I’m working on my Master’s degree in secret. My parents don’t know about it because my mom doesn’t like that I want to go out and do unladylike things like getting an education. I tutor kiddos and I’m really good with younger children, but I’m not going to do anything with kids because I just don’t want to. Instead, I want to work at an archive or a museum to bring my library interests and my anthropology background together. If I had my dream job, I would be a marine archaeologist; however I love my boyfriend of 8 years whom you probably all remember and I really came to terms with my grandeur dreams. I’m extremely happy with living in a small town with loved ones now, and I don’t need to move somewhere far away from my parents to be content. It’s a huge realization.
From 2018 to 2020 I got into actual drama in person while I was job hunting. Adult people suck and honestly it’s kind of embarrassing how ill equipped some people are. Even so, I currently work in middle schools as a media assistant. One of those realms is the library, and honestly it’s like fulfilling a prophecy. As much as I love the social aspect, public schools are an absolute train wreck.
I’m going to wrap this up now. This post is meant to help me close the past and move forward because the fandom culture feels different now. Things from several years ago don’t need to resurface. I want to enjoy my life fully, and fandom life is one of those aspects that I truly did enjoy. I’m going to keep using my voice and act like a fool, but I’m also not going to be losing sleep because of this. People are going to talk about you no matter what, whether positively or negatively, and it’s important to not take it personally.
Idk, go enjoy yourselves. Do things for yourself. It’s more fun that way.
69 notes · View notes
pilyarquitect · 5 years ago
Text
War for Genius - 1.- Interest or obsession
Hello everyone!!!! How are all of you handling all this situation? I hope you’re fine, or as fine as you can be. Welp said that, I bring you a new story, actually not a new story but a translated version of my story ‘Guerra de Genios’.
I’m very, very, very grateful to @empro-8 since she helped me editing my translations. Without her, this story would harder to read and some parts probably hard to understand. I’m really blessed for having her help.
That said, I really hope that you’ll enjoy it! Let’s begin.
**********************************************************************************
The situation had finally calmed down. What was previously an uproar was now just the whispers of the few people who were still gathered around the building. Everything seemed to be a happy ending now. Well… happy more than less because all the people were safe, but not overly happy because apparently Gizmoduck had died saving all of them. But Mark Beaks was not happy, he was not at all. What had happened there that afternoon was going to ruin much of his and Waddle’s image, and that was somewhat difficult to recover.
After what happened, just a few minutes ago, he’d been viewed as a complete idiot. More than that, he was portrayed as an irresponsible person who puts people in danger rather than helping them. And all this mess caused by a comment that angered him, a simple comment pronounced by someone who had long since stopped admiring him, without Beaks having done anything to deserve such contempt from that person.
Mark's eyes traveled to who was truly responsible of everything that had happened there that afternoon. A young duckling dressed in a red shirt and a cap of the same color (Huey if he remembered well). The boy was there, standing next to one of the journalists who had come to cover his press conference. Mark focused all his attention on him and glared at him, eyes full of fury.
If it hadn’t been for the interference of that kid, his press conference wouldn’t have become a potential massacre. But that wasn’t the case. When he came down with the Waddleduck suit for his daily press conference, there was the duckling, manifesting against Waddleduck. Why? Mark had seen the news the previous day, and he knew that boy had been very excited about the appearance of a new robotic superhero. Why did he change his mind when that superhero started working for Waddle? What was wrong with the fact that even he himself as CEO and principal image of Waddle, had decided to be the new Waddleduck? Seriously, that boy was a real headache.
But there was something else about this young duckling, something that the boy was capable of solving. Something the manufacturer of the Guizmo Suit and even Mark himself had failed to solve! And that something was to give to the suit an organic processor and not an artificial one. An organic processor that wouldn’t explode if overloaded. How could the young boy come up with such a conclusion or even be capable of fixing the suit’s connections to make this a reality in an emergency situation? It was a mystery, but that in turn showed him one thing: That boy was a genius.
Actually... Mark had already realized that this child was... efficient, organized, diligent and a committed worker. Except when he went crazy after appointing the other child as vice president. But pushing that little detail aside, Beaks saw it after having fired them both for the entire TAH-DAH project incident. Yes, after the two brothers left, Mark reviewed the work the two ducklings had done, and realized that the one who wore red had done in a few hours the work that many of his employees did in a few days. He was so good that with just a few hours he knew almost perfectly the internal distribution of his company.
If all his workers were as efficient as that boy, his fortune would probably now be greater than the fortune of Scrooge McDuck himself. Ah, but he’d to realize that when it was too late. He’d spoiled a unique opportunity.
Focusing all his attention on the kid again, an anger started to rise inside of him. He was furious with the boy, but at the same time he was fascinated. Ideas kept coming to his mind of everything that he could achieve if the boy worked for him. He had so many ideas, so many plans… but as much as he wanted the kid being at his service, he knew for sure that that was something that wouldn’t never happen, he’d never accept a job at Waddle again.
Suddenly, Mark saw how the kid looked down to the water and shouted:
“Hey, there’s someone there!”
The police officer who had been circling the area quickly approached to look, and Mark realized that her face paled. She had probably recognized whoever was there, because he almost instantly heard her scream:
“¡Fenton!”
Fenton? Wasn’t that the name of the one in the Gizmo Suit? Did it mean that Gizmoduck had survived? Great, the other top responsible for his downfall.
From where he was sitting, Mark saw how the health aids quickly came to help Fenton. They put him on a stretcher and took him to an ambulance, with the police officer always by his side. As they passed him, Mark found that he was indeed the one wearing Gizmoduck's suit before he appropriated it.
Mark felt his anger grow even more, between Gizmoduck and that little duck dressed in red, they had ruined everything. Also, the Waddle’s CEO still remembered (not with much enthusiasm) that the same duck accused him of kidnapping his great-uncle during the birthday party of even though he didn’t do anything! And on top of that he was expelled from that house in a very bad way, thrown without ceremonies through a window. Not to mention that the kid was able to throw his last replacement mobile phone over the rooftop. How could someone be so cruel? Those were some of the motives that made him feel resentment against the boy. He wanted make the kid pay for all the humiliations he’d suffered every time they crossed paths.
But, how to accomplish such a feat? What was clear to Mark was that he didn’t want the typical revenge of torturing his victim until he begged for his death. No, that wasn’t his style. And he also really wanted to have this kid, and the ideas he could have, at his service. And maybe… maybe there was a way he could get it. He’d try to talk with the boy, hoping if by some miracle he’d accept to work for him, and, if he did, Mark’d have him sign a contract that would link Huey to him for life. But, in case of not accepting, he’d have to resort to... other methods to get that new employee.
Mark knew that he was starting to get obsessed with the boy, it’s the same that happened with Gizmoduck. But to be honest, what he saw the kid to do just a few minutes ago, playing with the cables and connecting them to the first one so that the connections he’d established would perform the function he wanted, it was something really brilliant. And in such a short time and under pressure and risk of his own life? Simply magnificent. He needed this child, at any cost.
Speaking of the young duckling, it seemed that the boy was leaving soon, because he saw him take his mobile phone, probably to give someone the advice that he was coming back home and after that, he started to walk away from the place.
Mark immediately stood up and he turned his back on the boy so that he wouldn’t see him. From his position he was keeping an eye on the red duckling’s movements. And when the duckling passed by him, Waddle’s CEO quickly spun around and grabbed the child by the arm, and dragging him to the other side of the ambulance he had been leaning against. He wants to speak quietly, without anyone seeing and disturbing them.
To feel that he was suddenly grabbed and diverted from his course made Huey let out a frightened Yelp. But Mark ignored it. He was going to talk with him, whether the boy liked it or not.
When he was sure that nobody could see them, he dropped the duckling and turned to face him, saying with false enthusiasm:
“Hi kid!”
The young boy dressed in red frowned and crossed his arms. He asked with an angry voice:
“What do you want now Beaks?”
Okay, this will be complicated. It was clear that the young kid was still furious with him, if he wanted to have the slightest hope of getting the boy work for him, he’d to… lie. Pretend to succeed. Thankfully, he was pretty good on it, first of all, he’d to pretend shame and sorrow for whatever that happened and then he’d have to move on to admire and flatter the boy for how well he’d solved the problem, yes, if he followed that strategy, that should work:
“Well, you see… I… wanted to apologize for all what happened here and also… I wanted to say that you’ve left me very surprised, more than that, impressed about how you’ve got that the GizmoDuck suit user have the completely control of its functions.”
Beaks didn’t know if Huey knew who was the one inside the armor, so he decided to keep it as a secret, just for if the boy preferred to admire a secret identity hero over than know who was hiding under that helmet.
On the other side the Waddle’s CEO checked joyfully that Huey's features softened slightly at the mention of his work with the suit. Yes, flattery had worked.
The boy with red cap put down both arms and with a bit excited voice he said:
“Really?”
Beaks smiled, maybe he’d make the duckling work for him willingly. So, while still smiling, he replied:
“Yes, of course.”
Then the kid adopted a reflexive pose, his and his gaze drifted to the ground, after a few seconds, he looked back at Beaks and said:
“Okay, I accept your apologize, but I think you should publicly apologize to everyone who has been in danger this afternoon, not just with me,”
Beaks felt his blood starting to boil, how dared a ten years old kid to suggest how had he to act? Mark tried to calm down himself, he didn’t want the kid seeing through his mask. Instead of that, he stared looking the boy in silence, because the kid was looking the ground again, he seemed to be searching the best way to say whatever he was going to say next. When he talked again, his voice got out a little hesitant while he said:
“And… thanks for… the praise.”
After saying that, the young boy turned around to leave, but Mark called him to stop him, and when the young boy turned around again, he talked to him saying:
“Hey, there’s something I wanted to talk with you. Would you want to work for Waddle?”
The kid did not hesitate with his response:
“No!” he answered quickly and dryly.
His response was so instantaneous that Beaks was speechless. He hadn’t expected the young boy to be so blatant with his refusal. Recovering as fast as he could from his shock, the Waddle CEO said:
“Are you sure about that? I’m not suggesting you to be a simple intern, I offer you a real place in my company.”
Huey’s crown only grew deeper. His hands were clenched into fists and with a hard voice he answered:
“I’ll never work for you again Beaks. Never again.”
And after say that, the boy turned and stormed away. Beaks watched him go, the mask he’d worn so far fell and revealed how furious he really was. He looked after the duckling with narrowed eyes and when he disappeared from view, he said in a sinister voice:
"We'll see that, Huey.”
***************************************************************************************
Welp, this was the first chapter, what do you think about it! Did you like it! If so, please don’t hesitate to follow or/and put this story among your favorites, and please, do not doubt on leave a review here. It’s always nice to know what readers think.
See you in the next chapter!
Pilyarquitect
12 notes · View notes
killianmesmalls · 6 years ago
Text
I’m going to add onto an earlier post by @captregina​ discussing the idea that Wish Killian abandoned Alice, though I won’t hijack it as my thoughts are my own and all responses to the below should be responses to me and me alone. So, before I get started, this is likely going to get long and, I agree, likely uses some things that can be labeled as “headcanon” as it is not explicitly, 100% said in the show. However, there are some instances in canon that I believe are meant to be deduced based on our understandings of the character or seeing point A and point C and therefore having an idea of what point B should be. Under the cut for more (and, apologies to mobile users because Tumblr can’t figure its BS out <3)
To make this easier to breakdown, I’m going to go from what we understand about each character, then to the chronological order of their interactions together that we see. 
Killian Jones
We as viewers of seasons 2-6 are supposed to understand—and are given multiple mentions of this throughout season 7—that both versions of Killian share exactly the same history up until around the point of the curse. Now, the precise moment is up for debate, but those few days to weeks are not necessary at this point. We know he was born to Alice (headcanoned with others as Ailis, but I digress) and Brennan Jones, is the younger brother of Liam Jones, and was in relationship with Milah. Both versions lost their mother, were abandoned by their father, were raised as indentured servants on a merchant ship, bought their freedom through Liam’s sacrifice to Hades, went into the Royal Navy, lost Liam, joined piracy, met Milah, lost Milah, sought revenge, and killed their father in an attempt to get it. If you’d like to debate any of the above, we certainly can, but I do feel rather comfortable in my stance. 
We also at this point have an understanding of who this person is. He would sacrifice his life for two things: love and revenge. He’s self-sacrificing for those he cares about, and has repeatedly put himself in harm’s way for them. Now, this is the point where I can offer those who dislike s2-6 Killian to argue the above points, but I do feel that is another debate entirely and either we’d be forced to agree to disagree or it would otherwise be a very short discussion.
The only true argument I can see to the above is his abandonment of Baelfire, which has been agreed upon by many as his most regretted moment in the show. There is a lot to say about Hookfire, but I do think that both versions of Killian instantly regretted this decision and would vow to never commit such a betrayal again. 
Tumblr media
Alice, however, is not Baelfire. Sure, Bae was Milah’s son and someone Killian very much cared for, but there are some key differences here. 1) Alice came after Bae and after what likely was something he’d vow to never repeat. 2) While Bae was Milah’s son, he was also Rumple’s son, and the whole 2x04 incident was still very much a sore subject to Killian by the time they ran into each other. 3) Bae wasn’t an infant, wasn’t alone, wasn’t at risk of immediate death, and could be reasoned to take care of himself. Though the experiences between Bae and Alice are not unrelated, they are also almost polar opposites, and what he did to Bae should not be used as strong evidence for what he would do to Alice. 
It is also this point where I’d like to mention to anyone who likes season 2-6 Killian and, for some reason, doesn’t like season 7 Killian that they were at the core the same person, and if you readily believe and love the fact that the person he is at his core is willing to sacrifice everything for a budding romantic relationship, why would this character also not be willing to sacrifice everything for an established familial one? You may not like the storyline of season 7 and this particular version of the character, which is your prerogative, but to believe this version would readily abandon his own child without exhausting every effort to get back to her strongly suggests that perhaps you do not understand the heart of the character. Killian Jones in any reality would do absolutely anything and everything for those he loves most. 
Alice Jones
Even I am guilty of describing Alice of being pure sunshine, rainbows, cupcakes and all things perfect. I mean, she is, but she’s also these things because of her imperfections. She’s impulsive, often naive, and does have a slight hint of her father’s temper. 
Which means, if she has imperfections, the very least she is capable of is responding in a human way rather than being Disney-princess level of compassionate and merciful. Again, human responses are not to be seen as flaws so much as we have this idea in our heads sometimes that, if a character is flawless, then that is equitable with being incessantly forgiving. 
Alice is capable of anger, sarcasm, and frustration (see 7x04 and her introduction to Rumple, 7x13 when she says “you promised me” to her father, 7x14 with Robin, to name a few). It is also then not a difficult leap to imagine that she is capable of holding onto these feelings should the underlying issues not be resolved, say for instance her feelings toward abandonment with her mother both as Tilly and as Alice.
Tumblr media
However, her actions toward Killian across the board show a complete lack of anger or resentment. Their interactions are never those of an abandoned child and a neglectful parent. We know, as stated above, that she is capable of these feelings and freely expresses her thoughts without a filter. If at any point she truly felt abandoned by Killian, I have no doubt she would have been shown to show negative, albeit understandable, emotions toward him. 
Chronology
First, as he says in 7x07 when he decides to give up his entire life as he knows it and stay with Alice, “Abandoning people isn’t my thing.” Barring Bae (as discussed above), this has been shown to be the case. While we cannot use any of S2-6 Killian’s actions to back up this assessment, they are still at their core the same person, and have both shown that they are willing to sacrifice everything for those they care about. 
And, in this timeline, the only person left to care about is Alice. 
Most of us know the story now: he gives up his ship, life of piracy, revenge, and potentially even all the contacts he has in order to raise this newborn he was tricked into having. He is shown to harbor no resentment, merely full love and responsibility for this child. 
While I do wish we had been given more glimpses into their lives in those almost 11 years from her birth to his being poisoned, I do think they believe they have given us enough clues to discern the kind of relationship they had and the kind of life they lived in that time. 
The question then becomes what he did in that time between being poisoned and seeing Alice again in 7x08. As Gothel said in 7x13, the poison will corrupt his heart every time he gets near her. We see in 7x22 that this corruption not only means immediate pain, but long-term damage and deterioration, eventually resulting in death. Now, this is where this is somewhere between maybe implied and maybe headcanon: Killian had slightly aged in the almost eleven years between Alice’s conception and when he was poisoned. The rate at which he went from “silver fox” Killian to “Old Hook” is astounding. 
Tumblr media Tumblr media
True, very little is said about the time between his being poisoned and when he met Storybrooke Killian and Emma in 7x02. We do know from 7x16 that he had hoped to barter a valuable map for a cure for his poisoned heart, and in 7x02 we know he roamed the realms seeking true love because he knew true love’s kiss was a potential cure. It is heavily implied Killian made many, many attempts at reuniting with Alice, and we see the extent of his deterioration as a result with Old Hook. That is not a man that simply looked up at the tower where his distressed child was yelling for him just after he was poisoned and decided to call it a day. That is a man that repeatedly tried to find a cure or gauge how close he could be to her, his heart getting increasingly “corrupted” and, as a result, his body aging at an exponential pace. 
When they reunite briefly in 7x08, as stated above, her reaction to him is not that of a child that feels abandoned. She’s happy, hopeful, and full of adoration for her father. Had he fully given up, I have no doubt that some of the frustration we have seen Alice show before would have been on full display here. We know from 7x19 and 7x20 that she’s capable of showing anger toward a parent that left. At no point is Killian the receiving party. 
Of course, we know their bittersweet reunion in 7x08 was again to end in heartbreak thanks to Drizella’s lie and Killian’s still-poisoned heart. Still, in 7x08 and 7x14, we know she repeatedly tries to find a cure, and we know his whole reason for joining with Regina and Henry was to have help in finding a cure, himself, though they consistently come up empty-handed. 
Regardless, she still desires to see him, especially on her birthday, and though she doesn’t make herself known, her, “You look happy, Papa,” and subsequent sad smile show that, again, she harbors no bad feelings for him. It bears reminding that, at this point, the writers have revealed the cause of his poisoned heart, and in the previous episode, no less. If they’re going to write her feeling abandoned, this is the episode to do it in. Instead, throughout this episode, she is shown only to miss him deeply and have great reverence for him, telling Robin some advice he used to give her about how “all the best people are mad.” Furthermore, she doesn’t distance herself from him by calling him by the more formal, often-used “Father” but rather keeps to calling him “Papa”. 
Tumblr media
In addition to knowing she looked out for him, it is established in 7x18 that he looks out for her. In spite of his poisoned heart, he gets as close as he can, keeps an eye out for her, and passes letters to her through the help of Robin (which I totally think was a matchmaking tactic, but...that’s a tangent that will end up being another 1000 words). We see very clearly that he’s willing to look after her even though she’s an adult with a budding relationship and a house to call her own, attempting to keep as much contact with her as possible. Why, then, are we supposed to believe he would abandon her as a lonely 10-year-old? He has the same problem in 7x18 as he does in 7x13: the poisoned heart. He’s willing to be as close to her as possible now that she’s an adult, therefore I truly believe he would have done absolutely everything to be close to her when she was just a child. 
When the curse breaks, again we see absolutely no resentment or feelings of abandonment. She loves him, and he doesn’t hesitate to risk his life and endure agonizing pain for her more than once. No second thought, no regard for himself, just him supporting her and wanting nothing more than to keep her safe and happy. 
Tumblr media
So, while you may not be a fan of their story, saying he willingly left her immediately after his heart was poisoned is both ignoring him as a character and ignoring evidence to the contrary. 
60 notes · View notes
tonkichic · 3 years ago
Text
Pro tools 2019 mac 64 bit only
Tumblr media
#Pro tools 2019 mac 64 bit only install#
Once installed, it is possible to make desktop files available to the AutoCAD web and mobile apps.
#Pro tools 2019 mac 64 bit only install#
When you use either of these commands for the first time, you will be prompted to install the Save to Web and Mobile Extension. AutoCAD now contains two new commands in the Quick Access Toolbar and the Application menu: Save to Web and Mobile and Open from Web and Mobile. Users can save drawings to the cloud and then open them in a web browser or on a mobile device with the new capability. AutoCAD 2019 contains a new Save to Web and Mobile capability that aids in the creation of a unified workflow across all devices. In addition, an AutoCAD 2019 membership provides free access to a new AutoCAD Web App and an AutoCAD Mobile App. However, given that many of those vertical products were previously priced at $100 or more per month than the cost of AutoCAD alone, the new One AutoCAD is bound to be a success. Users will still have to download and install each of the additional “toolsets” separately-there is no unified install-and the price reflects a $10 per month or $100 per year premium over the price of AutoCAD alone in previous years. Despite the fact that the situation was soon fixed, it caused new CEO Andrew Anagnost to apologize to all Autodesk customers.Īlthough AutoCAD 2019 introduces various new features, the main news is that every AutoCAD subscription now includes seven more “specialist toolsets” in what the firm calls “One AutoCAD.” Vertical products such as AutoCAD Architecture, AutoCAD Electrical, AutoCAD Map 3D, AutoCAD Mechanical, AutoCAD MEP, AutoCAD Plant 3D, and AutoCAD Raster Design, which were formerly offered individually, are now included in the single subscription fee. Although the company was able to announce and distribute the new software on the same day, some users initially suffered technical challenges that prevented them from accessing their subscriptions. System Requirements For Autodesk AutoCAD 2019Īutodesk released AutoCAD 2019, the 33rd version of their flagship software, on March 22.Autodesk AutoCAD 2019 Technical Details.
Tumblr media
1 note · View note
techbotic · 7 years ago
Text
What lies beneath: The things Facebook knows go beyond user data
Tumblr media
Enlarge / Facebook took out ads in US and UK Sunday newspapers apologizing for not doing more to prevent customer data leaks amidst mounting concerns about just how much data Facebook collects. (credit: Jason Alden/Bloomberg via Getty Images)
In the wake of the Cambridge Analytica revelations regarding the exposure of profile data for millions of users, Facebook is now facing an investigation into its data-collection practices by the Federal Trade Commission. In a statement issued on March 26, FTC Consumer Protection Bureau Acting Director Tom Pahl said that the FTC "takes very seriously recent press reports raising substantial concerns about the privacy practices of Facebook. Today, the FTC is confirming that it has an open non-public investigation into these practices."
The FTC investigation will likely focus on what data Facebook shares with third parties. But third parties aren't the only entity hoping to win "friends" and influence people on this social platform. Facebook collects a great deal of information about users for use by its internal algorithms. Those algorithms govern who and what users see, whom they get recommended to "friend," and other aspects of how our Facebook experiences are subtly (or sometimes not-so-subtly) shaped by advertisers and others leveraging the platform.
As Ars reported, Facebook has pushed users to allow access to SMS messages and call logs with its Messenger and Facebook Lite applications under the auspices of providing a service. "Keep up with all your conversations in one place" by using the app as the default SMS application on Android phones, Facebook offers. Previous versions of the Facebook mobile app on Android (in versions of Android prior to 4.1) were able to read SMS and call logs simply by asking for access to contacts, which Facebook has described as standard practice for applications. This allowed Facebook to keep track of the time, length, and contact information for any call made or received by the Android device by uploading it to Facebook's data centers. Facebook could also access metadata about text and multimedia messages sent via SMS.
Read 11 remaining paragraphs | Comments
What lies beneath: The things Facebook knows go beyond user data published first on https://medium.com/@CPUCHamp
0 notes
digicrunchpage · 7 years ago
Text
What lies beneath: The things Facebook knows go beyond user data
Tumblr media
Enlarge / Facebook took out ads in US and UK Sunday newspapers apologizing for not doing more to prevent customer data leaks amidst mounting concerns about just how much data Facebook collects. (credit: Jason Alden/Bloomberg via Getty Images)
In the wake of the Cambridge Analytica revelations regarding the exposure of profile data for millions of users, Facebook is now facing an investigation into its data-collection practices by the Federal Trade Commission. In a statement issued on March 26, FTC Consumer Protection Bureau Acting Director Tom Pahl said that the FTC "takes very seriously recent press reports raising substantial concerns about the privacy practices of Facebook. Today, the FTC is confirming that it has an open non-public investigation into these practices."
The FTC investigation will likely focus on what data Facebook shares with third parties. But third parties aren't the only entity hoping to win "friends" and influence people on this social platform. Facebook collects a great deal of information about users for use by its internal algorithms. Those algorithms govern who and what users see, whom they get recommended to "friend," and other aspects of how our Facebook experiences are subtly (or sometimes not-so-subtly) shaped by advertisers and others leveraging the platform.
As Ars reported, Facebook has pushed users to allow access to SMS messages and call logs with its Messenger and Facebook Lite applications under the auspices of providing a service. "Keep up with all your conversations in one place" by using the app as the default SMS application on Android phones, Facebook offers. Previous versions of the Facebook mobile app on Android (in versions of Android prior to 4.1) were able to read SMS and call logs simply by asking for access to contacts, which Facebook has described as standard practice for applications. This allowed Facebook to keep track of the time, length, and contact information for any call made or received by the Android device by uploading it to Facebook's data centers. Facebook could also access metadata about text and multimedia messages sent via SMS.
Read 11 remaining paragraphs | Comments
What lies beneath: The things Facebook knows go beyond user data published first on https://medium.com/@HDDMagReview
0 notes
sheminecrafts · 7 years ago
Text
Facebook poisons the acquisition well
Who should you sell your startup to? Facebook and the founders of its former acquisitions are making a strong case against getting bought by Mark Zuckerberg and Co. After a half-decade of being seen as one of the most respectful and desired acquirers, a series of scandals has destroyed the image of Facebook’s M&A division. That could make it tougher to convince entrepreneurs to sell to Facebook, or force it to pay higher prices and put contractual guarantees of autonomy into the deals.
WhatsApp’s founders left amidst aggressive pushes to monetize. Instagram’s founders left as their independence was threatened. Oculus’ founders were demoted. And over the past few years, Facebook has also shut down acquisitions, including viral teen Q&A app TBH (though its founder says he recommended shutting it down), fitness tracker Moves, video advertising system LiveRail, voice control developer toolkit Wit.ai and still-popular mobile app developer platform Parse.
Facebook’s users might not know or care about much of this. But it could be a sticking point the next time Facebook tries to buy out a burgeoning competitor or complementary service.
Broken promises with WhatsApp
The real trouble started with WhatsApp co-founder Brian Acton’s departure from Facebook a year ago before he was fully vested from the $22 billion acquisition in 2014. He’d been adamant that Facebook not stick the targeted ads he hated inside WhatsApp, and Zuckerberg conceded not to. Acton even got a clause added to the deal that the co-founders’ remaining stock would vest instantly if Facebook implemented monetization schemes without their consent. Google was also interested in buying WhatsApp, but Facebook’s assurances of independence sealed the deal.
WhatsApp founder, Brian Acton, says Facebook used him to get its acquisition past EU regulators
WhatsApp CEO Jan Koum quits Facebook due to privacy intrusions
WhatsApp’s other co-founder, Jan Koum, left Facebook in April following tension about how Facebook would monetize his app and the impact of that on privacy. Acton’s departure saw him leave $850 million on the table. Captivity must have been pretty rough for freedom to be worth that much. Today in an interview with Forbes’s Parmy Olson, he detailed how Facebook got him to promise it wouldn’t integrate WhatsApp’s user data to get the deal approved by EU regulators. Facebook then broke that promise, paid the $122 million fine that amounted to a tiny speed bump for the money-printing corporation, and kept on hacking.
When Acton tried to enact the instant-vesting clause upon his departure, Facebook claimed it was still exploring, not “implementing,” monetization. Acton declined a legal fight and walked away, eventually tweeting “Delete Facebook.” Koum stayed to vest a little longer. But soon after they departed, WhatsApp started charging businesses for slow replies, and it will inject ads into the WhatsApp’s Stories product Status next year. With user growth slowing, users shifting to Stories, and News Feed out of ad space, Facebook’s revenue problem became WhatsApp’s monetization mandate.
The message was that Facebook would eventually break its agreements with acquired founders to prioritize its own needs.
Diminished autonomy for Instagram
Instagram’s co-founders Kevin Systrom and Mike Krieger announced they were resigning this week, which sources tell TechCrunch was because of mounting tensions with Zuckerberg over product direction. Zuckerberg himself negotiated the 2012 acquisition for $1 billion ($715 million when the deal closed with Facebook’s share price down, but later $4 billion as it massively climbed). That price was stipulated on Instagram remaining independent in both brand and product roadmap.
Zuckerberg upheld his end of the bargain for five years, and the Instagram co-founders stayed on past their original vesting dates — uncommon in Silicon Valley. Facebook pointed to Instagram’s autonomy when it was trying to secure the WhatsApp acquisition. And with the help of Facebook’s engineering, sales, recruiting, internationalization and anti-spam teams, Instagram grew into a 1 billion-user juggernaut.
Why Instagram’s founders are resigning: independence from Facebook weakened
But again, Facebook’s growth and financial woes led to a change of heart for Zuckerberg. Facebook’s popularity amongst teens was plummeting while Instagram remained cool. Facebook pushed to show its alerts and links back to the parent company inside of Instagram’s notifications and settings tabs. Meanwhile, it stripped out the Instagram attribution from cross-posted photos and deleted a shortcut to Instagram from the Facebook bookmarks menu.
Zuckerberg then installed a loyalist, his close friend and former News Feed VP Adam Mosseri, as Instagram’s new VP of Product mid-way through this year. The reorganization also saw Systrom start reporting to Facebook CPO Chris Cox. Previously the Instagram CEO had more direct contact with Zuckerberg despite technically reporting to CTO Mike Schroepfer, and the insertion of a layer of management between them frayed their connection. Six years after being acquired, Facebook started breaking its promises, Instagram felt less autonomous and the founders exited.
The message again was that Facebook expected to be able to exploit its acquisitions regardless of their previous agreements.
Reduced visibility for Oculus
Zuckerberg declared Oculus was the next great computing platform when Facebook acquired the virtual reality company in 2014. Adoption ended up slower than many expected, forcing Oculus to fund VR content creators since it’s still an unsustainable business. Oculus has likely been a major cash sink for Facebook it will have to hope pays off later.
But in the meantime, the co-founders of Oculus have faded into the background. Brendan Iribe and Nate Mitchell have gone from leading the company to focusing on the nerdiest part of its growing product lineup as VPs running the PC VR and Rift hardware teams, respectively. Former Xiaomi hardware leader Hugo Barra was brought in as VP of VR to oversee Oculus, and he reports to former Facebook VP of Ads Andrew “Boz” Bosworth — a longtime Zuckerberg confidant who TA’d one of his classes at Harvard who now runs all of Facebook’s hardware efforts.
Oculus CEO Brendan Iribe steps down, will now lead PC-based VR division within company
Oculus’ original visionary inventor Palmer Luckey left Facebook last year following a schism with the company over him funding anti-Hillary Clinton memes and “sh*tposters.” He was pressed to apologize, saying “I am deeply sorry that my actions are negatively impacting the perception of Oculus and its partners.”
Lesser-known co-founder Jack McCauley left Facebook just a year after the acquisition to start his own VR lab. Sadly, Oculus co-founder Andrew Reisse died in 2013 when he was struck by a vehicle in a police chase just two months after the acquisition was announced. The final co-founder Michael Antonov was the chief software architect, but Facebook just confirmed to me he recently left the division to work on artificial intelligence infrastructure at Facebook.
Today for the first time, none of the Oculus co-founders appeared onstage at its annual Connect conference. Obviously the skills needed to scale and monetize a product are different from those needed to create. Still, going from running the company to being stuck in the audience doesn’t send a great signal about how Facebook treats acquired founders.
Course correction
Facebook needs to take action if it wants to reassure prospective acquisitions that it can be a good home for their startups. I think Zuckerberg or Mosseri (likely to be named Instagram’s new leader) should issue a statement that they understand people’s fears about what will happen to Instagram and WhatsApp since they’re such important parts of users’ lives, and establishing core tenets of the product’s identity they don’t want to change. Again, 15-year-old Instagrammers and WhatsAppers probably won’t care, but potential acquisitions would.
So far, Facebook has only managed to further inflame the founders versus Facebook divide. Today former VP of Messenger and now head of Facebook’s blockchain team David Marcus wrote a scathing note criticizing Acton for his Forbes interview and claiming that Zuckerberg tried to protect WhatsApp’s autonomy. “Call me old fashioned. But I find attacking the people and company that made you a billionaire, and went to an unprecedented extent to shield and accommodate you for years, low-class. It’s actually a whole new standard of low-class,” he wrote.
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.1'; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));
Posted by David Marcus on Wednesday, September 26, 2018
But this was a wasted opportunity for Facebook to discuss all the advantages it brings to its acquisitions. Marcus wrote, “As far as I’m concerned, and as a former lifelong entrepreneur and founder, there’s no other large company I’d work at, and no other leader I’d work for,” and noted the opportunity for impact and the relatively long amount of time acquired founders have stayed in the past. Still, it would have been more productive to focus on why’s it’s where he wants to work, how founders actually get to touch the lives of billions and how other acquirers like Twitter and Google frequently dissolve the companies they buy and often see their founders leave even sooner.
Acquisitions have protected Facebook from disruption. Now that strategy is in danger if it can’t change this narrative. Lots of zeros on a check might not be enough to convince the next great entrepreneur to sell Facebook their startup if they suspect they or their project will be steamrolled.
from iraidajzsmmwtv https://ift.tt/2NK2UdO via IFTTT
0 notes
fmservers · 7 years ago
Text
Facebook poisons the acquisition well
Who should you sell your startup to? Facebook and the founders of its former acquisitions are making a strong case against getting bought by Mark Zuckerberg and co. After a half-decade of being seen as one of the most respectful and desired acquirers, a series of scandals has destroyed the image of Facebook’s M&A division. That could make it tougher to convince entrepreneurs to sell to Facebook, or force it to pay higher prices and put contractual guarantees of autononmy into the deals.
WhatsApp’s founders left amidst aggresive pushes to monetize. Instagram’s founders left as their independence was threatened. Oculus’ founders were demoted. And over the past few years Facebook has also shut down acquisitions including viral teen Q&A app TBH, fitness tracker Moves, video advertising system LiveRail, voice control developer toolkit Wit.ai, and still-popular mobile app developer platform Parse.
Facebook’s users might not know or care about much of this. But it could be a sticking point the next time Facebook tries to buy out a burgeoning competitor or complementary service.
Broken Promises With WhatsApp
The real trouble started with WhatsApp co-founder Brian Acton’s departure from Facebook a year ago before he was full vested from the $22 billion acquisition in 2014. He’d been adamant that Facebook not stick the targeted ads he hated inside WhatsApp, and Zuckerberg conceded not to. Acton even got a clause added to the deal that the co-founders’ remaining stock would vest instantly if Facebook implemented monetization schemes without their consent. Google was also interested in buying WhatsApp, but Facebook’s assurances of independence sealed the deal.
WhatsApp founder, Brian Acton, says Facebook used him to get its acquisition past EU regulators
WhatsApp CEO Jan Koum quits Facebook due to privacy intrusions
WhatsApp’s other co-founder Jan Koum left Facebook in April following tension about how Facebook would monetize his app and the impact of that on privacy. Acton’s departure saw him leave $850 million on the table. Captivity must have been pretty rough for freedom to be worth that much. Today in an interview with Forbes’s Parmy Olson, he detailed how Facebook got him to promise it wouldn’t integrate WhatsApp’s user data to get the deal approved by EU regulators. Facebook then broke that promise, paid the $122 million fine that amounted to a tiny speed bump for the money-printing corporation, and kept on hacking.
When Acton tried to enact the instant-vesting clause upon his departure, Facebook claimed it was still exploring, not “implementing”, monetization. Acton declined a legal fight and walked away, eventually tweeting “Delete Facebook”. Koum stayed to vest a little longer. But soon after they departed, WhatsApp started charging businesses for slow replies, and it will inject ads into the WhatsApp’s Stories product Status next year. With user growth slowing, users shifting to Stories, and News Feed out of ad space, Facebook’s revenue problem became WhatsApp’s monetization mandate.
The message was that Facebook would eventually break its agreements with acquired founders to prioritize its own needs.
Diminished Autonomy For Instagram
Instagram’s co-founders Kevin Systrom and Mike Krieger announced they were resigning this week, which sources tell Techcrunch was because of mounting tensions with Zuckerberg over product direction. Zuckerberg himself negotiated the 2012 acquisition for $1 billion ($715 million when the deal closed with Facebook’s share price down, but later $4 billion as it massively climbed). That price was stipulated on Instagram remaining independent in both brand and product roadmap.
Zuckerberg upheld his end of the bargain for five years, and the Instagram co-founders stayed on past their original vesting dates — uncommon in Silicon Valley. Facebook pointed to Instagram’s autonomy when it was trying to secure the WhatsApp acquisition. And with the help of Facebook’s engineering, sales, recruiting, internationalization, and anti-spam teams, Instagram grew into a 1 billion user juggernaut.
Why Instagram’s founders are resigning: independence from Facebook weakened
But again, Facebook’s growth and financial woes led to a change of heart for Zuckerberg. Facebook’s popularity amongst teens was plummeting while Instagram remained cool. Facebook pushed to show its alerts and links back to the parent company inside of Instagram’s notifications and settings tabs. Meanwhile, it stripped out the Instagram attribution from cross-posted photos and deleted a shortcut to Instagram from the Facebook bookmarks menu.
Zuckerberg then installed a loyalist, his close friend and former News Feed VP Adam Mosseri as Instagram’s new VP of Product mid-way through this year. The reorganization also saw Systrom start reporting to Facebook CPO Chris Cox. Previously the Instagram CEO had more direct contact with Zuckerberg despite technically reporting to CTO Mike Schroepfer, and the insertion of a layer of management between them frayed their connection. 6 years after being acquired, Facebook started breaking its promises, Instagram felt less autonomous, and the founders exited.
The message again was that Facebook expected to be able to exploit its acquisitions regardless of their previous agreements.
Reduced Visibility For Oculus
Zuckerberg declared Oculus was the next great computing platform when Facebook acquired the virtual reality company in 2014. Adoption ended up slower than many expected, forcing Oculus to fund VR content creators since it’s still an unsustainable business. Oculus has likely been a major cash sink for Facebook it will have to hope pays off later.
But in the meantime the co-founders of Oculus have faded into the background. Brendan Iribe and Nate Mitchell have gone from leading the company to focusing on the nerdiest part of its growing product lineup as VPs running the PC VR and Rift hardware teams respectively. Former Xiaomi hardware leader Hugo Barra was brought in as VP of VR to oversee Oculus, and he reports to former Facebook VP of Ads Andrew “Boz” Bosworth — a long-time Zuckerberg confidant who TA’d one of his classes at Harvard who now runs all of Facebook’s hardware efforts.
Oculus CEO Brendan Iribe steps down, will now lead PC-based VR division within company
Oculus’ original visionary inventor Palmer Luckey left Facebook last year following a schism with the company over him funding anti-Hillary Clinton memes and “sh*tposters”. He was pressed to apologize, saying “I am deeply sorry that my actions are negatively impacting the perception of Oculus and its partners.”
Lesser-known co-founder Jack McCauley left Facebook just a year after the acquisition to start his own VR lab. Sadly, Oculus co-founder Andrew Reisse died in 2013 when he was struck by a vehicle in a police chase just two months after the acquisition was announced. The final co-founder Michael Antonov was the Chief Software Architect, but Facebook just confirmed to me he recently left the division to work on artificial intelligence infrastructure at Facebook.
Today for the first time, none of the Oculus co-founders appeared on stage at its annual Connect conference. Obviously the skills needed to scale and monetize a product are different from those needed to create. Still, going from running the company to being stuck in the audience doesn’t send a great signal about how Facebook treats acquired founders.
Course Correction
Facebook needs to take action if it wants to reassure prospective acquisitions that it can be a good home for their startups. I think Zuckerberg or Mosseri (likely to be named Instagram’s new leader) should issue a statement that they understand people’s fears about what will happen to Instagram and WhatsApp since they’re such important parts of users’ lives, and establishing core tenets of the product’s identity they don’t want to change. Again, 15-year-old Instagrammers and WhatsAppers probably won’t care, but potential acquisitions would.
So far, Facebook has only managed to further inflame the founders versus Facebook divide. Today former VP of Messenger and now head of Facebook’s blockchain team David Marcus wrote a scathing note criticizing Acton for his Forbes interview and claiming that Zuckerberg tried to protect WhatsApp’s autonomy. “Call me old fashioned. But I find attacking the people and company that made you a billionaire, and went to an unprecedented extent to shield and accommodate you for years, low-class. It’s actually a whole new standard of low-class” he wrote.
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.1'; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));
Posted by David Marcus on Wednesday, September 26, 2018
But this was a wasted opportunity for Facebook to discuss all the advantages it brings to its acquisitions. Marcus wrote “As far as I’m concerned, and as a former lifelong entrepreneur and founder, there’s no other large company I’d work at, and no other leader I’d work for”, and noted the opportunity for impact and the relatively long amount of time acquired founders have stayed in the past. Still, it would have been more productive to focus on why’s it’s where he wants to work, how founders actually get to touch the lives of billions, and how other acquirers like Twitter and Google frequently dissolve the companies they buy and often see their founders leave even sooner.
Acquisitions have protected Facebook from disruption. Now that strategy is in danger if it can’t change this narrative. Lots of zeros on a check might not be enough to convince the next great entrepreneur to sell Facebook their startup if they suspect they or their project will be steamrolled.
Via Josh Constine https://techcrunch.com
0 notes
pattersondonaldblk5 · 7 years ago
Text
The Slow Death of Internet Explorer and the Future of Progressive Enhancement
My first full-time developer job was at a small company. We didn’t have BrowserStack, so we cobbled together a makeshift device lab. Viewing a site I’d been making on a busted first-generation iPad with an outdated version of Safari, I saw a distorted, failed mess. It brought home to me a quote from Douglas Crockford, who once deemed the web “the most hostile software engineering environment imaginable.”
The “works best with Chrome” problem
Because of this difficulty, a problem has emerged. Earlier this year, a widely shared article in the Verge warned of “works best with Chrome” messages seen around the web.
Hi Larry, we apologize for the frustration. Groupon is optimized to be used on a Google Chrome browser, and while you are definitely able to use Firefox or another browser if you'd like, there can be delays when Groupon is not used through Google Chrome.
— Groupon Help U.S. (@GrouponHelpUS) November 26, 2017
Hi Rustram. We'd always recommend that you use Google Chrome to browse the site: we've optimised things for this browser. Thanks.
— Airbnb Help (@AirbnbHelp) July 12, 2016
There are more examples of this problem. In the popular messaging app Slack, voice calls work only in Chrome. In response to help requests, Slack explains its decision like this: “It requires significant effort for us to build out support and triage issues on each browser, so we’re focused on providing a great experience in Chrome.” (Emphasis mine.) Google itself has repeatedly built sites—including Google Meet, Allo, YouTube TV, Google Earth, and YouTube Studio—that block alternative browsers entirely. This is clearly a bad practice, but highlights the fact that cross-browser compatibility can be difficult and time-consuming.
The significant feature gap, though, isn’t between Chrome and everything else. Of far more significance is the increasingly gaping chasm between Internet Explorer and every other major browser. Should our development practices be hamstrung by the past? Or should we dash into the future relinquishing some users in our wake? I’ll argue for a middle ground. We can make life easier for ourselves without breaking the backward compatibility of the web.
The widening gulf
Chrome, Opera, and Firefox ship new features constantly. Edge and Safari eventually catch up. Internet Explorer, meanwhile, has been all but abandoned by Microsoft, which is attempting to push Windows users toward Edge. IE receives nothing but security updates. It’s a frustrating period for client-side developers. We read about new features but are often unable to use them—due to a single browser with a diminishing market share.
Internet Explorer’s global market share since 2013 is shown in dark blue. It now stands at just 3 percent.
Some new features are utterly trivial (caret-color!); some are for particular use cases you may never have (WebGL 2.0, Web MIDI, Web Bluetooth). Others already feel near-essential for even the simplest sites (object-fit, Grid).
A list of features supported in Chrome but unavailable in IE11, taken from caniuse.com. This is a truncated and incomplete screenshot of an extraordinarily long list. The promise and reality of progressive enhancement
For content-driven sites, the question of browser support should never be answered with a simple yes or no. CSS and HTML were designed to be fault-tolerant. If a particular browser doesn’t support shape-outside or service workers or font-display, you can still use those features. Your website will not implode. It’ll just lack that extra stylistic flourish or performance optimization in non-supporting browsers.
Other features, such as CSS Grid, require a bit more work. Your page layout is less enhancement than necessity, and Grid has finally brought a real layout system to the web. When used with care for simple cases, Grid can gracefully fall back to older layout techniques. We could, for example, fall back to flex-wrap. Flexbox is by now a taken-for-granted feature among developers, yet even that is riddled with bugs in IE11.
.grid > * { width: 270px; /* no grid fallback style */ margin-right: 30px; /* no grid fallback style */ } @supports (display: grid) { .grid > * { width: auto; margin-right: 0; } }
In the code above, I’m setting all the immediate children of the grid to have a specified width and a margin. For browsers that support Grid, I’ll use grid-gap in place of margin and define the width of the items with the grid-template-columns property. It’s not difficult, but it adds bloat and complexity if it’s repeated throughout a codebase for different layouts. As we start building entire page layouts with Grid (and eventually display: contents), providing a fallback for IE will become increasingly arduous. By using @supports for complex layout tasks, we’re effectively solving the same problem twice—using two different methods to create a similar result.
Not every feature can be used as an enhancement. Some things are imperative. People have been getting excited about CSS custom properties since 2013, but they’re still not widely used, and you can guess why: Internet Explorer doesn’t support them. Or take Shadow DOM. People have been doing conference talks about it for more than five years. It’s finally set to land in Firefox and Edge this year, and lands in Internet Explorer … at no time in the future. You can’t patch support with transpilers or polyfills or prefixes.
Users have more browsers than ever to choose from, yet IE manages to single-handedly tie us to the pre-evergreen past of the web. If developing Chrome-only websites represents one extreme of bad development practice, shackling yourself to a vestigial, obsolete, zombie browser surely represents the other.
The problem with shoehorning
Rather than eschew modern JavaScript features, polyfilling and transpiling have become the norm. ES6 is supported everywhere other than IE, yet we’re sending all browsers transpiled versions of our code. Transpilation isn’t great for performance. A single five-line async function, for example, may well transpile to twenty-five lines of code.
“I feel some guilt about the current state of affairs,” Alex Russell said of his previous role leading development of Traceur, a transpiler that predated Babel. “I see so many traces where the combination of Babel transpilation overhead and poor [webpack] foo totally sink the performance of a site. … I’m sad that we’re still playing this game.”
What you can’t transpile, you can often polyfill. Polyfill.io has become massively popular. Chrome gets sent a blank file. Ancient versions of IE receive a giant mountain of polyfills. We are sending the largest payload to those the least equipped to deal with it—people stuck on slow, old machines.
What is to be done?Prioritize content
Cutting the mustard is a technique popularized by the front-end team at BBC News. The approach cuts the browser market in two: all browsers receive a base experience or core content. JavaScript is conditionally loaded only by the more capable browsers. Back in 2012, their dividing line was this:
if ('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) { // load the javascript }
Tom Maslen, then a lead developer at the BBC, explained the rationale: “Over the last few years I feel that our industry has gotten lazy because of the crazy download speeds that broadband has given us. Everyone stopped worrying about how large their web pages were and added a ton of JS libraries, CSS files, and massive images into the DOM. This has continued on to mobile platforms that don’t always have broadband speeds or hardware capacity to render complex code.”
The Guardian, meanwhile, entirely omits both JavaScript and stylesheets from Internet Explorer 8 and further back.
The Guardian navigation as seen in Internet Explorer 8. Unsophisticated yet functional.
Nature.com takes a similar approach, delivering only a very limited stylesheet to anything older than IE10.
The nature.com homepage as seen in Internet Explorer 9.
Were you to break into a museum, steal an ancient computer, and open Netscape Navigator, you could still happily view these websites. A user comes to your site for the content. They didn’t come to see a pretty gradient or a nicely rounded border-radius. They certainly didn’t come for the potentially nauseating parallax scroll animation.
Anyone who’s been developing for the web for any amount of time will have come across a browser bug. You check your new feature in every major browser and it works perfectly—except in one. Memorizing support info from caniuse.com and using progressive enhancement is no guarantee that every feature of your site will work as expected.
The W3C’s website for the CSS Working Group as viewed in the latest version of Safari.
Regardless of how perfectly formed and well-written your code, sometimes things break through no fault of your own, even in modern browsers. If you’re not actively testing your site, bugs are more likely to reach your users, unbeknownst to you. Rather than transpiling and polyfilling and hoping for the best, we can deliver what the person came for, in the most resilient, performant, and robust form possible: unadulterated HTML. No company has the resources to actively test their site on every old version of every browser. Malfunctioning JavaScript can ruin a web experience and make a simple page unusable. Rather than leaving users to a mass of polyfills and potential JavaScript errors, we give them a basic but functional experience.
Make a clean break
What could a mustard cut look like going forward? You could conduct a feature query using JavaScript to conditionally load the stylesheet, but relying on JavaScript introduces a brittleness that would be best to avoid. You can’t use @import inside an @supports block, so we’re left with media queries.
The following query will prevent the CSS file from being delivered to any version of Internet Explorer and older versions of other browsers:
<link id="mustardcut" href="stylesheet.css" media=" only screen, only all and (pointer: fine), only all and (pointer: coarse), only all and (pointer: none), min--moz-device-pixel-ratio:0) and (display-mode:browser), (min--moz-device-pixel-ratio:0) ">
We’re not really interested in what particular features this query is testing for; it’s just a hacky way to split between legacy and modern browsers. The shiny, modern site will be delivered to Edge, Chrome (and Chrome for Android) 39+, Opera 26+, Safari 9+, Safari on iOS 9+, and Firefox 47+. I based the query on the work of Andy Kirk. If you want to take a cutting-the-mustard approach but have to meet different support demands, he maintains a Github repo with a range of options.
We can use the same media query to conditionally load a Javascript file. This gives us one consistent dividing line between old and modern browsers:
(function() { var linkEl = document.getElementById('mustardcut'); if (window.matchMedia && window.matchMedia(linkEl.media).matches) { var script = document.createElement('script'); script.src = 'your-script.js'; script.async = true; document.body.appendChild(script); } })();
matchMedia brings the power of CSS media queries to JavaScript. The matches property is a boolean that reflects the result of the query. If the media query we defined in the link tag evaluates to true, the JavaScript file will be added to the page.
It might seem like an extreme solution. From a marketing point of view, the site no longer looks “professional” for a small amount of visitors. However, we’ve managed to improve the performance for those stuck on old technology while also opening the possibility of using the latest standards on browsers that support them. This is far from a new approach. All the way back in 2001, A List Apart stopped delivering a visual design to Netscape 4. Readership among users of that browser went up.
Front-end development is complicated at the best of times. Adding support for a technologically obsolete browser adds an inordinate amount of time and frustration to the development process. Testing becomes onerous. Bug-fixing looms large.
By making a clean break with the past, we can focus our energies on building modern sites using modern standards without leaving users stuck on antiquated browsers with an untested and possibly broken site. We save a huge amount of mental overhead. If your content has real value, it can survive without flashy embellishments. And for Internet Explorer users on Windows 10, Edge is preinstalled. The full experience is only a click away.
Internet Explorer 11 with its ever-present “Open Microsoft Edge” button.
Developers must avoid living in a bubble of MacBook Pros and superfast connections. There’s no magic bullet that enables developers to use bleeding-edge features. You may still need Autoprefixer and polyfills. If you’re planning to have a large user base in Asia and Africa, you’ll need to build a site that looks great in Opera Mini and UC Browser, which have their own limitations. You might choose a different cutoff point for now, but it will increasingly pay off, in terms of both user experience and developer experience, to make use of what the modern web has to offer.
https://ift.tt/2KlVR59
0 notes
waltercostellone · 7 years ago
Text
The Slow Death of Internet Explorer and the Future of Progressive Enhancement
My first full-time developer job was at a small company. We didn’t have BrowserStack, so we cobbled together a makeshift device lab. Viewing a site I’d been making on a busted first-generation iPad with an outdated version of Safari, I saw a distorted, failed mess. It brought home to me a quote from Douglas Crockford, who once deemed the web “the most hostile software engineering environment imaginable.”
The “works best with Chrome” problem
Because of this difficulty, a problem has emerged. Earlier this year, a widely shared article in the Verge warned of “works best with Chrome” messages seen around the web.
Hi Larry, we apologize for the frustration. Groupon is optimized to be used on a Google Chrome browser, and while you are definitely able to use Firefox or another browser if you'd like, there can be delays when Groupon is not used through Google Chrome.
— Groupon Help U.S. (@GrouponHelpUS) November 26, 2017
Hi Rustram. We'd always recommend that you use Google Chrome to browse the site: we've optimised things for this browser. Thanks.
— Airbnb Help (@AirbnbHelp) July 12, 2016
There are more examples of this problem. In the popular messaging app Slack, voice calls work only in Chrome. In response to help requests, Slack explains its decision like this: “It requires significant effort for us to build out support and triage issues on each browser, so we’re focused on providing a great experience in Chrome.” (Emphasis mine.) Google itself has repeatedly built sites—including Google Meet, Allo, YouTube TV, Google Earth, and YouTube Studio—that block alternative browsers entirely. This is clearly a bad practice, but highlights the fact that cross-browser compatibility can be difficult and time-consuming.
The significant feature gap, though, isn’t between Chrome and everything else. Of far more significance is the increasingly gaping chasm between Internet Explorer and every other major browser. Should our development practices be hamstrung by the past? Or should we dash into the future relinquishing some users in our wake? I’ll argue for a middle ground. We can make life easier for ourselves without breaking the backward compatibility of the web.
The widening gulf
Chrome, Opera, and Firefox ship new features constantly. Edge and Safari eventually catch up. Internet Explorer, meanwhile, has been all but abandoned by Microsoft, which is attempting to push Windows users toward Edge. IE receives nothing but security updates. It’s a frustrating period for client-side developers. We read about new features but are often unable to use them—due to a single browser with a diminishing market share.
Internet Explorer’s global market share since 2013 is shown in dark blue. It now stands at just 3 percent.
Some new features are utterly trivial (caret-color!); some are for particular use cases you may never have (WebGL 2.0, Web MIDI, Web Bluetooth). Others already feel near-essential for even the simplest sites (object-fit, Grid).
A list of features supported in Chrome but unavailable in IE11, taken from caniuse.com. This is a truncated and incomplete screenshot of an extraordinarily long list. The promise and reality of progressive enhancement
For content-driven sites, the question of browser support should never be answered with a simple yes or no. CSS and HTML were designed to be fault-tolerant. If a particular browser doesn’t support shape-outside or service workers or font-display, you can still use those features. Your website will not implode. It’ll just lack that extra stylistic flourish or performance optimization in non-supporting browsers.
Other features, such as CSS Grid, require a bit more work. Your page layout is less enhancement than necessity, and Grid has finally brought a real layout system to the web. When used with care for simple cases, Grid can gracefully fall back to older layout techniques. We could, for example, fall back to flex-wrap. Flexbox is by now a taken-for-granted feature among developers, yet even that is riddled with bugs in IE11.
.grid > * { width: 270px; /* no grid fallback style */ margin-right: 30px; /* no grid fallback style */ } @supports (display: grid) { .grid > * { width: auto; margin-right: 0; } }
In the code above, I’m setting all the immediate children of the grid to have a specified width and a margin. For browsers that support Grid, I’ll use grid-gap in place of margin and define the width of the items with the grid-template-columns property. It’s not difficult, but it adds bloat and complexity if it’s repeated throughout a codebase for different layouts. As we start building entire page layouts with Grid (and eventually display: contents), providing a fallback for IE will become increasingly arduous. By using @supports for complex layout tasks, we’re effectively solving the same problem twice—using two different methods to create a similar result.
Not every feature can be used as an enhancement. Some things are imperative. People have been getting excited about CSS custom properties since 2013, but they’re still not widely used, and you can guess why: Internet Explorer doesn’t support them. Or take Shadow DOM. People have been doing conference talks about it for more than five years. It’s finally set to land in Firefox and Edge this year, and lands in Internet Explorer … at no time in the future. You can’t patch support with transpilers or polyfills or prefixes.
Users have more browsers than ever to choose from, yet IE manages to single-handedly tie us to the pre-evergreen past of the web. If developing Chrome-only websites represents one extreme of bad development practice, shackling yourself to a vestigial, obsolete, zombie browser surely represents the other.
The problem with shoehorning
Rather than eschew modern JavaScript features, polyfilling and transpiling have become the norm. ES6 is supported everywhere other than IE, yet we’re sending all browsers transpiled versions of our code. Transpilation isn’t great for performance. A single five-line async function, for example, may well transpile to twenty-five lines of code.
“I feel some guilt about the current state of affairs,” Alex Russell said of his previous role leading development of Traceur, a transpiler that predated Babel. “I see so many traces where the combination of Babel transpilation overhead and poor [webpack] foo totally sink the performance of a site. … I’m sad that we’re still playing this game.”
What you can’t transpile, you can often polyfill. Polyfill.io has become massively popular. Chrome gets sent a blank file. Ancient versions of IE receive a giant mountain of polyfills. We are sending the largest payload to those the least equipped to deal with it—people stuck on slow, old machines.
What is to be done?Prioritize content
Cutting the mustard is a technique popularized by the front-end team at BBC News. The approach cuts the browser market in two: all browsers receive a base experience or core content. JavaScript is conditionally loaded only by the more capable browsers. Back in 2012, their dividing line was this:
if ('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) { // load the javascript }
Tom Maslen, then a lead developer at the BBC, explained the rationale: “Over the last few years I feel that our industry has gotten lazy because of the crazy download speeds that broadband has given us. Everyone stopped worrying about how large their web pages were and added a ton of JS libraries, CSS files, and massive images into the DOM. This has continued on to mobile platforms that don’t always have broadband speeds or hardware capacity to render complex code.”
The Guardian, meanwhile, entirely omits both JavaScript and stylesheets from Internet Explorer 8 and further back.
The Guardian navigation as seen in Internet Explorer 8. Unsophisticated yet functional.
Nature.com takes a similar approach, delivering only a very limited stylesheet to anything older than IE10.
The nature.com homepage as seen in Internet Explorer 9.
Were you to break into a museum, steal an ancient computer, and open Netscape Navigator, you could still happily view these websites. A user comes to your site for the content. They didn’t come to see a pretty gradient or a nicely rounded border-radius. They certainly didn’t come for the potentially nauseating parallax scroll animation.
Anyone who’s been developing for the web for any amount of time will have come across a browser bug. You check your new feature in every major browser and it works perfectly—except in one. Memorizing support info from caniuse.com and using progressive enhancement is no guarantee that every feature of your site will work as expected.
The W3C’s website for the CSS Working Group as viewed in the latest version of Safari.
Regardless of how perfectly formed and well-written your code, sometimes things break through no fault of your own, even in modern browsers. If you’re not actively testing your site, bugs are more likely to reach your users, unbeknownst to you. Rather than transpiling and polyfilling and hoping for the best, we can deliver what the person came for, in the most resilient, performant, and robust form possible: unadulterated HTML. No company has the resources to actively test their site on every old version of every browser. Malfunctioning JavaScript can ruin a web experience and make a simple page unusable. Rather than leaving users to a mass of polyfills and potential JavaScript errors, we give them a basic but functional experience.
Make a clean break
What could a mustard cut look like going forward? You could conduct a feature query using JavaScript to conditionally load the stylesheet, but relying on JavaScript introduces a brittleness that would be best to avoid. You can’t use @import inside an @supports block, so we’re left with media queries.
The following query will prevent the CSS file from being delivered to any version of Internet Explorer and older versions of other browsers:
<link id="mustardcut" href="stylesheet.css" media=" only screen, only all and (pointer: fine), only all and (pointer: coarse), only all and (pointer: none), min--moz-device-pixel-ratio:0) and (display-mode:browser), (min--moz-device-pixel-ratio:0) ">
We’re not really interested in what particular features this query is testing for; it’s just a hacky way to split between legacy and modern browsers. The shiny, modern site will be delivered to Edge, Chrome (and Chrome for Android) 39+, Opera 26+, Safari 9+, Safari on iOS 9+, and Firefox 47+. I based the query on the work of Andy Kirk. If you want to take a cutting-the-mustard approach but have to meet different support demands, he maintains a Github repo with a range of options.
We can use the same media query to conditionally load a Javascript file. This gives us one consistent dividing line between old and modern browsers:
(function() { var linkEl = document.getElementById('mustardcut'); if (window.matchMedia && window.matchMedia(linkEl.media).matches) { var script = document.createElement('script'); script.src = 'your-script.js'; script.async = true; document.body.appendChild(script); } })();
matchMedia brings the power of CSS media queries to JavaScript. The matches property is a boolean that reflects the result of the query. If the media query we defined in the link tag evaluates to true, the JavaScript file will be added to the page.
It might seem like an extreme solution. From a marketing point of view, the site no longer looks “professional” for a small amount of visitors. However, we’ve managed to improve the performance for those stuck on old technology while also opening the possibility of using the latest standards on browsers that support them. This is far from a new approach. All the way back in 2001, A List Apart stopped delivering a visual design to Netscape 4. Readership among users of that browser went up.
Front-end development is complicated at the best of times. Adding support for a technologically obsolete browser adds an inordinate amount of time and frustration to the development process. Testing becomes onerous. Bug-fixing looms large.
By making a clean break with the past, we can focus our energies on building modern sites using modern standards without leaving users stuck on antiquated browsers with an untested and possibly broken site. We save a huge amount of mental overhead. If your content has real value, it can survive without flashy embellishments. And for Internet Explorer users on Windows 10, Edge is preinstalled. The full experience is only a click away.
Internet Explorer 11 with its ever-present “Open Microsoft Edge” button.
Developers must avoid living in a bubble of MacBook Pros and superfast connections. There’s no magic bullet that enables developers to use bleeding-edge features. You may still need Autoprefixer and polyfills. If you’re planning to have a large user base in Asia and Africa, you’ll need to build a site that looks great in Opera Mini and UC Browser, which have their own limitations. You might choose a different cutoff point for now, but it will increasingly pay off, in terms of both user experience and developer experience, to make use of what the modern web has to offer.
https://ift.tt/2KlVR59
0 notes
dustinwootenne · 7 years ago
Text
The Slow Death of Internet Explorer and the Future of Progressive Enhancement
My first full-time developer job was at a small company. We didn’t have BrowserStack, so we cobbled together a makeshift device lab. Viewing a site I’d been making on a busted first-generation iPad with an outdated version of Safari, I saw a distorted, failed mess. It brought home to me a quote from Douglas Crockford, who once deemed the web “the most hostile software engineering environment imaginable.”
The “works best with Chrome” problem
Because of this difficulty, a problem has emerged. Earlier this year, a widely shared article in the Verge warned of “works best with Chrome” messages seen around the web.
Hi Larry, we apologize for the frustration. Groupon is optimized to be used on a Google Chrome browser, and while you are definitely able to use Firefox or another browser if you'd like, there can be delays when Groupon is not used through Google Chrome.
— Groupon Help U.S. (@GrouponHelpUS) November 26, 2017
Hi Rustram. We'd always recommend that you use Google Chrome to browse the site: we've optimised things for this browser. Thanks.
— Airbnb Help (@AirbnbHelp) July 12, 2016
There are more examples of this problem. In the popular messaging app Slack, voice calls work only in Chrome. In response to help requests, Slack explains its decision like this: “It requires significant effort for us to build out support and triage issues on each browser, so we’re focused on providing a great experience in Chrome.” (Emphasis mine.) Google itself has repeatedly built sites—including Google Meet, Allo, YouTube TV, Google Earth, and YouTube Studio—that block alternative browsers entirely. This is clearly a bad practice, but highlights the fact that cross-browser compatibility can be difficult and time-consuming.
The significant feature gap, though, isn’t between Chrome and everything else. Of far more significance is the increasingly gaping chasm between Internet Explorer and every other major browser. Should our development practices be hamstrung by the past? Or should we dash into the future relinquishing some users in our wake? I’ll argue for a middle ground. We can make life easier for ourselves without breaking the backward compatibility of the web.
The widening gulf
Chrome, Opera, and Firefox ship new features constantly. Edge and Safari eventually catch up. Internet Explorer, meanwhile, has been all but abandoned by Microsoft, which is attempting to push Windows users toward Edge. IE receives nothing but security updates. It’s a frustrating period for client-side developers. We read about new features but are often unable to use them—due to a single browser with a diminishing market share.
Internet Explorer’s global market share since 2013 is shown in dark blue. It now stands at just 3 percent.
Some new features are utterly trivial (caret-color!); some are for particular use cases you may never have (WebGL 2.0, Web MIDI, Web Bluetooth). Others already feel near-essential for even the simplest sites (object-fit, Grid).
A list of features supported in Chrome but unavailable in IE11, taken from caniuse.com. This is a truncated and incomplete screenshot of an extraordinarily long list. The promise and reality of progressive enhancement
For content-driven sites, the question of browser support should never be answered with a simple yes or no. CSS and HTML were designed to be fault-tolerant. If a particular browser doesn’t support shape-outside or service workers or font-display, you can still use those features. Your website will not implode. It’ll just lack that extra stylistic flourish or performance optimization in non-supporting browsers.
Other features, such as CSS Grid, require a bit more work. Your page layout is less enhancement than necessity, and Grid has finally brought a real layout system to the web. When used with care for simple cases, Grid can gracefully fall back to older layout techniques. We could, for example, fall back to flex-wrap. Flexbox is by now a taken-for-granted feature among developers, yet even that is riddled with bugs in IE11.
.grid > * { width: 270px; /* no grid fallback style */ margin-right: 30px; /* no grid fallback style */ } @supports (display: grid) { .grid > * { width: auto; margin-right: 0; } }
In the code above, I’m setting all the immediate children of the grid to have a specified width and a margin. For browsers that support Grid, I’ll use grid-gap in place of margin and define the width of the items with the grid-template-columns property. It’s not difficult, but it adds bloat and complexity if it’s repeated throughout a codebase for different layouts. As we start building entire page layouts with Grid (and eventually display: contents), providing a fallback for IE will become increasingly arduous. By using @supports for complex layout tasks, we’re effectively solving the same problem twice—using two different methods to create a similar result.
Not every feature can be used as an enhancement. Some things are imperative. People have been getting excited about CSS custom properties since 2013, but they’re still not widely used, and you can guess why: Internet Explorer doesn’t support them. Or take Shadow DOM. People have been doing conference talks about it for more than five years. It’s finally set to land in Firefox and Edge this year, and lands in Internet Explorer … at no time in the future. You can’t patch support with transpilers or polyfills or prefixes.
Users have more browsers than ever to choose from, yet IE manages to single-handedly tie us to the pre-evergreen past of the web. If developing Chrome-only websites represents one extreme of bad development practice, shackling yourself to a vestigial, obsolete, zombie browser surely represents the other.
The problem with shoehorning
Rather than eschew modern JavaScript features, polyfilling and transpiling have become the norm. ES6 is supported everywhere other than IE, yet we’re sending all browsers transpiled versions of our code. Transpilation isn’t great for performance. A single five-line async function, for example, may well transpile to twenty-five lines of code.
“I feel some guilt about the current state of affairs,” Alex Russell said of his previous role leading development of Traceur, a transpiler that predated Babel. “I see so many traces where the combination of Babel transpilation overhead and poor [webpack] foo totally sink the performance of a site. … I’m sad that we’re still playing this game.”
What you can’t transpile, you can often polyfill. Polyfill.io has become massively popular. Chrome gets sent a blank file. Ancient versions of IE receive a giant mountain of polyfills. We are sending the largest payload to those the least equipped to deal with it—people stuck on slow, old machines.
What is to be done?Prioritize content
Cutting the mustard is a technique popularized by the front-end team at BBC News. The approach cuts the browser market in two: all browsers receive a base experience or core content. JavaScript is conditionally loaded only by the more capable browsers. Back in 2012, their dividing line was this:
if ('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) { // load the javascript }
Tom Maslen, then a lead developer at the BBC, explained the rationale: “Over the last few years I feel that our industry has gotten lazy because of the crazy download speeds that broadband has given us. Everyone stopped worrying about how large their web pages were and added a ton of JS libraries, CSS files, and massive images into the DOM. This has continued on to mobile platforms that don’t always have broadband speeds or hardware capacity to render complex code.”
The Guardian, meanwhile, entirely omits both JavaScript and stylesheets from Internet Explorer 8 and further back.
The Guardian navigation as seen in Internet Explorer 8. Unsophisticated yet functional.
Nature.com takes a similar approach, delivering only a very limited stylesheet to anything older than IE10.
The nature.com homepage as seen in Internet Explorer 9.
Were you to break into a museum, steal an ancient computer, and open Netscape Navigator, you could still happily view these websites. A user comes to your site for the content. They didn’t come to see a pretty gradient or a nicely rounded border-radius. They certainly didn’t come for the potentially nauseating parallax scroll animation.
Anyone who’s been developing for the web for any amount of time will have come across a browser bug. You check your new feature in every major browser and it works perfectly—except in one. Memorizing support info from caniuse.com and using progressive enhancement is no guarantee that every feature of your site will work as expected.
The W3C’s website for the CSS Working Group as viewed in the latest version of Safari.
Regardless of how perfectly formed and well-written your code, sometimes things break through no fault of your own, even in modern browsers. If you’re not actively testing your site, bugs are more likely to reach your users, unbeknownst to you. Rather than transpiling and polyfilling and hoping for the best, we can deliver what the person came for, in the most resilient, performant, and robust form possible: unadulterated HTML. No company has the resources to actively test their site on every old version of every browser. Malfunctioning JavaScript can ruin a web experience and make a simple page unusable. Rather than leaving users to a mass of polyfills and potential JavaScript errors, we give them a basic but functional experience.
Make a clean break
What could a mustard cut look like going forward? You could conduct a feature query using JavaScript to conditionally load the stylesheet, but relying on JavaScript introduces a brittleness that would be best to avoid. You can’t use @import inside an @supports block, so we’re left with media queries.
The following query will prevent the CSS file from being delivered to any version of Internet Explorer and older versions of other browsers:
<link id="mustardcut" href="stylesheet.css" media=" only screen, only all and (pointer: fine), only all and (pointer: coarse), only all and (pointer: none), min--moz-device-pixel-ratio:0) and (display-mode:browser), (min--moz-device-pixel-ratio:0) ">
We’re not really interested in what particular features this query is testing for; it’s just a hacky way to split between legacy and modern browsers. The shiny, modern site will be delivered to Edge, Chrome (and Chrome for Android) 39+, Opera 26+, Safari 9+, Safari on iOS 9+, and Firefox 47+. I based the query on the work of Andy Kirk. If you want to take a cutting-the-mustard approach but have to meet different support demands, he maintains a Github repo with a range of options.
We can use the same media query to conditionally load a Javascript file. This gives us one consistent dividing line between old and modern browsers:
(function() { var linkEl = document.getElementById('mustardcut'); if (window.matchMedia && window.matchMedia(linkEl.media).matches) { var script = document.createElement('script'); script.src = 'your-script.js'; script.async = true; document.body.appendChild(script); } })();
matchMedia brings the power of CSS media queries to JavaScript. The matches property is a boolean that reflects the result of the query. If the media query we defined in the link tag evaluates to true, the JavaScript file will be added to the page.
It might seem like an extreme solution. From a marketing point of view, the site no longer looks “professional” for a small amount of visitors. However, we’ve managed to improve the performance for those stuck on old technology while also opening the possibility of using the latest standards on browsers that support them. This is far from a new approach. All the way back in 2001, A List Apart stopped delivering a visual design to Netscape 4. Readership among users of that browser went up.
Front-end development is complicated at the best of times. Adding support for a technologically obsolete browser adds an inordinate amount of time and frustration to the development process. Testing becomes onerous. Bug-fixing looms large.
By making a clean break with the past, we can focus our energies on building modern sites using modern standards without leaving users stuck on antiquated browsers with an untested and possibly broken site. We save a huge amount of mental overhead. If your content has real value, it can survive without flashy embellishments. And for Internet Explorer users on Windows 10, Edge is preinstalled. The full experience is only a click away.
Internet Explorer 11 with its ever-present “Open Microsoft Edge” button.
Developers must avoid living in a bubble of MacBook Pros and superfast connections. There’s no magic bullet that enables developers to use bleeding-edge features. You may still need Autoprefixer and polyfills. If you’re planning to have a large user base in Asia and Africa, you’ll need to build a site that looks great in Opera Mini and UC Browser, which have their own limitations. You might choose a different cutoff point for now, but it will increasingly pay off, in terms of both user experience and developer experience, to make use of what the modern web has to offer.
https://ift.tt/2KlVR59
0 notes
aracecvliwest · 7 years ago
Text
The Slow Death of Internet Explorer and the Future of Progressive Enhancement
My first full-time developer job was at a small company. We didn’t have BrowserStack, so we cobbled together a makeshift device lab. Viewing a site I’d been making on a busted first-generation iPad with an outdated version of Safari, I saw a distorted, failed mess. It brought home to me a quote from Douglas Crockford, who once deemed the web “the most hostile software engineering environment imaginable.”
The “works best with Chrome” problem
Because of this difficulty, a problem has emerged. Earlier this year, a widely shared article in the Verge warned of “works best with Chrome” messages seen around the web.
Hi Larry, we apologize for the frustration. Groupon is optimized to be used on a Google Chrome browser, and while you are definitely able to use Firefox or another browser if you'd like, there can be delays when Groupon is not used through Google Chrome.
— Groupon Help U.S. (@GrouponHelpUS) November 26, 2017
Hi Rustram. We'd always recommend that you use Google Chrome to browse the site: we've optimised things for this browser. Thanks.
— Airbnb Help (@AirbnbHelp) July 12, 2016
There are more examples of this problem. In the popular messaging app Slack, voice calls work only in Chrome. In response to help requests, Slack explains its decision like this: “It requires significant effort for us to build out support and triage issues on each browser, so we’re focused on providing a great experience in Chrome.” (Emphasis mine.) Google itself has repeatedly built sites—including Google Meet, Allo, YouTube TV, Google Earth, and YouTube Studio—that block alternative browsers entirely. This is clearly a bad practice, but highlights the fact that cross-browser compatibility can be difficult and time-consuming.
The significant feature gap, though, isn’t between Chrome and everything else. Of far more significance is the increasingly gaping chasm between Internet Explorer and every other major browser. Should our development practices be hamstrung by the past? Or should we dash into the future relinquishing some users in our wake? I’ll argue for a middle ground. We can make life easier for ourselves without breaking the backward compatibility of the web.
The widening gulf
Chrome, Opera, and Firefox ship new features constantly. Edge and Safari eventually catch up. Internet Explorer, meanwhile, has been all but abandoned by Microsoft, which is attempting to push Windows users toward Edge. IE receives nothing but security updates. It’s a frustrating period for client-side developers. We read about new features but are often unable to use them—due to a single browser with a diminishing market share.
Internet Explorer’s global market share since 2013 is shown in dark blue. It now stands at just 3 percent.
Some new features are utterly trivial (caret-color!); some are for particular use cases you may never have (WebGL 2.0, Web MIDI, Web Bluetooth). Others already feel near-essential for even the simplest sites (object-fit, Grid).
A list of features supported in Chrome but unavailable in IE11, taken from caniuse.com. This is a truncated and incomplete screenshot of an extraordinarily long list. The promise and reality of progressive enhancement
For content-driven sites, the question of browser support should never be answered with a simple yes or no. CSS and HTML were designed to be fault-tolerant. If a particular browser doesn’t support shape-outside or service workers or font-display, you can still use those features. Your website will not implode. It’ll just lack that extra stylistic flourish or performance optimization in non-supporting browsers.
Other features, such as CSS Grid, require a bit more work. Your page layout is less enhancement than necessity, and Grid has finally brought a real layout system to the web. When used with care for simple cases, Grid can gracefully fall back to older layout techniques. We could, for example, fall back to flex-wrap. Flexbox is by now a taken-for-granted feature among developers, yet even that is riddled with bugs in IE11.
.grid > * { width: 270px; /* no grid fallback style */ margin-right: 30px; /* no grid fallback style */ } @supports (display: grid) { .grid > * { width: auto; margin-right: 0; } }
In the code above, I’m setting all the immediate children of the grid to have a specified width and a margin. For browsers that support Grid, I’ll use grid-gap in place of margin and define the width of the items with the grid-template-columns property. It’s not difficult, but it adds bloat and complexity if it’s repeated throughout a codebase for different layouts. As we start building entire page layouts with Grid (and eventually display: contents), providing a fallback for IE will become increasingly arduous. By using @supports for complex layout tasks, we’re effectively solving the same problem twice—using two different methods to create a similar result.
Not every feature can be used as an enhancement. Some things are imperative. People have been getting excited about CSS custom properties since 2013, but they’re still not widely used, and you can guess why: Internet Explorer doesn’t support them. Or take Shadow DOM. People have been doing conference talks about it for more than five years. It’s finally set to land in Firefox and Edge this year, and lands in Internet Explorer … at no time in the future. You can’t patch support with transpilers or polyfills or prefixes.
Users have more browsers than ever to choose from, yet IE manages to single-handedly tie us to the pre-evergreen past of the web. If developing Chrome-only websites represents one extreme of bad development practice, shackling yourself to a vestigial, obsolete, zombie browser surely represents the other.
The problem with shoehorning
Rather than eschew modern JavaScript features, polyfilling and transpiling have become the norm. ES6 is supported everywhere other than IE, yet we’re sending all browsers transpiled versions of our code. Transpilation isn’t great for performance. A single five-line async function, for example, may well transpile to twenty-five lines of code.
“I feel some guilt about the current state of affairs,” Alex Russell said of his previous role leading development of Traceur, a transpiler that predated Babel. “I see so many traces where the combination of Babel transpilation overhead and poor [webpack] foo totally sink the performance of a site. … I’m sad that we’re still playing this game.”
What you can’t transpile, you can often polyfill. Polyfill.io has become massively popular. Chrome gets sent a blank file. Ancient versions of IE receive a giant mountain of polyfills. We are sending the largest payload to those the least equipped to deal with it—people stuck on slow, old machines.
What is to be done?Prioritize content
Cutting the mustard is a technique popularized by the front-end team at BBC News. The approach cuts the browser market in two: all browsers receive a base experience or core content. JavaScript is conditionally loaded only by the more capable browsers. Back in 2012, their dividing line was this:
if ('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) { // load the javascript }
Tom Maslen, then a lead developer at the BBC, explained the rationale: “Over the last few years I feel that our industry has gotten lazy because of the crazy download speeds that broadband has given us. Everyone stopped worrying about how large their web pages were and added a ton of JS libraries, CSS files, and massive images into the DOM. This has continued on to mobile platforms that don’t always have broadband speeds or hardware capacity to render complex code.”
The Guardian, meanwhile, entirely omits both JavaScript and stylesheets from Internet Explorer 8 and further back.
The Guardian navigation as seen in Internet Explorer 8. Unsophisticated yet functional.
Nature.com takes a similar approach, delivering only a very limited stylesheet to anything older than IE10.
The nature.com homepage as seen in Internet Explorer 9.
Were you to break into a museum, steal an ancient computer, and open Netscape Navigator, you could still happily view these websites. A user comes to your site for the content. They didn’t come to see a pretty gradient or a nicely rounded border-radius. They certainly didn’t come for the potentially nauseating parallax scroll animation.
Anyone who’s been developing for the web for any amount of time will have come across a browser bug. You check your new feature in every major browser and it works perfectly—except in one. Memorizing support info from caniuse.com and using progressive enhancement is no guarantee that every feature of your site will work as expected.
The W3C’s website for the CSS Working Group as viewed in the latest version of Safari.
Regardless of how perfectly formed and well-written your code, sometimes things break through no fault of your own, even in modern browsers. If you’re not actively testing your site, bugs are more likely to reach your users, unbeknownst to you. Rather than transpiling and polyfilling and hoping for the best, we can deliver what the person came for, in the most resilient, performant, and robust form possible: unadulterated HTML. No company has the resources to actively test their site on every old version of every browser. Malfunctioning JavaScript can ruin a web experience and make a simple page unusable. Rather than leaving users to a mass of polyfills and potential JavaScript errors, we give them a basic but functional experience.
Make a clean break
What could a mustard cut look like going forward? You could conduct a feature query using JavaScript to conditionally load the stylesheet, but relying on JavaScript introduces a brittleness that would be best to avoid. You can’t use @import inside an @supports block, so we’re left with media queries.
The following query will prevent the CSS file from being delivered to any version of Internet Explorer and older versions of other browsers:
<link id="mustardcut" href="stylesheet.css" media=" only screen, only all and (pointer: fine), only all and (pointer: coarse), only all and (pointer: none), min--moz-device-pixel-ratio:0) and (display-mode:browser), (min--moz-device-pixel-ratio:0) ">
We’re not really interested in what particular features this query is testing for; it’s just a hacky way to split between legacy and modern browsers. The shiny, modern site will be delivered to Edge, Chrome (and Chrome for Android) 39+, Opera 26+, Safari 9+, Safari on iOS 9+, and Firefox 47+. I based the query on the work of Andy Kirk. If you want to take a cutting-the-mustard approach but have to meet different support demands, he maintains a Github repo with a range of options.
We can use the same media query to conditionally load a Javascript file. This gives us one consistent dividing line between old and modern browsers:
(function() { var linkEl = document.getElementById('mustardcut'); if (window.matchMedia && window.matchMedia(linkEl.media).matches) { var script = document.createElement('script'); script.src = 'your-script.js'; script.async = true; document.body.appendChild(script); } })();
matchMedia brings the power of CSS media queries to JavaScript. The matches property is a boolean that reflects the result of the query. If the media query we defined in the link tag evaluates to true, the JavaScript file will be added to the page.
It might seem like an extreme solution. From a marketing point of view, the site no longer looks “professional” for a small amount of visitors. However, we’ve managed to improve the performance for those stuck on old technology while also opening the possibility of using the latest standards on browsers that support them. This is far from a new approach. All the way back in 2001, A List Apart stopped delivering a visual design to Netscape 4. Readership among users of that browser went up.
Front-end development is complicated at the best of times. Adding support for a technologically obsolete browser adds an inordinate amount of time and frustration to the development process. Testing becomes onerous. Bug-fixing looms large.
By making a clean break with the past, we can focus our energies on building modern sites using modern standards without leaving users stuck on antiquated browsers with an untested and possibly broken site. We save a huge amount of mental overhead. If your content has real value, it can survive without flashy embellishments. And for Internet Explorer users on Windows 10, Edge is preinstalled. The full experience is only a click away.
Internet Explorer 11 with its ever-present “Open Microsoft Edge” button.
Developers must avoid living in a bubble of MacBook Pros and superfast connections. There’s no magic bullet that enables developers to use bleeding-edge features. You may still need Autoprefixer and polyfills. If you’re planning to have a large user base in Asia and Africa, you’ll need to build a site that looks great in Opera Mini and UC Browser, which have their own limitations. You might choose a different cutoff point for now, but it will increasingly pay off, in terms of both user experience and developer experience, to make use of what the modern web has to offer.
https://ift.tt/2KlVR59
0 notes
cavscout81-blog1 · 8 years ago
Photo
Tumblr media
You're Pregnant! Just Kidding. Here's the News You Missed This Week.
Sometimes, I wonder if the internet can be boiled down to a single sentiment: "Oops."
That was certainly the underlying theme of some major news items this week, like the one our headline alludes to -- more on that below.
After all, the digital landscape is a setting that can be described at once as a playground and a hellscape, where mistakes never really disappear (even if you quickly delete them, thanks to screen shots), contentious competition never ends, and consumers are often left wondering, "What the hell is going on? I just want a machine to read my schedule to me in the morning."
This week -- as with many others -- was a busy one in the worlds of tech and marketing. Here's what you missed.
It's a Boy! Nope, It's Just a Glitch From Amazon
If our headline freaked you out, you're not alone: a yet-to-be-determined number of Amazon customers experienced a similar sentiment this week when they mistakenly received emails regarding phantom baby registries.
Last Tuesday, several Amazon customers reported receiving an email from the online merchant reading, "Someone great recently purchased a gift from your baby registry!" And while the internet typically can't be used for a pregnancy test -- unless you count Target's 2012 public relations disaster after predicting a teen's pregnancy by tracking her shopping habits -- it still caused brief moments of panic among those who got the email.
There were some fears that the emails were a result of phishing attempts, but in the end, Amazon confirmed to TechCrunch that the emails were the result of a technical glitch, going on to send apology emails to the customers that received them. It's not clear what exactly happened or what the the glitch entailed, but let this be a lesson to marketers: triple check your email workflows.
Among the panic, Twitter had quite a bit of fun with the error:
More Trouble for Targeted Ads
Following last week's ProPublica revelation that Facebook was allowing advertisers to use anti-Semitic targeting criteria for promoted content, it was quickly discovered that Google and Twitter had similarly flawed advertising technology.
BuzzFeed was the first to discover that the Google allowed advertisers to use anti-Semitic and racially-charged search terms to target certain audiences, and soon after, the Daily Beast reported that Twitter allowed similar targeting criteria, which resulted in an audience of roughly 26.3 million users.
All three companies have since responded that they either have or are working to remove this criteria, with Facebook COO Sheryl Sandberg publishing a very lengthy, formal apology on Wednesday:
And More From Facebook
Yesterday, Facebook released an official statement on its plans to hand over important documents regarding the ads it sold to Russian organizations to Congress, as well as a second one with answers to several "hard questions" on what happened to cause something like that to happen in the first place.
The gravity of that move is one that cannot be emphasized enough. As Mike Isaac writes for the New York Times:
" ... the move to work with the congressional committees underscored how far the social network has strayed from being a mere technology company and how it has increasingly had to deal with the unintended consequences of the tools it provides to reach the more than two billion people who use the site regularly."
Shortly after those posts went live, Mark Zuckerberg delivered a live address on his own Page to address the efforts it would make moving forward to "protect the integrity of the democratic process."
Some believe that this address, along with Sandberg's statement form the previous day, is the first of many efforts by Facebook to proactively dodge federal regulation by staying one step ahead of congressional actions or attempts to curb what such channels and platforms can actually do. It's even, perhaps, a defensive move, as the legality of the aforementioned ad sale remains in question.
Meanwhile, Twitter is also due to appear at a Senate Intelligence Committee briefing nxt week to further examine its own possible role in influencing the most recent U.S. presidential election.
The Uber-Alphabet Lawsuit Got Even Messier
Last week, we filled you in on the ongoing lawsuit between Uber and Alphabet, Inc company Waymo over proprietary self-driving technology. Since then, there have been a few key developments.
First, over the weekend, Alphabet requested that the trial be postponed after receiving crucial information that the court ordered Uber to turn over. Seeing that information, it seemed, made Waymo realize just how much was at stake with Uber being in possession of these materials, and needed more time to review all of the evidence supporting its case. Megan Rose Dickey of TechCrunch tweeted a key portion of its statement on the issue:
Waymo wants to postpone the trial w/ Uber. Here's Waymo's statement.
Replies
11 Retweet
33 likes
Uber, of course, objected to that request, charging that Alphabet is trying the delay the trial -- December 5 is the proposed postponed date -- not because of surmounting evidence, but because of a lack of it. The full opposition can be found here:
That same judge also gave Uber permission to publicly disclose some of what Waymo is hoping to gain from the lawsuit: $2.6 billion for one stolen (allegedly) trade secret. But there are still eight other secrets that Waymo says to have been stolen by Uber, and no monetary figure has yet been assigned to them.
At this point, the trial is still set to begin on October 10, and recently-appointed Uber has a decision to make: whether or not he wants to settle out of court, or continue to defend the company's name in what promises to be a complex, drawn-out trial.
It's just one of many problems for Uber these days. With the release of iOS 11 this week, Uber was forced to allow users to block the app from tracking their locations.
Additionally, the BBC broke news this morning that Transport for London would not renew the ride-sharing app's private hire license, calling it "not fit and proper" to carry on operations there. Uber has 21 days to dispute that decision and can continue providing services in London until then.
Attack of the Flying Eggplants
I'll admit it -- my new favorite feature of iOS 11, the latest operating system available on the iPhone, is probably the ability to fill your iMessage recipient's screen with the next, image, or emoji of your choice. But just for the sake of due diligence, I tested it by sending this gem to one of my colleagues:
But my low bar for amusement aside, the new operating system comes with some features that are actually, you know, productive. Here are our five favorites:
Screen Recording. So, just how did I capture the magical moment above? iOS 11 has a screen record tool that saves the video in your camera roll.
Do Not Disturb While Driving. This "do not disturb" feature uses your car's bluetooth connection to turn on automatically while you're driving.
Screenshot Tools. The new iOS has a brilliantly simple new screenshot feature, which lets users draw on, crop, or highlight with ease.
GIFs in Camera Roll. The camera roll now allows users to save and view GIFs, plus the newest editing tools even enable you to turn your live photos into GIFs.
Notes App Upgrade. The notes app now features useful tools like a document scanner, and the ability to insert all kinds of formatting into your note.
And, finally -- we can't forget ARKit -- Apple's mobile augmented reality technology -- which has been a big portion of the talk of the iPhone town in the days following iOS 11's release. I tweeted about my experience with using it on Wayfair's home shopping app:
So, I don’t think this is gonna fit. #ARKit
Replies
Retweets
44 likes
What's Google Up To?
A lot happened for the search giant this week, beyond its parent company's lawsuit and a significant team acquisition. First, there were some leaks around the rumored October 4th release of the Pixel 2 and Pixel XL, but they were mostly limited to the device's available colors, as per Droid Life.
That same outlet also leaked the rumored Google Home Mini, a much smaller version of the Google Home, which many are calling the company's response to the Echo Dot. And on Tuesday, a “media streaming device” -- the same language used to describe the original Google home -- with features remarkably similar to the first Google Home was submitted to the FCC. These developments all align with the timeline leading up to the October 4th press event.
In non-Pixel or Home news, Google announced four new features this week:
The Google app on iOS will now have a suggested content feature, in which users are provided with visual links to more information on what they're reading about.Source: Google
Contact information like phone numbers, addresses, and email addresses will now -- finally -- be automatically converted into hyperlinks on Gmail. Official announcement here.Source: Google
Natural language processing has been added to Cloud Search -- a search tool within G Suite -- to help users more quickly find information based on the words that Google deemed to be the most frequently used among G Suite customers: "what," "who," "how" or "when." For example, if you remember which one of your colleagues sent you a shared document, but can't remember what it was called, now you can search for it with a query like, "Docs shared by Karla."Source: Google
Read receipts are coming to Gmail -- kind of. On Wednesday, Google announced the launch of Email Log Search, which allows G Suite users to track the status of sent emails, such as where it is (e.g., the trash), or if it's been opened.Source: Google
Actually, No, Equifax Still Isn't Handling This Data Breach Well
Remember all of those marketing takeaways from the Equifax hack that we outlined last week? Well, it turns out that Equifax hasn't exactly heeded that advice -- or that of too many others, it seems. In fact, it was revealed earlier this week that the company's customer service agents on Twitter were directing customers to a fake website that, visually, was nearly identical to the site Equifax set up for users to enroll in free credit marketing.
The clone site was created by by software engineer Nick Sweeting, whose intentions weren't malicious, but rather, were to show how poorly Equifax was monitoring and managing the situation.
Not only did they tweet the wrong link, they tweeted it 3 times. #Equihax
1616 Replies
8282 Retweets
123123 likes
Sweeting was quite transparent about that in creating the site, which has since been taken down, along with any tweets directing customers to it -- it was titled, "Cybersecurity Incident & Important Consumer Information Which is Totally Fake, Why Did Equifax Use A Domain That’s So Easily Impersonated By Phishing Sites?”
The "fake" site did not collect any personal information, but Sweeting pointed out how easily it would be for other hackers to create an equally identical site that did using the Linux command "wget" -- and he blamed that on Equifax's choice to establish an entirely new domain, rather than create an equifax.com subdomain.
"wget" essentially permits anyone -- yes, anyone at all -- "to just suck their whole site down with wget and throw it on a ... server,” Sweeting explained in an email to the New York Times. His version, he said, had "the same type of SSL certificate as the real version, so from a trust perspective, there’s no way for users to authenticate the real one vs. my server.”
Creating a subdomain should have been the obvious move for Equifax, Carnegie Mellon IS Professor Rahul Telang told the outlet, "so that if somebody tries to fake it, it becomes immediately obvious.”
This development comes amid news that Equifax actually suffered more than one hack this year. In addition to the headline-making breach in July, the company experienced an earlier one in March, creating even more confusion around the decision to wait until September to alert customers, as well as the massive August stock sale by its executives.
Odds and Ends
I Don't Want to Grow up, Because That Means I Have to File for Chapter 11
For anyone who grew up begging their parents to take them to the toy store, this week came with some sad news: Toy store chain Toys ‘R’ Us filed for Chapter 11 bankruptcy protection this week. Many were quick to blame its demise on Amazon, which has been named the culprit for the financial woes of many other brick-and-mortar retailers, but in reality, the cause may have reached far beyond that. As Recode reports, the move is largely the result of a "cocktail" of limited product selection, a lack of competitive pricing, and piling debt after several 2005 buyouts.
For the sake of our own childhood memories, we hope Toys 'R' Us is able to turn things around.
The DHS Got Served ... By an Association of VCs
Allow us to introduce you to the International Entrepreneur Rule: a federal measure that, had it passed in July 2017 as planned, would have made it easier for foreign entrepreneurs to obtain visas for the purpose of founding startups in the U.S.
However, the same month it was slated to be effective, the current presidential administration delayed it until March 2018, with many believing that it will only go on to be completely dismantled. But this week, Axios reports, the National Venture Capital Association (NVCA) has brought forth a lawsuit against the Department of Homeland Security, on the grounds that the decision to delay the enforcement of the rule violates the Administrative Procedure Act -- which says that the department must first "solicit public comment."
The formal complaint can be downloaded here.
No Empty Nest Here
Nest, which was acquired by Google back in 2013, held its first major press event this week, where it unveiled a number of new products. Among them were the Nest Cam IQ -- this writer's personal favorite unveiling from the launch -- an outdoor security camera that can detect movement and differentiate whether it's coming from a person or an object. If it's a person, the system alerts you, as well as letting you know if it senses a barking dog or a talking person. Even better: it's equipped with facial recognition, so that if someone familiar comes into the camera's range, like your regular dog walker, the system will recognize that it's likely not an intruder.
Also announced was the Nest Hello video doorbell, which uses similar camera technology to the above to alert users if a person is within range, even if they don't ring. Finally, an overall comprehensive security system was unveiled called Nest Secure, which exists of three key components: Nest Guard, where the system is armed and disarmed with the second component, Nest Tag, which is similar to a key fob and can be used to turn off the alarm system. The first piece is Nest Detect, which can sense general motion and the opening or closing of windows or doors.
Check out the video summary here:
That's all for this week! Next week, we're off to INBOUND 2017: one of the world's largest and most remarkable marketing and sales industry events. We'll be back with our regular news coverage the first week in October.
Until then -- happy autumn.
Originally published September 22 2017, updated September 23 2017
0 notes
topicprinter · 8 years ago
Link
Apologies if this isn't the right way to crosspost, I've posted in Entrepreneurs but thought I would post here as well as there's a slightly different user base.I've seen a lot of posts on here about marketing strategies so I thought I'd post about the other side of marketing, how to actually convert those leads to sales.You’ve got a great product or service, know your target customers well and have an ad campaign sending traffic to your website - but you’re not making sales. Or not as many as you thought you would.Having a focussed landing page, optimised to convert for one goal can make a massive difference to the success of any campaign. I've seen lots of entrepreneurs "throw up" a landing page expecting it to perform fine without considering what they really want out of it.In reality, it's should be just as valuable a part of your business as the marketing campaign itself and should command as much time and effort in getting right.They have an advantage too as they are easily testable and small tweaks can make a big difference to conversion rates so there's potential for a large payoff from a small amount of time.How do you create a landing page that converts?Define your customerBefore you start designing your page, start with who you want to target. What group of people are you solving a problem for and who are you hoping clicks on your links and buys your products or signs up for your newsletter.Create an ideal customer and have them in your mind throughout the design process of your landing page.Identify what their problems and painpoints are. What problem are they looking to solve and why haven’t they found their solution yet?Define your goalWhat do you want your leads to do once they are on your page? Buy a product? Sign up to a newsletter? Leave their information? Pick one! Having multiple goals on the same page will reduce your conversion rate.People don’t cope well when they’re bombarded with lots of different grabs for their attention. You’ve got them this far. Focus their attention on what you (& they!) want them to do.A successful landing page has one reason for existing, one goal, and one outcome.Close the other exitsA landing page should have one outcome for your lead. Completing the action you want them to take. Any other links add to the cognitive load on the lead and will reduce the chance that they will convert. Keep things simple. Increase your conversions.Streamline your page so that there is one option, one offer and one exit. Your other links give your lead the option of forgetting where they were, getting distracted and moving on from your offer without buying/signing up.Less options on display help your leads to make better and faster decisions.One reward for one action.Lay your solution out for them and give them one action to complete to receive the benefits from you.A convincing headlineThe headline should be the first thing a prospective customer sees when they land on your page. Make sure it grabs their attention and addresses both the pain of your readers and the benefits of your product.A good headline:Stands out and is clear. This means no jargon and it must be unmissable on your page.Gets across your value proposition. It should be concise and convey why they should use your product/service. (Your Benefits)Is about the reader and solves their problem. It needs to be relevant to your readers and empathise with their needs. (Their Pain)Use a supporting headline to flesh out the context of the main one to ensure you’re not too vague so that readers can quickly determine what you are offering and how it will help them.Powerful calls to actionNo matter what you’re offering leads as a reward, your call to action needs to be powerful, persuasive and clear.Don’t leave any doubt in a lead’s mind as to the benefits they will get from clicking that link or inputting their email address.Ambiguity leads to people guessing what they should do next and ultimately not doing anything at all. You need to make clear the reward they will receive from completing the action you want them to.If you need information from a prospect, keep the fields required to the bare essentials. Generally, the fewer fields users have to complete, the more will finish the form and convert for you.Persuasive copyDescribe the pain of your ideal customer’s current situation, empathise with them and then position yourself/your product as the solution to their problems.Persuade constantly.Explain what your product or service is and the benefits to your customers of buying with you. Talk about the features and package you are selling. All while persuading your leads to buy from you.Find their pain points and keep prodding at it throughout your page.Don’t get hung up on trying to make your product sound like something it’s not or trying to impress with technical language. Be clear and concise in everything you write, put your leads at ease and reduce any ambiguity around you and your offer.People tend to skim when reading online so write to make your product’s benefits stand out.Tell a story with visual cuesHighlight important aspects of your product and value proposition with relevant images and videos. Images help people to connect with your product or service and make it easier for them to visualise you solving their problem.Show them how much better their life will be like with your product or service!The image you use behind or close to your headline should expand on your value proposition and help to cement your concept and the benefits in your lead’s mind.Videos can be a compelling way to tell a story of your product and show the best features and benefits. Videos can make a relatively complex subject accessible for all without the need for pages of text.They don’t hurt your conversions either, in fact videos have been shown to boost conversion rates by up to 86%.Prove your valueYou’ve brought your prospect so far but they are some still not convinced.Drop in great testimonials from previous customers, display the logos of prestigious companies you have worked with and use trust seals to put leads at ease about their perceived risks of working with you.Humans are social creatures and showing how many satisfied customers you already have and who you have worked with make it easy for others to ‘follow the crowd’.Message matchMake sure the ad that brings people to your page matches the content of the page. There is nothing that makes people exit your page faster than not recognising where they are.The ad is the first impression of your brand for many people and should be the start of the sales process that will be completed on your landing page. Get off to the right start by ensuring the first message people see when they land on your page matches the ad that brought them there!Test Everything!A well designed landing page is a good start, but until you see it in action you won’t know what is best for converting your leads.Everything on a landing page is testable and should be tested to increase your conversion rate constantly.A/B testing is the best way to achieve the optimally converting page. Test different iterations one at a time. Changing everything at once may result in a change of conversion rate but you won’t know what specifically caused it.Pick an element (Headline, call to action, layout, offers, images, copy etc.).Create a copy of your page and change the one element you chose above.Split the traffic from your ads to the 2 versions of your page for a set amount of time/number of visitors per page.Test simultaneously to rule out any changes in the conversion rate because of external variables.Check out the results. Did one page perform better?Make sure any results are statistically significant (there are calculators available online to find out if yours are)If your new version performed statistically better than the control version, trust the results and make your changes permanent.Choose a new element and test again!As well as A/B testing, test on mobile and on different screens to make sure your page is not being compromised by poor responsiveness. On every type of screen ensure truly important elements remains above the fold (headline + call to action usually).That's about it, there's loads more I could've said and if you want any more info comment below.Thanks!
0 notes