>Both teams on both sides wanted this to come together
>It takes apple to make a move for us to break through communication issues and get anything done
Imagine paying millions of dollars for "the best" developers, designers, managers, yet they can't even communicate with each other properly to align with common interests. FAANG culture is becoming so slow and ineffective that I'm not surprised they are cutting tens of thousands of employees.
Where I'm from we have an expression - "many grandmas, lazy/spoiled child" - and it's especially rings true in creative work.
For something truly brilliant to be created, you need someone with a vision and freedom to implement it. It's extremely rare for something brilliant to come from committee or top-down designed by managers delegating work to a bunch of teams.
It's one of the reasons even open-source struggles with design - you need one or a tiny team of aligned brilliant people to work together, and you need to give them freedom to do it. Not constrain them with meetings, micromanaging the product and letting everyone express their opinion. That's how you get a terrible, bland, uninspiring design.
Recently I had a chance to work at a theatre production that ended up suffering from the same issue - the director had no vision but only an idea, so he delegated
different work to everyone, then micromanaged people and intersected into every attempt at collaboration with his own opinions and ideas. As new people were coming in, their ideas were added into the mix, creating a show that ended up being even worse than mediocre.
>FAANG culture is becoming so slow and ineffective that I'm not surprised they are cutting tens of thousands of employees.
In my experience it wasn't the excess employees (everyone seemed to be busy) but that processes in the org didn't match the size and leadership from the top down couldn't see the problem. So no efforts were made to make teams work better together and align their incentives.
A great example was API teams would ship incomplete and untested work as "done" because they were overworked and on an insane timeline. My front-end team tested the APIs for implementation and discovered all the missing parts, and then we had to document all of it and ask the team to fix it. The API team would then push back claiming we were wrong. My devs would have to spend hours on calls with them going over each missing piece and the API devs played dumb every time.
I would have to escalate to my manager and he felt pushing back on the other leads would burn political capital he didn't have. This wasn't just one API team, it was seven. Somehow the culture of the org caused them all to follow the same strategy to push their QA to other teams and delay completion. It was so crazy that they would get defensive saying "we have the best developers in the world, that is not possible."
I've never liked having an API team / Front End Team distinction. I don't think it makes good software in most cases, it creates that combative element between the teams due to different priorities that you saw. A team with a product, needs to have the freedom and ability to work at any level of the stack to get that product out, sure that rarely happens 100% and there is coordination between teams, but Vertical slice teams do it better than Horizontal slice teams in my experience.
In combative environments that's solved with a BFF maintained by the frontend team, and the backend gets away with exposing broad and generic API the frontend team reprocesses on their layer.
In sensible work environments, that's solved by aligning incentives at project level. If your frontend team crucially needs something done, but the backend can't give a shit, the problems run deeper than area of responsibility IMHO. Either what the frontend works on doesn't matter, or the backend team wants to sink the ship, or there's way too many fires to put out and the ship is already sinking.
Having mega teams or filling them with jack-of-all-trades types also has critical downsides.
backend for frontend. It's usually another layer between the frontend and the "real backend". So frontend calls BFF (usually a node server), and BFF calls the backend.
I've never liked having an API team / Front End Team distinction.
If there is only one front end that talks to the back end, then yes I agree. If there are 20 different front ends from 20 different teams, some of them external, that are expected to talk to the same API, then it makes a lot more sense.
In the case of 20 frontends to 1 backend, it might make more sense to organize it as 19 frontends to 1 front/backend.
In other words, have a team with front and back-end devs working together, with a frontend acting as a sensible default interaction to an API. This can be something as simple as a widget or component.
This front end is expected to have a full suite of tests running through the API (or an api test device -- this test device can also be used to better communicate the requirements to backend devs), and be well documented in how and why it's doing something.
That acts as an example for any other frontends. When they have questions or issues with the api, it also provides an immediate source of truth to show how to properly do something. And it provides confidence that the API is behaving in the expected fashion for the user experience being provided for.
The most successful APIs I've worked with have been done this way.
In one project we were rebuilding an old outdated UI. We started with being very strict about literally only implementing what was needed for frontend, for example not even a GET /widgets/{id} until there was a UI that needed it. We also explicitly built new models for this, separate from our database models, so it wasn't just "return everything in the table": if the UI only displayed half the fields, that's what was returned. A big benefit of this mindset was when we needed a list of things from joining multiple tables, there was no thought of pushing this to the front-end; we just made a viewmodel, did the work server-side and returned it.
Also, pretty early on we implemented Swagger (OpenAPI) and built in docs to our code. This helped establish it as a part of dev and the coding style that any new devs quickly bought into, as opposed to an afterthought everyone sees as a chore.
After we had a a dozen or so APIs done, we started opening it to customers. We'd add new things they'd request (but our UI didn't need), but strictly kept the use-case-first mindset, as well as continuing the UI port (page-by-page, effectively). Even a few years later, the feedback from our developer users was overwhelmingly positive, along the lines of "this is the best API I've ever used".
I work on a small team (2 backend devs, 2 frontend). The we are always arguing about the API. The frontend devs want the data for their components pre-formatted in 1 API call. The backend team wants to run a SQL query and return the entire record as JSON.
The test is to ask ask a full stack developer responsible for both sides what they would do! (And of course, accommodating the data needs of the UI is the answer.)
What a fullstack guy would do is irrelevant here, because if their requirements changed, they’d just redo it. It’s not about who does the job, but about where we end up at when the format becomes obsolete.
Likely scenario: backend formats data and moves on / gets busy elsewhere. Frontend changes, so that data is now required in a different format. Frontend decides to just reformat it at their side because of schedules. Now it’s a mess and nobody knows why.
The root of the problem is this stupid frontend/backend team division when it’s actually a single program. That’s where the idea of “let’s ask fullstack” comes from. But there’s no good answer this guy could give you, apart from “stop drawing stupid dividers across the whole”.
I agree. Sometimes it's easier to just return the record. It starts to suck when you get an array back and you have to loop through all n+1 results to query each additional record instead of just getting what you need in 1 request.
I've been called a conspiracy theorist before, but I believe this is why many frontend developers make their tooling and stack so complicated - to carve out their own niche to remain relevant. Just compare how simple and easy Java is to get up and running.
Ehhh... Java didn't start out that way. It felt like confusing hell and I wasn't sure what I was doing for a good reason and what I did because that's just what you did. EJB, Glassfish, Apache, WAL, something something Enterprise. Java the language is quite nice, the tooling can be quite insane. Yeah, don't forget the custom convoluted setup at some companies which only work with Eclipse, which suddenly slows down for no reason until you restart it. Then, you throw in some plugins and 50% of your screen real estate is gone.
Don't get me wrong, I quite like Java and the good tooling, but I'm more exposed to C# these days and Java feels like 90% the same, so I'm never compelled to go back.
Or you are maybe sarcastic, impossible to tell in text...
Side-edit: from the very beginning, Java was simple, when it was released. But in 2010 it felt super confusing to me.
I never had thought that in my life I'd have people longing for how easy java is lmao.
That coming from experience of managing various shit turborchargers like tomcat or jboss that just added tons of unnecesary complexity and zero benefits to 90% of apps that used them
There’s a special spot in hell reserved for the most vile systems managers. Their punishment is to repeatedly deploy WAR files to WebSphere. And each time it doesn’t work, and of course it never works, they have load up NetBeans to hand edit some XML config file and try again.
>Just compare how simple and easy Java is to get up and running.
Is it? I come from a very different background and I'm trying to get a small Java back-end up and running (Quarkus) and wow, it's so painful! There's a huge amount of buy in, to me, in the framework. I found Node, Go and Python to be easier in simply delivering a HTTP(S) server. I've gotta do it in Java for reasons.
You're probably referring to Spring boot, which I haven't used but I presume is fine.
However, the Spring framework in the 2000s was a horrible mess of "aspect oriented programming" and obscure XML configuration files. Till this day I had no idea what it was trying to achieve with that architecture (except maybe trying to avoid writing code by writing lots of XML configuration files instead)
The most popular "complex" front end stack these days is something like Next.js and it's a single button push to have a dev server that instantly responds and updates to saving a change in the code, and it's another single button to deploy. Just because you don't have familiarity with something doesn't make it complicated. It would be more or at least equally as complicated to write the majority of web applications using nothing but the browser provided abstractions directly.
Happens everywhere. I just advised a dev team manager not to push a code base to the test team while it was very visibly broken. You don’t need a tester to tell you it’s obviously broken, and any testing they do will just have to be redone anyway once the basic issues are sorted.
It happens much less in organizations where leadership set dates based on following basic scrum estimation and an earnest conversation rather than some manager throwing a dart at the calendar and using that random date as a lever against the teams driving artificial velocity.
Other parts of the org like UX and product need to fulfill their obligations as well or it won't work. I've found a lot of teams deep into a death march who never bothered to push product on incomplete requirements.
“Leadership” is always getting in their own way with meaningless reporting and honestly it ruins software development for me. I want it to just be a hobby, but to start over from a career (and salary) perspective would be devastating financially.
Whenever United Airlines decides to do something about the pilot shortage by paying for flight school (not just 10% of it) I’m down…
A few years ago, a recruiter reached out to me about a role at a company that sold a data analysis product which included geospatial mapping, and they needed an API developer. They had a Python API, but it was complicated and difficult to use and no one liked it. They wanted something simpler and easier for outside developers to work with.
I wrote them a cover letter that began:
- - -
When I design an API, I start with the apps. An API has no value on its own; its value comes from what you can build with it.
There may be an existing app that needs a new API feature, but I like to write a self-contained sample app for quick iteration on the API design and to include in the SDK.
An API also needs full test coverage, of course, but that comes after this initial step. Instead of test driven development, you might call it app driven development.
An SDK developer is also in a customer support role: they should write solid reference documentation and tutorials and sample apps, and interact directly with the users of the SDK. It’s not a job for someone who likes to just sit quietly and code.
One of my hobbies has always been to assist other developers in various online forums. Most recently this has been on Stack Overflow where I’ve posted over 600 quality answers. Previously I was known for my advice on the original jQuery mailing list and Windows programming forums.
- - -
I went on to list some of the APIs I've built.
The cover letter must have resonated with them, because they brought me in for interviews the next day, and made an offer the day after that.
This looked like my dream job! I love building APIs, working with the developers who use those APIs, and especially anything to do with geospatial data.
The team that hired me had been a startup that was acquired by a larger company in another state.
Things looked great at first. I was writing sample apps and imagining what APIs would make it easy to develop those apps.
And then a team of Architects from the larger company swooped in and decided that they should be the ones to design the new API.
They liked to design with UML charts of boxes and arrows, and thought the API should reflect the inner workings of their system.
I thought the API should be simple and easy to use for outside Python developers, and I tried to put myself in the shoes of those developers to understand what would make their jobs easier.
At one point my manager asked, "can't you just implement what the Architects have specified?"
I gave it my best, but by that time I was demoralized and unproductive. The company wanted me to do the exact opposite of what I was good at and what they hired me for.
I hope its okay that I take a chance at digging into this a little bit because I think its a pretty interesting thing you encountered here. I myself have been part of acquisitions, both good and bad, and worked at 2 monolithic organizations (university system and Apple, respectively) and 5 varying sized startups back to a monolithic organization via acquisition.
What strikes me as interesting here is the interference levels. The big question I have here is my initial thought upon reading this is: When the parent corps software architects came in to lay claim to the new frontiers of their acquisition, a few common scenarios come to mind [0][1]:
The first is that its entirely possible that the architects saw a greenfield way to grow their career by treating the acquisition as a chance to grow their stature. Therefore, its important for them to have their names all over things and for some understandable version of what gets done to mirror things others will understand, presumably so they have the easiest path to explain their OKRs (or similar). If this was the case, then the best thing you could have done in my view was to express early about collaborating and learning their process, and try to insert yourself into the discussions and appeal to them as an authority, while selling your idea as if it was their idea[2]. The metric for them is visibility, familiarity and career ascension, and thats the hidden goal in this scenario you have to play into.
Another scenario is that the team had already largely sold this upstairs (or it came as a top down directive) and they were simply under the thumb of need to make this follow the same uniform structure that the team had been following without any real room to make exceptions. It'd help if people just said this, but I have found often they don't, it comes out in other ways. A key thing I like to do when I interact with a team and they present me with something before I'ved asked for it in detail is ask if they already started or got some kind of sign off on it. If they did, you can appeal for changes, accept the design as is, or appeal to the higher stakeholder involved. In these situations, I've had the best luck drilling down into the surrounding circumstances and figuring out who it is that I need to build a relationship with to change the circumstances for the better, whenver possible. These are more political in nature and really will reveal alot about culture, so its important to use a deft hand. I've been in situations like this, and I've usually pitched something to the effect of
you don't want this acquired tech to go south, perhaps we should re think this before it becomes a larger problem (though decidedly not worded in this direct manner, again, use a deft hand)
Lastly, the last scenario that comes to mind for me is that its entirely possible that the team was generically tasked with taking on architectural responsibilities post acquisition and they simply had different culture / methodology for handling this, and only an appeal to a higher authority or diving into their existing process would help at all. I find generally its best to see if you can get into their process and start to form things around how they're already working that move the needle rather than trying to wholesale push back against whatever it is they're trying to achieve, that usually ends up being a losing proposition unless you have higher authorities vested in your success and outcomes over theirs, basically.
[0]: They're hypothetical and based on what I've seen and learned from others, but not representative of every situation, and may not be related at all to yours.
[1]: The advice I may lay out here, is hypothetical in that I can't speak to any specific situation, only pattern match. Sometimes, politics kills any good intent and attempts at proper compromise. That's when it becomes a red flag, depending on how, what, why, who and how often. can't win them all, unfortunately
[2]: I realize this is one of the tenants from books like How To make Friends And Influence People but its easier than you might think, if you haven't done it repeatedly it might sound sneaky but it boils down to agreeableness to a big degree.
> try to insert yourself into the discussions and appeal to them as an authority, while selling your idea as if it was their idea[2]. The metric for them is visibility, familiarity and career ascension, and thats the hidden goal in this scenario you have to play into.
Very difficult in practice, does anyone have stories on accomplishing this in a developer job?
I've had some success with this by working solo on an idea until it's ready to present. Then I'll talk in general terms about the idea with someone who has authority/political backing. It's important to talk high-level without showing them any of your work. I ask a few questions and I let them play with the idea. I try to spend most of the time listening. If I find that we are mostly on the same page I wait until the next day and show them my work saying something like "I threw this together based on what you were saying yesterday". This has worked well so far in my career. As the people who want to grind the corporate ladder ascend/move to bigger companies, they call me within a few months asking if I'd like to join them/their new team.
If I need to insert myself into a discussion I play dumb by asking a lot of questions even if I have knowledge/experience with the subject. To present alternative ideas I'll ask things like "Why wouldn't X work here?" or "What are the benefits of doing {current thing} instead of {what I want}?". Since I'll already have knowledge of the subject I can mostly tell when their responses don't make sense and I'll continue asking to follow-up questions trying to get them to see things from my perspective. I've done this a lot and it seems like it's a 50/50 shot that they'll be open to trying your ideas.
I think that's just a typical big company bog that sorta forms at every company. It's a human thing, not a valley thing or anything like that.
I work in a small company, 3 or 4 devs, couple business ops guys, sales guy and head of company.
Even I decide sometimes "naw I'm just making the call on this so it is consistent and works" and don't bring anyone else in on things because it is time to just make a call.
At a big company, I can't imagine the scale of human involvement in every decision... just takes one idiot to gum up the works too.
We're working with one company now who is paying through the nose because we keep having meeting after meeting about the same things over and over and this company has a "meeting terrorist" (my term) who is absolutely determined to bring up the decisions from last meeting to start every meeting and re-debate everything for no reason at all. It's madness.
Yeah the dude straight up follows that manual. It's uncanny ...
He even raises the prospect that there are other people (never mentioned) who has concerns about his own idea ... and he's the only one to bring those issues up, and argues against his own ideas.
Dude is either incompetent to an insane degree or straight up sabotaging the company.
I met a project manager like this on a client implementation a few years ago.
The client felt they needed 7 phases (requirements gathering, analysis, design etc. etc.) - this is for a SaaS product but whatever!
They also felt there were 8 business areas that each needed to be treated separately (support staff, retail, warehouse, etc. etc.).
So the day after we signed the contract I came in to find my inbox bulging with 56 (i.e. 7 x 8) two-hour meeting invites from the meeting terrorist. There was one for each combo of phase and business area - e.g. a two hour meeting for requirements gathering for the support staff area, another for design for the warehouse area, and so on. There were no delays between phases.
Untangling that shitfest did not start the project out on a good footing.
In big companies a winning strategy I found is to avoid communicating with managers and get things done and then show them what you did and let them do their best to manage it to death. Communicate with other technical people you trust as you develop your solution but don't give managers an opportunity to say yes or no as much as possible.
In these emails it looks like managers/execs are trying to figure out how they could/can beat apple. My answer: get out of the way of the highly talented people you've hired. The business aspect is only possible with a technical solution people like (not zune!). MS has many products like that that feel like a committee of managers designed them and really smart engineers did their best to overcome those decisions (until the last few years at least).
Making the guy who wrote sysinternals (got shit done despite MS) as head of Azure is one if their best decisions. Not that Azure is the best but it is definetly very usable and very popular with enterprise customers.
My current experience in FAANG for last decade has been anecdotally similar. I have come to one conclusion about people and I put them in 3 categoties-
1. one who have tons of ideas and just enough motivation to implement them.
2. One who are good at maintaining the existing product and are so scared of breaking the boundaries that they often add roadblocks to first category people.
3. People who don’t know jack, and are effective at management, politics and rest and vest.
Often at FAANG, being the beast that they are, the leadership is filled 2nd and 3rd category people. Perhaps that is why you find them good at keeping the lights on, and they satisfy the 1st by buying out the competition.
I, not hyping myself consider to be of first category, but I found going down this path of carving out your ideas is extremely hard. The people at leadership, management are extremely good at politics and portraying themselves bigger than they are. As a result, you need either lot of eng and support team to build anything, or find your way out to develop things on your own and get bought back into FAANG.
There’s an irony in your post that you’re complaining about FAANG culture , but Microsoft isn’t a FAANG. Meanwhile, Apple which is, did manage to pull it off.
1. During the time in question , Microsoft was by far the dominant tech company, Apple was just coming out of being “beleaguered” and the iPod was just becoming popular. Facebook didn’t exist, Amazon was thought to be a money losing company months away from bankruptcy, Netflix (which shouldn’t have ever been considered BigTech) was worried about being crushed by Blockbuster, and Google was far from dominant.
2. The original acronym coined by Cramer was “FANG” and left out Apple completely
3. By todays standards, when people talk about FAANG they mean BigTech - Microsoft has been one of the top 5 most valuable companies since 2000. As of right now, Netflix ranks 115 in the F500.
Good post. My simple take is that the FA(A)NG acronym just never made any sense at any time, never understood how some random nonsense coined by Jim Cramer got taken up by so many people who should know better.
I remember FANG representing pure internet companies which why Apple and Microsoft were left out. FANG represented the 4 no brainers of internet services. I guess it was a way to differentiate between the first internet bust hype and the internet companies with that are really working.
And in the top post comment about the layoffs, we’re reminded that Apple once again doesn’t fit in since they didn’t have a big round of layoffs like the rest of big tech, having largely avoided the overhiring that the others engaged in.
Bill Gates established that a large portion of Microsoft culture is based on the idea that software should be licensed and paid for. This was a radical vision for the Personal Computer market at the time. This vision is very narrow and only tangential touches on the wonders of computing.
This is well-aligned with why I am soon leaving my moderately high six figures to work on my own thing for a while completely unpaid. Success to me is building something great and that is something that no longer can be accomplished at a FAANG for the vast, vast majority of engineers at all levels. Sure you can twist some knobs and increase as revenue by 0.01% and be extremely valuable, but that is dead empty work.
That (IMNSHO) is why Linux is such a success. Torvalds may be a tyrant, but he has run a very tight, effective, productive, ship.
The same could be said for Steve Jobs. Since he has passed, the company seems to be losing its focus (It was sometimes focused on the wrong things, though, when he was at the helm). I think that a certain other, tyrannical CEO may be a good/awful example...
> For something truly brilliant to be created, you need someone with a vision and freedom to implement it. It's extremely rare for something brilliant to come from committee or top-down designed by managers delegating work to a bunch of teams. It's one of the reasons even open-source struggles with design - you need one or a tiny team of aligned brilliant people to work together, and you need to give them freedom to do it. Not constrain them with meetings, micromanaging the product and letting everyone express their opinion. That's how you get a terrible, bland, uninspiring design.
Not to overly critique but the iPhone and iPod were 'top down' and Zune, etc were the way you're describing. So Apple pulled it off
I really don’t think MS had the consumer product vision at the time to pull anything like a music store off. Apple had the vision to get from point A to point B and have huge swaths of consumers hop on board for the ride.
Wild oversimplification, but I always felt that MS suffered from their monopoly during the 90s in that simply never had to make products people really cared about. Apple did. And when the consumer market exploded — especially after touchscreen phones hit — MS just didn’t have any good muscles to use in the fight. They’d been sort of cheating it for so long that the stuff they kept bringing to market was just a total mess.
Steve Jobs and Apple can put together a music store and iPod prototype that was sexy, easy to use, and wowed the music executives who knew Napster and iPods were the future. Meanwhile Microsoft still manages to infuriate their own users with things like Windows 11 start menu. Not to mention the Microsoft Zune was definitely a dud.
> Not to mention the Microsoft Zune was definitely a dud.
Can't comment on the ecosystem since back then my only option was piracy, but the second and third generation players were very good. The HD is still one of the sleekest pieces of hardware that I used. But Apple couldn't be beat at that point.
Windows Mobile 10 was pretty garbage, until the last release or two, after it was already very discontinued and suddenly the UI performance got good. If it had launched like that, and if Intel hadn't dropped x86 for phones days before the Continuum demo, and maybe if Microsoft had kept their promises about WP8 devices being upgradable to 10 and relatedly if WM10 was viable on low end hardware like wp 7 and 8 were... It might have been worth it for developers to rebuild their apps as 'universal windows' apps that only worked on windows mobile 10, not the versions that actually had an install base.
I don't think Windows Phone was necessarily going to get beyond a strong third place, but WP 8.1 on a low end phone was a lot more usable than Android on similar specs, and Apple had/has no desire to touch that part of the market. Continuum on the high end, if the desktop side included win32, could have anchored the other end of the market.
Would have been nice if they hadn't told Firefox they couldn't build for WP though. Mobile IE was garbage, and Mobile Edge for WM10 managed to be worse.
> Windows Mobile 10 was pretty garbage, until the last release or two, after it was already very discontinued and suddenly the UI performance got good.
Oh I can guess what happened. Management and the talkers in general lost interest so some programmers could finally do what they wanted without anyone removing the start button or putting it in the middle of the task bar.
Windows phones hadn't had the start button since it was dropped in the WinCE to WP transition, so positioning of the start button was never an issue. ;p
I had all generations of Windows phones, and the experience was very good from the beginning.
The keyboard felt incredibly fast and the entire UX felt "slippery" in a good way. Things just seemed to move and slide under your fingers. I thought I'd get back to that feeling with an Android 120hz display, but it still doesn't feel the same.
Of course, the browser sucked, and it didn't have many apps. It also took forever for Samsung (and I think Nokia) to add a front-facing camera.
Zune HD hardware might've been solid, but the UI/software was slow and limited. I remember it taking ~5 seconds to load the calculator app. Not to mention nobody wanted a device like that without a robust App Store. I get people liked the Zune brand, but I think people overrated it.
There's another batch of emails from those times (can't find the link, but they will definitely appear again) where Gates is fuming that Apple has iPods, and none of their partners that have privileged access to Microsoft (like Creative) can come up with anything even closely resembling it. A few years later MS came out with Zune (so they had to do this themselves), but yeah, it was already too late.
This. It's always been wild to me how tone deaf Microsoft has always been. I always read these internal emails thinking how wildly out of touch with their own users they are.
Microsoft is not, and never has been, a consumer company. They’re a business that does things for other businesses. They understand that really well.
MS has had one successful consumer product: the Xbox. That seems to have been given total autonomy. And they have still screwed up a few times (Xbox One launch) by falling into old patterns.
Apple was a user company under Jobs. Is still kind of is (they clearly don’t care about businesses), but not as much, and I’m getting a bit worried.
I think the real tell for Apple’s future will be who Tim Cook chooses to replace him. Financially, Apple is incredibly strong. You could argue that operations was Apple’s weakest point when Jobs left, and that Cook was the right choice to cement profitability and the ops side of the business as CEO. Now it’s time for some new product lines to cannibalize existing products and bring the company forward. If Tim picks another business / operations guy to run the company instead of a product person, I do think the product first culture and DNA Jobs left will die out over time.
I know it was purposefully stated that way. Gates recognized “normal Microsoft” would ruin it. And I think they still tried by trying to get it based on normal Windows at one point as opposed to something highly custom based on the same kernel.
That’s just a Windows computer. They’re well reviewed, but I’m not sure they’re very consumer focused. I know plenty of business users use the too.
The Surface models with an ARM (can’t remember the name) were clearly more consumer aimed, but those flopped.
Really I meant more non-computer.
WebTV never set the world on fire (though it seems to have been more popular than most people realize). Zune was supposed to be pretty good, but initial marketing kind of killed it. And WMP wasn’t exactly loved software the way iTunes was. Remember when iTunes was great?
The Active Mates toys didn’t take off, though that’s not a surprise. Spot watches! And shoving Windows CE in the Dreamcast didn’t help.
I’m struggling to think of things MS has done outside of computers, peripherals, and the Xbox. There are probably tons, they’d try anything in the 90s.
Sometimes I start edge when something does not work in firefox. Everyone knows you want your browser to be quick, snappy and use few resources.
What does Edge do? It shows you a unskippable, un-closable "how-to" (as if I've never used a browser), and a make-an-account-and-sync nag. It takes a minute to click though, what a turn off!
It hasn't popped up for me in a while, but it definitively happens sometimes.
Interestingly I've had the same experience with firefox, I keep it installed as a fallback if something isn't working in chrome but every time I (infrequently) use it I have to dismiss several popups about new features and how to switch to it as my primary browser/import history etc.
I think I saw this too with firefox. My memory is a little hazy on this detail, but the _critical_ difference with firefox is that ctrl+t let me open a new tab and leave the sync-a-nag alone. Edge did not allow that, and I actually hat to wait while it was "Working on it".
This resonates so hard. I really wish that SW stop assuming that if they are just installed, then the user is a complete ignoramus who needs to be educated and onboarded. I (for reasons) frequently install OSes from scratch and all the boilerplate is so tedious.
Well, this is coming from the people who brought you the old Edge; the first browser with a input queue, so that the stop button waits until the browser engine is ready to stop it; and then all of your many other button presses play out after that.
Edge as a Chrome reskin is better than that at least. But then again, so was IE.
Microsoft also had the PlaysForSure platform https://en.wikipedia.org/wiki/Microsoft_PlaysForSure . This platform included standards and certification for hosting music for sale and for physical services that would download and play such DRMed music.
Rhapsody was one company that hosted a certified marketplace and sold the iRiver line of devices that worked reasonably well. They went on to buy the Napster brand eventually.
They (Rhapsody) even had a MUSIC SUBSCRIPTION service many years before anyone else did and it worked well. Everybody trashed it though saying nobody wanted to rent music.
Then of course Microsoft Zune didn't use the platform and developed their own thing. I think PlaysForSure is dead, but maybe some stub lives on.
EDIT: clarified subscription service was Rhapsody, not Microsoft
These two things are ~20 years apart. I don't think Microsoft in 2000 could have made iPod, but Apple also these days commonly fault on software experience.
> the Microsoft Zune was definitely a dud
I'm not too sure. There's a directly line from the Microsoft Zune to Window's modern design language. I don't think that's too much of a dud.
I think they're being "Appled" by Sony and Nintendo in the gaming industry though. The Xbox division has been on a downward spiral. Brand loyalty and Game Pass is arguably the only thing keeping them around. But as Sony continues to put out killer first party titles only on PS5, they will suffer.
I think a lot of Xbox Series X/S buyers wish they had a PS5 or buy a PS5 as well to play Sony first party titles. And come next generation, if Xbox doesn't have anything to compete with the quality of Sony's games, then I think they're dead. We're 2.5 years into the current generation and Microsoft has almost nothing to show for it except Forza and Halo, which was a delayed mess of a game. Add in to that the fact that most third party games perform better on PS5.
They've been on a downward trajectory after Xbox One, where they refuse to state how successful it is, with analysts predicting the PS4 outsold them 2-1. Xbox One was a terrible announcement and launch.
Xbox Series X/S are great pieces of hardware but they just can't compete with PlayStation in every other aspect. They've let down developers with the Series S since developers have to target 2 separate SKUs for Xbox, increasing developer effort. And in some cases developers are withholding their games from Xbox if they can't run on the weaker Series S, as you are not allowed to launch on Series X only (see Baldur's Gate 3). If Microsoft changes the rules around this it will benefit developers but it will let down consumers. PS5 is predicted to be outselling the Xbox even more so this generation. There's practically no reason for a consumer to buy an Xbox unless you're a fan of their exclusives, which they have done an excellent job of killing interest in.
I think next generation will be when Microsoft taps out and leaves the gaming hardware market, except for maybe their controllers. They will pivot to software only and focus on selling Game Pass for PC players and game streaming for the remaining consumers. Personally, I don't think that will have a good outcome.
It seems obvious to me that they want to move to more of a service model where you pay for an "Xbox" subscription and play on whatever devices you have and leave the traditional model behind. We can quibble about the wisdom but it seems like you're calling them a failure for doing exactly what they want to do.
I think Microsoft has put Sony in an impossible spot and, with the Activision merger about to go through, Sony is going to have an even harder time. The pandemic, I believe, has masked that people are migrating more and more to PC. Migrating to PC is a win for Microsoft. Kids play Switch and then are jumping right to PC. I don’t hear about a lot of Gen Z kids talk about PlayStation and have even heard it referred to as a boomer console and anecdotally the PlayStation crowd seems to be predominately 30+.
> I think Microsoft has put Sony in an impossible spot and, with the Activision merger about to go through
MS is being accused that they cant innovate themselves and have to buy other companies for their innovative product. This acquisition is just supporting that claim.
Afaik relative market share of consoles vs PC for gaming has stayed about the same with single digit shifts in the last few years.
Consoles are still dominant. I’d like to see statistics back up what you’re saying though.
PC gaming being a win for Microsoft doesn’t make a ton of sense to me. On console, they get a cut of every game sold. On PC they only get to profit of game pass games.
The only major win I see is preventing users from moving away from their OS.
> I don’t hear about a lot of Gen Z kids talk about PlayStation and have even heard it referred to as a boomer console and anecdotally the PlayStation crowd seems to be predominately 30+.
Has "boomer" slipped into meaning "people older than me" now? There are no boomer consoles.
I would say that they seem to recognize that they need to appeal to the users of their products and not just those users’ managers. And that means playing ball with the ecosystem and not just trying to crush it. Baby steps, I guess.
But a lot of their product line remains a mess. (Although the Xbox shouldn’t be discounted — that was a consumer success.)
I would say that they seem to recognize that they need to appeal to the users of their products and not just those users’ managers
Some of them recognize it, but not everyone. The company also seems to be pretty heavily invested into monetizing users to the hilt with telemetry and advertising. This is the sort of approach that will slowly drive people away from the platform, as users gradually tire of the ever-increasing intrusiveness of the ads.
Games consoles are a strange consumer product. They live and die on the ability to make deals with third parties and only a small number of companies have ever had sustained success.
I loved my Surface Book too. Until during the pandemic, Microsoft updates ran constantly. So I let the Surface Book powered on for several weeks. Foolish me didn’t realize that the CPU was maxed out and the heat would eventually cause the battery to swell and cause the display panel to become unglued.
I'd argue it has slowly gotten worse at Microsoft, and that's pretty bad.
I login to windows and everything feels like they're coding / designing AT ME. It's like nobody making decisions is thinking about me accomplishing anything, more how they can make me do whatever it is they want.
Don't get me started with the dozen (ok maybe not exactly a dozen) or so design languages inside Windows and how unfriendly some are.
That’s still the case until today. Microsoft has zero innovation capabilities. Nothing they built themselves since the 90s became even remotely a product which consumers enjoy. Everything they have today is Office which is kind of okay and the rest are acquisitions.
I think for a company to innovate, you need both to have a) an innovative person or team, and just as importantly, b) give them a lot of freedom/power. Just having one or the other doesn't work.
I've been at companies with innovative people, who just get stifled by higher ups, get bored, then leave. Most big companies have too many layers of power in place to keep anyone from shaking things up.
I guess that's to say, I wouldn't single out MSFT. It's a disease of every large company.
In the context of innovation, the original Xbox truly was a trailblazer. Standard PC processors, onboard storage and high-speed networking in every unit, online service subscriptions, downloadable updates and content, game achievements, huge and ugly: the following three console generations have closely followed the path cut by Xbox 20+ years ago.
Honestly I think the only reason it's anywhere as close this generation is because of the PS5 supply issues until very recently meant many people gave up and bought a Series X. I don't think it actually has that much to put it ahead of the PS5 other than availability, and the Xbox One generation was such a flop that it seriously dented their network effects
Yep. They know what they want to build and make fewer compromises than Microsoft. If Microsoft had developed the iPhone, it would have launched on every carrier possible and to do that, they would have had to allow the carriers to junk up the phone and restrict all kinds of user features. Remember the days of $3 ringtones and carrier run app stores?
For all the problems we have with Apple and their products today, they did move us forward.
I'm surprised nobody seems to have questioned how it was possible that Microsoft went from these emails to releasing the Zune Store.
For those not familiar, the ZuneHD was an incredible device. I still miss mine and wish someone would build a phone that felt as good.
To buy music, you had to buy Microsoft points(1). Points had to be purchased in a minimum of $5 increments, and I think you got more points depending on how much you spent. Then your songs would be 87 points, or some ridiculous number. It was basically hostile to the user experience. Nobody wanted Microsoft points, and they were discontinued in 2013.
I really like these "leaked" emails because a couple of times I've gotten to see behind the curtain of projects, like this one, that I was involved in.
I remember one issue here was trying to demo Microsoft's DRM to music execs. At the time Microsoft's software was unusable on Mac, but the music industry was Mac all the way through. Microsoft was first through the door, through outside agencies, they would do the grunt work of turning the labels on to selling their music, then Apple would turn up, sometimes literally the next day, with a much slicker promotion and win the deal.
Microsoft's biggest problem through all of this was its absolute certainty that it should only provide the pick axes and not build this thing itself. It was certain the end user wanted a choice of 50 weak music players and a dozen different badly-developed music stores.
If you want a job done properly do it yourself. Apple won because they did that and owned the whole vertical.
Oh, that reminds me of Windows Media Player which had like 8 separate music stores embedded in it, seemingly as an iframe. They had the most random companies running them as well, like phone companies, supermarkets, etc. Of course it was just a white label product, so why even include them all?
LOL. I coded all of those. It was horrible. Not one of those companies gave a damn about the product, they just wanted a revenue share for putting a link in their stores or on their web sites.
The startup that I was working for was OD2, half-owned by Peter Gabriel, who is a very nice guy. He got us meetings with every label guy we needed to speak to. He gave me his iBook, bless him. OD2 eventually got swallowed by Nokia which of course got swallowed by Microsoft. The snake ate its tail.
From what I know it wasnt Microsoft that broke ground. I remember reading a story about CD distributor whose clients started retracting contracts in 2004. Owner quickly realized Jobs was screwing him over and it took a series of meetings to somewhat fix it.
Microsoft broke the ground. Their DRM that opened the door for legal music sales came out in 1998 I think. Certainly by 1999 I was using it commercially and had the first labels already onboard.
I remember the controversy - it was CD Baby for sure.
Coincidentally, I just started re-reading Steve Jobs' biography a few days ago (~11 years after I had first read it). When I had first read it as a kid, I was more into the design/tech stuff.
This time, I see my focus mostly going towards Steve's personality traits. His weird diets, his abrasiveness, his rudeness, his stare, him walking barefoot everywhere, his charisma, his directness. Him just going up to people and bending their wills in his "reality distortion field".
>Erlich: You say that like it's a bad thing. Richard, if you're not an asshole, it creates this kind of asshole vacuum and that void is filled by other assholes, like Jared.
(Note: I don't necessarily entirely agree with all of it.)
Gates being incredibly candid about Jobs and the music store situation is quite admirable. I’d like to find myself always working with management and executive types who speak and act that way.
I've worked for a couple of companies that were struggling in one way or another. The funny thing was everybody in the organisation knew what the problems were but they still couldn't address them.
In one case the business failed and most people went off into new roles which were exactly what they should have been doing before.
What me most every time I read these sort of posts, is that these things get discussed in an email thread, yet most managers want meetings upon meetings
FS: What was Microsoft's philosophy or attitude regarding games when you began?
Alex St John: Oh, it was completely nonexistent! During that time, their entire focus was on multimedia video, the primary mission of DirectX wasn't to benefit and push gaming, but simply to drive Apple and Quicktime into the ground.
"David Boies, attorney for the DoJ, noted that John Warden, for Microsoft, had omitted to quote part of a handwritten note by Fred Anderson, Apple's CFO, in which Anderson wrote that "the [QuickTime] patent dispute was resolved with cross-licence and significant payment to Apple." The payment was $150 million."
"Microsoft and Intel had been shocked to find that Apple's QuickTime product made digital video on Windows seem like continuous motion, and was far in advance of anything that either of them had, even in a planning stage. The speed was achieved by bypassing Windows' Graphics Display Interface and enabling the application to write directly to the video card. The result was a significant improvement over the choppy, 'slide-show' quality of Microsoft's own efforts. Apple's intention was to establish the driver as a standard for multimedia video imaging, so that Mac developers could sell their applications on the Windows and Mac platforms. Microsoft requested a free licence from Apple for QuickTime for Windows in June 1993, and was refused. In July 1993, the San Francisco Canyon Company entered into an agreement with Intel to deliver a program (codenamed Mario) that would enable Intel to accelerate Video for Windows' processing of video images. However, although Intel certainly knew that Canyon had developed key parts of the code for Apple, it did not specify that this must be undertaken in a clean room,"
"Intel gave this code to Microsoft as part of a joint development program called Display Control Interface."
"Canyon admitted that it had copied to Intel code developed for and assigned to Apple. In September 1994, Apple's software was distributed by Microsoft in its developer kits, and in Microsoft's Video for Windows version 1.1d."
That's kind of my point, it's not natural that Microsoft is still around after how much negative they have done for the tech industry. Xbox is their golden goose. VIDEO GAMES?
Come on, let's not act like Windows, in its 11th iteration, is not a steaming pile of shit. I don't know how so many of you defend such a garbage company.
>It takes apple to make a move for us to break through communication issues and get anything done
Imagine paying millions of dollars for "the best" developers, designers, managers, yet they can't even communicate with each other properly to align with common interests. FAANG culture is becoming so slow and ineffective that I'm not surprised they are cutting tens of thousands of employees.
Where I'm from we have an expression - "many grandmas, lazy/spoiled child" - and it's especially rings true in creative work.
For something truly brilliant to be created, you need someone with a vision and freedom to implement it. It's extremely rare for something brilliant to come from committee or top-down designed by managers delegating work to a bunch of teams. It's one of the reasons even open-source struggles with design - you need one or a tiny team of aligned brilliant people to work together, and you need to give them freedom to do it. Not constrain them with meetings, micromanaging the product and letting everyone express their opinion. That's how you get a terrible, bland, uninspiring design.
Recently I had a chance to work at a theatre production that ended up suffering from the same issue - the director had no vision but only an idea, so he delegated different work to everyone, then micromanaged people and intersected into every attempt at collaboration with his own opinions and ideas. As new people were coming in, their ideas were added into the mix, creating a show that ended up being even worse than mediocre.