Microsoft why couldn't you have bought Unity...
9,788 karma · joined June 18, 2007
I work at Drawlabs Game Studio where I make web games, mobile games and game middleware from network servers/clients to stats tracking and community tools for contract, white label and internal products.
http://drawlabs.com
I work with and have worked at 2XL Games, SupaSupa Games, Cheyenne Mountain Entertainment, and Prizelogic / eMarketingInc / Nomadic Agency making web, interactive, mobile (iPhone/iPad/iPod/iOS/Android) and multi-platform desktop games, apps, web interactives, APIs and tools for entertainment/promotion.
"There is no subject more captivating, more worthy of study, than nature. To understand this great mechanism, to discover the forces which are active, and the laws which govern them, is the highest aim of the intellect of man." -- Nikola Tesla
http://drawk.com/
http://drawlogic.com/
https://github.com/drawcode
http://www.linkedin.com/in/drawk
http://stackoverflow.com/users/71690/ryan-christensen
Microsoft why couldn't you have bought Unity...
The good news is if you put enough time into something, those key components emerge.
In a way you also need to listen to people but not listen, and know when to do that. New ideas will be pushed back against, following the existing successes will always be encouraged, but the latter is a form of survivorship bias, FOMO and buying in at the top. If you know something is there and others say it isn't, you might have something. Additionally, if it is already done, doing it better is another way to create value.
So yeah, attitude in pushing through against headwinds is key. Don't always listen to the critics, but take it in, it is a balance and one that everyone battles in most things. Grounding down the fluff/hype into a good plan with results takes all those things.
Lots of "secure" messaging apps do this for intel and surveillance and not just the white hats.
Other areas that "secure" messaging apps have holes in is the anti-spam/moderation systems that need to view messages and in the clients themselves who have access to the unencrypted content. This is also taking place in other client apps as well: VPN, password managers, extensions, wallets, even build systems and more. Many like VPNs have logs sent elsewhere but deleted locally -- access to entire machine and all network access. People are way too trusting of "secure" systems/apps that are very common today based on trust.
All of these apps/systems would pass code checks, reviews, security inspections and essentially be encrypted/"secure" though a copy is sent off to another area for review. At runtime the leak is in the direction of the data.
I do like a more open/api platform and wish Apple was, but Spotify probably won't be for long. Tracking my plays takes more work with everything to closed.
Apple misses some of the obscure stuff but I will always side with the higher payer to artists. I also like just being able to buy albums I like and support artists.
More importantly though it is one of the highest paying per stream to artists [1]. Streaming needs to be much more lucrative for artists and consumer choice helps that.
It is nice to be able to buy the music as well if you want to support. Being part of Apple One is huge as well.
The latest music streaming royalty rates are as follows.
PLATFORM ROYALTY (PER STREAM) STREAMS TO MAKE $1
Tidal Music $0.01284 78
Apple Music $0.008 125
Amazon Music $0.00402 249
Spotify $0.00318 314
YouTube Music $0.002 500
Pandora $0.00133 752
Deezer $0.0011 909
I have lots of mp3/stored music as well and Spotify client started taking like 20-30 minutes to start up. Wasn't sure what it was doing...Some of their patents for tracking are a bit dystopian as well.
New Spotify Patent Involves Monitoring Users’ Speech to Recommend Music
> The streaming platform is interested in extracting data points like emotional state, gender, age, and accent to hone its recommendations [2].
Nah. Apple already has my info and reasonably treats it well eventhough it is too much, I don't need another service to invade privacy.
[1] https://producerhive.com/music-marketing-tips/streaming-roya...
[2] https://pitchfork.com/news/new-spotify-patent-involves-monit...
Fun fact: Anders Hejlsberg also designed Turbo Pascal, Delphi which were huge in their day.
I agree though, JS needs to just run in the browser. All the tooling is really a leaky abstraction or unnecessary guts that get in the way. Rant: Webpack is an abomination to anything simple and clear, many dev hours are lost on it.
I still think if ES4 hadn't been cancelled for ES5 we'd be in a better place. It had amazing typing, event handling and was very clear, essentially looked like TypeScript. Browsers could have easily supported ES3 and ES4, we'd have a more solid browser "just works" setup.
The best part of JSON or keyed data is less profile conversions for one new key that shifts everything by a set position. Keys can be added and removed and you don't break the entire game save.
Binary blobs for game formats/saves/states is still a massive problem in gamedev. They have given many people a bad time when the profile conversion or state conversion fails and you end up with borked states. Almost impossible for that to happen with a keyed format like JSON. Getting studios to use it, especially early in dev to work with server/mobile dev was a massive challenge.
More power/product decisions from the bottom or the developers/creatives/value creators than the top down project managers/finance/value extractors.
Yes, making your own projects is almost a requirement or having side projects when work in on a big team on your day job or other projects. Everyone needs a creative outlet and programming, no matter how hard they try to remove it, is a creative process.
While revenue/value extraction is important long term, it is much easier to sell when love/value creation is present. You can't market and extract value from value that isn't there. You can't rush a quality game mechanic that makes all aspect of your game fun.
Creativity doesn't always fit a 8-6 tightly wound agile process focused on just revenue, you need some open mode or play with that closed mode. It is why indies and artists or writers perform better when they can control their own destiny more. With less oversight directing you to short chance important parts or prototypes, there is more play and open mode which always leads to a better refined product especially where "fun" is part of the product.
Many times that is taken from you on larger teams.
It is odd that HBS and value extractors (business/finance/project/marketing) have taken so much power from value creators (creatives/developers/product people) in terms of the power balance, most people know that makes bad products and was really the basis of capitalism starting, ownership of direction.
> In his landmark 1776 work The Wealth of Nations, Adam Smith showed that a clever division of labor could make a commercial enterprise vastly more productive than if each worker took personal charge of constructing a finished product. [1]
The project managers and finance want to make the product now, from a value extraction viewpoint over a value creation one. It ultimately leads many value creators to go do their own thing.
No matter how hard they try to remove the creative element of product creation, it is actually a key input to successful projects.
Products are like creative works, they should be built with depth, deep dives and aim to be a fun experience and friend of the user.
Bottom up processes can create great products with polish and love, they are value creation processes.
Top down processes and deadlines create shallow features and products, they are value extraction processes.
The best value creation process is just an iterative/incremental cycle, with lots of power in the court of the value creators over the value extractors.
When Apple came out with the iPod Touch it made a huge impact in the handheld gaming world. It even caused some gaming companies to focus on handheld more. Now with the Nintendo Switch (even 3DS), SteamDeck and even prior with the PSP there is more competition there. However, it still allows kids to have a device that has their Apple games and not have to use parents phones or having to get them a phone to play.
iPod Touch was one thing Apple had over competitors before the iPad and iPad mini, there wasn't a comparable Android handheld that wasn't a phone.
We make handheld/mobile games and our iPod Touches are nice to have to test smaller screens over using iPhones and optimizing for the smaller devices makes the iPad devices perform better. Lots of gaming companies buy touches up.
I think this is a mistake that will impact them on some of the handheld gaming side. It will also mean more parents phones being used over getting them a more expensive iPad or iPad Touch. It may end up with less devices sold and less games played on Apple devices.
Dollar cost averaging works best if you aren't selling off every downturn and every so often banking some profits. If the only time you are selling is in downturns then that is a problem, selling should be as regular as buying.
A bit surprised this is so controversial. Taking gains regularly, even if you leave some gains on the table is better than only selling in downturns which is what happens in massive pullbacks. The massive pullback reds are when you should have some on the sideline to invest.
The base is sell high buy low, easier said than always done but if you have a regular sell strategy then you can bank some of those higher points just like DCA gets you into some of the lower points.
This doesn't mean you shouldn't dollar cost average or buy the dip, it means you have some cash to invest when there are pullbacks to get in lower. This allows you to continue doing other price target strategies and dollar cost averaging etc. You want some money in cash to be able to get into buying opportunities, like right now there is massive sale due to selling.
Basically have a regular buy strategy and a regular sell strategy.
If you can successfully flip the colors, long green is sell, red is a sale, then you can beat the market in the only way small investors can. It is very difficult to do, because of that FOMO.
Some of the better stocks like Apple, Google, Amazon will be splitting in summer, that is a nice regular bump. Prices on some of these will never be this low again. Good time to start dipping buys into index funds (VOO, VTI, VOOG, VOE) etc if you can.
Bottom up processes can create great products with polish and love, they are value creation processes.
Top down processes and deadlines create shallow features and products, they are value extraction processes.
Games for instance especially should focus on the fun and gameplay mechanic. Arbitrary timelines, milestones and push can kill both of those very important things.
This doesn't apply to just games though, products should be fun, bring joy and be almost a friend/companion of the user.
All that is lost when you move to today's finance/marketing/business led value extraction style over the creative/design/development approach of value creation.
Agile was supposed to give more time to the value creators, but instead it became a micromanagement tool of the value extractors and the depth has been made shallow. When you slow the "velocity" to add in some love/fun, you are now the problem not the solution, which is completely backwards.
The best value creation process is just an iterative/incremental cycle, with lots of power in the court of the value creators over the value extractors.
Non-competes are protectionism for larger businesses over small/medium businesses and try to own employees skills that they may have brought to the company or client themselves.
As a freelancer, contractor and self-employed business owner/worker, please make these illegal, tired of these.
The worst part about non-competes is they are blanket protectionism usually and up to 2+ years of non-compete, this sometimes happens on a job that is only 1-3 months. You have to laugh at those types of situations. Usually the client will push them aside or lower the time to the job plus some time, but both non-competes and arbitration agreements are horrible for workers in today's economy where people change jobs frequently and many are self-employed/freelancing/contracting. NDAs are plenty enough to protect companies from clients and work done specifically for the projects.
After SCOTUS upheld arbitration agreements [1] I am worried if non-competes become fully legal which they are not in extreme cases except in California [2]. The FTC is looking into non-competes now and they should be illegal [3].
We need to move the way of California and make non-competes null and illegal, it hasn't stopped innovation in CA and may be a big reason why so much innovation goes on in Cali.
The non-compete should not exist. At the core, removing competition from skilled workers in our economy is bad all around, unless you are one of the current big fish.
[1] https://www.nytimes.com/2018/05/21/business/supreme-court-up...
[2] https://www.nytimes.com/2017/05/13/business/noncompete-claus...
[3] https://www.ftc.gov/news-events/events/2020/01/non-competes-...
> "NTA. If you’re going to do something like that, you should probably do it now while we can still enjoy the beauty of the world."
> "YTA. If I was an alien and wanted to wipe out all humanity, I sure as fuck wouldn’t start by blowing up a few random planets.
You are also assuming that there is no other intelligent life in the universe. There could be another civilization nearby who wants nothing more than to destroy your planet because it got in their way."
> "NAH. You're just a regular person who accidentally killed a planet. It happens. My brother did it with an air conditioner last year. He's not an alien. He's just a regular person who accidentally killed a planet.
You're not a bad person, you're just a normal person who accidentally killed a planet.
So, yeah, NAH."
Exclusivity is rarely the reason why something is innovative, in many cases it prevents innovation and good products. Due to bias it may overlook what is actually "good" compared to that which comes from a broader set and net.
Open markets where anything can be published, where the only exclusivity is the money pushing it, have more entries, more products. Sure there are more bad products but the good products are better than any controlled or curated market could produce due to this bias. Not only that, the bad products might be good one day and would have been curated out in other platforms. The top 1% of open markets will always beat the top 1% of curated markets, largely because what is good may be outside the bias.
An example of this would be games on Steam, from indies to large companies. The more innovative are always smaller, unknown or unexpected games where more risk can be taken.
Another example would be startups are better at many things than large companies, anything that involves research and development that may have some risk. Sometimes the companies that never get funding come up with the better solutions due to the scrappiness and non saturated funding environment.
The established players and curation systems or large borgs of bias, are too uppety to know what is good across the broad market. False fixed markets are a wall to new ideas and products. In the end curated markets have a weak spot, the larger groups will work overtime to limit the challengers that aren't in the biased path so they don't get beat by competition, they are ultimately anti-competitive at scale.
Open markets are democratic and bottom up, closed curated markets are authoritarian and top down.
In short, for products, exclusives suck.
> The cost of developing the Commodore 64: No one knows. “I had no formal budget accountability,” said Winterble, “other than Jack [Tramiel] watching me. Jack said that budgets were a license to steal.”
They also had more margin in their process which is always good. Process is so tuned today that innovations are missed because there is no room to play.
> Because MOS Technology’s fabrication facility was not running at full capacity, the equipment used for C-64 test chips and multiple passes of silicon would otherwise have been idle. “We were using people who were there anyway,” said Ziembicki. “You waste a little bit of silicon, but silicon’s pretty cheap. It’s only sand.”
Silicon back then was like bandwidth or storage today, those are cheap and can be used to innovate on but tightened later.
> Although custom chips are usually considered expensive, the C-64 chips were not. Not only were development costs absorbed in company overhead, but there was no markup to pay, as there would have been if the chips had been built by another company. And yields were high because the chips were designed for a mature semiconductor-manufacturing process.
C64 having access to in house chips was key in building what they needed and quality levels they needed.
> “It was a lot of fun,” said Ziembicki. “The design people would pick an English screw. The production end would pick metric. But they went with what they had. Commodore production was very good at making things fit whether they were intended to or not. Their charter was 'Ship ‘em’”
Good product people, designers and engineers hold back until quality levels are acceptable.
> “It takes a very tough person,” explained Charpentier, “to say ‘I’m not shipping these because they’re not as good as they could be’—especially when people are clamoring to buy them.”
There is a reason why nearly all good programming languages, standards, platforms and even games are usually started and prototyped by one developer. That is because programming is creative value creation and business/finance/project managers passionately want it to not be, they want it to be a factory and it never was, is or will be that until the initial versions are out. They want to value extract before the value creation, they also try their hardest to make sure no programmer has much power so they are "swappable" which again is not true in product creation, maybe maintenance or once the base is created, but not initially.
Programming is a creative skill and should always be seen that way. Most product developers, game developers and full stack to presentation developers know this and can make some of the best value creation because they can take it from start to finish. Once it is prototyped or first versions, it can be ramped up for value extraction.
Though, there are devs that work on those system tools. There are also cases where times need to sync and the changing can cause some issues. Stored times should be UTC but where they aren't it can makes some systems use local time incorrectly for a bit on the rollback. I have also seen network libs in games not use ticks for session starts that would be problematic on rollbacks playing at switchover. There have also been flaws in system time utils previously.
Lots of unnecessary potential edge cases, all for an unnecessary time change of time itself except a few places like Arizona.
Now for teams maybe you need to have a web framework but to say that makes things easier to understand is largely unproven, every project/product gets hairy over time, I have seen it more actually on Angular/React/Vue/Svelte etc sites than vanilla js.
Long term, maintaining a web framework, especially after the hype is gone, is always seen as more verbose and bloat as well as a maintenance nightmare. One day your web framework that made it "simple" will be a complexity spot and maintenance area you will see as a chore where other devs don't want to deal with it and the true complexity will show. Maintaining a javascript only site long term is much, much easier than a framework. In many cases javascript is supported much longer than frameworks that had their hype cycle fade.
In the meantime the abstraction of the complexifying web framework took you away from learning the actual simpler standards and framework, web standards, javascript and the parts of that actual framework.
React for instance jumped ahead and front ran WebComponents and ShadowDOM, those are both part of the browser and standards now. The killer feature phase of React is over.
I remember how .NET WebForms and lots of Java boilerplate frameworks did that early on, or browsers breaking standards, they wanted developer lock-in just like web frameworks of today. They wanted to keep developers dumb by being "simple" as long as you stay in their walled garden where they handle the standards. No thanks...
I have been developing javascript for decades and I actually liked the original less Java like boilerplate of the previous iterations, and you can still do that. The people that push frameworks aren't always trying to make things more simple, they want control, lock-in and domain ownership. The last tool to really simplify in javascript was jquery and most of that is browser level now including selection the killer feature of jquery across all those document.all/document.layer days of pain. Those days are over, simplicity is being complexified now.
Tools like jquery and even Flash or other plugins were platform pushers that got the web to the place we have now which is better than ever for web standards, yet we have all these bloated frameworks on top now. In a way it is a bit like the xkcd comic with so many standards, just to not do javascript people built thousands of frameworks on top to "simplify" the standards that are simple now.
While web frameworks may have been needed for a time, and in certain team based scenarios, they are a crutch, a maintenance problem long term, they take actual standards out of experience and the worst is they make the simple complex. Web frameworks have become the DLL hell or dependency deepend that used to be used to attack other platforms. .NET and Java have less bloat now and are moving more standard, while javascript web frameworks only pretend to.
The web standards of today are amazing and take away the nee for frameworks today: from templating to html templates [1], vanilla javascript with classes [2] and async [3] and better api access like fetch [4] and browser support for vdom with shadow dom [5], components with WebComponents [6][7], css now with lots of additions like variables [8] transitions[9]/animations[10], flex and media queries, canvas/svg/etc for interactivity, and so much more. There is little need to use frameworks except to sell books and conferences and keep developers locked in.
As developers/engineers, the job is taking complexity and simplifying, ask yourself if your framework abstraction is doing that above actual standards that is a pain long term to maintain. Web frameworks were supposed to work together, they are now behemoth monoliths that limit dynamic and fluid systems that scripting are supposed to bring. People went out and made a scripting language for glue into Java boilerplate...
In areas like targeting a certain javascript ECMA version or polyfills, those are still worthy, the other pile of verbose bloat abstraction that is there is just that, a pile of "verbloat". "Verbloat" is a new word to define frameworks of today sold in as small helpers to replace jquery, that have grown to the size of dev lock-in tar pits. No developer in their right mind would use this for products/projects they control unless they have to at this point.
Basically this video summarizes the absolute unnecessary adventure of web frameworks and provides some comic relief to the absurdity of it all. [11]
[1] https://caniuse.com/template
[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
[3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
[4] https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/U...
[5] https://caniuse.com/shadowdomv1
[6] https://caniuse.com/custom-elementsv1
[7] https://developer.mozilla.org/en-US/docs/Web/Web_Components
[8] https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_c...
[9] https://developer.mozilla.org/en-US/docs/Web/CSS/transition
[10] https://developer.mozilla.org/en-US/docs/Web/CSS/animation
This is why remote work is so important, the politics of the office and "culture" is more about delivery with remote over internal politics. Remote work emphasizes the external view over the internal view which is always skewed in office environments. Remote work opens up a broader market of workers and can flow with life changes of employees easier like a move, families or travel.
We all do lots of remote already to everyone outside the office. Most communication is virtual now even within the same company, across offices in different areas and most importantly, to the customer of the product. The external view is most important, always. Remote can help automatically focus on external perception over internal perception. Remote work can minimize the weight of office politics and "culture".
Another legacy area we need to change is removing health insurance from the job. We don't get our home/auto/life insurance through work and it would be a pain if we did, imagine changing all that on jobs. Contracting or entrepreneurship helps to get your own benefits for healthcare and it is truly a better way. Health insurance removed from the job will help businesses compete with countries that do have public options or private markets not connected to the employer, allow workers more freedom to change jobs, allow people to start jobs easier and isn't constantly a hassle. Getting healthcare on your own or not requiring it to be business level is both pro-business and pro-worker. It also can fix pricing as the customer is now individuals/families not employers, all we need to do is group similar to Medicare groups. Right now grouping is based on the company and this puts sole/small/medium companies at a disadvantage in pricing.
Less and less is being written in blogs, sites and publicly indexable content.
Upvote only, it rewards the best opinions and analysis.
The problem is, botnets and astroturfing use downvotes to manipulate conversations, perceived word of mouth and ultimately the algorithms.
For instance, since Youtube has removed downvotes from visibility, my recommended videos are more in line with what I want. I think the downvote was a massive tool for shaping the algorithms and recommended videos that becomes something that isn't organic.
I downvote only the downvote. Down with the downvote!
RADAR is more low fidelity though, blocky, slow and doesn't do changes in direction or dimension very well. RADAR isn't as good as humans at depth. Only benefit of RADAR is it works well in weather/night and near range as it is slower to bounce back than lasers. I assume the manholes and bridges that confuse RADAR are due to the low fidelty / blocky feedback.
LiDAR is very high fidelity and probably more precise than the pixels. LiDAR is better than humans at depth and at distance. LiDAR isn't as good at weather, neither is computer vision. Great for 30m-200m. Precise depth, dimension, direction and size of object in motion or stationary.
See the image at the top of this page and overview on it. [1]
> High-end LiDAR sensors can identify the details of a few centimeters at more than 100 meters. For example, Waymo's LiDAR system not only detects pedestrians but it can also tell which direction they’re facing. Thus, the autonomous vehicle can accurately predict where the pedestrian will walk. The high-level of accuracy also allows it to see details such as a cyclist waving to let you pass, two football fields away while driving at full speed with incredible accuracy.
[1] https://qtxasset.com/cdn-cgi/image/w=850,h=478,f=auto,fit=cr...
[2] https://www.fierceelectronics.com/components/lidar-vs-radar
LiDAR is a physical world depth checking system. It will always beat simulated depth checking. It also does dimension and movement better than computer vision. LiDAR is a 360 degree depth check.
Essentially Tesla is trying to do a LiDAR like point cloud from camera inputs only. That may work in many cases, it will be beat by LiDAR in all cases due to the difference of virtual vs physical data.
> The justification for dropping radar does make sense, says Weinberger, and he adds that the gap between lidar and cameras has narrowed in recent years. Lidar’s big selling point is incredibly accurate depth sensing achieved by bouncing lasers off objects—but vision-based systems can also estimate depth, and their capabilities have improved significantly.
> Weinberger and colleagues made a breakthrough in 2019 by converting camera-based depth estimations into the same kind of 3D point clouds used by lidar, significantly improving accuracy. Karpathy revealed that the company was using such a “pseudo-lidar” technique at the Scaled Machine Learning Conference last year.
> How you estimate depth is important though. One approach compares images from two cameras spaced sufficiently far apart to triangulate the distance to objects. The other is to train AI on huge numbers of images until it learns to pick up depth cues. Weinberger says this is probably the approach Tesla uses because its front facing cameras are too close together for the first technique.
> The benefit of triangulation-based techniques is that measurements are based in physics, much like lidar, says Leaf Jiang, CEO of start-up NODAR, which develops camera-based 3D vision technology based on this approach. Inferring distance is inherently more vulnerable to mistakes in ambiguous situations, he says, for instance, distinguishing an adult at 50 meters from a child at 25 meters. “It tries to figure out distance based on perspective cues or shading cues, or whatnot, and that’s not always reliable,” he says.
> How you sense depth is only part of the problem, though. State-of-the-art machine learning simply recognizes patterns, which means it struggles with novel situations. Unlike a human driver, if it hasn’t encountered a scenario before it has no ability to reason about what to do. “Any AI system has no understanding of what's actually going on,” says Weinberger.
> The logic behind collecting ever more data is that you will capture more of the rare scenarios that could flummox your AI, but there’s a fundamental limit to this approach. “Eventually you have unique cases. And unique cases you can’t train for,” says Weinberger. “The benefits of adding more and more data are diminishing at some point.”
> This is the so-called “long tail problem,” says Marc Pollefeys, a professor at ETH Zurich who has worked on camera-based self-driving, and it presents a major hurdle for going from the kind of driver assistance systems already common in modern cars to truly autonomous vehicles. The underlying technology is similar, he says. But while an automatic braking system designed to augment a driver’s reactions can afford to miss the occasional pedestrian, the margin for error when in complete control of the car is fractions of a percent.
https://spectrum.ieee.org/tesla-places-big-bet-vision-only-s...