DEV Community

Cover image for We're Stephanie Hurlburt and Rich Geldreich, ask us anything!
Stephanie Hurlburt
Stephanie Hurlburt

Posted on with Rich Geldreich

We're Stephanie Hurlburt and Rich Geldreich, ask us anything!

We're Stephanie Hurlburt and Rich Geldreich, ask us anything!

We own a company called Binomial and we make a texture compression product called Basis. Textures take up most of a game's data, so if you reduce the size of your textures, you're going to improve performance in your game as well as reduce download sizes/times. The product has gained great interest across the industry and we actively collaborate with the Khronos Group to make sure our file format is also an industry standard.

Before working on Basis, we did consulting under Binomial and we both worked in the game industry before that. Through Binomial we helped optimize VR demos, most notably under Intel's Project Alloy headset. Before that, Rich worked at Microsoft and Valve on game titles like Age of Empires 3, Portal 2, DotA 2, and Halo Wars. Stephanie worked on VR demos at Oculus and on graphics optimization at Unity.

Latest comments (74)

Collapse
 
thisismyclone profile image
Josh Auget • Edited

HI! Two questions: (1) What are some essential skills I need to develop in order to work remotely? (2) I've never enjoyed programming, but it seems to be the only way I will be able to get a work visa abroad to move to Canada or Germany (my third world nationality has been a bane since the day I was born, along with the terrible education I had), I don't enjoy front-end development but love designing and storytelling, currently I'm taking a VR nanodegree at Udacity, but I often think about whether I'm focusing on the right things... Any recommendations or thoughts? Should I focus on more practical skills like data analysis or rails dev despite not enjoying it much? Much love and thank you for doing this!

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

1) Working remotely doesn't really require different skills. I think the key is just working extra hard on finding those jobs and building up a good online presence to attract employers. Get a good website built, search for the job postings, network, etc.

2) You can get a job in all kinds of programming fields, it's really hard to say "Study this and not that for a job." I would be active in a lot of online communities and do a serious job search now and make yourself a list of remote jobs you'd want. Then try to talk to someone at one of those companies or in related fields, and ask them what skills they'd like to see. You can find some mentors here: stephaniehurlburt.com/blog/2016/11... . Make that list of jobs and reach out to related mentors to see what skills you need to build up.

Collapse
 
thisismyclone profile image
Josh Auget

Thank you for taking the time to read this and answer! IT REALLY MEANS A LOT!

Collapse
 
matthras profile image
Matthew Mack

Curious to the story behind naming your team 'Binomial' (as I'm a maths lecturer and coding hobbyist).

Collapse
 
richgel999 profile image
Rich Geldreich

Stephanie and I were sitting around in a cafe in U District, trying to think of a company name. Stephanie had a bunch of college-level math books, so I looked through the index of each one and read out loud anything that sounded remotely interesting.

We choose Binomial because we're a two person company and it implied "two", and because it sounded cool to us. Our product Basis also involves a lot of linear algebra and optimization algorithms, so we wanted to choose something mathematical.

Collapse
 
harisriaz17 profile image
Haris Riaz

Are you collaborating with AMD Radeon in any way? I saw you at this year's Capsaicin event in March. AMD's Vega architecture also has a form of texture compression tech called HBCC (High Bandwidth Cache Controller). Does basis have anything in common with that? P.S when can we expect this tool to be released?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

Basis is already ready to be licensed to companies, folks can contact us at info@binomial.info for that.

In terms of releasing a public spec, no dates yet but we are definitely working on it.

In terms of AMD, I can't speak publicly about any agreements with them, but I can say that a goal of ours is to get Basis in GPU hardware and that's a big reason we're working with the Khronos Group.

Collapse
 
sdees82 profile image
Sean Dees

I'm sure the two of you had low paying jobs at some point in your lives. How did It feel to have your first big developer pay check? Was it a stress reliever or was it no big deal? As a junior developer, I don't make close to what the average developer makes, but I love my job and view each day as an opportunity to get better. But I'm very much looking forward to the pay that being a developer can bring.

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

For me, I worked minimum wage jobs for many years. Even as I went to school for programming, I was kind of envisioning maybe needing to stay in retail if it didn't work out.

In my first coding job, I made $42,000. Holy crap, I remember that felt like an amazing amount of money. I suddenly didn't need to agonize about grocery bills. It was life changing.

For a while, I didn't feel comfortable negotiating salary because I had this complex of "I should be grateful" and I also just wasn't very aware of what other programmers made at all. I thought maybe this was pretty normal.

But then I ran into a situation, later in my career, where a coworker who did the same work I was doing and had the same experience was making twice what I was. That did not feel right at all. It was a very strong lesson on how quickly you can advance as a programmer in terms of salary, and also taught me that negotiation and getting other offers is important.

Collapse
 
richgel999 profile image
Rich Geldreich

I once worked at a local newspaper, operating the machine that inserted ads into papers. I also worked at a bakery, washing dishes and cleaning up.

My first real game job was as a C programmer working on a 3D PC game named Montezuma's Return. I made $1500/month as a contractor in 1996, which seemed like a lot of money to me at the time (as a 19 year old). From there my pay skyrocketed as I shipped more games and got more experience.

Was making a lot of money a stress reliever? Not really. My best paying gig (at Valve) was exceptionally stressful. I made like 1/3rd as much at Microsoft (at Ensemble Studios) but I was much happier and totally less stressed out. I think optimizing for a balance between income, happiness, and low stress is a lot healthier vs. just optimizing for highest income.

Collapse
 
dcfcdolb profile image
dcfcdolb

What would you say were your personal learning steps to get where you are today? As someone who has recently begun coding I am continually learning new things each day but sometimes it feels like I'm moving sideways rather than progressing. Would you recommend continuing to expand on new things or try and focus on a specific area?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

For me, programming began as "I need a job and money." I didn't do it as a hobby, I didn't know the slightest thing about programming until I took college courses with the intent of getting a job.

So I went through college, and then my learning has largely been the intersection of "what I've liked that I've done so far" and "what can I get paid to do." Even into starting a business-- we weren't just going to make any product because we thought it was fun and we assumed it'd sell, we made a project we knew we already had customers for.

I recommend trying to find a mentor if you can (lots of resources here: stephaniehurlburt.com/blog/2016/11... ) and try to learn what you need to get a job, or if you have a job learn what you need to excel. Totally fine to do things just for the joy of it too, but this approach has worked well to give me structure (I tend to love a lot of things :) ).

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

Was thinking more on this-- if you feel like your professional development's totally fine and you just want to progress in other ways, maybe another good way to structure it is to set other goals, and aim for those ideally with some guided help. Same basic idea.

Collapse
 
richgel999 profile image
Rich Geldreich

As a kid I played with 8-bit computers way too much. I basically just read a lot, studied a bunch of programs, and messed around. I had a lot of fun programming in BASIC and 6809 assembler.

Anyhow, I would recommend that you continue experimenting with different things until you find something that you find particularly interesting or fun. Then try focusing on that.

Collapse
 
rajat404 profile image
Rajat Goyal

How to stay focused & productive while working from home?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

We have a "work area" of the house-- a place that's only for work. And we don't work in other areas. Sometimes I like to work in coffee shops too.

I think the key is associating a place with getting things done, and associating everywhere else with nothing to do with work. Building up a routine really helps, having goals every day helps. And we don't have kids or roommates/other family members around, but if we did I imagine finding an uninterrupted space helps too (I know folks who purposefully get a coworking space or always work in coffee shops, for example).

Collapse
 
jess profile image
Jess Lee

Having a 'no work' zone in my house has been SO helpful.

Collapse
 
timschumann profile image
TimSchumann

Stephanie - I'm curious about your education/employment timeline. Things like what type of jobs you had after secondary school, internships, first job after university, jobs you wouldn't put on your CV, etc. For example, did you go straight from secondary school into college, or was there work in between?

It's easy to look at you and see someone who's successful, but it's much harder to not assume all kinds of things about the path to that success. I thought sharing some of the actual path might make it harder for myself and other to write off your success as 'I could never do that.' If any of that is too personal, feel free to disregard.

Rich - IIRC you were involved with (responsible for?) getting Steam running on Linux. Just curious as to how long that took, what the process was like, what kind of problems you ran into, tools you used, new things you had to learn, etc. Of course I can't remember where I heard that so, if that's not the case hit me with your best math joke. Here's mine.

What did the Zero say to the Eight?

Nice Belt.

Thank you both.

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

Hey!

So after high school, I worked lots of jobs throughout college. For my last couple years I needed to totally support myself and my partner who didn't work, so it was necessary to work a whole lot while also going to school. In college I worked as a tour guide, in the admissions office, as the business manager of the school newspaper, in the grants office, as a telemarketer. Then I dropped out of school. I worked at a coffee shop and as a sales associate at a clothing store. Then I went back to school in computer science, and kept supporting myself as a sales lead at that clothing store. Lots of jobs, often multiple held at the same time or overlapping each other.

In terms of programming jobs, after I graduated college I worked at a small advertising/design shop right out of college, then at Unity, then as a contractor at Oculus, then started Binomial with Rich!

Collapse
 
richgel999 profile image
Rich Geldreich • Edited

Hi Tim - Yes, I was one of the earliest members of the Steam Linux project. I was involved in the project for about 2+ years. I worked with all the major driver vendors to get OpenGL performance up to where it needed to be to have a hope of being a viable alternative to Direct3D.

I helped port and spent a lot of time optimizing many of Valve's Source1 engine games (such as L4D2, DotA2, CS:GO) to Linux, and I took the "togl" D3D9->GL layer and basically rewrote it to eventually outperform Direct3D. Getting the GL drivers in shape while also trying to navigate and survive the sometimes vicious backroom politics and yearly-firing cycles at Valve was very trick business.

While working on this project, I had one driver vendor snipe at me personally (with a patent attack on one of my open source libs), because I basically treated all driver vendors equally. This driver vendor basically infected Valve's Linux team with a couple of their hand-picked "embedded" engineers, which gave them certain advantages vs. the other vendors.

Tool wise, I used AMD's GPU PerfStudio, RAD's Telemetry, and a few in-engine ad-hoc custom profiling tools I created specifically to compare GL's batch performance vs. D3D9's. At the time, the available GL tools were almost useless for real-world work.

I had to learn a lot about Linux, OpenGL, and how the Source1 engine worked. I spent a ton of time debugging Source1 engine bugs.

I also spent some time porting Source2 to OpenGL, by wiring up the rendersystem D3D9 backend to togl, then optimizing it as a unit. I wrote the first working GL backend for Source2 and handed it off to another external engineer.

All in all, I had a lot of fun working on the project. Next time, I'll drink less caffeine and do it in a more supportive atmosphere.

Collapse
 
yelluw profile image
Pablo Rivera

What do the next 5 years in your industry look like?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

That's a big question! In the texture compression space we're in specifically, our goal is to get Basis as the industry standard and to completely abstract away existing GPU compression formats. We want to get Basis into hardware and browsers and improve compression for everyone.

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

In my situation, my anxiety largely comes from PTSD. I got out of a traumatic situation a while ago and have been recovering.

The first step for me was getting a therapist, definitely. It helps so much. I went to PsychologyToday's website to find one. Try to get someone who specializes in the experiences and issues you deal with-- there are filters on that search. If you're worried about money, many therapists have sliding scales-- just ask about them, or ask if they can refer you to one who does do a sliding scale.

A big thing that's helped me is simply being more accepting of my anxiety. I definitely have this attitude I tell myself of "Suck it up," "This shouldn't be a big deal," "Just move on"-- or worse, I get really angry and frustrated with myself and very self-hating. All to try to move on to anxiety! Turns out that kind of negative attitude amplifies anxiety like crazy. Being loving with myself, giving myself days where it's okay not to do anything, really trying to find out what my body needs, making sense of why I feel this way and telling myself it makes sense-- that all helps so much.

It's also helped me to realize the source of the anxiety, and understand that source fully. PTSD is a brain injury (at least many therapists believe this). My brain was injured because of trauma. It will heal. It doesn't have to hurt like this forever. Get blood, urine, saliva tests to see if there's anything that got disrupted in your body-- in my case, the PTSD actually hurt my thyroid, so taking medicine to heal that part of my body has been really important to healing.

Make sure you're eating well and sleeping well. I can't state this enough. Your body is so important, and if you aren't taking care of it, of course you'll feel bad. Eat enough vegetables and protein. Create nightly routines so you can sleep better. No looking at your phone after a certain time at night. Stuff like this.

Meditation can be extremely powerful too.

Also, be accepting if you have to rest, but try not to have "zero" days. Do at least one thing you need to do every day, and congratulate and reward yourself when you do it. Over time, it gets easier to do more and more.

If it's still really tough, I recommend seeing a naturopathic doctor and not only an MD. They tend to take a more holistic approach to healing and can give you gentler solutions.

Take it easy on yourself and let your body heal. I wish you the best. <3

Collapse
 
richgel999 profile image
Rich Geldreich

Some books you may want to check out:

"The Chemistry of Calm":
amazon.com/Chemistry-Calm-Powerful...

"Depression Free Naturally":
amazon.com/Depression-Free-Natural...

Collapse
 
ben profile image
Ben Halpern

Thanks for these.

Collapse
 
taylorshaw profile image
Rogue Taylor Staff

How did you decide that texture compression could be a viable business, and do you see any other great opportunities for graphics middleware comparable to Basis? (basically, tell me what company I should start, please)

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

Rich did a good job talking about Basis.

What company should you start? :) Well, I just want to highlight how much of an opportunity there is for middleware especially in the engine space.

Basically, what's a problem that companies don't have engineering time or expertise to totally perfect, that would be easier to just buy a solution for? So many things. Engine teams are not that big compared to the amount of problems they run into. AI, networking, all kinds of different rendering issues (font, particles, water, cloth, hair, different kinds of lighting, on and on...), build processes, different kinds of physics issues, so much...

I think the product you should build should be the intersection of what you can do with what customers you have. We originally started Basis because we knew we could do it, and we knew exactly who the customers would be.

So you should find your customers. Network. Talk to people. Build up trust in your abilities. Make a good website, portfolio, tech blog. Find someone who would buy your product. That's the first step!

Collapse
 
taylorshaw profile image
Rogue Taylor Staff

Thank you both for the responses. I admire how open and helpful you are.

Collapse
 
richgel999 profile image
Rich Geldreich

I first built crunch in 2008-2009, and open sourced it while I was at Valve on Google code (then github). The Google Maps team was crunch's first big customer. More and more products started using it, and many of these teams would contact me with bug fixes, or feature requests.

So last year, Stephanie was saying we needed a product, and creating a commercial version of crunch seemed like a no brainer. A ton of teams were already using the library, it cut game downloads in half or more, and we had (and still have) no competition in this space. Unlike many startups, our technology already works and is deployed in the field! So it was a natural fit.

I started rewriting crunch right after out initial announcement last year.

For other middleware, there's definitely a need for a good binary delta compression codec. We'll eventually get to that if nobody else does. On the graphics side, I think there are plenty of opportunities in the AR/VR space.

Collapse
 
jefframes profile image
Jeff Rames

First off - you both rock! Thanks for doing this AMA, and for everything else you do for the community.

From my vantage point, you've accomplished a lot in a relatively short amount of time at Binomial. Stephanie at least has been vocal about maintaining good work / life balance.

Obviously you have quite a bit of natural talent. Can you share any other insights into how you stay so productive? On a related note, how do you get 'in the zone' and focus around distractions like Twitter, email and news?

Thanks!

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

For me, a lot of it is around staying healthy-- mentally and physically.

Are you eating well and sleeping a lot every night? Are you healthy? Are you getting checkups regularly and not in pain? Paying attention to your health is the first step. You aren't going to be at your best if your body is hurting unnecessarily. Your brain is not disconnected from your body!

Mental health is also important. Only working 4 hours or so a day, and spending the rest of the day with loved ones, resting, being social online, all those other activities-- that's where I'm at my most productive. My brain just doesn't want to focus on something all day, it's healthy for it to relax a bit and then have a burst of focus and thinking of work. I find that I solve a lot of problems while I'm resting. Taking a little nap in a day often results in me waking up and thinking, "Oh, that's the solution I was looking for!"

Especially in owning this business, just churning out busy work isn't helpful. I have to stay positive and creative and focused. Staying healthy and resting a lot, both in brain and body, is so important!

I also find that doing other activities other than our compression work is important for my mental health. I have all kinds of things I want to do and hobbies-- focusing on different things, while making sure to rest a lot, can be really important for productivity.

I write my 10-year life goals down in a little notepad document, and look at them every now and then. Life goals, not career-focused necessarily. I think about how each of my tasks gets me to one of those goals, and it makes me happy and makes me want to work toward it.

Current list, for example:
-- Keep being successful in my business ($$ and freedom)
-- Travel occasionally to beautiful places
-- Cultivate fulfilling hobbies that are just for fun/joy/beauty
-- Try out a few places to live, find one to stay in
-- Be very involved in the community: get involved in local politics, know my neighbors, have good friends locally
-- Get married & start a family
-- Give back in a big way, do organizing work

Obviously that first bullet point has a lot of smaller bullet points needed to achieve it, but that's the high level goal. I then think about specific tasks needed to get there, and actionable plans and timelines.

If something isn't in line with one of my goals at all in any way, and I can't find a way to update the list to make it true, it's probably not worth doing. Thinking like this is motivating to me.

Collapse
 
jefframes profile image
Jeff Rames

Thanks - this is incredibly helpful! I attempted some of this when I was independent, but it sounds like I should have been a bit more disciplined. The health part is especially important for me.

The challenge for me now is implementing some of these ideas while working as an employee. Four hour days are not on the table, and some of the others are also difficult. I’m starting some place new soon, and will give more thought on how I can set myself up to succeed on more than a personal / career level. I may hit you up for advice, if you don’t mind!

Thread Thread
 
sehurlburt profile image
Stephanie Hurlburt

For what it's worth, I know a lot of full time folks who only really work 4 hours/day. The other 4 hours are spent in meetings, talking to coworkers, browsing the web, learning new things, resting the brain but in the office so they "look productive." So I wouldn't feel the need to be productive 8 hours every day.

I wish you the best with taking care of your health! So important indeed.

Collapse
 
richgel999 profile image
Rich Geldreich

Thanks Jeff. I had to change my life radically to stay productive. I focused my knack for optimization to my body and my life. I had to, having fallen extremely ill from a GI illness and almost dying in mid 2015. 2016 was my year of recovery, where I had to basically reboot my life. I moved to Seattle (U District) which was one of the best things I ever did. Living in Seattle was amazingly healing.

This experience changed me in ways I'm still figuring out. I learned that I don't need caffeine to have energy. Things like going to sleep at the same time every night, waking up and immediately going outside to see natural sunlight, eating at consistent times to minimize stress on my body, changing to a Paleo diet, gettng lots of exercise 3-4 times a week, and home made probiotic yogurt all helped massively. I also read a lot of books about things like amino acids, herbal medicine, etc.

Also, it helps to have a "mission" in life. I am completely focused on pushing our product (Basis) forward.

Collapse
 
jefframes profile image
Jeff Rames

Hey Rich - I wasn’t aware of that, and glad to hear you were able to get things back on track!

That’s interesting especially to hear about Seattle being of such a big help. I have some health issues exasperated by the cold, and finally moved from the Midwest to Texas in part for that reason. So far, it hasn’t yielded as big an improvement as I’d hoped. I have tried periodically over the years to make other changes, and your story gives me a bit of a jolt to get at that again.

Thanks again for the advice!

Collapse
 
damianfekete profile image
Andrei Damian-Fekete

Who's walking the dogs and for how long?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

We split dog walking duties. :P Happy to report the dogs are happy and content with this arrangement

Collapse
 
wintermute21 profile image
John Best

How does one know if they're a good developer or not?

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

I don't really like the notion of "good developer," first of all. What's a "good artist," for example? Everyone is going to have different opinions on what that means. It's a very multifaceted thing. You can be a good developer in so many ways, and not everyone will ever agree you're a good developer but some will think you're awesome.

So I just wouldn't worry about that. I'd focus on: Are you able to build things? Is your code doing things? Is it achieving the goals? Then, that's all that's really required!

More advanced questions to ask: Is your code easy to maintain over time? Is it easy for other people to read? Does it perform well? Do you have a good base of knowledge built up that makes it easier for you to solve a problem quicker?

I think anyone can be a good developer, and there are many different ways to be good, and you don't even need to have a good answer to all the advanced questions to be amazing at your job.

Go forth and don't be discouraging of yourself. :) I'd recommend building up a network of friendly developers you trust-- doesn't have to be at work!-- to get feedback on your code. You can do it!

Collapse
 
wintermute21 profile image
John Best

I've been fired a few times so my confidence isn't the best. :( Heh

Thread Thread
 
ben profile image
Ben Halpern

Hope you don't mind me stepping in to offer some thoughts:

Try to think of your career as reasonably "stateless" as long as you haven't burned too many bridges or developed a reputation that follows you. Stateless meaning the new situation doesn't really have a lot of insight into the old situation. You see your career as one continuous line, but the next employer really just sees you now. So if you've had issues with an old situation, the new one is really a completely new opportunity.

You're also measuring with a reasonably fixed barrier of quality. It's not a race where you have to outrun the "quality" bar. That bar might shift a bit, but for the most part once you're over the hump, you are in a pretty good place. I'm not the best developer, but I'm good enough to be "safe" more or less. Whether that's "enough" is a different question but really about your own interests. If you're not quite to the "safely good at enough at programming stage" yet, you're certainly approaching it if it's even a question.

Society puts a lot of emphasis on "greatness". From what I've read, I couldn't get a job at Google as an engineer. Maybe I could if I really wanted to more than anything else, but as it stands, I'd probably fail the tests. And I'm pretty okay with that, I have a good setup right now.

I think you've got this John. Hope this was a useful line of thought.

Thread Thread
 
wintermute21 profile image
John Best

Thanks, Ben. I guess I'm just discouraged because I've been looking for months and had loads of interviews but no offers. And I've taken loads of tests so I can prove what I know. it's just, I hate the competition of the whole thing. And I hate the lack of empathy companies seem to have. gassho.

Thread Thread
 
ben profile image
Ben Halpern

Yeah, I'm certain that's frustrating.

Thread Thread
 
wintermute21 profile image
John Best

"I leave Sisyphus at the foot of the mountain! One always finds one's burden again. But Sisyphus teaches the higher fidelity that negates the gods and raises rocks. He too concludes that all is well. This universe henceforth without a master seems to him neither sterile nor futile. Each atom of that stone, each mineral flake of that night filled mountain, in itself forms a world. The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy." -- Albert Camus

Collapse
 
maestromac profile image
Mac Siri • Edited

Hello Stephanie & Rich!

How big of a difference is there between image/texture compression and audio compression? and where does video compression fit into this?

Collapse
 
richgel999 profile image
Rich Geldreich

Audio compression is in many way a very different beast. Good lossy audio compression requires knowledge of psychoacoustics, which isn't something I've personally spent a lot of time studying. A lot of the lower level coding algorithms (such as Huffman or arithmetic coding) are the same, but the higher level algorithms tend to be very specific and tuned to the type of data you are compressing.

One way to build a video codec is to first build an image codec, then use that as a base. This is exactly what we're doing with Basis. Basis's current format is basically the "I Frame" portion of a video codec. (I frames are compressed independently of all the other frames in a video.) Our goal is to eventually work on P (predicted) frames for video after we finish work on our universal format. We'll be working on a universal GPU texture video format for mobile and desktop sometime next year.

Collapse
 
sehurlburt profile image
Stephanie Hurlburt

Definitely! Yes to everything Rich said.

What he's hinting at is that with lossy compression, it's all about human perception. How can we best trick the human brain into thinking there's not a lot of data lost when there actually is? And of course our audio centers will perceive things differently than visual centers.

Visual metrics for quality are super interesting to examine. We use PSNR and SSIM, for example. Those are image quality metrics that attempt to automatically detect, using algorithms, how much the human brain will perceive quality loss. There are more image quality metrics tuned specifically for photographs, but the thing is we deal with all kinds of textures, not just photos (For instance, normal maps and depth maps! How are those perceived by our brain?).

At the end of the day, a computer algorithm won't be able to detect perceived quality loss as good as a human. The best test is always to look at an image and try to judge for yourself how much quality is lost. But that's slower, so in reality we use a combination of human testing and algorithm quality metrics.

We have customers already using Basis for video-- what they do is plug it into their existing video codec, and add the optimizations video needs. Video is images, but you also have to account for humans perceive moving images and optimizations there-- just a bit different. We are mostly focused on optimizing the image part of it now, but folks are more than welcome to use it in video. Our "texture array" feature provides a good start: binomial.info/blog/2017/2/23/intro...