As of March 21, 2022, I have not received my order yet. When given the option, I selected to receive the completed phone, rather than a beta build. Thus, the delay.
Mainly, I did not order this to just have a phone (as I have several older Androids). I wanted to help fund an alternative to the Android / Apple ecosystems.
Unless you have chosen a "Fir" batch which is essentially what's going to be a next gen version, you should have already reached your place in the queue for the final, FCC certified and mass produced "Evergreen" batch at least a few months ago based on your order date. If you haven't chosen "Fir", then you should probably reach out to support, or check whether your address confirmation e-mail didn't end up in spam.
@anw, According to the Purism forum, the shipping queue for the Librem 5 has reached people who pre-ordered on October 20-25, 2017, so you should have gotten your phone by now. You should contact Purism support to ask about your order. See: https://forums.puri.sm/t/estimate-your-librem-5-shipping/112...
> candidates are assessed in a number of ways, but one is via a decidedly non-digital method – the Japanese art of paper folding, origami.
As fingers are anatomical digits, folding using a non-digital method made me imagine people trying to fold paper using their elbows — and non-dominant elbow at that.
Haha that's actually really interesting- I feel like I've seen other examples like that, where a words meaning changes to the point where it's original meaning is novel, but I can't think of any off hand.
Other than the silicon valley "there's also that movie 'Armageddon'"
Manual means related to the hands. So manual labour is working with one’s hands or a manual transmission is operated with one’s hand. Also manuals are the keyboards on an organ where you put your hands (but don’t you pull out stops with your hands…)
However it is also easy to think of manual as being the opposite of automatic—something could be manually operated or a computer system might have manual overrides.
Was a transmission referred to as manual transmission before automatic transmissions became a thing? I'd tend to think the transmission use of manual was specifically to designate it not being automatic.
Yes, I also alternate. But my ebb and flows are around motivation, not exertion.
If I am working for someone else, and I put in a lot of effort, then I feel completely drained after N amount of days (or after project completion) – which requires me to mentally "unlink" my brain from anything related to that project.
If I am working for myself, whether that be on my company, or for personal growth, then I can hit a wall day after day and still find motivation to continue forward, projecting even one little victory as something that can give me energy to keep going.
The key for me is motivation. If I feel invested (and rewarded) in my own growth, then I am much more productive than just adding more to the bottom line of some faceless organisation.
Good luck to you! I hope you find something worth while that both gives you energy and makes you feel like you're growing.
So this is one thing I'm trying to tease out. Do I feel motivated because I'm well rested and have energy? Or is it the motivation that causes the energy?
From this morning I can say it's the former. I do feel super excited to work on my stuff, but just cant get myself to do them or start. Getting out of the bed this morning was tough
I am not the user above, but it's both. I have off days, and the privilege not to work on off days. I can let them pass and work another day, when the conditions are right. Overall I end up working more with greater energy, just not steadily.
I really like Duolingo. It's not my favorite way of learning a language§, but they do a good job of pounding vocabulary into your head over and over. I will never forget that jeruk is "orange" in Indonesian.
However, taken from "Risk Factors" on this S-1:
> •users feel that their experience is diminished as a result of the decisions we make with respect to the frequency, prominence, format, size and quality of ads that we display;
Duolingo has a big problem with both their ads and how they promote their Plus plan. (I hope to never see an owl flying through space again)
Primarily, the quality of the ads I see are those stupid fish games or the "pull this pin to drop lava on the knight" that you see advertised on Facebook. I'm sure they're making money off of views, especially since you can't proceed in your lesson until you watch the video, but it cheapens the brand name of Duolingo (at least for me).
If they had ads for anything language, travel, or even food related, it would feel more on par with their branding. But so many other dollar grab apps do the same thing [regarding those kinds of video ads] that it feels like I'm just looking at another cheap app.
Secondly, how they promote their Plus plan. You are limited in how long you can access their platform by how many hearts you have. Miss enough questions, your hearts run out. Run out of hearts, you're restricted from proceeding further in your studies. You must buy hearts to stay on their platform. This feels counter intuitive, as you are now kicking users off of your platform and lose the ability to sway them towards other things you have to offer.
I have found that between carrot and stick approaches, it is usually better to use a carrot where you can.
§ - For my style of learning, I've found Pimsleur to be one of the better approaches. Breaking sentences into phrases, phrases into words, and down words into syllables really helps me grasp the langauge more, especially with the context that goes around in the "story".
> You are limited in how long you can access their platform by how many hearts you have. Miss enough questions, your hearts run out. Run out of hearts, you're restricted from proceeding further in your studies. You must buy hearts to stay on their platform. This feels counter intuitive, as you are now kicking users off of your platform and lose the ability to sway them towards other things you have to offer.
Pro-tip: Hearts only exist in the app, not on the website.
As soon as they switched to the hearts system, I uninstalled the app and now exclusively use the mobile website. Considering their app is just a web view, the experience is essentially the same (you'll need connectivity at the start and end of a lesson), except no ads and no hearts!
As a plus, the website actually allows you to view the forum discussion on sentences, for example if your answer was wrong but you feel it should be correct, you can see what other people are saying about it. Why they don't offer this in the app is beyond me.
The decision to gate people's learning by restricting their number of attempts stupid. It's counter to the point of learning, but I guess they didn't feel they were getting enough revenue from just ads alone, so they have to kneecap the learning experience to force people into their over-priced monthly subscription.
> Why they don't offer this in the app is beyond me.
Lesson instructions are even weirder:
When you take the Japanese class in English, you can read the explanations for each lesson in the app. However, when learning French in German, the instructions _only_ exist on the website. If you use the app exclusively, you'll have to guess all the grammatical special cases through trial and error.
This is the difference between Duolingo created content and community created content. The Duolingo courses have a lot more to them in app form. It seems like it is a lazy implementation in the app to me.
I have a over 1000 day streak and I've seen the app change a lot over those 1000+ days. It is heading towards "why am I bothering with this?" territory to be honest. I also do Memrise, and their marketing is just as obnoxious, but the app is actually a lot better at doing the stuff DuoLingo used to focus on IMO.
You can also get hearts back without paying by doing what was previously known as 'practice', a random lesson of what you've previously learnt, by pressing the heart icon - on android, at least.
I think it's more complex, Apple's app store rules make it clear than an iphone app cannot be a clone of their website, and there must be a differentiating factor. Thus, hearts.
Another alternative (for Android) is to roll back to an earlier version of the app that was actually usable.
I use version 3.106.5 and I don't get any limitations on messages and there's a glitch where you can skip the ad by tapping where the 'X' will be before anything loads. Additionally, you can view the discussion in this version and submit change suggestions.
> As a plus, the website actually allows you to view the forum discussion on sentences, for example if your answer was wrong but you feel it should be correct
You can do this in the app. There is a button on the bottom right when you finish a lesson that lets you see the forum for the question.
What boggles my mind is that you cannot collapse parts of the conversation irrelevant to your inquiry about the question.
I had to try this after seeing all those ads. It is pretty similar to what the ads were. The game itself also has an obnoxious number of ads. For example, I had to watch a thirty second ad (or pay 75 "coins") to unlock the second level. In the second level I had pull one of two pins, to either dump lava on myself or gold. I chose gold and won a flawless victory, on to the next ad!
The other annoying thing about the game is that every level it asks you to register some kind of account or sign in with your Google account. If I refused to do that at first, why would I want to be asked every level?
I guess it's kind of fitting that the game is annoying as the ads that inspired it are too. I'd pay 1 dollar for an ad free version of this game, assuming the levels eventually became challenging and the game didn't nag me all the time about creating accounts. I won't watch 30 seconds of ads every 30 seconds though.
Hello Guys,
This is Dilip Sripuram. The developer of the TheActualGameRescue you are talking about. Just wanted to address the issues you mentioned. About the Ads, you don't need to watch an Ad. The whole game can be played without watching a single Ad. Each level gives you enough coins to unlock next and by the end of easy levels you will have enough coins to unlock 3 medium levels. The login issue is so that I can save the save file with Google Play services. I will recheck this and limit the number of times it asks to once. I recommend watching this video to better understand the gameplay.
I applaud you for creating the game that people clearly want to play based off of those ads. I think that's a creative idea and you executed it pretty well. I see those ads most frequently on twitter - do you have a twitter bot that just links to your thing whenever those ads get posted? Might get some traffic.
I admit I didn't check to see what the coins were. I just assumed it was some kind of microtransaction. If you don't need to watch ads - why would anyone choose to? Unless, like me, they mistakenly thought you had to (which I would think is just as bad)?
Regarding login, I would suggest just explaining why you need this service, what you get for it, and letting the user choose it or not.
Curious how many users you have and what you make from this game.
I have about 3.3k downloads as of now. Mobile games need over 5 million downloads and many daily active users to make anything. 98% of the mobile developers don't make more than 500$ for their entire project. So, all work is just to stand out. My only way is with good gameplay. I will increase the "Buy" button size and may be add an animation to it suggesting you to click it. Thanks.
Welcome. But please don't post the same message multiple times like that. It makes the thread hard to read, and you should not feel like you need to address every comment separately if this response already covers all the points.
Actually this is something that's been bugging me forever - maybe someone knows the answer? What's the incentive to advertise one game but sell another? There's clearly a market for the "pull the pin" kind of game, they don't seem to be particularly hard to make and these ads are by large game publishers. Why not just make the game that people actually want?
On Twitter you can read the comments on the ads and the most frequent comments are from people complaining that the actual game apparently has nothing to do with those ads. I think I've read it's more like clash of clans.
Wow, TIL - I never click those ads because I assume the games are aggressively monetised nonsense but it didn't occur to me that the game might be completely different from the ad.
This is very very often thr case with crappy chinese games in the play store. I get ads for so many games that look cool in the trailer but are apparently something completely different if you read the reviews. There's even one that uses some kind of really weird ripped off Age of Empires textures/models for their game. What they have in common is that theyre all pay-to-win chinese games where loot boxes cost up to $100.
Hello Guys,
This is Dilip Sripuram. The developer of the TheActualGameRescue you are talking about. Just wanted to address the issues you mentioned. About the Ads, you don't need to watch an Ad. The whole game can be played without watching a single Ad. Each level gives you enough coins to unlock next and by the end of easy levels you will have enough coins to unlock 3 medium levels. The login issue is so that I can save the save file with Google Play services. I will recheck this and limit the number of times it asks to once. I recommend watching this video to better understand the gameplay.
Hello Guys,
This is Dilip Sripuram. The developer of the TheActualGameRescue you are talking about. Just wanted to address the issues you mentioned. About the Ads, you don't need to watch an Ad. The whole game can be played without watching a single Ad. Each level gives you enough coins to unlock next and by the end of easy levels you will have enough coins to unlock 3 medium levels. The login issue is so that I can save the save file with Google Play services. I will recheck this and limit the number of times it asks to once. I recommend watching this video to better understand the gameplay.
Hello Guys,
This is Dilip Sripuram. The developer of the TheActualGameRescue you are talking about. Just wanted to address the issues you mentioned. About the Ads, you don't need to watch an Ad. The whole game can be played without watching a single Ad. Each level gives you enough coins to unlock next and by the end of easy levels you will have enough coins to unlock 3 medium levels. The login issue is so that I can save the save file with Google Play services. I will recheck this and limit the number of times it asks to once. I recommend watching this video to better understand the gameplay.
Hello Guys,
This is Dilip Sripuram. The developer of the TheActualGameRescue you are talking about. Just wanted to address the issues you mentioned. About the Ads, you don't need to watch an Ad. The whole game can be played without watching a single Ad. Each level gives you enough coins to unlock next and by the end of easy levels you will have enough coins to unlock 3 medium levels. The login issue is so that I can save the save file with Google Play services. I will recheck this and limit the number of times it asks to once. I recommend watching this video to better understand the gameplay.
DuoLingo is alright for very light language practice but it gets frustrating very quickly. Some examples:
1. About 25% of the time it's asking me to type out letter-by-letter the meaning of a sentence in my native language. So I'm learning Czech and it'll give me a sentence like "Ta moucha seděla na něčem zvláštním" and present me with a free-text field where I have to write out the English version. The other way round (making me type out "Ta moucha..." in Czech) I totally understand but this way is really stupid, not least because...
2. The expected translations are often wrong or inflexible. In the case above it wanted me to write out "That fly was sitting on something weird" - but I had written "That fly was sitting on something unusual" which is a perfectly valid interpretation of the sentence, but because they basically did a strcmp() I got it "wrong". Another example I remember was particularly bad because of the content of the sentence - "Tuhle větu jste opravdu nepřeložili příliš dobře", which I translated as "You really did not translate this sentence very well" (I'd expect "didn't" IRL but because I know how dumb DuoLingo can be I went with the simple version). The expected meaning was "You really did not translate this sentence too well" which is pretty clumsy IMO, and it's like they're taunting me but they're the ones who who didn't translate it "too well". I've dozens of these, there's seemingly no way to report them (I can see discussions but there's no way for me to participate)
3. There were enough lessons and material early on to give me the impression it was worth paying for the service, but after a couple of weeks I realised that I was being served the same sentences over and over. Now I understand there's value to spaced repetition, but what I'm experiencing is beyond a joke.
It's a really polished app in some respects, but in some areas where it really matters it's as useful as learning by copy-pasting into Google Translate.
Yeah, I'd say it's about as polished as it can get, but it conceptually is just not going to be useful for any serious learning. It's been my experience over the years that the more enjoyable a language learning technique is to do, the worse it actually works. And duolingo is to their credit very enjoyable.
That's quite an astute observation - I guess getting out of your comfort zone is a necessary part of language learning. I've written on HN before about relatively simple things I have found useful (keeping a diary in $language, or watching films with $language audio) but looking back, if I'm honest the toughest situations were probably the most valuable for building confidence and testing my abilities.
Pimsleur really is a fantastic method. I'm surprised it has dropped into relative obscurity.
For those who don't know, the Pimsleur language tapes involved learning a bunch of phrases and repeating them back to the tape. This would build into full conversations using the phrases, along with dropping out particular words like changing "eat" into "drink". There was essentially no written component.
The lessons also had an element of spaced repetition: Phrases from lesson 1 would pop up again in lesson 3, and then again in lesson 7 just to check you hadn't forgotten them.
Paul Pimsleur marveled at the invention of the tape recorder, saying that now students would be able to record and practice samples of real language while on the go. Nowadays everyone has a 'tape recorder' and then some in their pocket, but most methods seem to ignore audio completely, or let it take second place to written language.
Language Transfer [1] is a little bit like that, (all audio, and you are meant to talk back and just listen, speak and think, not write anything down), but it’s more of a conversational style where the teacher is explaining things to a student and you are supposed to pause to answer before the student does. Actually saying it does make a difference!
I haven’t got all the way through a course yet (need to get back but I’ll have to go back to an earlier point because it’s been a few months) but I feel like I made ten times the process as I did trying to do a course Duolingo for the same language.
It does the same kind of thing with the repetition. “Now remember how we’d say [word]” and it really does stick better than just seeing the word and a picture.
And it’s all available free too (but you can support on Patreon if you want).
> Nowadays everyone has a 'tape recorder' and then some in their pocket, but most methods seem to ignore audio completely, or let it take second place to written language.
Admittedly, there is a cost involved for voice talent. But it is well worth it, in my opinion. I started using Duolingo to learn Hungarian. The course is in beta. It began with pre-recorded clips, which were very helpful to understand the tone. Later, the course switched exclusively to text-to-speech. It is so much harder to understand than a real person's voice, and so much nuance is left out.
Unfortunately, Pimsleur is rather expensive. A set of CDs at full price is over $200, and most have three levels to buy.
It's cheaper online: $20 per month, and it'll take you about a month to do the equivalent of a set of tapes/CDs at one per day. (I assume it's the same or equivalent lessons.)
I've learned several languages to the "tourist" level via Pimsleur, but mostly borrowed from the library. Duolingo is a good complement to it for building vocabulary.
Pimsleur is great. A lot of their courses are on Audible too, so with a subscription you can buy them slowly over a number of months. That is what I started to do.
Try their desktop browser version. All the ads can be blocked by uBlock Origin, there are no limits on what you can do whatsoever (I have no idea what are these "hearts" you're talking about), and most importantly - you can switch to the "write your answers on a keyboard" mode.
That last bit makes a hell of a difference. One thing is to click through, another is to actually translate a sentence or to write it down in "type what you hear" exercises, with hints showing up only when you explicitly ask for them. It makes the whole thing harder, but is absolutely worth the effort. You'll pound not just the words into your head, but also the grammar.
I learned two foreign languages in the recent years (as in: can read a newspaper or talk about my last vacation, humble brag!), and Duo was one of the keys to success (Anki & having an actual teacher were another ones). I believe it wouldn't work so well if I was just "clicking through" on mobile.
Duolingos website actually has different features (and less/no ads for the mobile version of the website). On iPhone you can export the website itself to your home screen and it’s essentially an ad free version of the app with better features. I found it to be way more enjoyable this way
Thanks for the tip! Ads in Duolingo have become so obnoxious I stopped using it (I have better language apps that I pay for so the plus plan doesn’t make sense for me). This is probably the biggest risk for this IPO. You spend almost as much time dismissing ads and popups as you are learning the language. I can’t imagine this is helping them attract new users or converting users to the plus model for that matter. And no I don’t want notifications especially if you ask every 2 minutes.
> •users feel that their experience is diminished as a result of the decisions we make with respect to the frequency, prominence, format, size and quality of ads that we display;
They should show short video ads in the language you're learning, so the challenge is to understand the ad. Free learning, better engagement and actually relevant ads.
I started using Duolingo a month ago. When you are out of hearts you can do "practice" sessions to replenish. Sometimes it gives you the option to watch an ad, but only a single time. My wife bought the Pro plan where you never run out of hearts but I figure if you are out of hearts that probably means it's time to practice instead of doing new material.
The problem with Duolingo is that not everyone sees the same, even under iOS. When Hearts came in, it was immediate on my Wife's account. But I didn't see them for 6+ months. We both regularly update apps too. It is a very strange thing.
> Run out of hearts, you're restricted from proceeding further in your studies. You must buy hearts to stay on their platform.
This is not true. It just means you made enough mistakes that you should use their practice mode rather than continuing learning new stuff. The practice mode is entirely free and rewards you with new hearts.
I bought a $50/yr subscription to Busuu and never looked back. Long time Duolingo user. It's a good app but a bad product. Busuu on the other hand feels easily worth the money if you're actively learning with it, and you can get quick feedback from native speakers in their community (and give others feedback which is just as rewarding.) I haven't used Duolingo in a while so maybe they've added similar features, but if they haven't they're seriously missing out on the community effect of language exchange.
The only thing something like Duolingo could be good at is learning vocabulary. But I found it pretty bad at that. I had much more success with Memrise. However, this was many years ago and last I checked Memrise had regressed significantly, at least for me.
Duolingo is a terrible way of learning languages overall. Almost as bad as Rosetta Stone. But, like Rosetta Stone and other things like gym memberships, it doesn't have to be effective to be profitable.
I like Duolingo, but I wonder why can't they charge something more reasonable. I think they charge like 60 o 70 euros per half year, so 10 euros per month. We are 4, that is 40 euros per month, almost 500 a year. That is a lot of money.
I would gladly pay a family pack of 10 per month for all 4 of us not to have adds.
Some comments:
I haven't really seen any ads in DuoLingo apart from their own. I guess my ad-blocking efforts are paying off.
Regarding Pimsleur: I hadn't heard about them, are they only for learning the basics? I'm at A2 french now and aiming for B1. Is Pimsleur suitable for that stage of learning?
Pimsleur is great to improve your pronunciation and learn until B1. From there on I would recommend using Memrise and ClozeMaster. Memrise has a great collection of community based courses that will push up to C1
Babel is really good for grammar and explains well in bite sizes, but it's a little pricy. It could also do with some more repetition imo, however I would recommend it.
When you have everything right, I love how owl comes and say he will make it harder, so you loose your hearts quicker, and suddenly you cannot study any more that day
Hearts is the worst thing about Duolingo. They themselves claim 'it is ok to make mistakes', and then punish you for them, making you do useless (for learning) repetitive tests over and over again.
Luckily, there is still a classroom loophole that allows you to study with unlimited hearts, but I don't know how long it'll last
The problem is that you’re grinding something you already know (in my experience always something too easy) just for hearts, and the heart system removes the ability to grind something you don’t know until you know it in a lesson. I want to make mistakes until I nail it when I’m learning.
Thank you Captain Obvious. It is still useless grinding that takes time and gives nothing to learning.
Oh, and you start being afraid to make mistakes, to not be forced to perform said grinding over and over again.
I have 800+ days in Duolingo. There were no hearts when i started, it appeared when i was in early 700s and I learned how to switch them off with classroom trick. If I had hearts from the start, I'd choose a different app. Hearts are that bad.
> Secondly, how they promote their Plus plan. You are limited in how long you can access their platform by how many hearts you have. Miss enough questions, your hearts run out. Run out of hearts, you're restricted from proceeding further in your studies. You must buy hearts to stay on their platform. This feels counter intuitive, as you are now kicking users off of your platform and lose the ability to sway them towards other things you have to offer.
This is incorrect. You don’t need to buy hearts - you can do some practices and get more hearts to do more lessons, which is (IMO) a huge part of the learning. When you are weakest you lose hearts so you practice more in order to keep working through lessons.
I have had unlimited hearts without pro for almost as long as I've used Duolingo. I only had limited hearts for the first few months. And I still have no idea how they decide between users but I suspect locations probably has something to do with it.
> especially since you can't proceed in your lesson until you watch the video
That's not true. On my iPhone, I just quit the app when a video ad starts playing and then reopen it. For me, the ads play after I've finished a lesson, and doing this it still saves my progress. Quit and restart is quicker than watching some dumb video (and even if it isn't, I'd rather spend my time restarting than watching a video ad)
This is an important point, and an oft-quoted mantra I've seen from older devs.
Your computer will change, and has little to know difference on your health.
Your monitor, keyboard, mouse (and chair/desk can also be included) are your long term tools that you use to interact with your computer. They can be a benefit or detriment to your health (eye strain, RSI, back pain). If you have to work with your computer for your job, and do so for many years, it's worth it to purchase tools that have long term benefits.
> it's worth it to purchase tools that have long term benefits.
Good luck finding an LCD with any concrete health benefits beyond any other. The industry literally just adds a bunch of gimmicks each year to see if people bite. All I can say for sure is IPS prevents you from needing to fix your head in one angle (especially for low contrast images), and most LCDs are too bright.
This reminds me of another issue: If you have a monitor with overdrive and use a color temperature adjuster like redshift, the overdrive smearing is often super bright while the rest of the screen is mellow.
Around 1996 I got my hands on a ~22" 1600x1200 monitor at work and was amazed by it. I remember games worked ok under Windows 95, but Quake couldn't handle that resolution under Windows NT 4. I got around 3fps, if memory serves.
Wow, I had never seen this article before -- John Carmack is rocking an Intergraph workstation! I had one of these, a dual Pentium II box, in 1998. It was a beast.
I didn't have a godlike monitor like that widescreen monster. Although I did drop $2000 on a 20" (22?) Sony multisync that could do 1600 x 1200.
I managed to get the company I worked for to buy the Intergraph. And I managed to sell a used Silicon Graphics monitor at a slight profit, to take some of the sting away from the Sony.
It's cathartic to read other people who have to go through this.
I'm fighting red tape for my team as we build out a dashboard.
Outlook is packed with 1–2 hour meetings for the next 3 months where so far I'm:
* being asked to load test our system to make sure it can handle the load (of 3 people?)
* being asked to integrate with various analytics platforms so we can alert some poor schmuck at 3 AM in case the API goes down then (it's not a vital part of any platform)
* told to have this run in k8s since everything runs in k8s
* other pedantic tasks by Sys Ops who think everything is a nail and love to argue their points ad exhaustium (or worse, argue why their fav stack is the golden child)
I understand the need for standards and making sure they're followed, but there really needs to be a human element of, "is this truly needed for what I'm trying to do?". So many engineering departments are all about automation, but don't truly think through how much automation is needed, rather than a 1 size fits all approach.
I appreciate that this article comes to the conclusion that the more correct an answer will be, the more complicated it tends to be. I wish more people in decision making positions would understand this.
The minor conclusion of this article was the more interesting (and perhaps more practical) of the two:
Hide concessions to various leaders in the project roadmap.
This isn’t just a “bureaucratic trick” as the OP suggested, it’s actually a way to convert unconditional advice into contingent advice, by encoding a priority.
> to convert unconditional advice into contingent advice, by encoding a priority
This is one of the most important things I've learned as a developer, and one that I thought I invented myself, before I knew about agile, by keeping a whiteboard near my desk with yellow sticky notes ordered by property:
"Yes, I get that it's a must-have feature, but where do you place it in relation to these other features?"
The concept of prioritization of features, and of saying "if I stopped dead at some arbitrary point in this list, would you have been happy with your order?" seemed so eye-opening to people at the time.
Sometimes, the features are really must-haves though. Let’s say it’s march 2020 and your boss wants you to design a mass-market covid vaccine. You have three requirements: it needs to be safe for human use, it needs to be effective at preventing covid, and it needs to be possible to manufacture. If any one of these is missing, your design is useless. I think a similar dynamic is visible in many software projects.
That's totally fine - but people need to also be aware that if something is really a must then they have to be willing to spend adequate time and resources on getting it done, instead of assuming whatever resources they have on hand will be sufficient.
It's amazing the things that stop being a "must have" as soon as they have to spend more money.
It's a never ending struggle to get people to create this ordered priority. I always tell my developers to say
"if you do not give this an ordered priority, I will resolve items as I see fit. Should we need to stop for one reason or another, there is no guarantee of which have been resolved".
Often times that is okay. I also tell them to always take the ones they're most uncertain about first. Better to front load hard problems and uncertainties.
A manager once brought up "there are three levers - scope, time (deadline), money (people)", and while it's probably not revolutionary, it did stick with me.
Add more "must have" scope, and something else has to give.
I would argue that the scope lever should be set to 60%, time 60%, and money 35% for software projects.
Software projects are kind of like ovens-- if something cooks perfectly at 300 (temperature units), using 25 minutes and using 5 (money units), that does not mean it will cook perfectly at 600 temperature units using 12.5 minutes and 10 money units. Most likely it will burn.
Even there, drug companies often go through the features in a particular order. You start with a range of formulations which you suspect will be safe for human use, you test them to see which are effective, and then you hand them off to a different set of chemists and chemical engineers whose job it is to figure out how to manufacture the doses at scale.
Every part is necessary, but that doesn't mean that there isn't an ordering. Finding something that's easy to manufacture is pretty useless if it turns out later that it kills the patient. On the other hand, a drug that's safe and effective, but is difficult to manufacture is still a viable drug; worst case, you do what drug companies do all the time and charge obscene prices per dose until you figure out how to scale the process.
Then you do what the drug companies did: you hire consultants to do it for you. I did architecture work for one of the major covid vaccines for most of 2020 and that’s exactly what they did.
The overall tone of the program was “we basically have infinite money, just get it done and the government will pay us back”. So they had a fucking army of consultants to accelerate a process that normally takes 5+ years down to 6 months and they were building down multiple roadmaps just in case they hit a block on one of them.
Yeah, that's not so much a "nifty bureaucracy hack" as a core skill to completing any project. It doesn't even have to be 20 unrelated people's feedback... it's my own priorities quite often that I mercilessly stuff on the backlog. YAGNI isn't just at the micro code level, it's a core project design skill. In fact I probably YAGNI my roadmap much harder than my code since I often have a good idea that I will in fact Need It at the microlevel after decades of experience and can save some time at that level, but at the project roadmap level anything you can trim is getting the product out generating value sooner.
(Obviously one can go too far, blah blah blah. But just as with code, we have a much larger problem in practice grabbing too much from the project feature buffet than too little.)
And then some to level priorities shift and you look at the backlog thinking "if only we have done x before that".
Usually when your unfinished prototype ends up in production.
That's the danger of reporting progress to people who think you can go to space on a paper glider.
Probably half of more of start-ups end up failing like this as their quickly delivered prototype fails to capture the market due to not being actually better enough, or crumble under the initial success.
Good for investors and managers who bail out early enough, very bad for users.
This is it. I do a lot of consulting work around this problem, and the roadmap is where the business and technology meet. It’s where you convert sprints into calendar boxes. It’s also the part most companies do poorly because nobody likes to spend money on good project/program managers (hint: hire product managers instead even though they’re ~25% more expensive because everything in 2021 is a product in some way).
When you do it this way, you can decide well ahead of time if you need to bring in a contractor to build a must-have feature your team won’t have bandwidth for. It flips the narrative and puts the responsibility on the business side (which usually controls the budget anyway).
This works especially well when you set and own those priorities, or if your management supports those priorities. Everyone who wants their feature will need to justify to you that their feature deserves a better placement on your roadmap.
It does not work if you can not defend your priorities.
> Create an extended product roadmap and put those items at least a year off into the future “and as long as they don’t seem relevant, you can just keep pushing them into the future.”
That actually seems to me like the root cause of all the calamity in the article, a culture of lying.
I don’t see it as lying in any meaningful way. Specifically in the article the problem was that there was technical feedback from many parties that have very little, if any stake in the matter. I’d be willing to bet that none of them even bothered to look at the product roadmap to check on the progress or status of their suggestions.
Rather, the “cause of all the calamity” in the article seems to be the fact that the business has a culture of requiring feedback from random individuals who have very little stake in the project or product delivery.
Upon further reflection, the root cause is poor communication, and the 'bureaucratic judo trick' is just a continuance, or perhaps even an escalation, of an organization's poor culture.
This is absolutely not lying and I'm disappointed that anyone thinks it is. This isn't "not doing the thing and saying you did", it's just setting its delivery date into the future, an entirely routine operation for every software project that actually ships.
From my perspective, the tactic misleads the stake holders about the real priorities. It's a deception and corrodes trust in the organization. The article even describes it as a 'bureaucratic judo trick.' It really seems to me as analogous to the micro-services guy or the architect guy insisting their way prevails.
I think we’re talking past each other. In my reading of the original article, the author needed to get consensus from various individuals in the organization who were by definition not stakeholders. They had little to no stake in the project or its goals and could therefore block the project with no personal risk.
I could be misreading the article, though.
I agree that it is detrimental to trust to lie about the project roadmap to stakeholders.
- Ceremonial unit tests for every little thing. The whole system is buggy as hell and we don’t have any confidence that the unit tests are truly covering critical parts of the app. But alas, test coverage, the god damn Pope that can never be bemoaned.
- I’m not making this one up: A/B testing for an internal enterprise app.
Test coverage is almost the perfect illustration of Goodhart’s law. Good programming practices do result in high test coverage, coverage is very easy to measure, but very easy to fake with useless “tests”. So, when the coverage is measured, the coverage goes up, but stops being meaningful.
While it doesn't alleviate the problems entirely, you can also run things like mutation tests that check that your unit tests actually test conditions, rather than just execute all the code.
High coverage isn't enough but, in my experience, it's a great place to start.
I've written an depressingly high quantity of code in my career that blows up literally the first time it runs. I'd much rather that happen in a unit test than in production.
Any test that exercises a given branch is better than nothing.
Coverage can tell you what you didn't test, but it can't tell you what you did test.
> Any test that exercises a given branch is better than nothing.
I disagree with this. If you have a test that doesn't actually test anything, you can't tell that you're not really testing that branch. No test is better than a bad test because it's easier to fix.
I have seen bad unit test being introduced when engineering management starts enforcing a threshold (80% coverage). Often developers will scramble to test trivial methods, such getter and setters, but will not write any suitable tests that actually cover the business logic. It is even worse when management only enforce a 80% coverage for new changes. In those scenarios developers go out of their way to encapsulate changes in a separate class to avoid having to test the original codebase in a meaningful way.
Back when I was struggling to develop features in overengineered hell, I commented to my friends what a breath of fresh air updating a personal site with scp was.
They all gave sighs and shudders of disgust, but then again, they had normal programming jobs, so I suppose it seemed quite backwards to them.
Oh, but scp won’t update it atomically, so you should switch to a scheme that will. Then all you need to do is set cache policies correctly, coordinate with your CDN, and maybe do a staged rollout, just in case.
You just need to decide how appropriate that is for your situation.
As an industry I suspect we tend to over-engineer rather than under. There is a huge spectrum between my single person business with a brochure site and what Google or Apple needs. I'm willing to bet most programmers are working closer to the first than the second.
You know, I think I might have switched to rsync at one point- I haven't had the site in a few years now, so my memory is a bit hazy.
It was sufficiently small enough (no heavy media files) that I didn't mind if I left some unused files up there. Pretty much the only thing that I had to do was make a copy of the sqlite database each time just in case.
The other side of the coin you are not telling is: let's ship this small project to production without all those useless bells and whistles, and then fast-forward 12 months, suddenly everybody is using it and it starts failing spectacularly, and now all those teams that complained in the beginning have a fire to extinguish.
I've been too many times on this other side of the coin.
being asked to load test our system to make sure it can handle the load (of 3 people?)
The problematic load in a dashboard isn't users; it's querying the data sources to get up to date information. For example, if you're running a query to aggregate a bunch of things with lots of joins and that query takes 1.5s to run but your dashboard tries to run it every second so it can be 'real time' then you're in for a bad time even with just 1 user. You absolutely need to load test a dashboard application that's running against production data.
being asked to integrate with various analytics platforms so we can alert some poor schmuck at 3 AM in case the API goes down then (it's not a vital part of any platform)
It might not be vital right now, but if you make a dashboard for it then it'll quickly become vital. Putting metrics in front of people focuses them on those metrics...
Cathartic is certainly the word. The title in particular really hits the mark for me.
There are a lot of people talking about computer programs, and telling us we should do things this way or that way. Even telling us that their way is certainly the best or only correct way.
A great many of these people - perhaps the majority majority - are plain wrong. Some of them talk such nonsense that I suspect they don't have any actual ability to program at all!
> * told to have this run in k8s since everything runs in k8s
I've seen a production system handling one request (which takes a handful of ms) every 2 seconds (work hours only, mind) in k8s running 8 pods. It is quite breathtaking.
I really appreciate your blog, and especially find articles like "Design Better Forms"[0] very interesting, if even to provide a nice check-list of do's and don'ts to keep in mind. Thank you for the articles you write.
For NextUX, while I may not have a need myself, I've forwarded the link to my fiance who is doing internships via MBA program – having a need for tools like this – and heard back, "this looks very useful".
Good job covering a lot of aspects of UX/UI, and I wish you the best of luck!
I keep hearing this but have not experienced this in person. I usually get about 5 hours of life out of it. My usual open programs are CLion, WebStorm, Firefox (and Little Snitch running in the background).
However, even with not having IDEs open all the time, and switching over from Firefox to Safari, I’m only seeing about 8 hours of battery life (which is still nice compared with my 2013 MBP that has about 30 minutes of battery life).
>However, even with not having IDEs open all the time, and switching over from Firefox to Safari, I’m only seeing about 8 hours of battery life (which is still nice compared with my 2013 MBP that has about 30 minutes of battery life).
I would consider getting a warranty replacement. Something is wrong.
For reference, my M1 Air averages exactly 12 hours of screen-on time (yes, I've been keeping track), and the absolute worst battery life I've experienced is 8.5 hours, when I was doing some more intense dev workflows.
As of March 21, 2022, I have not received my order yet. When given the option, I selected to receive the completed phone, rather than a beta build. Thus, the delay.
Mainly, I did not order this to just have a phone (as I have several older Androids). I wanted to help fund an alternative to the Android / Apple ecosystems.
Hopefully soon.