Settings

Theme

Open-Sourcing our Firmware

frame.work

1168 points by aram 4 years ago · 381 comments (377 loaded)

Reader

ad8e 4 years ago

I checked the keyboard debouncing logic [0] and it was fine. Some keyboards from other manufacturers, notably Lenovo Thinkpads, have absurd debouncing algorithms that scramble keys or add delays, so it's good to see Framework has a correct solution.

[0]: https://github.com/FrameworkComputer/EmbeddedController/blob...

  • ohazi 4 years ago

    I've noticed that I seem to miskey my unlock password immediately after resuming from sleep way more often than when I use that password at other times, or when using an external keyboard (Lenovo T480). I always suspected that something was wonky, but a weird debounce bug would totally explain it, especially as I tend to type that password very quickly.

    • ad8e 4 years ago

      The scrambling is easy to see once you know it's happening: press k and l simultaneously on your Thinkpad keyboard. It'll always come out "lk" unless you deliberately separate them.

      Testing was done [0], but it's not written in an easy-to-understand way. As a summary, Thinkpad keys are scrambled within 15-23 ms. Usually, humans ascribe scrambled letters to their own mistakes, but this time it's the keyboard's fault. Lenovo continues to ignore the issue.

      One very stupid solution for your password is to change its letters to go from right to left. That way the scrambling will become anti-scrambling and you can type your password even faster than on a normal keyboard!

      [0]: https://github.com/ad8e/input-polling-test

      • stavros 4 years ago

        Oh man, is that why pressing "iu" quickly would come out as "ui"? I know I press them correctly, because I use the middle and ring fingers together simultaneously, with the longer finger obviously striking one key first, yet they'd always come out wrong.

        • OneLeggedCat 4 years ago

          Wow. All these years it's been the keyboard, not me. Kinda mildly infuriating.

          • stavros 4 years ago

            Yeah, it really is, and people didn't believe me when I said with certainty that it was the keyboard's fault.

      • alar44 4 years ago

        Wow. I'm surprised they don't do this on the component level. When I was working in embedded, I considered software debouncing a lazy hack. I'd rather sanitize the data before it hits software.

        • sannee 4 years ago

          Firstly, hardware debouncing is a bit awkward to implement on a multiplexed matrix, since you need a debouncing circuit for each of your inputs (meaning about a dozen or so of them).

          More importantly though, software debouncing offers greater flexibility. For keyboards, you usually[1] want to implement an asymmetric "eager" mode, where a key press gets registered immediately and only the key release is debounced. Since software usually does stuff on the key down event, this works to reduce latency.

          [1] Well, that's what the various enthusiast mechanical keyboard firmwares do, I am not so sure that generic $random_corp keyboards do care...

        • brokenmachine 4 years ago

          There's nothing wrong with software debouncing. Almost all fancy DIY exotic keyboards use software debouncing effectively.

          In fact it's more customizable for quicker response than hardware RC debouncing.

          There is, however, something wrong with shitty debouncing software.

        • halpert 4 years ago

          It looks like he keyboard state is read by the driver, rather than the keyboard sending the state to the OS. How would you denounce on a hardware level with such a setup?

          • gridspy 4 years ago

            One way is a RC circuit - where the switch (the keyboard button) in series with a resistor then charges a capacitor. You specify the ratio of resistance to capacitance so it takes long enough for the switch to stop bouncing before the capacitor output rises to the sense level of your digital input.

            But if you want to reduce hardware cost, you can eliminate many capacitors and resistors by doing it in firmware instead.

            • Findecanor 4 years ago

              Computer keyboards tend to have switches in a matrix so that only (columns + rows) number of GPIO pins would be needed on the keyboard controller. Each column gets strobed at once in turn, and the rows sensed.

              Cherry once made a software/hardware hybrid but it didn't have any advantages compared to software debouncing, and it needed more power, so there was only one model.

              If I understand it correctly, debouncing with a capacitor delay events somewhat. With software debouncing (done right) you are only required to have a minimum time between the press and release events.

            • alar44 4 years ago

              Yeah, I get where you're coming from, but a few dozen SMD caps and resistors ordered in that kind of bulk probably raises the cost by a penny. Of course you do technically have more points of failure I guess.

              • baybal2 4 years ago

                I had clients who were going to bargain for less than a penny

                • spookthesunset 4 years ago

                  For ten million units, a penny is $100,000. You could give an engineer an entire quarter to come up with a software debounce for less than that.

                  That shit adds up. BOM costs are everything for consumer goods.

                  • tmzt 4 years ago

                    I've always wondered why the same logic doesn't apply to using a commercial BIOS. Doesn't the per-unit cost for someone like Compal add up to more than the value in using a customized Phoenix firmware? Even with UEFI the branded option is generally used.

                  • alar44 4 years ago

                    And if you make $10 on each of those that's .1%. Or even if it's only $1 that's 1%. So be it!

                    I don't want to encourage shitty design for pennies at any level.

                    Stop making shitty shit.

                    • avianlyric 4 years ago

                      There aren’t that many 1% in 100% or even that many 0.1% in 100%.

                      Saving a penny on the keyboard will be one of hundreds of places where a penny was saved. Good engineering and product design is about trade offs and compromise, not taking absolute positions about what’s shitty or not.

                      • spookthesunset 4 years ago

                        Exactly. Opportunity cost. Maybe saving a penny on this portion of the keyboard let’s them spend a penny on some other part of the design that might have even more positive customer impact.

            • halpert 4 years ago

              I’m not too familiar with hardware, but would you be able to differentiate between the unpressed state with such a scheme?

              • gridspy 4 years ago

                Typically in a 5v system you'd treat capacitor output voltages under 2.3V as pressed and over 2.3V as released. There is a "pullup" resistor and the switch is wired to "pull down" the circuit towards ground, through the mentioned resistor.

                Most Microcontrollers have the pullup resistor built in. Modern ones even let you turn the pull-up feature on and off per pin with a SFR (a special register /fixed memory address you can write to where you change hardware settings). Often you can also choose between reading a pin or driving it as an output.

                The most important thing to know about debouncing is that any hardware switch bounces from 50-200 times over a very very short interval when you press it. You can use an oscilloscope to see that. The bouncing is not as bad on release but I imagine it still exists there too.

                Another fun hardware trick is that when you turn off a magnet (like a relay) you can get a massive over-voltage pulse back (10x typical drive) for a moment. You need to protect yourself from that, for instance with a Schottky diode. Here's a discussion on that fun detail [1].

                [1] https://forum.allaboutcircuits.com/threads/reduce-voltage-sp...

              • alar44 4 years ago

                Of course. Hardware debouncing came long before software. It's basic electronics. Many switches have it built in.

      • perihelions 4 years ago

        >"The scrambling is easy to see once you know it's happening: press k and l simultaneously on your Thinkpad keyboard. It'll always come out "lk" unless you deliberately separate them."

        Is there an easy way to fix this? This is a noticeable nuisance in Emacs, when chord strings get "debounced" out of order (i.e. things like C-xC-m -> C-mC-x are quite annoying). The debounce precision is slower than fast human typing. Even though keypress event order is correct and noticeably correct, it gets rounded to "simultaneous", and then reordered (backwards) according to the logic you've described.

      • abracadaniel 4 years ago

        I’m always noticing the terrible denouncing times on things like appliances or garage doors, but I never thought about how it affects multiple key presses in keyboards. Fascinating to get more insight into a particular pet peeve of mine.

      • ohazi 4 years ago

        This must be it, then. The key pairs / triplets that I type in most quickly are left to right.

    • samtheprogram 4 years ago

      This is why I’m eyeing a Framework laptop. I have a not-so-old ThinkPad E480 that I avoid using because of this issue.

      On top of that, I didn’t know what the issue was and it drove me nuts until I figured it out. Left a very bad taste in my mouth for Lenovo/ThinkPad despite all the love they receive.

    • eloisius 4 years ago

      I’ve noticed this same thing with my Framework, and thought it must be a bug in i3lock, PAM or something else. Multiple times right after waking it, i3lock tells me multiple times that my password is incorrect. Upon restart it works fine.

  • nrp 4 years ago

    We used the chromium-ec logic as-is (checking git blame), but I believe did tune the debounce timer to match the characteristics of the keyboard itself.

  • Teknoman117 4 years ago

    Out of curiosity, is there anything in particular that you're looking for? On a cursory glance, whenever a key state is sampled as different to the previously reported state, it immediately reports a state change and locks out any further reports for a specified amount of time. So, the report goes out the moment the state changes, so long as you can't perceive the debounce time, which I presume would be a few dozen microseconds. (Rather than some debouncers I've seen which wait for the debounce period to end before sending the initial report)

    • fps-hero 4 years ago

      Yes. Essentially, when you see an edge, update the state immediately but have a guard interval before allowing further state changes.

      Intuitively, this means register the event when you see the first edge, not once the bounces have finished.

      For an example of incorrect denouncing, see most articles on denouncing (the hackaday article comes to mind), and the QMK firmware last time I checked (most keyboard set the denounce time to zero, so the debounce time just becomes the update rate).

      • colejohnson66 4 years ago

        > Yes. Essentially, when you see an edge, update the state immediately but have a guard interval before allowing further state changes.

        Isn’t that ultimately what capacitor + Schmitt buffer debouncers does? The only difference is that this would be in software?

        • fps-hero 4 years ago

          A capacitor plus pull up resistor will add an RC time constant delay on switch release, and for it to be effective at denouncing it needs to be on the order of 10ms. A software solution has zero delay in both cases.

          A Schmitt buffer isn’t necessary when using polled GPIO with a microcontroller.

          An equivalent accurate discrete logic circuit would be a latching circuit with a gated input pulse on state change corresponding to the denounce time, which is overkill for simple button handling.

          • stevenhuang 4 years ago

            Just to check, you do mean 'debounce' right?

            Since you said 'denounce' a couple times I'm not sure if this is some jargon I've not been aware of or just auto-correct.

  • bsder 4 years ago

    I find the has_ghosting() function more problematic and reminds me of why C just sucks even if it is the appropriate choice.

    c and c2 loop variables so a typo can hose you horribly. A global variable to hold the array length. ! instead of comparison to 0. Having to offset the second loop by 1. Early return which means the function will normally work fine but might result in N^2 extra time depending upon the data state. A bit trick relying on unsigned underflow without pointing out that unsigned is a key constraint even though it has a comment. An extra missing const on the incoming pointer (should be: const uint8_t * const). Braces left off the short-circuit if conditionals.

    The worst part is I have personally written tons of functions like this. This is a "normal" function in C--in fact, it's far better than average.

    The fact that you write C like this just shows how much we need something better.

    • account42 4 years ago

      > A global variable to hold the array length.

      This is a microcontroller firmware. Moving what is essentially a constant around the stack would be insanity.

      > ! instead of comparison to 0

      Not a problem and even idiomatic.

      > Early return which means the function will normally work fine but might result in N^2 extra time depending upon the data state.

      It only takes N^2 time when all columns have at least one key pressed but not have at least two rows in common in any of them (except maybe the last two) - hardly a state that you care that much about. Would you really want to increase the latency/power consumption for single key presses just to have the exceptional case not be slower than normal?

      If you wanted to you could restrict the early exit with the same test for having at least two bits set. If the key matrix has no unused slots you would then only check if there is another column which shares any set row bits (because it would then share all of them), which could let you make the algorithm O(n) with some additional memory for row bit counts. But the code would be more complicated and the number of columns is not dymanic. Plus the key matrix most likely has unused slots precisely to avoid ghosting for common combinations.

      > A bit trick relying on unsigned underflow without pointing out that unsigned is a key constraint even though it has a comment.

      The variable with type is declared right before the bit trick. If you change it to signed when there are bit operations, especially ones you don't understand, then you deserve what you get. However, this trick does not rely on unsigned underflow. the only concern with signed (assuming two's complement) would be if the sign bit is the only one set, in which case the signed underflow would be undefined at the language level - but not a problem at the hardware level since two's complement addition/subtraction is exactly the same as unsigned addition/subtraction.

      > An extra missing const on the incoming pointer (should be: const uint8_t * const).

      const on the outside of function parameter types (as opposed to inside them) does not change how the function can be called. Sure, you could make all local variables const if they can be but for such a tiny function that really does not add anything.

      > Braces left off the short-circuit if conditionals.

      Meh, that is a code style choice and no reason to complain about C. Also not really that dangerous with modern compilers that warn based on misleading indentation.

      And you missed the actually bad part of the function: The comment that says the colummns are ORed together when they are ANDed.

  • poyu 4 years ago

    Debounce is an interesting topic[0], I tend to use hardware debounce whenever possible on my own projects.

    [0]: https://hackaday.com/2010/11/09/debounce-code-one-post-to-ru...

    • auxym 4 years ago

      There's some good info here if anyone is interested: http://www.ganssle.com/debouncing.htm

    • CamperBob2 4 years ago

      Don't accept a keypress if the same key was previously pressed less than x milliseconds ago. What else is there to know about debouncing?

      • talideon 4 years ago

        The problem is that you're dealing with an analogue signal. The gold standard for debouncing because of that is a low-pass filter, which is implementable by a resistor and capacitor, and way more reliable (and responsive) than any software solution.

        • CamperBob2 4 years ago

          Can you describe a case in which rejecting a duplicate keypress that arrives within a specified number of milliseconds is ineffective, unreliable, or even suboptimal?

          A lowpass filter is an empirical hack, not a gold standard. It has multiple disadvantages; rather than being "responsive," it adds latency to the initial input for no good reason, and it affects both rising and falling edges equally, again for no good reason. It also requires the addition of unnecessary physical components.

      • sydthrowaway 4 years ago

        What is x? Is it related to human capability?

        • CamperBob2 4 years ago

          Key bounce takes place at timescales far shorter than human reaction times. Typically you'd base the interval on the mechanical characteristics of the keypad.

          For instance, taking a look with a scope, if you observe that the signal stops bouncing after 3 milliseconds, it would be pretty safe to accept duplicate keypresses with a 10-ms guard interval.

          • alar44 4 years ago

            You'd have to have two intervals though, one for on, one for off. It bounces both ways. Hardware is more elegant but obviously the tradeoffs depend on what you're implementing.

            • CamperBob2 4 years ago

              It bounces both ways but as long as you don't accept another keypress action (up or down) immediately after the first, you're fine.

              • alar44 4 years ago

                You're fine either way. You either have to poll, or use interrupts. If you are polling, you don't need to debounce the circuit. If you use interrupts, you're going to have a very bad time if you don't. Interrupts are much more efficient. Polling is wasteful.

                • brokenmachine 4 years ago

                  I don't see why interrupts wouldn't work without hardware debouncing.

                  $2 micros are many MHz. All it has to do is save/compare one timestamp per interrupt.

                  So lets do some back-of-the-napkin calculations and say it takes 1us to store/compare the timestamp, a switch transitions 50 times per press on each change of state, and a person is typing at 100wpm (lets say 600cpm = 10cps).

                  I think these are pretty conservative numbers, 50 bounces sounds like a pretty crappy switch to me.

                  So 1000 transitions per second which would take 1ms, which means 1/1000th of the time is spent servicing the interrupts.

                  It's not going to cause a problem unless the coding is very inefficient.

                • CamperBob2 4 years ago

                  Since your ISR does nothing but record a timestamp (right...?) you are not going to have a "very bad time."

                  Although in many cases polling is fine as well.

  • belfalas 4 years ago

    This made me wonder if debouncing is also a thing with software keyboards? For years I have sworn that I type things correctly on the iPhone keyboard but it gets it wrong.

    • brokenmachine 4 years ago

      I'd assume that the capacitive touch sensing will certainly have some kind of debouncing as it crosses whatever the threshold is to register a touch or not.

  • lukeschlather 4 years ago

    This reminds me of a weird issue I have with my Lenovo where sometimes the trackpoint and mouse buttons stop working until a reboot (but the trackpad still works.) I think I must trigger a race condition in the trackpoint drivers somehow but I have no idea how to debug it.

    • namibj 4 years ago

      I remember such an issue; unloading and reloading the kernel module fixed it.

      • lukeschlather 4 years ago

        This is on Windows, I haven't tried installing Linux on the machine. It's also intermittent enough that it's virtually impossible to debug.

  • google234123 4 years ago

    The copyright header at the top says "chromium".

  • baybal2 4 years ago

    I want to produce a keyboard switch which needs no debounce.

    • lwhsiao 4 years ago

      This appears to be the goal of optical switches.

    • ChuckNorris89 4 years ago

      IIRC those already exist in the form of optical switches.

      • baybal2 4 years ago

        Yes, but they are overengineering a simple problem. A mechanical bounce free switch is a no problem at all.

        • ChuckNorris89 4 years ago

          >A mechanical bounce free switch is a no problem at all.

          Two questions:

          1) do mechanical switches with zero bounce really exist?

          2) are they cost effective enough to be used in consumer keyboards?

          • baybal2 4 years ago

            > 1) do mechanical switches with zero bounce really exist?

            You just use a switch with 2 outputs: for on, and off position. Triggering 2 at the same time is impossible.

            > 2) are they cost effective enough to be used in consumer keyboards?

            Surely less than a percentage of a cent in extra cost.

            • ChuckNorris89 4 years ago

              >You just use a switch with 2 outputs: for on, and off position. Triggering 2 at the same time is impossible.

              But then the switch will still bounce except now it bounces with an extra state and you need extra logic to read an extra output per switch and debounce both outputs, which also makes PCB's more complex further increasing the cost.

              >Surely less than a percentage of a cent in extra cost.

              With the extra PCB and custom logic complexity you just added with the extra output per switch, you're looking at way more than that, which I guess is why the industry went optical instead of following your idea.

              • baybal2 4 years ago

                > But then the switch will still bounce except now it bounces with an extra state and you need extra logic to read an extra output per switch and debounce both outputs, which also makes PCB's more complex further increasing the cost.

                No, you don't need to debounce both. Both signals will never be connected at once.

            • brokenmachine 4 years ago

              >You just use a switch with 2 outputs: for on, and off position. Triggering 2 at the same time is impossible.

              You've pretty much just described a standard everyday bog standard switch.

              It's either over the threshold resistance for triggering, or it isn't.

              Nothing you've suggested here excludes a switch that changes state by bouncing between the two states 50 times per physical press when you sample at MHz speed, as most switches do.

ohazi 4 years ago

I've been so happy to see what Framework has been doing lately, and really want to support them, but I already have a desktop as my primary computer and two Thinkpads that are already set up nicely, but that I rarely use. I moved from 15" laptops to 14" when Lenovo added the numpad on the larger variant, and 14" is about as small as I want to go.

I kind of want to buy a framework though, just to support them? But I have no use for another laptop, let alone a small 12" one! Should I get one anyway because, what the hell, why not? Should I wait and then jump on one if/when they release a larger model?

Anybody else have similar feelings?

Edit to add:

I also have one of the last Thinkpad models that support S3 sleep (T480 -- within a model or two, I think?), which is currently super critical for Linux... I need to be able to close the lid and come back after a week.

It's easy to blame the manufacturers for this, but the consistent answer seems to be "Intel's Tiger Lake platform does not support S3 sleep," and all of the system builders base their work on what Intel's reference platform does. So short of going to extreme effort to hack it together themselves (something that is likely not their specialty), reasonable sleep behavior is not going to be an option unless Intel brings S3 back, or does work to improve the S0ix states.

I absolutely do not want to support the no-more-S3 clusterfuck right now.

  • staindk 4 years ago

    FWIW I don't think you should buy a laptop from them just to support them.

    Just adding to e-waste down the line, and I'm sure they are selling enough units.

    In the future when you do actually need/want a new laptop of course it would be great to support them then. And advocate for them when a friend asks about what laptop to buy.

    • ohazi 4 years ago

      Completely agree about e-waste, and as a result, I try to take good care of my laptops and use them for as long as I can (I used my previous one for about a decade, and it's still perfectly usable plugged in / for light tasks).

      • lillecarl 4 years ago

        I try to make sure to limit the max charge percentage to 80 on all devices I use. Voltage in many lithium cells increase with heat, so if you're already at full charge you might overvolt you battery. This is why new devices are shipped with 66% charge, because the same applies to cold and undervolting, both ruin the cells.

    • NaturalPhallacy 4 years ago

      Could buy one and donate it to someone else, or a library.

  • alufers 4 years ago

    Sorry for changing the topic but does anybody know the reason Intel has removed the seep states?

    It drives me absolutely nuts when I open my bag and feel the heat coming out of it, and my laptop is left with 20% charge.

    • ohazi 4 years ago

      I believe the push came from Microsoft.

      Apple has been able to do "clever" things while asleep, like waking up the wifi chipset periodically to check for email / messages / notifications / updates, so that when you wake up, everything magically feels ready to go instead of feeling like you just woke up from 1984 and have reams of crap to download.

      But this only works well because Apple does their own firmware for most of the machine, and seems to do a reasonably good job, despite a few issues. They're careful about only doing things that aren't going to obliterate the battery in a way that would be surprising.

      Microsoft is jealous of this functionality and knows they want something like that for Windows. They also know they need to cater to the lowest common denominator with system builders, so they asked Intel to put this kind of capability into their platforms, and to explicitly disable the old modes, so that system builders wouldn't be able to drag their feet. The result is that they've all switched, but the outcomes are generally poor and high variance. Sometimes they're passably okay within Windows, but not always. It'll probably get better, but for now things are crap, especially on Linux.

      • FredFS456 4 years ago

        I believe it's configurable in firmware, as my ThinkPad e14 gen 2 has a BIOS option to set the sleep state behaviour. The options are labelled "Windows" and "Linux".

      • Already__Taken 4 years ago

        Why is this hard? Like I know it's all hard. But is it just new? or is it not documented at all, or some structural issue with how distros expect states to work?

    • sevenlake 4 years ago

      Have they? As far as I'm aware, sleep states are "supported" in hardware well enough, but doesn't prevent software/settings from not using them correctly.

      Not that I blame them, there are many different sleep states from core/package level [0] that map onto system/platform level sleep states [1]. Fucking confusing, and I'm sure something is waking it up. Have you checked Windows Task Scheduler? My college laptop had a Norton Antivirus scan wakeup at 5am every day and would be re-enabled every Windows Update, similar pain to you

      [0] https://www.intel.com/content/www/us/en/support/articles/000... [1] https://www.tenforums.com/tutorials/63346-sleep-states-avail...

    • danuker 4 years ago

      The correct course of action is to return the "defective" product.

    • baybal2 4 years ago

      Maybe they made a hardware bug in suspend circuit, and decided to simply fuse it out?

  • ziml77 4 years ago

    Hopefully they are able to expand their lineup to include a 15" model. I tried to work on a 14" MacBook Pro and ended up returning it because it felt too small. Though I probably still wouldn't exchange my 16" M1 MBP for a 15" Framework laptop unless Framework manages to even come close to competing with M1's power efficiency. That really depends on a chip designer making something competitive though. Not much Framework can do other than find ways to improve Linux's power management.

  • chx 4 years ago

    What? I have a Tiger Lake ThinkPad , an X1 Extreme Gen 4, and https://i.imgur.com/RUI9rnd.png it definitely supports S3 sleep, it's a simple BIOS setting. You can go to https://download.lenovo.com/bsco/index.html and see for yourself, it's their BIOS simular.

  • mmastrac 4 years ago

    Adding my vote: I'll definitely jump on a Framework 14+" here. My eyes cannot work well w/a 13" without glasses. If I had better near vision (will be all over the lens-softening eye drops) it would be a different story.

    • sydd 4 years ago

      I think Apple hit here the sweet spot with the 13" and 16" sizes.

      My wife (a teacher) loves his 13" one, it's ideal for her to make video calls, write emails etc.

      For me as a developer at least 15" is a must, even though I love Framework, I'll only buy if they release a 15" or 16" version.

  • imiric 4 years ago

    From reports I've read the Framework laptop has poor build quality. This comment from here actually: https://news.ycombinator.com/item?id=29807585

    I'd like to support their cause, but like you, I have way too many machines that already work well enough, that I can't justify another purchase unless it would offer a substantial improvement over my current setup (old ThinkPads). Plus I really can't function without a Trackpoint ;)

    So I'm holding out a generation or two to reconsider. I hope they improve.

    • stormbrew 4 years ago

      > From reports I've read the Framework laptop has poor build quality.

      I'm gonna be really honest here and say that people have a very distorted subjective idea of what a 'sturdy laptop' is like. A lot of marketing money has been spent to make people think the only way to have a strong object is for it to be made of a rigid metal or glass material, so people go "oh my god the lid can FLEX this thing will break if I drop it!" but that's not at all how things work.

      The truth is you can't really just guess at whether a thing will survive falling or whatever by looking at or touching it. The only thing that tells you anything really is actual experience and/or testing.

      (personally, I think my framework laptop feels plenty sturdy for all the subjective anecdata that's worth, it's just not designed in a way that's trying to scream at you "you can run it over with a truck and it will work perfectly")

      • brokenmachine 4 years ago

        Sometimes I think that I must be the only one who doesn't throw his laptop into a backpack full of hammers while jogging everywhere.

    • vaylian 4 years ago

      > From reports I've read the Framework laptop has poor build quality.

      Sources please. That's news to me.

      • cptskippy 4 years ago

        Yeah, the cited source doesn't rea mentioned build quality. It's mostly software bugs, muffled speakers and fan noise.

        None of that is build quality.

        • imiric 4 years ago

          I would categorize the laptop not turning on for 2 weeks, poor speakers, fan noise, mushy/creaking keys, and weak hinge all to be part of build quality. And yes, software issues are also a problem.

          We can argue about how subjective all of those points are, and if a single report has any merit on its own, but it was enough to disuade me from making the purchase.

          If I could test the laptop locally before buying it, I would do that. Otherwise I don't want to risk it on a first gen product, since I _can_ wait for gen 2 and 3.

        • ask_b123 4 years ago

          From the cited source:

          > Build quality is clearly a step down from my old Thinkpad X1 Yoga. The hinge doesn't feel as strong, some keys are mushy/creaking and I'm skeptical my Framework will survive as many falls as my old laptop.

          • sangnoir 4 years ago

            That is not the same as saying the build quality is poor though: it's clearly a comparative statement. "The Tesla Model S is cheaper than the Model X" does not imply "The Model S is cheap".

            Replacing "Model S" in the sentence with a beat-up '97 Honda civic and it may be true, but there is not enough evidence contained in the sentence to support an absolute statement.

            • xvector 4 years ago

              If a "hinge doesn't feel strong" and the keys are "mushy and creaky" that 100% indicates poor build quality.

              Perhaps our individual thresholds for quality differ, but either one of those two statements are dealbreakers for me.

              • sangnoir 4 years ago

                Our individual thresholds for quality differ, that's for sure, because my definition is "Was the object built well, considering it's constraints?" As an example,if something is made of plastic (or "polycarbonate"[1]), I expect it to flex to a degree, and it can still be very well made (e.g. old school Nokia phones had incredible build quality and industrial design)

                1. I hate that plastic had to be re-branded in this manner because a small-but-vocal contingent decided it "feels cheap" on phones, or somehow lowers build-quality. This resulted in glass-backed phones which ironically had to be kept in plastic cases to take advantage of plastic's superior elasticity.

                • xvector 4 years ago

                  That is a very good point - I never thought of it that way. Old Nokia phones are indeed built incredibly well.

                  Perhaps and "build quality" and "premium feeling" need to be separated. I suspect I'm not the only one conflating the ideas.

              • tssva 4 years ago

                The correct quote regarding the hinge is, "the hinge doesn't feel as strong". "as strong" doesn't mean it isn't strong. It means the original commenter doesn't think it is as strong as another hinge not that it isn't strong. Since there is no data regarding actual hinge performance this is a subjective and not an objective evaluation. Keyboard feel is also very subjective, so one person saying the keyboard is "mushy and creaky" holds no real value either.

    • neurotrace 4 years ago

      I've had my laptop for a while now and haven't noticed any build quality issues. It definitely feels nice and light but it seems sturdy enough. I'm not in the habit of dropping my laptop on the ground but I do chuck it on to the bed from time and to time and it doesn't seem any worse for wear.

    • loganlinn 4 years ago

      I came across similar anecdotes of build quality and turned my nose. I found myself wishing I could hold a Framework laptop twist it like I was ringing out a wet rag. Surely this is a good test of build quality, I thought to myself. But in a moment of clarity, I realized this and other pseudo signals of build quality that Youtube reviewers and other armchair experts were attempting to use to draw comparison (to a unibody macbook pro) were either irrelevant or pedantic. Why is a unibody the pinnacle of build quality? Shouldn't longevity be?

      I checked my Apple elitism at the door and I put my name down for a Framework in September and got it in October. Happy ever since. It's a great little laptop and would highly recommend others.

    • gorjusborg 4 years ago

      Are you talking about personal testimonials, or published data?

      If it's published data, mind sharing a link?

      • imiric 4 years ago

        It was a recent thread here on HN. Let me see if I can find it...

        This comment: https://news.ycombinator.com/item?id=29807585

        Some of these issues could be subjective, and I shouldn't decide based on that single report alone, but it was enough reason to reconsider the purchase, especially since, like I said, I really don't need a new machine.

        • duck 4 years ago

          I would say all that is subjective regarding what they specified as "build quality". I'll add my own take to it - I got mine early last month and haven't noticed any of those. That said, I do think the battery is the weak spot, but I think part of that is on the OS side (I'm running Pop!OS).

        • rpdillon 4 years ago

          Had mine since July, batch 1. No build quality issues at all from my perspective...one of my favorite keyboards to type on. Battery is not so good, though.

        • gorjusborg 4 years ago

          Thank you for sharing!

    • filmgirlcw 4 years ago

      That’s not my personal experience at all. Yes, my $4000 14” MaxBook Pro has objectively better build quality, but I think the Framework is at least on-par with the $2000 XPS 13 I bought first (and later returned for the Framework).

      Can’t comment on the trackpoint, which is something I’ve never personally liked, but if that’s a deal breaker, you’ll probably have to have a Thinkpad. But I’ve been very pleased with the build quality of my Framework.

  • adamweld 4 years ago

    Can anyone recommend a laptop that gets great battery life on Linux and has a good keyboard?

    I've been thinking about selling my current beefy laptop (razer blade 15) since I end up doing all my MCAD/ECAD work on my desktop anyway, and moving back to Manjaro on my laptop which only really gets used for software/firmware anyway.

    But, I read so many horror stories about linux firmware glitchyness and poor battery life that I gave up on the idea. If I can just by a used thinkpad from a few generations ago that might be perfect.

    • Beltalowda 4 years ago

      My ThinkPad x270 runs perfectly on Linux out of the box (including Bluetooth, webcam, etc.), and with the larger 9-cell battery (+ the smaller internal battery it comes with) it ran almost 20 hours for normal coding usage when new (less with other usage, and of course it's gone down a bit since, but can still work a full day on it).

      It should be said I run a pretty minimal system (dwm, st, Vim, stuff like that) and usually throttle the system to "powersave", mostly because the fans will never spin up with it. It's a bit slower, but still plenty fast enough for me.

    • vorpalhex 4 years ago

      I get decent but not amazing battery life on my XPS 15, running Pop_OS. About 5-6 hours of actual use time. No major firmware issues but it is using Nvidia.

      XPS 15 laptops appear to have an unresolved mouse lag issue that is noticeable under linux (but seems to happen in Windows too). Seems to not happen with external mice. Annoying but not a big deal. There is an open issue for it but no patch yet.

      • harry8 4 years ago

        had one. It died. Battery swelled up, I replaced it. It died forever because, I think. I closed the lid and put it in my bag. Doing exactly that is what makes a laptop a laptop. It was a couple of months out of warranty and you can't even contact Dell to say "Is this your quality? Is this acceptable to you that your laptop is this bad?" You need to plug in serial numbers on their website and they just tell you to get lost. Can't email them. Can't do anything.

        So yes. The Dell. I do NOT recommend. They are garbage quality devices and their support is utterly terrible. Wildly overpriced for what you actually get.

        Avoid.

    • windthrown 4 years ago

      I've had great battery life and overall experience with my System76 Lemur Pro. However, I have only used their PopOS and don't know if Manjaro would fare differently.

  • grp000 4 years ago

    I'm waiting for something with beefier internals, or an AMD variant, or both. That being said, they'd have to redesign the power delivery system and thermals, so maybe it would no longer be as modular? Anyone with the knowledge care to weigh in?

    • pvillano 4 years ago

      there wouldn't be any new parts except the mainboard/cpu/heatsink. It's unlikely for someone to want to replace only one of those*. I don't see a loss for customizability or repairability

      * very few people can solder a cpu and I've never heard of a heatsink needing replacement

      • Shared404 4 years ago

        > I've never heard of a heatsink needing replacement

        It definitely happens. Usually as a direct result of someone just not taking care of their machine at all, but it still happens.

        Source: work at independent repair shop.

      • grp000 4 years ago

        Funny you say that, my current laptop has a really low wattage chip and as a result, a very small heatsink. As I was removing the plasticy thermal dividers that insulate the rest of the board from the heat of the heatsink so I could lap the contact area, I bent the heat-pipe and pinched it, since it was so thin and fragile.

        That being said, that's a bummer. Would be nice to get a higher end compute option or one with a dGPU.

  • gtsop 4 years ago

    Similar feelings, yes. I don't mind the size at all. It's just that I've got a sweet thinkpad x13 already. My next laptop though, surely a framework (if they are still around)

  • jrop 4 years ago

    Buy someone else in your circles a Framework Laptop who needs a laptop! Or gift them one of your ThinkPads and get yourself a framework!

  • mkbkn 4 years ago

    You can try re-selling your existing laptops in the local market. Plently of buy-sell communities on forums or groups. Sure, you won't get your buy price but you will get a decent amount back.

    Then go for the Framework one.

  • culi 4 years ago

    I agree with not adding unnecessary e-waste to the current crisis. But perhaps you have someone in your life that could really use a laptop? You could get them a gift if they're interested in the laptop

  • khimaros 4 years ago

    invest in the company financially

  • smichel17 4 years ago

    Perhaps find an open source project they depend on and donate to it.

  • joelthelion 4 years ago

    Sell your Thinkpads and buy one of their laptops?

  • Lio 4 years ago

    I wouldn’t buy a Framework right now because they come bundled with Windows and not Linux.

    I want paid Linux support upfront.

    I don’t want to pay for Windows support, remove it and then run unsupported Linux on my laptop.

    A manufacturer saying “this is a Windows laptop but we won’t stop you running Linux on it” isn’t really good enough for what I want.

    • r_hoods_ghost 4 years ago

      You can go for the DIY version without Windows installed, but you have to assemble it yourself and there isn't a supported version of Linux it seems. Giving you the option of preassembled but with no OS installed would seem to be the logical next step before maybe offering a supported Linux version down the line if it's commercially viable.

    • vaylian 4 years ago

      > I wouldn’t buy a Framework right now because they come bundled with Windows and not Linux.

      That only applies to the prebuild laptop. The DIY edition gives you the option to buy the laptop without an operating system. It's fairly easy to assemble the DIY edition yourself and save money by DIY.

      They officially support Linux: https://frame.work/blog/linux-on-the-framework-laptop

      • Lio 4 years ago

        That’s still not quite what I’m looking for.

        It’s not the “not paying for Windows” angle for me. I don’t care much about that.

        I can just treat it like an unused part of the package, like a foreign power adapter. It might even be useful someday.

        What I really want is to positively pay for vendor Linux support, pre-installed.

        I want the vendor to benefit from Linux and know why they’re supporting it for me.

        I guess they could change that in the future though so it’s still worth keeping an eye on.

smasher164 4 years ago

I've been running NixOS on my Framework for the last few months, and I've been really happy with it. I initially got it so I'd have viable hardware to do osdev on, so learning that they are going to open-source its firmware makes me even more happy.

  • rnk 4 years ago

    Seems too good to be true. Reasonable prices, upgradable, no soldered ram. So has it been a reliable Linux laptop, what's the battery life with your options?

    • bo1024 4 years ago

      You nailed it, battery is the only downside I’ve had, not awful but probably say 3 hours of video playback, or 5-6 hours of web use. Haven’t used it unplugged all that much so very rough guesses. Bigger problem with my fedora install at least is battery draining while the lid is closed.

      Overall great machine

      Edit: I may be missing software updates that improve this, no idea

      • reacharavindh 4 years ago

        I very much wanted to hear about this and damn :-( Video playback must be hardware accelerated by now and be super efficient. Another worry was about low power sleep modes and waking up, and looks like it is not solved too. I might have to suck it up and buy the Mac for my needs after all. I have my trusty Linux desktop for all my big compute needs. I was hoping to make the mobile machine also run Linux, but the specific needs there (crisp display, nice battery life, Linux friendliness) seems to be an elusive goal.

        • Teknoman117 4 years ago

          It's still a real pain to get hardware accelerated video in a browser on Linux. Google is still outright refusing to support it in chromium, even though they do support it inside Chrome OS. There are few community patches floating around if you're willing to roll your own chromium to enable to Chrome OS hardware decode pathways on generic Linux.

          You can mostly get it working on Firefox if you play around with the config options, but it only works with AMD and Intel GPUs (anything supporting vaapi).

          • 42jd 4 years ago

            As a heads up they fixed the intel xe graphics sandboxing issue in firefox 96. See https://bugzilla.mozilla.org/show_bug.cgi?id=1698778 It works great on my Framework with NixOS. My about:config settings (taken from my home-manager):

            graphics = { "media.ffmpeg.vaapi.enabled" = true; "media.rdd-ffmpeg.enabled" = true; "media.navigator.medidataencoder_vpx_enabled" = true; };

          • fubbyy 4 years ago

            Really? I’m pretty sure chromium has decent VAAPI support.

            • Teknoman117 4 years ago

              Oh! Looks like they finally started adding official support last summer (June 2021). It still appears disabled by default though.

        • xvector 4 years ago

          The M1 MacBook Air honestly feels so far ahead of any other laptop I've used that it's not even funny. Fanless, powerful, absolutely bonkers battery life.

          M1 + Nix is ideal, IMO.

        • bo1024 4 years ago

          I’m very happy with purism’s librem 14 but the display is not as nice as frameworks.

        • DrBenCarson 4 years ago

          * crisp display

          * nice battery life

          * Linux friendliness

          Not elusive at all, you can find an M1 MacBook Pro at any Apple, Best Buy, or Costco store.

          • Kinrany 4 years ago

            M1 are not Linux-friendly at all.

            • DrBenCarson 4 years ago

              I can run a Linux vm emulating x64 or aarch64 right now on M1…

              Not to mention zsh is the login shell out of the box…

              It’s more flexible that WSL2 in my opinion

              See https://github.com/lima-vm/lima for a very friendly QEMU wrapper running on M1

            • astrange 4 years ago

              Run it in a VM. Works fine.

              • Shared404 4 years ago

                This is like responding "well you can make the civic look like a sports car, that should cover you!" when someone says "I want to drive fast".

                • astrange 4 years ago

                  There's some concerns about paravirtualized GPU performance, but the equivalent of "sports car" (workstation/server-like workloads) runs in VMs in cloud providers all the time.

          • vorpalhex 4 years ago

            You can't even run unsigned apps on your M1. There is linux support slowly coming thanks to the fine folks on Asahi, but it is very pre-beta.

    • dheera 4 years ago

      I've been using a Framework laptop for a month on Ubuntu 21.10 and pretty happy with it. Some hiccups but mostly answered by digging through forums.

      Battery life in operation is excellent, but it does drain 30% in 8 hours when on suspend which is a bit much. Not a dealbreaker but hope this can be solved.

      • throwaway2568 4 years ago

        High battery drain during standby on Linux can be due to the system not entering the proper sleep state. I had this happen to me on an AMD machine lately, in that case disabling secure boot solved the issue.

        Here is a pretty detailed blog post in checking if that is the problem and how to deal with it on intel systems

        https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-li...

      • addcninblue 4 years ago

        Out of my element here, but would be curious to see if this is something solvable in firmware (now open-sourced!) or if it's a hardware problem to begin with (power states? etc).

        Edit: Also curious if this issue is generally a hardware or firmware issue in most laptops, or if it's a mix of both.

      • BlackLotus89 4 years ago

        > cat /sys/power/mem_sleep

        If deep isn't selected do so and try again. You could have problems with your nvme coming out of suspend though.

        I got similar problems on my pinebook pro, but sadly this is all too common.

      • sydney6 4 years ago

        I can imagine that the power draw in S3 could come from having (replacable) DDR Memory instead of (mostly soldered) LP-DDR Memory.

        edit: typo.

        • bestouff 4 years ago

          The problem is that current Intel laptops don't use S3 anymore, they use S0ix a.k.a. "modern standby", an abomination where the CPU doesn't really sleep and the battery drains fast.

          Dell, Lenovo, HP etc. all have the same problem.

          • sydney6 4 years ago

            I have a Thinkpad X1 from 2018 and by default it came with S0ix enabled and Lenovo later on added the S3 sleep state option through a BIOS update, called "Linux compatibility something".. Before that, one had to manually edit the DSD table to get rid of this evil burning-sleeping-laptop-in-backpack-feature called S0ix.

            Does the Framework Laptop, or other popular models from the other manfacturers you mentioned, not have a S3 sleep state option these days, i.e. S0ix only?

          • jpetso 4 years ago

            S0ix has stronger requirements on the "correct" interaction between firmware/BIOS and OS, it offloads more work to the OS. Poorly implemented S0ix will drain the battery faster, but correctly implemented S0ix is as good as S3 or even better.

            Lenovo put out a buggy S3 implementation on some systems that hasn't been tested well because it's only an optional "Linux suspend" setting. Drains twice as fast as Linux with correctly implemented S0ix. And the worst thing is, nobody except Lenovo do can fix it because it's all on the BIOS level, and their China-based firmware team has other priorities.

            Well-implemented S3 is nice. But it's going to disappear. Both Intel and AMD are switching away with full force, vendors won't have S3 options in the BIOS going forward and the ones that remain will likely suck. On the other hand, S0ix support is coming together even on AMD platforms which were a little late to the party. Once it's working decently, I'd rather trust my OS than my laptop manufacturer's firmware team to suspend components correctly.

    • willmorrison 4 years ago

      Battery life on mine with a pretty minimal Arch install and TTY is around 10 hours when doing light web browsing and programming. Only problems I’ve had are hardware related. The trackpad isn’t 100% reliable (sometimes clicks don’t work and I have to press hard to get it to work again) and the hinge is far too loose. Love the laptop overall.

    • Rebelgecko 4 years ago

      From what I've heard battery life is much worse on Linux than Windows. If you're willing to spend some time hacking around you can close the gap a bit, but it'll still be a gap.

      • sva_ 4 years ago

        Personally I can't confirm this. I've recently replaced the battery on my 2014 Thinkpad, and on low brightness I get around 8h of battery. That is of course, while not doing a lot of compute (compiling).

        I don't think this was much higher, back when I used Windows all those years ago, so I'm not sure what people are saying with low battery with Linux? I don't see how Windows could get me much more? And why would it?

        • Rebelgecko 4 years ago

          If you have a Thinkpad, then the issues with the Framework (CPU sleep states, needing to turn of secure boot to hibernate properly, power management issues in Framework BIOS 3.06, etc) wouldn't necessarily apply to your laptop

      • shriek 4 years ago

        I haven't run Windows in my Framework laptop so I can't really say if there's a difference but the issue in Linux was mostly because deep sleep wasn't enabled for some distros.

      • james-redwood 4 years ago

        I’ve found this to be variable in my personal experience based on OS, hardware, and use of TLP.

    • _zooted 4 years ago

      Having come from elementaryOS I can say that Fedora 35 is awesome. So much better!

      • lillecarl 4 years ago

        Having come from Debian, Ubuntu, and Manjaro I settled on what feels like the last distro I will use on my own systems: NixOS. It's not so much better, it's so much different.

        Every(ish) single package, every single line of configuration(ish) is under version control in a(couple) nix files. I share (most) of it between my systems. With flakes (and it's lockfile) it's a 100%(ish) deterministic system.

        Downside: The language is arcane to me and the tooling is dogshit. Not that I could've made it any better, but running my config repo through entre to rebuild on every write to get some promiscuous error nobody has had before sucks major D.

        Therefore I still have an Ubuntu container (because every desktop application targets Ubuntu) running with X11 forwarding for the few packages that aren't in nixpkgs that I wanna run.

        I also don't use home-manager, but chezmoi for my dotfiles. Since I want my home configuration to work on MacOS and other distros I might SSH.

        Atomic upgrades and downgrades are such a great feature I don't know how people can live without it now that I've experienced it.

        Note: The default configuration NixOS gives you is also shit, out of the box they don't ship a system like you'd want to consume it (nixos-generate-config). An anecdotal example is that Avahi isn't installed by default, which means chromecasting won't work until you figure out that you need Avahi, i18n config is shit too.

        So it's not all green grass, but definitely worth it, since every Nix line you write is an investment into making your experience better "forever" (I don't see NixOS going away anytime soon, very healthy activity on the project).

        Now after praising NixOS for awhile, let's praise the developers of all packages that are compiled into the lovely distros you all use. For me the KDE team can't get enough praise, the software is so damn good.

        • Ericson2314 4 years ago

          > I also don't use home-manager, but chezmoi for my dotfiles. Since I want my home configuration to work on MacOS and other distros I might SSH.

          FYI, home manager works on MacOS just fine. I usually tell people to start with Home Manager as I think it's the best gateway drug to Nix stuff at the moment.

        • mplanchard 4 years ago

          Just wanted to echo all of this. I started with home-manager and then moved to NixOS over the holiday. It’s really been great: easy to set up, relatively easy to configure most things, and it’s so lovely to know that the changes I make are checked into version control for easy use across machines.

          • fhaldridge7 4 years ago

            Same here. Over the holidays I first tried NixOS in a VM and really liked it. I had a lot of fun setting up the system. A week later I installed it as my main OS and is has been great so far

    • sneak 4 years ago

      The screen is very low-res and the GPU is weak. This is why I don't have one.

      If you don't care about pixels (seems common in PC-land), this is probably a good thing re: power consumption.

      I look at text all day, every day, and want it to be high res. It's been high res on my Macs for half a decade, and my XPS is even better. I'll get one of these once they fix the screen.

      • aquova 4 years ago

        The Framework has a 200 DPI screen. It's lower than say a MacBook, but I wouldn't consider that to be "low-res", especially in the laptop space.

      • jonaustin 4 years ago

        This 'low-res' comment makes no sense, I'll never go back to 1080p, but 2256x1504 is plenty IMO for text (I live in a CLI all day pretty much).

        • gorjusborg 4 years ago

          Especially on a 13" screen. I have an XPS 13 with a 4k screen and I never use it at native resolution undocked because I'd need a magnifying glass to read anything on it.

          • toastal 4 years ago

            That's been the unfortunate part: "do you want 4K or 1080?" has been the question for the longest part without consideration that many people want something in between--hiDPI without going into sizing where you can't tell the different. I have only had 4K screens (15", 14", & 13") since 2015 and can't handle 1080, but I don't want the wasted battery from 4K on smaller sizes.

          • sneak 4 years ago

            You're always using it at native resolution, you're just adjusting your renderer settings.

            Nobody's saying your fonts should be tiny. I'm saying they should be rendered in high resolution.

            I have the same computer and display. I run it at 4k native but nothing is small, no magnifying glass required.

            • gorjusborg 4 years ago

              > You're always using it at native resolution, you're just adjusting your renderer settings.

              No, when I wrote 'native resolution' I meant 1:1 pixel mapping, which is pretty obvious by context. Nobody has a laptop with a CRT on it these days.

        • sneak 4 years ago

          Once you get used to 220+ ppi, it's very difficult to go back.

          I even don't like my 218ppi displays that much, they are a little fuzzy compared to my 300+ ppi displays.

          It's not a matter of opinion what is "low" or "high" when dealing with integers for resolution. It's evident that you think a low-res (by 2022 market options) display is sufficient. That's fine, but it doesn't make it high res.

          There are people who think an analog serial console with 24 lines and 80 columns is sufficient resolution for text. That's not what's being discussed: simply the resolution of the display in the computer. It's low by modern laptop standards.

  • _peeley 4 years ago

    Exact same boat here - got my Framework a couple months ago when my Thinkpad X230 finally started showing its age, installed NixOS on it. The only disappointments so far have been battery life and heat management. I get maybe 5-6 hours from full charge, and the laptop gets super hot/noisy when sitting on anything other than a hard flat surface where the fans get maximum airflow (even using it when it's on my lap gets uncomfortable quick, and putting it on top of a blanket is out of the question).

  • TallonRain 4 years ago

    I'm curious what the build quality is like. I've heard some complaints about QA and reliability issues with the hardware, but I don't know anyone in person who owns one of these devices. What has your experience been like?

    • smasher164 4 years ago

      I haven't had any hardware issues tbh. The only thing I would say is that the fans kick in pretty loud when doing anything remotely intensive. Even battery life has been fine, compared to my old Macbook Air. I've had to put in some work configuring drivers, since they're so new that they haven't landed in the distros yet. But NixOS makes that easy, so that's about it.

junon 4 years ago

Note to the website developers: currency != language. I'm an American in Germany. My handle of the language isn't (yet) great, thus I still work with English primarily. However, I pay in EUR exclusively.

Just the same (not that it appears to be a problem with Framework, though it's easy to make the same mistake), country != language.

  • random_walker 4 years ago

    This! I live in Belgium, primarily English speaker (not native), pay in EUR and my understanding of local language is not great. Lots of websites are so difficult to use without Google translate.

    Please treat Currency != Language != Country. Give options to change these.

VTimofeenko 4 years ago

Excellent news, can't wait to play with the new firmware. I will echo the Fedora 35 recommendation from the article. Ran a liveusb of it for a week or so on this laptop and it was buttery smooth. All components that in the past I had mixed experiences with (wayland, pipewire) just work.

kop316 4 years ago

Does the Framework support coreboot? IIRC it does not, and I was sort of surprised to not see that in this announcement.

Their github also doesn't have any mention of coreboot: https://github.com/FrameworkComputer

And it isn't here either: https://doc.coreboot.org/mainboard/index.html

  • nrp 4 years ago

    We called out "We're continuing to invest in open source firmware development, with the goal of replacing other proprietary firmware we're currently stuck with in the future too." in the blog post. Coreboot is something we're very interested in and have done experimentation around. We went with an off-the-shelf proprietary BIOS/UEFI to derisk launching the Framework Laptop on time and satisfying the core goals on it (getting a high-performance, thin, light laptop into the world that is fully repairable and upgradeable), but an open BIOS/UEFI solution is absolutely in line with our philosophy.

    • mjg59 4 years ago

      Are you planning to ship systems that don't have Boot Guard enforcement enabled? I've done a couple of Coreboot ports (I'm typing from a laptop that's running my build) and the Framework is an extremely interesting target, but if Boot Guard is turned on then that becomes pretty difficult.

      • nrp 4 years ago

        We haven't finalized our plans around this, but one path we have explored is a signed shim loader.

        • mjg59 4 years ago

          Ah, so a signed firmware bootblock that runs something user signed? I wrote the original version of the boot Shim that Linux distros use for bridging from the Microsoft root of trust to the distro one, so let me know if there's any way I can help out here.

          • nrp 4 years ago

            Yep! It's great to hear that, and I would definitely be interested in chatting. I've DMed you on twitter.

    • kop316 4 years ago

      Gotcha, thanks!

  • kitsunesoba 4 years ago

    IIRC they said that it was a point of interest but not something they’d started work on yet.

2OEH8eoCRo0 4 years ago

I love these guys. I sincerely hope that they are successful and stick around. Keep up the good work!

hailvectron 4 years ago

Things I'm hoping to see in time for a Framework machine to become my next laptop:

- AMD processor options

- Keyboards with a trackpoint - decades of ThinkPaddery have conditioned me; I regularly use a Dell touchpad-equipped laptop & contemporary Mac laptop and still pine for a trackpoint. Very personal preference, I know, but hopefully the Framework Marketplace comes to provide this.

- Proper 14" HiDPI screen

- Long battery life under Linux

I'm impressed with what they've been able to do and really hope they become sustainably successful!

  • ayushnix 4 years ago

    > - Proper 14" HiDPI screen

    I can't stress this enough. The display on the Framework can't do integer scaling and so almost everyone who intends to use an external monitor with the Framework can't do that on Linux without extremely annoying issues such as significantly higher input latency, GUI apps behaving abnormally, and not being able to use an external monitor and the laptop screen simultaneously. I don't care if they release Coreboot for the Framework, it's useless with its screen.

    • toastal 4 years ago

      "Proper" should also include at least 100% DCI-P3 coverage instead of sRGB

    • nicce 4 years ago

      On Linux, Wayland supports separate monitors natively with different scalings?

      • ayushnix 4 years ago

        > On Linux, Wayland supports separate monitors natively with different scalings?

        It does, but you will experience higher input latency than you would if you do not scale your display or use integer scaling. Some GUI apps might also misbehave when scaled fractionally.

        I'm not sure if the higher input latency will be noticeable to someone using pretty animations in GNOME/KDE but it is pretty jarring when you mostly work on a terminal.

        There's also a subtle loss of quality of text and images when using fractional scaling.

  • arnaudsm 4 years ago

    You're describing the Thinkpad T14S. It's a real shame it has soldered RAM, I hope Framework's success will show the industry there's an actual need for this.

    • hailvectron 4 years ago

      I guess you're right, hadn't realized the AMD Thinkpads were now available with better than 1080p screens. Totally agree on the soldered RAM crap. Also would be great to buy from a more consumer-friendly company like Framework, especially if they are going to do things like support coreboot.

    • ayushnix 4 years ago

      > You're describing the Thinkpad T14S.

      It doesn't seem to have a proper 14 inch HiDPI display. 1080p on 14 inches usually needs anywhere from 1.2x to 1.4x scaling and 4K would need around 2.5x scaling.

philipprk 4 years ago

Really hoping for the laptop's next iteration to have a reverse T for the arrow keys. Otherwise very solid laptop, would be my first non-Mac choice.

  • bbojan 4 years ago

    Because I'm down the rabbit hole of highly customized keyboards, at one point I did a frequency analysis of the keys I use the most.

    Guess what was the most frequently used key? Cursor down followed by cursor up.

    For example, cursor down was pressed ~2.5x more times than space, or ~4 times more than letter E, which is was the most frequently used letter.

    Guess what are the smallest keys on a Mac-type keyboard (the layout also used by the Framework laptop). Cursor up and down. Madness.

    • franga2000 4 years ago

      Keep in mind this is likely unique to CLI users. The vast majority of users have little use for arrow keys - nudging the text cursor a few chars left/right and making tiny moves in graphics software are about the only two I can think of.

      • earthscienceman 4 years ago

        Even then. If you're strictly CLI you should likely prefer Ctrl+b, Ctrl+n, Ctrl+p, Ctrl+n, etc etc

      • nonameiguess 4 years ago

        Not just CLI but also browsers when you don't want to get bitten by infinite scroll adjustments moving your scrollbar cursor placement and then pressing down before noticing and accidentally scrolling past 50% of the page you were just trying to read.

    • panick21_ 4 years ago

      I love the ThinkPad with the Arrow Key and PgUp/PgDown all next to each other.

      • jpetso 4 years ago

        Rejoice, Lenovo is introducing a ThinkPad that finally lets them scrap this excellent setup for a mainstream rectangular keyboard: Z13 and Z16. Doubly sad because those look like a kick-ass AMD Ryzen implementation otherwise. Trippy sad because they also found a way to get rid of the physical TrackPoint buttons and still call it a ThinkPad.

        The writing is on the wall, just wait for Lenovo to finally extinguish their ugly step-child of asymmetry and deprive us of the last good arrow key layout left in portable laptops.

    • walteweiss 4 years ago

      I am on a Mac for over a decade and I don’t understand what’s the issue with the keys. Well, they are smaller, but it’s not a problem for me, not at all.

    • benhurmarcel 4 years ago

      Do you scroll with the arrows keys?

  • varispeed 4 years ago

    This is I don't understand. Why laptop manufacturers neglect probably the most important thing that is the keyboard? Almost every single laptop that comes out these days looks like the keyboard is an afterthought. Why can't I have full size cursor keys? Pg Up, Pg Down, Home, End and few others?

    • tomtheelder 4 years ago

      I suspect majority of users never touch Pg Up/Pg Dn/Home/End and all those other keys over there. For arrow keys, the compacted layout is helpful when designing a space constrained keyboard, and it's totally usable.

      • varispeed 4 years ago

        Wouldn't that be because these keys are difficult to use in typical laptop keyboard, as in self fulfilling prophecy?

        • franga2000 4 years ago

          It probably doesn't help, but it definitely isn't the reason. Most people still do their work on desktops with full-sized keyboards and they already don't use those keys there.

          • varispeed 4 years ago

            So how they e.g. move around cells in the spreadsheet or documents?

            • franga2000 4 years ago

              Mouse. If you're correcting data in a spreadsheet you're probably jumping around a lot and a mouse makes more sense and if you're entering new data most people I've worked with use tab and enter.

      • dsego 4 years ago

        fn+arrow combo is imho equally as usable

        • orthecreedence 4 years ago

          I hate fn+arrow as an alternative to having real home/end/pgup/pgdown keys. It's probably the thing I hate most about my blade laptop.

          • dsego 4 years ago

            Why? Do you feel similar about not having a "real" dedicated key to ctrl+c / ctrl+v ?

            • orthecreedence 4 years ago

              Because I came from a laptop that had home/end/pgup/pgdn and grew fully accustomed to those keys for keyboard navigation (which is my bread and butter these days).

              The alternative was to get a 15" laptop, which is slightly too big for me, so I suffer in silence and occasionally bitch about it on forums.

            • jlokier 4 years ago

              It takes two hands to use Fn+Up/Down instead of PageUp/PageDown keys to scroll around. These keys are for some people the most common keys used for fast nevigation in code and documents.

              Ctrl+C / Ctrl+V are used far less often, and you can type them with one hand.

              • dsego 4 years ago

                > It takes two hands to use Fn+Up/Down instead of PageUp/PageDown keys to scroll around

                Doesn't seem like a big deal, I'm trying to think of a situation where I need the other hand to be free while paging or moving to end of the line.

                > These keys are for some people the most common keys used for fast nevigation in code and documents.

                Seems like a personal preference. I have a working trackpad so I almost never use them. Also, home/end on a thinkpad are out of reach anyway. And what's the point of 'insert' ?

                > Ctrl+C / Ctrl+V are used far less often,

                I use these constantly, I don't remember touching home/end ever, pg up/dwn maybe by accident.

  • capableweb 4 years ago

    Wow, you're right! Didn't understand how you could not have a reverse T for the arrow keys and took a look at the pictures. The up/down keys are split in half?! Why'd you make the arrow keys have different sizes?!

    • yurishimo 4 years ago

      It was the design on MacBook's for almost 5 years. Apple rolled that change back in late 2020 but it will take other OEM's a while to update their available SKUs to match the Apple of today.

      • bubblethink 4 years ago

        So that's where all this comes from. Not surprising. I saw that Dell announced a touchbar product. Guess they'll have to kill that too. This sort of slavish aping of Apple needs to stop.

      • smoldesu 4 years ago

        My ex-boyfriend called me "insane", but I genuinely prefer ye olde 6-key arrow cluster from the Thinkpads of yore. I quickly got used to browsing with pgup and pgdown, now any keyboard without those keys adjacent to the arrows just feels wrong to me.

        In any case, the keyboard on the Framework is fully replaceable. If there's significant enough demand for an inverted-T cluster, you can bet there are people who will make the replacement for it (if OEM doesn't get to it first).

        • Eduard 4 years ago

          And I hate the ThinkPad 6-key cluster because of accidentally hitting the pgup and pgdown buttons. I decapped both buttons because of it. Same with the the fn button next to ctrl.

          • smoldesu 4 years ago

            Different strokes for different folks. I'm personally just glad that we were able to collectively hate the Touch Bar enough for Apple to '86 it.

            • yurishimo 4 years ago

              Pedantry incoming, but “86” doesn’t need the apostrophe before it.

              The etymology from what I remember comes from the fact that if asking for 86 of anything at once is impossible to provide.

  • moondev 4 years ago

    In theory you can just buy the keyboard and swap in when/if it becomes available https://frame.work/marketplace/keyboards

  • deburo 4 years ago

    Oh yeah, that would be awesome. I’ve searched for a proper tkl layout in laptops. There’s the current layout in Frame.work which is think is probably the worst, then current Macbook, then finally HP Omen (tkl) (but its kind of a shitty laptop).

    Ive also seen a laptop with the arrow keys slightly offset downward.

  • nguyenkien 4 years ago

    I hate half size arrow keys, why don't make it normal size.

jhallenworld 4 years ago

I've extracted the Chromium-EC encryption functions, they are convenient for signing / verifying firmware on other platforms. Chromium-ec is nice for example code like this:

https://github.com/jhallen/rsa-verify

On the other hand, if you are looking for some generic embedded system code all in C, here is our library (it's been cleaned up for ATSAM and STM32 targets, but we've used in on many other platforms):

https://github.com/nklabs/libnklabs

I think it's most unique feature is the embedded schema-based database- so you can save things like calibration and configuration information in local flash memory (think protocol buffers, but for tiny systems). Recently I've been adding device drivers for all common devices I can find on break-out boards from the Arduino and Raspberry-PI communities.

TranquilMarmot 4 years ago

I bought a Framework for personal use and love it so much. I have it running Windows 11, if only because it was easier to get longer battery life out of it without doing endless tweaks on a *nix OS.

Upsides:

- Hardware feels VERY premium and nice. It's not too heavy. You'd never guess it's the first laptop made by a new company.

- Keyboard is a pleasure to type on. I did nanowrimo last year on it and wrote ~60k words and never had a complaint.

- Company and its mission are awesome! Support team is very helpful and their communication has been great.

- Guides on the website for opening it up and replacing/fixing parts is amazing. If anything I hope I can keep this thing running for many many years.

- Choosing what ports you want via the expansion cards is really nice (USB-C charging on BOTH sides of the laptop?!?! amazing)

Downsides:

- Battery could be better. I get probably 3-6 hours on Win11 depending on what I'm doing.

- It can get HOT. I have the i7 processor; doing light dev work with a few Docker images running and VSCode with a medium-sized Node project open, it gets uncomfortably warm on my lap and the fan occasionally spins up. I played through Inscryption on it (awesome indie game, built in Unity) and the fan was EXTREMELY loud during the whole thing because it was making heavy work of the integrated graphics card. Just browsing the web or watching videos it is cool and silent, though.

- Because of issues with Tiger Lake, S3 sleep isn't supported so if it sleeps when you close the lid, the battery will continue to drain for a bit and eventually it'll go into hibernation. I set mine to just go into hibernation when the lid is closed which saves the battery more if I'm on-the-go. It takes around 11 seconds to wake from hibernation which isn't bad. Not an issue with the Framework specifically, I think this affects all Tiger Lake processors.

- Expansion cards are a bit of a novelty for me. I have 2x USB-C, 1x USB-A, 1X HDMI and don't see myself changing that any time soon and can't really think of any expansion cards I'd need in the future.

Looking forward the question at the top of my mind is "will this actually be upgradeable?"... if they ever release AMD or ARM-based processors, it'd be great to try them out, but you'd have to swap out the whole mainboard which is a bummer (but understandable given the hardware constraints). Different screen sizes would require a whole new laptop but at least you could bring along the internals. A touch screen would be really nice.

  • Shared404 4 years ago

    > a few Docker images running and VSCode with a medium-sized Node project open,

    I'm admittedly a hobbyist/novice programmer, but this isn't necessarily what I'd call light.

    • TranquilMarmot 4 years ago

      What's funny is that when I originally wrote that comment, I had "light" in quotation marks to mean that it's not _really_ light programming, but it's a lot less than what I have running for work.

  • JohnTHaller 4 years ago

    Thanks for this detailed write up of your experience with it. I love what they're doing but don't need a new laptop at the moment.

    On the expansion card front, I think I tweeted to them about doing some kind of card bay to put a USB dongle in.

alexott 4 years ago

Just a suggestion for site - separate language from currency. For example, for me it’s much faster to read in English, but I’m paying in euro…

toastal 4 years ago

Call me when you get better display panels. Hopefully Linus Sebastian's obsession with OLED will help push the display is a higher-end direction -- or at least have the option.

chrsw 4 years ago

It's getting harder to resist buying one of these.

yellowapple 4 years ago

As if I didn't have enough reason to be happy with my decision to buy a Framework, here they are giving me yet more reasons.

floatboth 4 years ago

Ooh, they use chromium ec, nice. Where is its serial console accessed? :)

fancy_pantser 4 years ago

A thread from two weeks ago gave me pause; I will wait a couple iterations until considering a Framework laptop to see if at least the software issues can be resolved and observe how the team navigates the waters.

https://news.ycombinator.com/item?id=29806430

marcodiego 4 years ago

What is the reason behind closed firmware? I understand that wifi devices may operate out of the certification depending on what the firmware does, but other devices... why do they have closed firmwares?

  • wmf 4 years ago

    For BIOS/UEFI a lot of hardware vendors outsource their firmware to AMI and AMI keeps everything proprietary so they can keep charging money.

    (Coreboot is not an option for real computers because it doesn't have menus and various other things.)

  • pabs3 4 years ago
  • HideousKojima 4 years ago

    Probably to hide/protect corporate secrets, or if the firmware integrates proprietary code from a 3rd party it would be difficult to open source for legal reasons.

    • p_l 4 years ago

      To give an example, a huge issue over all of the OpenSolaris lifetime at Sun was reportedly due to third party licensed content Solaris had by itself, which is why OpenSolaris source contained only the very base system and was stripped of certain stuff (including X11 server Xsun, iirc)

    • Shared404 4 years ago

      Also in the case of Wifi/Bluetooth it seems like FCC regulations would make having open firmware difficult due to the fact that it would make it easier to allow end users to broadcast on arbitrary frequencies. This way they have deniability.

      ...That said, not a subject matter expert so take this with a grain of rock salt.

      • kelnos 4 years ago

        That feels like a false excuse a manufacturer might make, as it seems plausible enough, but doesn't really hold up to deeper scrutiny. Even wifi chips that have closed firmware usually have a region setting, and there's nothing stopping you from selecting a region that includes frequencies that aren't allowed in your actual region.

        Sure, that's not quite the same as allowing completely arbitrary frequencies, but that feels like a distinction that wouldn't matter much when it comes to government regulations.

      • p_l 4 years ago

        FCC doesn't prevent you from opening the firmware (now, trade secrets inside is another thing) - they just do not allow unlicensed devices i.e. you can't just build your own radio firmware and have it operate legally.

        • Shared404 4 years ago

          So open firmware from the manufacturer is fine, but if you were to modify it and re-flash it yourself you would be breaking the law?

          I guess that makes sense, thanks for the clarification!

          • treesknees 4 years ago

            I don't think that makes sense at all. One major part of Part 15 from the FCC covers this. A device would fall under the category as an intentional radiator in part 15.1. And in part 15.23, considered a home-built device.

            § 15.23 Home-built devices.

            (a) Equipment authorization is not required for devices that are not marketed, are not constructed from a kit, and are built in quantities of five or less for personal use.

            (b) It is recognized that the individual builder of home-built equipment may not possess the means to perform the measurements for determining compliance with the regulations. In this case, the builder is expected to employ good engineering practices to meet the specified technical standards to the greatest extent practicable. The provisions of § 15.5 apply to this equipment.

            https://www.ecfr.gov/current/title-47/chapter-I/subchapter-A...

            This entire part from the FCC basically states you don't need a license to operate in the frequencies for wifi, bluetooth, etc. You're not breaking a law by recompiling the firmware for your wifi module to fix a bug. You'd be breaking the law if you did so with the intention of operating within licensed spectrum/power levels, for example.

            • p_l 4 years ago

              The problem starts with the fact that the device doesn't have any way of showing that it was modified, and some of the frequencies involved are license-restricted (especially in 5GHz wifi bands - 2.4GHz is dumping ground free-for-all because of aircraft ovens anyway).

              So, let's say you modify something with your own firmware, break rules about ISM spectrum - or worse, mess with SDR hard enough you break some licensed spectrum, and upon investigation FCC certification marks are found and the number. Since certification points to vendor, vendor now has to explain why their device went outside of those limits, and might or might not be able to prove that you ran it with unlicensed firmware.

              So an obviously home build device will go under §15.23 easily, but inconspicuously modified commercially sold device won't - without possibly long court case, that is.

              • franga2000 4 years ago

                The FCC is very familiar with inconspicuously modified commercial devices - hams have been doing it since before "firmware" was even a word. The fact that it's replacing some code on a chip instead of a shunt resistor on a PCB really doesn't make a difference.

                And if this really was really the main issue, it seems pretty easy to just sign the firmware - I'm pretty sure many vendors do it already.

                • p_l 4 years ago

                  Vendors also want to comply with slightly different rules all over the world, and ultimately the easiest way becomes to sign and verify.

                  The code being secret is more of "trade secrets" than anything legal.

          • p_l 4 years ago

            Exactly - the FCC certification is that a specific device, despite having purposeful (or accidental) transmitters, operates within the law and rules set by it for use of radio spectrum. The maker of the device is then able to sell it to people who are then indemnified should the device break those rules (and aren't required to have expensive in time and effort radio license themselves).

            With significant portion of the regulated behaviour being done in software, things can become a bit problematic if the end user can load any code they want. This is also why "BIOS whitelists" exist, as the certification applies to the whole radio equipment, which means the certification must cover the antenna - and those are built into laptops, meaning you can't certify the cards separately as their exact characteristics depend on the connected antennas.

  • typ 4 years ago

    Hardware defects are often worked around by firmware. It can be things like adjusting current drive or lowering the clocks conditionally to mitigate EMI. It can even check the serial numbers of the hardware to determine what to do for the pieces with inferior quality in order to pass QA and increase yields. If customers get to find out what kind of defects or which batches are inferior, that would imply costly consequences for business.

  • pabs3 4 years ago

    I've heard rumours that making firmware proprietary helps hide patent violations.

stbtrax 4 years ago

Man I remember reading this CEO's hobby blog a decade ago. Glad to see him doing cool stuff https://eclecti.cc/

yuuta 4 years ago

Good news for learning as well. I had never seen an open source EC firmware before, and I'm curious about what's inside that.

weystrom 4 years ago

I wish they'd ship US ANSI keyboard in Europe, I would totally pick one up.

  • nrp 4 years ago

    The International English keyboard option is ANSI. It is US English with a Euro symbol and Alt Gr.

    • weystrom 4 years ago

      Oh that's actually great, ot's just I've been burned before by German retailers with "English International" on ISO keyboards.

      I might go do some shopping then. Say hello to Linus btw, his video has done marvels to deservedly promote your product.

taf2 4 years ago

I'm hoping for a 16" or 15" version and then i'm in

donkarma 4 years ago

now lets get an open source baseband

  • grishka 4 years ago

    Osmocom is a thing, but no idea how good it is. I've seen articles about people running cellular networks with it.

    • p_l 4 years ago

      The real issue is certification and so on. The people running small cellular networks tend to have necessary permissions or operate within certain limits.

      For public, general usage baseband, it will need to be at least tamper evident and you won't be able to just run your own.

      I'd personally be fine with auditable baseband (i.e. you can always verify what code it runs, then let's say compare to public code tree and build hashes), with possibly a signature scheme that would link builder and certifications. Then if you went to the trouble of proving you have the necessary qualifications and won't break shit, you could sign with your own certificate and take responsibility.

    • pabs3 4 years ago

      Also, Qectel modems run Linux on one of the chips on the modem:

      https://projects.osmocom.org/projects/quectel-modems/

      I can't find the post right now, but there are folks reverse engineering the proprietary binaries running under Linux on the PinePhone modem (which is Qectel) and replacing them with open source versions. The Hexagon DSP is out of reach for that work though.

i5heu 4 years ago

Is there any chance to know when frame.work sells laptops with 12th gen Intel processors?

snambi 4 years ago

This is one company I really like. Hope they offer an ARM based laptop soon.

teddyh 4 years ago

Great! So how’s that RYF certification coming?

  • wmf 4 years ago

    It's impossible for recent x86 systems to be RYF certified.

  • kdtsh 4 years ago

    Are there any OEM laptops with RYF certification? The only ones I can see on ryf.fsf.org are 10 year old refurbished and re-branded (and very expensive) Thinkpads.

akomtu 4 years ago

I wish frame.work offered CUDA compatible GPUs and/or AMD CPUs.

  • prophesi 4 years ago

    On the bright side, there have been reports of people getting their Framework to work with an external GPU.

ignaloidas 4 years ago

Side note: the language selection is stupid on the website. No, I'm not from Germany, and I don't speak German even if it's the closest country to me that you sell laptops in. Also, it's a bad practice to associate flags with languages. Or to give options that don't work after you select them.

Otherwise, very nice news!

  • Beltalowda 4 years ago

    They don't have a language selector, they have a region selector which sets the appropriate currency, VAT (presumably), and also language, yes. It's an entirely appropriate usage of flags.

    • 3np 4 years ago

      It is not. I can be present in Germany and want my laptop delivered there. That does not mean I speak a word of German.

      Language and physical location are disjoint. Even worse when I know the original content is in English, my preferred language, but someone decides I only deserve the partial translation.

      • schleck8 4 years ago

        You can switch the region then, it takes 3 seconds and persists across visits.

        • 3np 4 years ago

          Sure, and now I can not select shipping destination "Germany" anymore, as somehow it's an impossibility to match the existing language contents and shipping destinations...

          This is such a frustrating trend. Google has already been mentioned as an offender - it is an annoying procedure to keep resetting the language for every fresh session - but at least their texts are mostly properly translated... Going to the Amazon site of my country (a smaller one where I am a native speaker of the language and most but not all products listing are machine-translated), I have to constantly change my language preferences to get the non-machine-translated version of various texts, as "prefer original language" doesn't seem to be a thing. Some things are just so hilariously wrong that doing this is the only way to make sense of everything.

          Oh, and they (framework) also force the currency tied to the nation. My credit card is not necessarily in the native currency of either my shipping destination or my preferred language. Just let us set all three independently, please :/

          aliexpress and iherb are two sites that do this right.

  • redthrow 4 years ago

    > Also, it's a bad practice to associate flags with languages

    There's even a website for this issue

    http://www.flagsarenotlanguages.com/blog/why-flags-do-not-re...

    • zild3d 4 years ago

      Don't think the site is going against these. It says "Choose Location and Language" and offers for example:

      - :us-flag: United States [USD]

      - :ca-flag: Canada (English) [CAD]

      • kilburn 4 years ago

        The issue there is that "being in country X" and "wanting to see the site in language Y" is going to be against some users' preferences. Examples:

        - Canadians from Quebec may prefer the site in french (but use CAD as a currency and see Canada's taxes where relevant).

        - Expats in Thailand very much prefer to use the site in English.

        - I'm in Spain and my browser is setup to reflect my preferences (Catalan first, English if that's not available, Spanish last). I prefer English to Spanish because international companies either have a strong presence here (and will probably have Catalan as an option) or their Spanish translation will be worse than the original language in English which I understand better than low effort translations.

        Frame.work is going for a locale selector but they don't even support all the official locales of the regions they already operate in (e.g.: they don't support fr_CA). Even if they did, there are always users that would prefer a "non-official" localization (en_TH, en_ES following my examples above).

        In the end they would be much better off letting users pick the language, region and currency separately. It's less effort from their part and a better solution for the users.

        In that case, flags for languages are bad and flags for regions are fine but can still rub against some users' feelings. Example: pro-independence Scots having to pick the UK flag. Is it really that terrible to have auto-complete and/or select fields for these 3 things?

      • kstenerud 4 years ago

        What it should offer is two separate options: One for the store location, one for the language. This becomes especially important in Europe because you have so many people who live in a country where they don't speak the associated language natively.

        This is such a basic UX rule that I'm a bit surprised to see them fumble on it...

    • laputan_machine 4 years ago

      Disagree, examples in the blog are poo. English comes from... England... why shouldn't be represented with an English flag? Spainish comes from... Spain... why shouldn't be represented with a Spanish flag? There are Spanish speakers in literally every country in the world, what is the solution?

      The Hindi argument is not good, Hindi is the _official_ language of India. I work with people from various parts of India and they can all communicate with each other because thry all speak Hindu/English (usually a mixture in conversation), even if their main language is Malayalam.

      There are issues with flags = languages (e.g. "Welsh": "Gaelic" for instance, or Switzerland (which one?), but for English/Spanish examples, they are not good ones to use

      And to end this, just because there is a website for your issues doesn't mean it's correct. There is nothing preventing someone from making a website called flagsarelanguages.com and having poo counter points to the original websites poo arguments. Appeal to authority nonsense.

  • schleck8 4 years ago

    Do you have an alternative iconography for language selection? It undoubtedly makes the UX better, especially with many languages

  • kingcharles 4 years ago

    I agree that flag != language (British Union flag for English being a prime example), but what is the next best alternative?

    • brightball 4 years ago

      Yea, it’s always a struggle. UI wise it clearly looks better to use flags and people know what it’s for when they see it. There’s always people who complain about it though.

      I’m of the opinion to not worry about it and just use the flags. It’s enough effort to properly internationalize a site and keep it maintained. That it’s available at all is a huge effort. Debating flags vs a drop down with languages is nitpicking IMO.

      Plus, when the language codes include a country it’s a natural UI decision.

      EDIT: Supporting multiple languages increases the complexity of the entire development pipeline. Translation teams are brought in, translation tools are brought in to support in-code language as well as translations in the database itself. Every new text snippet needs to be translated to each language to deploy it.

      Your search features get more complicated, date formats, number formats, currency, collations. Every language you add increases this complexity. Because of that, you will represent a language with a primary country and not every language spoken in that country. On the chance that a company has opted to go all in to support region specific dialects of languages where 100+ choices will be listed, then no…of course flags wouldn’t work. But in most cases you’re lucky to get 2 languages at all with potential for a couple more for all but the largest of companies. Virtually every other site is just going to use one and churn out some Google translations or ask you to do that yourself.

      After considering all that, yes…just use flags.

      • galgalesh 4 years ago

        Yeah, just use flags and confuse the fuck out of multilingual countries. Belgium has Dutch, German and French as official languages. So what would a Belgian flag mean? What flag should I choose?

        If I choose the flag from the Netherlands to get Dutch, I'll probably be confused by a whole bunch of terminology since the dutch of different countries differs vastly more than the English from different countries.

        "People who complain about flags are nitpickers" is a perfect way to say "I grew up in a gigantic monoculture where you can drive 5 hours in any direction without encountering a different language, if you ignore the natives"

        • brightball 4 years ago

          If Dutch, German and French were supported languages on the site I imagine that flags of the Netherlands, Germany and France would be representing the language selection.

          As a US citizen I often visit sites that use a British flag to represent English. I don’t bristle because there’s not a US flag or question whether the US flag should also be referencing Spanish.

          It’s just a detail to draw your eye that otherwise holds no importance once that is accomplished.

          • kmorgh 4 years ago

            Except Belgian "Dutch" is called Flemish. And is different enough from the other Dutch to warrant its own i18n.

            Belgium is an exceptional case but I'm sure you can find more.

            • galgalesh 4 years ago

              As an example: "weerhouden" in Flemish means "to be included", while in Netherlands' Dutch it means "to be excluded".

              Or take "poepen" which means "to have sex" or "to take a shit" depending on which country you are in.

              I frequently have to ask my friends from the Netherlands to clarify something because, even though I hear which word they're using, I have no idea what they mean because the words mean something different or are just never used that way in Flemish.

        • Insanity 4 years ago

          Can't say I recall a moment of really being confused by the terminology used in NL vs BE. But I do agree, a Belgian flag means nothing in terms of language. The flag can be used but only as a prefix to the actual language in text (to visually filter quickly).

      • dheera 4 years ago

        With flags you also have the issue of how to represent politically disputed regions e.g. Taiwan even when the languages used locally are pretty clear-cut.

        In the specific case of Taiwan, if you want to maintain good business relations with normal civilians on both sides of the straits you need to represent Taiwan as a state to Mainland China IPs and represent it as a country to Taiwanese IPs and most of the rest of the world.

        I'm not advocating any particular political view, this is just the technological fuss you have to go through to maximize the number of happy customers. So sometimes it's much easier to just forget the flags, state the language and currency directly as text, and skirt around these issues.

        As for language selection, I really don't think it's necessary to beautify it UI-wise. Pick based on the user's Accept-Language header and 99.99% of the time you'll present it exactly as the user wanted without them having to select anything. You can then implement a text-only language selector somewhere in a less conspicuous place, such as the footer, than polluting your navigation header.

      • anyfoo 4 years ago

        As someone who grew up multilingually in Europe but now lives in the US and works for a US company (which seems to get localization right), I have the impression you don't really know the confusion and difficulties that arise from what you are saying.

        To explain, let's turn it around. Assuming you also live in the US, imagine a EU company would make the following assumptions that are common (to the point of feeling entirely "natural") in lots of European countries, but wrong in the US, and think about how that could impede you in varying business situations:

        * There is only one time zone in a given country.

        * VAT and other sales taxes are the same over the whole country (and therefore just included in the display price).

        * Every debit card, credit card etc. has a PIN, and a common API to the bank for card/bank-specific verification.

        * Every bank account is identified by IBAN, even across countries. Wiring money is always free.

        * Decimal separator is universally "," and grouping is ".". (Bonus: Let's instead be in an Asian country where it's common to group digits by 4 instead of 3.)

        * Dates are always either in order "DD MM YYYY" or ISO YYYY-MM-DD. In the case the year is omitted, "DD MM" is assumed and no clarification is ever made. Your appointment is 4.5., thanks for doing business with us! Sincerely yours, noreply@example.com.

        * Car-related business: You have to be at least 18 to drive a car (and have spent the equivalent of thousands of dollars and many hours of mandatory theoretical and practical training). It is illegal to drive a car more than 2 years without a thorough inspection that forces you to fix even minor things (Autobahn speeds are dangerous), so old cars are uncommon. There are special enthusiast registrations for so called "oldtimers", but that still requires extra maintenance.

        * Gastronomy-related: But you're allowed to drink beer at 16 (was at least the case when I was that age), anything else 18.

        * You have to use/publish your real name, address, and other information mandatorily in a lot more situations (e.g. when hosting a website of any kind--imagine a business enforcing that for all customers).

        You may find that if you want to do business internationally at all, you have to start caring about those things.

        • brightball 4 years ago

          I’m very familiar with it after working for a company which does a tremendous amount of business in Europe. Our European office, based in the Netherlands, just wanted to use some Google translate proxy service rather than properly internationalize anything.

          If anything, I cared a lot more about getting it right than anyone else but it is a lot of work.

          My point is that with all of the work a company has to put in to even make a proper language choice available, complaining about flags is literally just finding a reason to be bothered.

          It’s like somebody built you a house just how you wanted it, but you latched onto the color of the front door to complain.

          So yes, 100%…if flags make your site look better just use flags and ignore the noise. If you want to do it a different way, do that. You’re investing the time to get it right, you don’t have time to deal with petty complaints about the selection box.

      • capableweb 4 years ago

        > Plus, when the language codes include a country it’s a natural UI decision.

        Un-natural UI decision then if a language can exists in more than one country, and one country can have many languages?

    • ignaloidas 4 years ago

      Why have flags at all? Just use the native language name and a translation.

      • KeytarHero 4 years ago

        If I end up on the page in a language I don't know, then how would I find the language selector?

        I agree that flags aren't great, but I don't know of any other solution to this problem.

        • kilburn 4 years ago

          We should push to adopt a standard iconography for "language/region menu/options". A good candidate may be a world icon (which some companies already use, e.g.: dell.com).

          Once there, given that the language list itself is in its own localization (or that iso codes are used to represent them, or both) you should be able to pick yours just fine.

        • scj 4 years ago

          More problematically, in a character set you don't know!

          Iconography is required.

    • flatiron 4 years ago

      “Please select your ISO language code” /s

    • rg111 4 years ago

      Anything but the flag.

      Why not use full language names?

      I am very tired of seeing one flag represent my language where that is the newer nation using that language as national language. But that language is spoken for a thousand years or more in other regions.

      • yjftsjthsd-h 4 years ago

        > I am very tired of seeing one flag represent my language where that is the newer nation using that language as national language. But that language is spoken for a thousand years or more in other regions.

        I'm not disagreeing with your general point, but I'm curious: What language is over a thousand years old and still recognizably the same language?

        • Hjfrf 4 years ago

          US English comes to mind, not that middle English is particularly readable.

          • yjftsjthsd-h 4 years ago

            I was thinking of English as a counter case when I wrote the comment:) Skimming the history section of https://en.wikipedia.org/wiki/English_language#History , I don't think I would really describe anything before "Early Modern English" (1500-1700) as meaningfully the same language; if you took a modern English-speaker and gave them a sample of Middle English, they wouldn't be able to read it, and if you stuck them in a room with a speaker of ME neither would be able to understand what the other person was saying.

            Although in fairness, it does now come down to a semantic argument about what counts as the same language, and I acknowledge that a reasonable person could disagree with my narrower view.

            • a_t48 4 years ago

              "Englischmen þeyz hy hadde fram þe bygynnyng þre manner speche, Souþeron, Northeron, and Myddel speche in þe myddel of þe lond, ... Noþeles by comyxstion and mellyng, furst wiþ Danes, and afterward wiþ Normans, in menye þe contray longage ys asperyed, and som vseþ strange wlaffyng, chyteryng, harryng, and garryng grisbytting."

              This is...difficult to read, but once you realize that þ == th, it's semi comprehensible. Looking up some Middle English on Youtube, it's also semi comprehensible. I doubt I could have a deep philosophical conversation with an ME speaker, I think we could make eachother understood.

            • runnerup 4 years ago

              > Although in fairness, it does now come down to a semantic argument about what counts as the same language, and I acknowledge that a reasonable person could disagree with my narrower view.

              I really enjoy Jamaican patois for this. Arriving there, try as hard as I could...I couldn't understand a single word of it, even though it was ostensibly "English-enough" that I should have been able to. The first 5 days spending time in groups speaking the local language felt like anywhere else that I couldn't understand -- Saudi Arabia, Portugal, Guatemala, etc.

              Right around the one week mark, something just 'clicked' and I could understand pretty much all of it as if it were regular English except for the true slang. Really felt like "dialect" on the cusp of become "language". Very cool spot for a language.

        • 908B64B197 4 years ago

          > What language is over a thousand years old and still recognizably the same language?

          Latin.

          • kingcharles 4 years ago

            This answer wins. I suspect this is the most widely-used language that has not changed in 2000 years. When I was at school in the 80s we were seemingly learning the same Latin as spoken by the Romans.

        • rat9988 4 years ago

          Arabic

        • badLiveware 4 years ago

          Icelandic and old norse perhaps

      • KeytarHero 4 years ago

        > Why not use full language names?

        If I end up on the page in a language I don't know, then how would I find the language selector?

        I agree that flags aren't great, but I don't know of any other solution to this problem.

        • rg111 4 years ago

          Language codes are a solution. And it works great.

          And language codes should be given in ASCII. Someone not native has a slight chance of not knowing what fr is, or bn is, or nl is, but, a native, or someone who speaks the language will always know.

    • grishka 4 years ago

      I've seen English represented as a flag made of halves of UK and US flags

    • amelius 4 years ago

      > what is the next best alternative?

      This:

      https://news.ycombinator.com/item?id=30028593

    • 908B64B197 4 years ago

      > but what is the next best alternative?

      Use the user locale. Expressed as a geographic region (which you can use to compute the best possible region to serve the user from) and a language (used to render the page).

      If you do it correctly you can support weird combinations, such as a German speaker living in California (expects prices in USD). Or the country of Switzerland (one territory, 4 official languages).

    • uoaei 4 years ago

      We've had two-letter designations for languages for a long time now.

      • darrenf 4 years ago

        Two letters in the Latin alphabet, I assume - does that assist those who primarily read Cyrillic, Greek, Vietnamese, Arabic, Thai, Tamil, … ?

        Localisation basically never has a simple “we should just…” solution.

        • kingcharles 4 years ago

          My first reaction was to agree, but, all languages also use Latin characters for all sorts of things, especially brand names. A lot of native languages just aren't adding native words fast enough to keep up with technology and so the English words end up getting subsumed. Sometimes they'll be converted into local glyphs (e.g. Katakana in Japanese), but sometimes not. I doubt there are many humans alive who can't recognize Latin characters, even if they have absolutely no understanding of what the meaning is or how to pronounce them.

        • uoaei 4 years ago

          I'm sure if Mandarin were the default language, English speakers would quickly learn to recognize the character for "English" and be able to find/click it on a webpage without too much hassle.

          Language comprehension is unnecessary when all you need to do is recognize a character.

656565656565 4 years ago

What’s with the sticky scrolling on this site? (Safari at least)

  • 656565656565 4 years ago

    Add blocker was blocking cookie pop up, after disabling and acknowledging the pop up the problem disappeared even with blocker re-enabled.

trwired 4 years ago

This is not related directly to the announcement, but touches on a thing that infuriates me to no end - for some reason the site assumed that because I live in the EU and relatively close to German border, I speak German and presented the site in that language. Despite my high-school teacher's heroic efforts, I can at best understand a few basic phrases. I didn't even know what to click in the cookie pop-up to kindly ask them to not track me.

Language auto detection^W assumption is such an anti-feature.

/rant

edit: I see I am not alone, who got hit by this.

option 4 years ago

I wish I could get one without Windows

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection